Sinch SDKs
개요
모든 Sinch 제품의 SDK 설치 및 클라이언트 초기화를 다루는 교차 기술입니다. 올바른 SDK를 판별하고 언어별 초기화 코드를 제공합니다.
인증 설정(자격 증명, OAuth2, 기본 인증, 서명된 요청)은 sinch-authentication을 참조하세요. 인앱 통화 SDK(브라우저, iOS, Android)는 sinch-in-app-calling을 참조하세요.
에이전트 지침
사용자가 언어나 플랫폼을 지정하지 않은 경우 먼저 물어보세요. SDK와 초기화 패턴은 언어에 따라 다릅니다. 아래 표를 사용하여 올바른 참조로 안내하세요.
SDK 설치
| 언어 | 패키지 | 설치 명령어 | 인증 범위 |
|---|---|---|---|
| Node.js | @sinch/sdk-core | npm install @sinch/sdk-core | 프로젝트 + 애플리케이션 |
| Python | sinch | pip install sinch | 프로젝트 + 애플리케이션 |
| Java | com.sinch.sdk:sinch-sdk-java | Maven 종속성 | 프로젝트 + 애플리케이션 |
| .NET | Sinch | NuGet 패키지 | 프로젝트 + 애플리케이션 |
인앱 통화는 별도의 클라이언트 측 SDK를 사용합니다. @sinch/sdk-core가 아닙니다. sinch-in-app-calling을 참조하세요.
SDK별 제품 지원 범위
모든 제품이 모든 SDK에서 지원되는 것은 아닙니다. 특정 제품에 대해 SDK를 추천하기 전에 표를 확인하세요.
| 제품 | Node.js | Java | .NET | Python |
|---|---|---|---|---|
| Conversation API | ✅ | ✅ | ⚠️ | ⚠️ |
| Voice API | ✅ | ✅ | ✅ | ✅ |
| Verification API | ✅ | ✅ | ✅ | ✅ |
| Numbers API | ✅ | ✅ | ✅ | ✅ |
| Number Lookup API | ✅ | ❌ | ❌ | ✅ |
| Elastic SIP Trunking | ✅ | ❌ | ❌ | ❌ |
| Fax API | ✅ | ❌ | ⚠️ | ❌ |
| Provisioning API | ✅ | ❌ | ❌ | ❌ |
| 10DLC 등록 | ❌ | ❌ | ❌ | ❌ |
✅ = 지원됨, ⚠️ = 부분/미리보기, ❌ = 사용 불가(직접 HTTP 사용)
사용자가 선택한 SDK에서 제품이 지원되지 않는 경우, 직접 HTTP 호출을 사용하도록 안내하세요.
SDK 초기화 참조
언어별 초기화 코드는 다음 참조를 사용하세요:
- Node.js: references/sdk-init-node.md
- Python: references/sdk-init-python.md
- Java: references/sdk-init-java.md
- .NET: references/sdk-init-dotnet.md
언어를 모르는 경우 먼저 물어보세요. SDK는 토큰을 자동으로 갱신합니다.
주요 개념
@sinch/sdk-core — 모든 프로젝트 범위 및 애플리케이션 범위 Sinch API를 다루는 통합 Node.js SDK. 개별 패키지(예: @sinch/voice, @sinch/verification)도 사용할 수 있습니다.
sinch (Python) — 프로젝트 범위 및 애플리케이션 범위 API를 다루는 Python SDK(v2.0.0+).
sinch-sdk-java — Maven Central을 통해 제공되는 Java SDK(v2.0.0+).
프로젝트 범위 초기화 — projectId, keyId, keySecret 사용. Conversation, Numbers, Fax, EST, 10DLC, Number Lookup, Provisioning에 사용.
애플리케이션 범위 초기화 — applicationKey, applicationSecret 사용. Voice, Verification, In-App Calling에 사용.
다중 제품 클라이언트 — 모든 API에 접근하기 위해 단일 SinchClient에 프로젝트 및 애플리케이션 자격 증명을 모두 제공.
Conversation 리전 — Conversation API 사용 시 명시적으로 설정해야 함. 값: us, eu, br. Python SDK v2.0.0+ 및 Java SDK v2.0.0+에서 필수; Node.js 및 .NET에서는 권장.
일반 패턴
- 프로젝트 범위 빠른 시작 — 프로젝트 자격 증명으로
SinchClient초기화. 언어별 참조 참조. - 애플리케이션 범위 빠른 시작 — 앱 키/시크릿으로
SinchClient초기화. 언어별 참조 참조. - 다중 제품 클라이언트 — 두 자격 증명 세트를 단일 클라이언트 인스턴스에 전달.
- 리전별 Conversation API — 초기화 중
conversationRegion설정(Python/Java에서는 필수, 다른 언어에서는 권장).
주의사항
- 모든 제품이 모든 SDK에서 지원되는 것은 아님 — SDK를 추천하기 전에 제품 지원 범위 표를 확인하세요. 지원되지 않는 제품은 직접 HTTP 호출 사용.
- Conversation 리전은 필수 — Python 및 Java SDK는
conversation_region없이 런타임에 실패합니다. Node.js와 .NET은 아직 강제하지 않지만 명시적으로 설정해야 합니다. - Voice/Verification은 애플리케이션 자격 증명 사용 — 이는 프로젝트 액세스 키와 별개의 자격 증명 세트입니다.
- SDK는 OAuth2 토큰을 자동 갱신 — SDK를 사용할 때 토큰 만료를 수동으로 처리할 필요가 없습니다.