Objetivo
Ao habilitar a API de outbound é gerado um endpoint e um token, que serão utilizados para realizar o envio das mensagens de outbound.
API Outbound Infobip
Request
Endpoint: POST https://outbound.ms.altubots.com/infobip/ <slug>/<id_integracao>
Header:
- Content-type: "
application/json" - Authorization: "
<altu token>"
Body template:
{
"destination": "numero_whatsapp_destino",
"templateName": "nome_template",
"context": {
"status": "aprovado"
},
"templateData": [
"<template_dado_1>",
"<template_dado_2>",
"...",
"<template_dado_n>"
],
"language": "idioma_template",
"external_id": "seu_id_mensagem",
"restartContact": false | true,
"inactivityTime": 0
}
Atributos:
destination: o número de WhatsApp que irá receber a mensagemtemplateName: o nome do templatecontext(opcional): variáveis que serão salvas no contexto do usuáriotemplateData: lista de valores (strings) de parâmetros do template ordenados conforme registradoslanguage: o código do idioma ou localidade a ser usado. Precisa ser exatamente o código com o qual o template foi registradoexternal_id(opcional): identificador único para a mensagem a ser enviada. Este id será retornado nos status de envio em seu webhook de statusrestartContact(opcional): booleano para resetar as variáveis de contexto do usuário e reiniciar o atendimentoinactivityTime(opcional): tempo em minutos que deve ter passado desde a última interação do usuário com o assistente para que a mensagem seja enviada. Exemplo: Se o usuário está interagindo ou interagiu com assistente há 1 minuto e o tempo de inatividade necessário para a mensagem ser enviada é de 2 minutos ("inactivityTime": 2), a mensagem não será enviada. Caso a última interação ocorreu a mais de 2 minutos atrás, a mensagem será enviada
Exemplo
{
"destination": "35988001234",
"templateName": "template_fatura_total",
"templateData": [
"Maria",
"R$ 1670,00"
],
"language": "pt_BR",
"external_id": "meu_id_1"
}
Response
Status 200 (OK)
A mensagem foi enviada corretamente para a Infobip e será encaminhada para o usuário. Body (exemplo):
{
"status": "sent",
"external_id": "meu_id_1",
"message_id": 166,
"contact_id": 765
}
status: status da mensagem enviadaexternal_id: id externo da mensagem enviadamessage_id: id da mensagem enviada no Zenvia NLUcontact_id:id do atendimento do usuário no Zenvia NLU
Status 400 (Bad Request)
Um ou mais parâmetros não estão no formato esperado ou parâmetros obrigatórios não foram preenchidos. Verifique o formato e obrigatoriedade de todos os parâmetros durante a requisição. Body (exemplo):
{
"status": "error",
"message": "Invalid destination!"
}
Status 401 (Unauthorized)
Não foi possível autorizar a requisição. Verifique se foi definido o header Authorization com o valor token altu corretamente. Body (exemplo):
{
"status": "error",
"message": "Unauthorized"
}
500 (Internal Server Error)
Houve um erro durante o envio da mensagem. Body (exemplo):
{
"status": "error",
"message": "Unexpected error"
}