Outbound Zenvia
Ao habilitar a API de outbound é gerado um endpoint e um token, que serão utilizados para realizar o envio das mensagens de outbound.

Request
Endpoint:
POST https://outbound.ms.altubots.com/zenvia/<slug>/<id_integracao>
Header:
Content-Type: "application/json"
Authorization: <altu token>
{
"destination": "numero_whatsapp_destino",
"templateId": "id_template",
"context": {
"status": "aprovado"
},
"fields": {
"<template_chave_1>": "<template_valor_1>",
"<template_chave_2>": "<template_valor_2>",
"...": "...",
"<template_chave_n>": "<template_valor_n>"
},
"externalId": "seu_id_mensagem",
"restartContact": false | true,
"inactivityTime": 0
}
Atributos:
destination (obrigatório): o número de WhatsApp que irá receber a mensagem
templateId (obrigatório): o ID do template
context (opcional): variáveis que serão salvas no contexto do usuário
fields (opcional): os campos disponíveis para serem usados no template. Este atributo deve ser um objeto com chaves e valores
externalId (opcional): identificador único para a mensagem a ser enviada. Este ID será retornado nos status de envio em seu webhook de status
restartContact (opcional): booleano para resetar as variáveis de contexto do usuário
inactivityTime (opcional): tempo em minutos que deve ser 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 mensagem ser enviada é de 2 minutos ("inactivityTime": 2), a mensagem não seria enviada. Caso a interação tivesse ocorrido 3 minutos atrás, a mensagem seria enviada.
Exemplo
{
"destination": "35988001234",
"templateId": "3b9c0955-bdd9-00de-4135-6cfb74f5fb2e",
"fields": {
"name": "Maria",
"value": "R$ 1670,00"
},
"externalId": "meu_id_1"
}
Responses
OK - Mensagem enviada:
A mensagem foi enviada corretamente para a Zenvia e será encaminhada para o usuário.Body (exemplo):
{
"status": "pending",
"external_id": "meu_id_1",
"message_id": 218,
"contact_id": 874
}
status: status da mensagem enviada
external_id: ID externo da mensagem enviada
message_id: ID interno da mensagem enviada
contact_id: ID do atendimento do usuário
Webhook de Status
Para receber os status de mensagens enviadas pela API de outbound, deve se configurar um webhook de status semelhante ao webhook configurado na criação da integração, com o mesmo passo a passo e com as mesmas opções, ajustando:
Tipo do evento: Selecione a opção Status para receber os status de mensagens enviadas para o usuário.
URL: URL usada para receber os status de mensagens enviadas para seus clientes. Consulte a URL na plataforma Zenvia NLU, em Status de Mensagens da seção Webhooks
Opção para Rich Notification - HSM
Estrutura - Enviar arquivo
Utilizar o body abaixo usando a mesma API que utiliza para o outbound com template.
{
"destination": "11999999999",
"contents": [
{
"type": "file",\\tipo do notification
"fileUrl": "https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_640_3MG.mp4",\\arquivo a ser enviado t
"fileMimeType": "video/mp4",\\extensão do arquivo enviado
"fileCaption": "Our pic :)",\\Texto que vai abaixo do vídeo na mensagem
"fileName": "example.png"\\nome do arquivo enviado - não mudar a extensão
}
]
}
Tamanhos de arquivos:
Media
Content Type
Post-Processing Media Size*
document
Any valid MIME type.
100 MB
image
image/jpeg
image/png
5 MB
sticker
image/webp
note: Animated sticker is not supported
100 KB
audio
16 MB
video
16 MB
Estrutura - Botoes
Utilizar o body abaixo usando a mesma API que utiliza para o outbound com template.
{
"destination": "11999999999",
"contents": [
{
"type": "button",
"header": {\\Header é opcional
"type": "file",
"fileUrl": "https://prime.altubots.com/chats/dev/cesar/07db4c9e4559050116d38e660548749a/uploads/3660b5fe-4c62-8979-2619-761f234892bf/20200909165426883_gato.jpg"\\URL do arquivo a ser enviado
},
"body": "Gostaria de agendar o seu treinamento sobre a plataforma?",\\texto da pergunta
"footer": "Selecione uma das opcões abaixo:",\\Texto mais claro abaixo do texto da pergunta
"buttons": [\\botoes - limitado a 3 botoes
{
"id": "Agendar",\\Input que chegará no bot
"title": "Agendar treinamento"\\Texto exibido no WhatsApp
},
{
"id": "encerrar",
"title": "Encerrar"
},
{
"id": "reiniciar",
"title": "Reiniciar"
}
]
}
]
}
Estrutura - Lista Modal
Utilizar o body abaixo usando a mesma API que utiliza para o outbound com template.
{
"destination": "11999999999",
"contents": [
{
"type": "list",
"header": "Menu de Opções",\\Texto maior de titulo da lista(opcional)
"body": "Para finalizar, selecione o módulo do treinamento você deseja fazer?",\\Texto comum de pergunta da lista(requerido)
"footer": "Selecione abaixo",\\texto mais claro abaixo do texto comum(opcional)
"button": "Opções disponíveis",\\Texto do botao que abrirá a lista - limitado a 20 caracteres(requerido)
"sections": [
{
"title": "Section Title",
"rows": [\\Classe dos botões - limitados a 10 botoes
{
"id": "builder",\\texto recebido no bot (requerido)
"title": "Builder",\\texto apresentado no WA(requerido)
"description": "Aprenda a programar no Build do ALTU"\\texto de descricao da opcao (opcional)
},
{
"id": "nlu",
"title": "NLU",
"description": "Aprenda a configurar seu NLU de forma assertiva"
},
{
"id": "builder_nlu",
"title": "Builder e NLU",
"description": "Aprenda a criar um assistente híbrido completo"
}
]
}
]
}
]
}
Estrutura - Localização
Utilizar o body abaixo usando a mesma API que utiliza para o outbound com template.
{
"destination": "11999999999",
"contents": [
{
"type": "location",
"latitude": -23.54220538772733,
"longitude": -46.65812552818576,
"name": "SMARKIO BRASIL",
"address": "Rua Sergipe, 475 - 5º Andar - Higienópolis, São Paulo - SP, 01243-001",
"url": "https://www.smarkio.com.br"
}
]
}
Last updated
Was this helpful?