# Sendgo SDKs and developer guides

19 official SDK packages for languages and frameworks including PHP, Node.js, Python, Go, Java, Ruby, .NET and Flutter, plus a separate OpenAPI specification. Integrate Kakao Alimtalk, Brand Message and SMS/LMS/MMS.

Sendgo publishes **19 official language and framework SDK packages** for Kakao Alimtalk, Brand Message and SMS/LMS/MMS. The **OpenAPI specification is provided separately** and is not counted as an SDK.
Whichever language you use, the integration follows the same shape: issue keys → register a sender → send.

## Get started in three minutes

1. **Issue keys** — sign in and open **API/SDK → API integration** to create an access key and a secret key.
2. **Register a sender** — register a Kakao sender profile under **Kakao channel** for Alimtalk and Brand Message; register a caller ID under **Sender numbers** for SMS.
3. **Install the SDK** — open the guide for your language and run the one-line install command.
4. **Send** — pass a template code and a recipient list. That is the whole flow.

## How the SDKs are structured

Every SDK follows a **core + framework extension** pattern.

| Core | Framework extensions |
|------|----------------------|
| `sendgo/php` | `sendgo/laravel`, `sendgo/symfony`, `sendgo/wordpress` |
| `@sendgo/node` | `@sendgo/react`, `@sendgo/vue`, `@sendgo/nestjs` |
| `sendgo-python` | `sendgo-django`, `sendgo-fastapi` |
| `io.sendgo:sendgo-java` | `io.sendgo:sendgo-spring` |
| `sendgo` (Ruby) | `sendgo-rails` |
| `Sendgo.SDK` | `Sendgo.AspNetCore` |

The core is a plain client with no framework dependency. Each extension wraps that core to fit the framework's configuration, dependency injection and logging conventions.
Installing an extension pulls in the core as a dependency, so you never install both.

## Concepts shared across every SDK

- **Authentication** — exchange your access key and secret key for a token, then authenticate with a Bearer token. Every SDK issues and refreshes the token for you.
- **API version** — use `v2`. It uses signature-based tokens (`sgv2.{payload}.{signature}`) valid for 24 hours.
- **Channels** — Alimtalk (`alimtalk`), Brand Message (`brandMessage`), SMS/LMS/MMS (`sms`), Friendtalk (`friendtalk`, **discontinued 2025-12-31** — requests are delivered as Brand Message free-form automatically).
- **Brand Message** — the successor channel to Friendtalk. It reaches recipients who are *not* channel friends and can broadcast to every consenting channel friend.
- **Short URL** — shortens links in your messages and counts the reaction (daily series, device, referrer, country). v2 only.
- **SMS fallback** — `replaceSms` falls back to SMS automatically when a Kakao message fails.
- **Scheduling** — `scheduleType: SCHEDULED` with an `at` timestamp.
- **Errors** — every SDK raises an exception carrying the HTTP status and the Sendgo error code. See the REST API reference for the full code list.

## Server-only SDKs

`@sendgo/react`, `@sendgo/vue` and `sendgo_flutter` are **server-side only**.
Your access key and secret key must never ship in a browser bundle or a mobile app, so use them exclusively from a server context — a Next.js Server Action or Route Handler, a Nuxt server route, a Dart backend.

## Resources for AI coding agents

If you are integrating with an AI assistant or a coding agent, these endpoints give it accurate source material.

- `/llms.txt` — a map of the whole documentation set (llmstxt.org convention)
- `/llms-full.txt` — every SDK guide concatenated into one file
- `/{lang}/sdk/{package}.md` — the raw markdown of any guide
- `/openapi.yaml` — the OpenAPI 3.0.3 description of the REST API

## Server core SDKs

