Sinch SDKs
概要
すべてのSinch製品のSDKインストールとクライアント初期化をカバーする横断的なスキルです。ユーザーの言語に合わせて適切なSDKを特定し、初期化コードを提供します。
認証設定(資格情報、OAuth2、Basic認証、署名付きリクエスト)については、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 Registration | ❌ | ❌ | ❌ | ❌ |
✅ = 対応、⚠️ = 部分的/プレビュー、❌ = 利用不可(直接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、アプリ内通話に使用します。
マルチプロダクトクライアント — 単一の SinchClient にプロジェクトとアプリケーションの両方の資格情報を指定して、すべてのAPIにアクセスします。
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を使用する場合、手動でトークンの期限切れを処理する必要はありません。