SDKs da Sinch
Visão Geral
Habilidade transversal que cobre a instalação do SDK e a inicialização do cliente para todos os produtos Sinch. Determina o SDK correto e fornece o código de inicialização por linguagem.
Para configuração de autenticação (credenciais, OAuth2, autenticação básica, requisições assinadas), veja sinch-authentication. Para SDKs de Chamadas no Aplicativo (Navegador, iOS, Android), veja sinch-in-app-calling.
Instruções para o Agente
Se o usuário não especificou qual linguagem ou plataforma, pergunte primeiro — o padrão do SDK e de inicialização difere por linguagem. Use a tabela abaixo para direcionar para a referência correta.
Instalação do SDK
| Linguagem | Pacote | Instalação | Escopo de Autenticação |
|---|---|---|---|
| Node.js | @sinch/sdk-core | npm install @sinch/sdk-core | Projeto + Aplicação |
| Python | sinch | pip install sinch | Projeto + Aplicação |
| Java | com.sinch.sdk:sinch-sdk-java | Dependência Maven | Projeto + Aplicação |
| .NET | Sinch | Pacote NuGet | Projeto + Aplicação |
Chamadas no Aplicativo usam um SDK separado do lado do cliente — não @sinch/sdk-core. Veja sinch-in-app-calling.
Cobertura de Produtos por SDK
Nem todos os produtos estão disponíveis em todos os SDKs. Verifique a tabela antes de recomendar um SDK para um produto específico.
| Produto | Node.js | Java | .NET | Python |
|---|---|---|---|---|
| Conversation API | ✅ | ✅ | ⚠️ | ⚠️ |
| Voice API | ✅ | ✅ | ✅ | ✅ |
| Verification API | ✅ | ✅ | ✅ | ✅ |
| Numbers API | ✅ | ✅ | ✅ | ✅ |
| Number Lookup API | ✅ | ❌ | ❌ | ✅ |
| Elastic SIP Trunking | ✅ | ❌ | ❌ | ❌ |
| Fax API | ✅ | ❌ | ⚠️ | ❌ |
| Provisioning API | ✅ | ❌ | ❌ | ❌ |
| Registro 10DLC | ❌ | ❌ | ❌ | ❌ |
✅ = suportado, ⚠️ = parcial/pré-visualização, ❌ = não disponível (use HTTP direto)
Quando um produto não for suportado no SDK escolhido pelo usuário, oriente-o a usar chamadas HTTP diretas.
Referências de Inicialização do SDK
Para código de inicialização específico por linguagem, use as referências:
- 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
Se a linguagem for desconhecida, pergunte primeiro. Os SDKs lidam com a renovação de tokens automaticamente.
Conceitos Chave
@sinch/sdk-core — SDK unificado para Node.js cobrindo todas as APIs Sinch com escopo de projeto e de aplicação. Pacotes individuais (ex.: @sinch/voice, @sinch/verification) também estão disponíveis.
sinch (Python) — SDK Python (v2.0.0+) cobrindo APIs com escopo de projeto e de aplicação.
sinch-sdk-java — SDK Java (v2.0.0+) via Maven Central.
Inicialização com escopo de projeto — Usa projectId, keyId, keySecret. Para Conversation, Numbers, Fax, EST, 10DLC, Number Lookup, Provisioning.
Inicialização com escopo de aplicação — Usa applicationKey, applicationSecret. Para Voice, Verification, Chamadas no Aplicativo.
Cliente multi-produto — Forneça ambas as credenciais de projeto e de aplicação em um único SinchClient para acessar todas as APIs.
Região do Conversation — Deve ser definida explicitamente ao usar a API Conversation. Valores: us, eu, br. Obrigatório no SDK Python v2.0.0+ e no SDK Java v2.0.0+; recomendado em Node.js e .NET.
Padrões Comuns
- Início rápido com escopo de projeto — Inicialize
SinchClientcom credenciais de projeto. Veja a ref. específica por linguagem. - Início rápido com escopo de aplicação — Inicialize
SinchClientcom chave/segredo de aplicação. Veja a ref. específica por linguagem. - Cliente multi-produto — Passe ambos os conjuntos de credenciais para uma única instância do cliente.
- API Conversation regional — Defina
conversationRegiondurante a inicialização (obrigatório em Python/Java, recomendado nos demais).
Pegadinhas
- Nem todos os produtos estão disponíveis em todos os SDKs — Verifique a tabela de Cobertura de Produtos antes de recomendar um SDK. Para produtos não suportados, use chamadas HTTP diretas.
- Região do Conversation é obrigatória — Os SDKs Python e Java falham em tempo de execução sem
conversation_region. Node.js e .NET ainda não exigem, mas devem defini-la explicitamente. - Voice/Verification usam credenciais de aplicação — São um conjunto de credenciais separado das Chaves de Acesso do projeto.
- SDKs renovam tokens OAuth2 automaticamente — Não é necessário lidar manualmente com a expiração de token ao usar os SDKs.