Compatibilidade da API TurboSMS
SMSBAT oferece suporte total a uma camada de compatibilidade com a API TurboSMS. Isso permite que você migre suas integrações existentes que foram projetadas para TurboSMS diretamente para SMSBAT sem precisar reescrever as estruturas de mensagens ou cargas de endpoint.
Oferecemos suporte ao envio de mensagens SMS e Viber (incluindo recursos avançados como carrosséis e pesquisas), busca de status e busca de detalhes de mensagens usando exatamente as mesmas estruturas de corpo de solicitação com as quais você já está familiarizado.
Autenticação
A única diferença da API nativa do TurboSMS é o mecanismo de autenticação. Embora o TurboSMS use um parâmetro de consulta token personalizado ou um cabeçalho de autenticação específico, o SMSBAT requer um Bearer Token padrão.
Você deve incluir seu token de API SMSBAT no cabeçalho Autorização para todas as solicitações:
Authorization: Bearer YOUR_SMSBAT_TOKEN
##URL base
Todos os endpoints devem ser direcionados para o URL base da API SMSBAT:
https://restapi.smsbat.com
Enviar mensagem única
Ponto final: POST /api/tsms/message/send
Permite o envio de mensagens SMS e Viber com suporte para entrega híbrida (Viber com SMS fallback). Ele processa uma única solicitação de envio e retorna os resultados da entrega para cada destinatário.
Principais Capacidades
- Parâmetros flexíveis: Os parâmetros globais podem ser substituídos por parâmetros específicos de SMS/Viber.
- Conteúdo: Suporta carrosséis, pesquisas, anexos de arquivos e botões interativos do Viber.
- Tratamento de erros: Retorna HTTP 200 mesmo para erros (respostas de erro estruturadas).
response_code: 999com statusFATAL_ERRORpara erros do sistema. - Erros do destinatário: Erros específicos do destinatário são retornados na matriz
response_result. Os destinatários com falha têmmessage_id: nulle códigos de erro específicos.
Exemplo de solicitação (mensagem híbrida)
{
"sender": "GlobalSender",
"text": "Test message",
"recipients": ["380951111111", "380952222222"],
"start_time": "2025-09-29T10:00:00Z",
"sequence_id": "seq_12345",
"sms": {
"sender": "SMSSender",
"text": "SMS version of message",
"is_flash": false
},
"viber": {
"sender": "ViberSender",
"text": "Viber version of message",
"ttl": 3600,
"image_url": "https://example.com/image.png",
"caption": "Button text",
"action": "https://google.com",
"count_clicks": true,
"is_transactional": false
}
}
Exemplo de solicitação (carrossel Viber)
CODE_BLOCO_3
Exemplo de solicitação (pesquisa Viber)
{
"sender": "GlobalSender",
"text": "Please rate our service",
"recipients": ["380951111111"],
"viber": {
"sender": "ViberSender",
"text": "Please rate our service",
"is_transactional": true,
"survey": [
"Excellent",
"Good",
"Average",
"Poor"
]
}
}
Enviar múltiplas mensagens (lote)
Ponto final: POST /api/tsms/message/sendmulti
Este método permite enviar múltiplas solicitações send em uma única solicitação HTTP, economizando sobrecarga de conexão. Chamar sendmulti com dados para 100 solicitações será mais rápido do que executar 100 solicitações send individuais.
Exemplo de solicitação
CODE_BLOCO_5
Exemplo de resposta
{
"response_code": 0,
"response_status": "OK",
"response_result": {
"batch_1": {
"response_code": 800,
"response_status": "SUCCESS_MESSAGE_ACCEPTED",
"response_result": [
{
"phone": "380982462128",
"response_code": 0,
"message_id": "f1640579-ea75-4bc1-b708-1c3858bf222d",
"response_status": "OK"
}
]
},
"batch_2": { ... }
}
}
Obter status da mensagem
Ponto final: POST /api/tsms/message/status
Recupere os status de entrega das mensagens enviadas, fornecendo seu message_id.
Exemplo de solicitação
{
"messages": [
"573dcb46-7851-4e16-bb1f-721c13ef5f38",
"6b7f9ff5-28c8-4f38-913b-31af6021fbea"
]
}
Obtenha detalhes da mensagem
Ponto final: POST /api/tsms/message/details
Permite recuperar informações detalhadas sobre mensagens criadas, incluindo detalhes completos da carga útil para canais SMS e Viber, preços e carimbos de data/hora exatos.
Exemplo de solicitação
{
"messages": [
"573dcb46-7851-4e16-bb1f-721c13ef5f38",
"f1640579-ea75-4bc1-b708-1c3858bf222d"
]
}
Exemplo de resposta
CODE_BLOCO_9