Compatibilidade da API Messagio
SMSBAT oferece suporte a uma camada de compatibilidade com a API Messagio. Isso permite que você migre suas integrações Viber existentes projetadas para Messagio diretamente para SMSBAT sem precisar reescrever sua estrutura de carga útil ou alterar a lógica de integração.
Configurações de conexão
Para rotear solicitações por meio de SMSBAT, atualize a URL base e as credenciais de autenticação em sua integração:
- URL base:
https://restapi.smsbat.com - Ponto final:
POST /api/SendMessage - Formato de solicitação:
application/x-www-form-urlencoded(dados do formulário)
Autenticação e credenciais
As solicitações são autenticadas usando parâmetros enviados diretamente nos dados do formulário do corpo da solicitação:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
usuário | corda | Sim | O login da sua conta SMSBAT ou identificador de usuário. |
sinal | corda | Sim | Segredo ou assinatura da API registrada para o nome do remetente. |
de | corda | Sim | Nome alfa do remetente registrado. |
metodo_de_envio | corda | Sim | Tipo de canal. Use viber para mensagens regulares do Viber Business ou viber_otp para modelos Viber OTP. |
telefone | corda | Sim | Número de telefone do destinatário em formato internacional (por exemplo, 380501234567). |
Tipos de mensagens Viber
Escolha uma guia abaixo para visualizar os parâmetros específicos e solicitar cargas para diferentes estruturas de mensagens do Viber:
Envia uma mensagem de texto simples.
Parâmetros Adicionais:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
txt | corda | Sim | Texto da mensagem. |
Exemplo de carga útil de solicitação:
POST /api/SendMessage HTTP/1.1
Host: restapi.smsbat.com
Content-Type: application/x-www-form-urlencoded
sending_method=viber&from=MySender&user=myuser&phone=380501234567&sign=api_secret_signature&txt=Hello+from+SMSBAT%21
Parâmetros Adicionais:
| Parâmetro | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| `template.id` | corda | **Sim** | ID do modelo Viber OTP pré-aprovado. |
| `template.lang` | corda | **Sim** | Código de idioma do modelo (por exemplo, `en`, `uk`). |
| `template.params.pin` | corda | **Sim** | O valor do pino OTP a ser injetado no modelo. |
| `template.params.business_platform_name` | corda | **Sim** | O espaço reservado para o nome da empresa no modelo. |
| `template.params.code_validity_time` | corda | **Sim** | Período de validade do PIN em minutos. |
**Exemplo de carga útil de solicitação:**
```http
POST /api/SendMessage HTTP/1.1
Host: restapi.smsbat.com
Content-Type: application/x-www-form-urlencoded
sending_method=viber_otp&from=MySender&user=myuser&phone=380501234567&sign=api_secret_signature&template.id=otp_template_123&template.lang=en&template.params.pin=123456&template.params.business_platform_name=SMSBAT&template.params.code_validity_time=7
```
Envia um cartão de mensagem interativo contendo vários slides (cartões) que o usuário pode percorrer.
Parâmetros Adicionais:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
txt | corda | Sim | Texto do título do carrossel. |
carrossel[N].título | corda | Sim | Título do cartão N (começando em 0). |
carrossel[N].image_url | corda | Sim | URL da imagem HTTPS pública do cartão N. |
carrossel[N].primary_label | corda | Sim | Legenda do botão principal do cartão N. |
carrossel[N].primary_url | corda | Sim | URL do link do botão principal do cartão N. |
carrossel[N].secondary_label | corda | Não | Legenda do botão secundário do cartão N. |
carrossel[N].secondary_url | corda | Não | URL do link do botão secundário do cartão N. |
Exemplo de carga útil de solicitação:
POST /api/SendMessage HTTP/1.1
Host: restapi.smsbat.com
Content-Type: application/x-www-form-urlencoded
sending_method=viber&from=MySender&user=myuser&phone=380501234567&sign=api_secret_signature&txt=Top+picks+for+you&carousel%5B0%5D.title=First+Offer&carousel%5B0%5D.image_url=https%3A%2F%2Fwww.example.com%2Fitem-1.png&carousel%5B0%5D.primary_label=Open&carousel%5B0%5D.primary_url=https%3A%2F%2Fwww.example.com%2Fitem-1&carousel%5B0%5D.secondary_label=Details&carousel%5B0%5D.secondary_url=https%3A%2F%2Fwww.example.com%2Fitem-1%2Fdetails&carousel%5B1%5D.title=Second+Offer&carousel%5B1%5D.image_url=https%3A%2F%2Fwww.example.com%2Fitem-2.png&carousel%5B1%5D.primary_label=Open&carousel%5B1%5D.primary_url=https%3A%2F%2Fwww.example.com%2Fitem-2
Formato de resposta
O endpoint de compatibilidade da API Messagio retorna respostas em formato XML com um código de status HTTP 200 OK.
Resposta aceita (sucesso)
<response>
<code>0</code>
<tech_message>OK</tech_message>
<msg_id phone="380501234567">MESSAGE_GUID</msg_id>
</response>
Respostas de erro
Se a validação dos parâmetros de uma solicitação falhar ou a autenticação falhar, a resposta retornará um código diferente de zero.
<response>
<code>-1</code>
<tech_message>PARAM ERROR (sign)</tech_message>
</response>
Retornos de chamada
URLs de retorno de chamada devem ser implementadas e hospedadas em sua plataforma. SMSBAT envia retornos de chamada HTTP para atualizar seu sistema em relação a eventos de entrega, respostas de pesquisas e respostas de usuários.
1. Retorno de chamada de status de entrega
Enviado quando uma mensagem muda de status (entregue, lida, falhou).
- Tipo de conteúdo:
application/x-www-form-urlencoded - Método:
POST
Solicitar formatos de carga útil:
- Entregue:
msg_id=MESSAGE_GUID&status=delivered - Visto/Lido:
msg_id=MESSAGE_GUID&status=delivered&type=seen - Não entregue/Falha:
msg_id=MESSAGE_GUID&status=undelivered&status_extended=REASON
Descrição dos Campos:
msg_id: ID de mensagem exclusivo (GUID) SMSBAT retornado na resposta SendMessage.status: Resultado da entrega (entregue,não entregueoustatus desconhecido).type: Defina comovistoquando a mensagem foi visualizada pelo destinatário.status_extended: Razão técnica específica para status não entregue (por exemplo,VIBER_EXPIRED,VIBER_BLOCKED_BY_USER,VIBER_USER_NOT_FOUND,VIBER_NO_DEVICE).
2. Retorno de chamada de resposta à pesquisa
Acionado quando um usuário seleciona uma opção de resposta em uma mensagem do Viber Survey.
- Tipo de conteúdo:
application/x-www-form-urlencoded - Método:
POST
Formato de carga útil da solicitação:
msg_id=ORIGINAL_SURVEY_MESSAGE_GUID&text=SELECTED_OPTION_TEXT
3. Retorno de chamada de mensagem de usuário recebida
Acionado quando um usuário envia uma resposta de texto ou mídia de volta ao seu serviço Viber Business.
- Tipo de conteúdo:
application/json - Método:
POST
Formato de carga útil da solicitação:
{
"msg_id": "INBOUND_MESSAGE_GUID",
"text": "Hello, I have a question",
"media": "https://example.com/user-attachment.png",
"phone": "380501234567",
"sender_bm_id": "12345"
}
Descrição dos Campos:
msg_id: O ID exclusivo da mensagem gerado para a resposta de entrada.text: Conteúdo de texto enviado pelo usuário (pode sernulose ele enviou apenas mídia).media: URL direto para baixar quaisquer anexos de mídia enviados pelo usuário (pode sernullse for apenas texto).phone: Número de telefone do remetente em formato internacional.sender_bm_id: o ID do remetente do Viber Business.