카카오 알림톡 SDK 고르기 — 언어·프레임워크별 공식 패키지
PHP, Laravel, Node.js, Next.js, Python, Django, FastAPI, Java, Spring, Go, Ruby, Rails, .NET, Flutter, WordPress 중 어떤 샌드고 패키지를 설치해야 하는지 한 표로 정리했습니다.
샌드고는 20개의 공식 패키지를 제공합니다. 고르는 기준은 간단합니다.
- 프레임워크 전용 패키지가 있으면 그걸 쓴다 (설정과 DI 가 이미 붙어 있다).
- 없으면 해당 언어의 코어 패키지를 쓴다.
- 프론트엔드·모바일에서는 직접 호출하지 않고 서버를 거친다.
서버 코어 SDK
프레임워크에 묶이지 않은 순수 클라이언트입니다. 어디서든 동작합니다.
| 언어 | 패키지 | 설치 | 가이드 |
|---|---|---|---|
| PHP | sendgo/php |
composer require sendgo/php |
PHP |
| Node.js / TypeScript | @sendgo/node |
npm install @sendgo/node |
Node.js |
| Python | sendgo-python |
pip install sendgo-python |
Python |
| Go | github.com/send-go/go |
go get github.com/send-go/go |
Go |
| Java | io.sendgo:sendgo-java |
Maven Central | Java |
| Ruby | sendgo |
gem install sendgo |
Ruby |
| C# / .NET | Sendgo.SDK |
dotnet add package Sendgo.SDK |
.NET |
프레임워크 확장
코어 위에 설정 파일, 서비스 등록, 의존성 주입을 얹은 패키지입니다. 코어를 따로 설치할 필요 없습니다.
| 프레임워크 | 패키지 | 얹혀 있는 코어 | 얻는 것 |
|---|---|---|---|
| Laravel | sendgo/laravel |
sendgo/php |
ServiceProvider 자동 등록, Facade, config 게시, Notification 채널 |
| Symfony | sendgo/symfony |
sendgo/php |
Bundle, DI Extension, services.yaml 설정 |
| WordPress / WooCommerce | sendgo/wordpress |
sendgo/php |
설정 화면, 주문 상태 훅 |
| NestJS | @sendgo/nestjs |
@sendgo/node |
SendgoModule.forRoot(), SendgoService |
| Django | sendgo-django |
sendgo-python |
settings.SENDGO, 앱 로딩 시 초기화 |
| FastAPI | sendgo-fastapi |
sendgo-python |
SendgoDep 의존성 주입, pydantic 설정 |
| Spring Boot | io.sendgo:sendgo-spring |
io.sendgo:sendgo-java |
자동 구성, application.yml 바인딩 |
| Ruby on Rails | sendgo-rails |
sendgo |
Railtie, sendgo:install 제너레이터 |
| ASP.NET Core | Sendgo.AspNetCore |
Sendgo.SDK |
services.AddSendgo(...) DI |
프론트엔드 · 모바일
이 패키지들은 서버 경유를 전제로 만들어졌습니다. 키를 클라이언트 번들에 넣지 마세요.
| 대상 | 패키지 | 권장 사용법 |
|---|---|---|
| React / Next.js | @sendgo/react |
Next.js Route Handler(서버)에서 @sendgo/node 호출, 클라이언트는 그 라우트만 호출 |
| Vue / Nuxt | @sendgo/vue |
Nuxt server route 에서 호출 |
| Flutter / Dart | sendgo_flutter |
자체 백엔드를 경유. 앱에 키를 넣지 않는다 |
어느 것도 맞지 않는다면
REST API 를 직접 호출하세요. OpenAPI 3.0.3 스펙이 공개돼 있습니다.
curl -O https://sendgo.io/openapi.yaml
openapi-generator generate -i openapi.yaml -g rust -o ./sendgo-rust
선택 요약
PHP 프로젝트인가?
├─ Laravel → sendgo/laravel
├─ Symfony → sendgo/symfony
├─ WordPress → sendgo/wordpress
└─ 그 외 → sendgo/php
JS/TS 프로젝트인가?
├─ NestJS → @sendgo/nestjs
├─ Next.js → @sendgo/react (+ 서버에서 @sendgo/node)
├─ Nuxt → @sendgo/vue (+ 서버에서 @sendgo/node)
└─ 그 외 → @sendgo/node
Python 프로젝트인가?
├─ Django → sendgo-django
├─ FastAPI → sendgo-fastapi
└─ 그 외 → sendgo-python
Java? → Spring Boot 면 sendgo-spring, 아니면 sendgo-java
Ruby? → Rails 면 sendgo-rails, 아니면 sendgo
.NET? → ASP.NET Core 면 Sendgo.AspNetCore, 아니면 Sendgo.SDK
Go? → github.com/send-go/go
Flutter? → sendgo_flutter (서버 경유)
그 외? → https://sendgo.io/openapi.yaml 로 클라이언트 생성
설치를 끝냈다면 5분 만에 첫 알림톡 발송하기로 이어집니다.
자주 묻는 질문
- 코어 패키지와 프레임워크 패키지를 둘 다 설치해야 하나요?
- 아니요. 프레임워크 패키지가 코어를 의존성으로 끌어옵니다. Laravel 이면 sendgo/laravel 만 설치하면 sendgo/php 가 함께 설치됩니다. 둘 다 명시적으로 설치하면 버전이 엇갈릴 수 있습니다.
- 프론트엔드에서 직접 알림톡을 발송해도 되나요?
- 안 됩니다. accessKey 와 secretKey 는 계정 전체의 발송 권한을 가지므로 브라우저나 모바일 앱에 두면 누구나 발송할 수 있게 됩니다. @sendgo/react, @sendgo/vue, sendgo_flutter 는 서버 라우트(Route Handler, Nitro, 자체 백엔드)를 통해 호출하도록 설계돼 있습니다.
- 제 언어의 SDK 가 없으면 어떻게 하나요?
- REST API 를 직접 호출하면 됩니다. OpenAPI 3.0.3 스펙이 https://sendgo.io/openapi.yaml 에 공개돼 있으므로 openapi-generator 로 클라이언트를 생성할 수 있습니다.