- [PHP (`sendgo/php`)](https://sendgo.io/en/sdk/php.md) — `composer require sendgo/php`: The pure-PHP SDK for sending Kakao Alimtalk, Brand Message and SMS from PHP — no framework required.
- [Node.js (`@sendgo/node`)](https://sendgo.io/en/sdk/node.md) — `npm install @sendgo/node`: The Node.js and TypeScript SDK for sending Kakao Alimtalk, Brand Message and SMS — fully typed, zero runtime dependencies.
- [Python (`sendgo-python`)](https://sendgo.io/en/sdk/python.md) — `pip install sendgo-python`: The Python SDK for sending Kakao Alimtalk, Brand Message and SMS — works standalone or with Django and FastAPI.
- [Go (`github.com/send-go/go`)](https://sendgo.io/en/sdk/go.md) — `go get github.com/send-go/go`: The official Go SDK for sending Kakao Alimtalk, Brand Message and SMS — standard library only, no third-party dependencies.
- [Java (`io.sendgo:sendgo-java`)](https://sendgo.io/en/sdk/java.md) — `implementation "io.sendgo:sendgo-java:1.1.0"`: The pure-Java SDK for sending Kakao Alimtalk, Brand Message and SMS — built on java.net.http, no framework required.
- [Ruby (`sendgo`)](https://sendgo.io/en/sdk/ruby.md) — `gem install sendgo`: The official Ruby SDK for sending Kakao Alimtalk, Brand Message and SMS — standard library only, works standalone or with Rails.
- [.NET (`Sendgo.SDK`)](https://sendgo.io/en/sdk/dotnet.md) — `dotnet add package Sendgo.SDK`: The official .NET SDK for sending Kakao Alimtalk, Brand Message and SMS — async-first, nullable-enabled, records for every request.

## Framework integrations

- [Laravel (`sendgo/laravel`)](https://sendgo.io/en/sdk/laravel.md) — `composer require sendgo/laravel`: The official Laravel package for sending Kakao Alimtalk, Brand Message and SMS — auto-discovered service provider, facade and publishable config.
- [Symfony (`sendgo/symfony`)](https://sendgo.io/en/sdk/symfony.md) — `composer require sendgo/symfony`: The official Symfony bundle for sending Kakao Alimtalk, Brand Message and SMS — autowired service, config validation, Messenger-friendly.
- [WordPress (`sendgo/wordpress`)](https://sendgo.io/en/sdk/wordpress.md) — `composer require sendgo/wordpress`: The official WordPress plugin for sending Kakao Alimtalk, Brand Message and SMS — with automatic WooCommerce order notifications.
- [NestJS (`@sendgo/nestjs`)](https://sendgo.io/en/sdk/nestjs.md) — `npm install @sendgo/nestjs`: The official NestJS module for sending Kakao Alimtalk, Brand Message and SMS — sync and async registration, injectable service.
- [Django (`sendgo-django`)](https://sendgo.io/en/sdk/django.md) — `pip install sendgo-django`: The official Django extension for sending Kakao Alimtalk, Brand Message and SMS — configured from settings, with a lazily built client.
- [FastAPI (`sendgo-fastapi`)](https://sendgo.io/en/sdk/fastapi.md) — `pip install sendgo-fastapi`: The official FastAPI extension for sending Kakao Alimtalk, Brand Message and SMS — injected as a dependency, configured from environment variables.
- [Spring Boot (`io.sendgo:sendgo-spring`)](https://sendgo.io/en/sdk/spring.md) — `implementation "io.sendgo:sendgo-spring:1.0.1"`: The official Spring Boot starter for sending Kakao Alimtalk, Brand Message and SMS — auto-configured client bean from application properties.
- [Ruby on Rails (`sendgo-rails`)](https://sendgo.io/en/sdk/rails.md) — `bundle add sendgo-rails`: The official Rails integration for sending Kakao Alimtalk, Brand Message and SMS — a Railtie-configured client with ENV fallback.
- [ASP.NET Core (`Sendgo.AspNetCore`)](https://sendgo.io/en/sdk/aspnetcore.md) — `dotnet add package Sendgo.AspNetCore`: The official ASP.NET Core extension for sending Kakao Alimtalk, Brand Message and SMS — registers the client for dependency injection.

## Frontend & mobile

- [React / Next.js (`@sendgo/react`)](https://sendgo.io/en/sdk/react.md) — `npm install @sendgo/react`: The official React SDK for sending Kakao Alimtalk, Brand Message and SMS from Next.js Server Actions and Route Handlers — server-side only.
- [Vue / Nuxt (`@sendgo/vue`)](https://sendgo.io/en/sdk/vue.md) — `npm install @sendgo/vue`: The official Vue SDK for sending Kakao Alimtalk, Brand Message and SMS from Nuxt server routes — server-side only.
- [Flutter / Dart (`sendgo_flutter`)](https://sendgo.io/en/sdk/flutter.md) — `dart pub add sendgo_flutter`: The official Dart SDK for sending Kakao Alimtalk, Brand Message and SMS from a Dart server — server-side only, never bundle keys into an app.

## Reference

- [OpenAPI (`send-go/openapi`)](https://sendgo.io/en/sdk/openapi.md) — `curl -O https://sendgo.io/openapi.yaml`: The machine-readable OpenAPI 3.0.3 contract for the Sendgo API — Kakao Alimtalk, Brand Message and SMS. Feed it to a code generator or an AI coding tool.
