LogoLogo
Zenvia Docs
  • Zenvia NLU
  • Boas PrĂ¡ticas
    • Eventos
      • Dicas para criar eventos
      • Eventos Personalizados
        • menu_principal
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • Autosservico
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • sucess_no_friccion
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • horario_atendimento
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • transbordo
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • pesquisa_satisfacao
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • conseguiu_ajudar
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • nivel_confianca
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • chamada_api
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • falha_api
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • primeiro_acesso
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • encerramento
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • estouro_tentativas_else
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • intents
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • rechamada
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
    • GestĂ£o de NLU
      • Dicas de gestĂ£o de NLU
    • Personalizar widget
  • Monitor
    • Dashboard
      • MĂ©tricas e indicadores
      • GrĂ¡ficos
    • Atendimentos
    • Eventos
    • Volumetria
    • Issues
    • Monitoramento de APIs
    • MĂ©tricas de avaliaĂ§Ă£o
  • Build
    • Assistentes
      • EdiĂ§Ă£o do Assistente
      • Builder
        • Configurações do nĂ³
        • Componentes
          • Output
            • Texto
            • Texto randĂ´mico
            • Texto sequencial
            • Base de conhecimento
            • LivePerson - ConteĂºdo Estruturado
            • Arquivo
          • Input
            • Pergunta aberta
            • Autocomplete
            • Data
            • Feedback NPS
            • Feedback Custom
            • Lista inline
            • Lista modal
            • Quick Replies
            • Upload de arquivo
            • Upload de arquivo LP
            • Carrossel de Opções
            • DesambiguaĂ§Ă£o
          • Fluxo de Inatividade
          • VariĂ¡veis
          • Ações
            • HTTP Request
            • Satisfaction
            • Validar celular
            • Validar CEP
            • Validar CPF
            • Validar CPF/CNPJ
            • Validar CNPJ
            • Validar nome completo
            • Validar e-mail
            • Procurar atendimento
            • TransferĂªncia entre skills Liveperson
            • Setar contexto LivePerson
            • Encerrar Atendimento LivePerson
            • Encerrar chat
            • Socket Event
            • Facebook Profile
            • Facebook Transbordo
            • Workplace Profile
            • Iniciar LiveChat
            • Functions
            • Setar NLU
            • TransferĂªncia entre assistentes
            • Contact Return
            • Intent Feedback
          • Eventos
    • Functions
    • Atributos
  • CONNECT
    • APIs
      • Agent connector API
      • Outbound
        • Outbound WhatsApp
        • Outbound Zenvia
        • Outbound Wavy
        • Outbound LivePerson
        • Outbound Infobip
        • Outbound RCS
      • Eventos
      • Atendimentos
      • LGPD
    • Canais
      • Capabilities
      • Instagram
      • Google Business Messages
      • Bot API
      • Facebook
        • IntegraĂ§Ă£o Messenger via Zenvia NLU
        • IntegraĂ§Ă£o Messenger via Liveperson
      • Google RCS
      • Microsoft Teams
      • Whatsapp
        • Zenvia
        • Blip
        • Wavy
        • Infobip
        • Liveperson
      • Widget
      • Workplace
    • Telegram
    • ContingĂªncia
    • LiveChat
      • Transbordo ALTU Connector API
        • Transbordo Tech4Humans
      • Transbordo LivePerson
      • Transbordo Zendesk Ticket
      • Transbordo Zendesk Chat
      • Transbordo Salesforce
  • TRAIN
    • Primeiros passos
    • VisĂ£o Geral
    • ConfiguraĂ§Ă£o do NLU
    • AvaliaĂ§Ă£o de Mensagens
    • AnĂ¡lise e ajustes
  • Mais
    • Release
      • Controle de VersĂ£o
      • 27/10/2021
      • 06/10/2021
      • 22/09/2021
      • 09/09/2021
      • 11/08/2021
      • 28/07/2021
      • 14/07/2021
      • 30/06/2021
      • 16/06/2021
      • 01/06/2021
      • 18/05/2021
      • 04/05/2021
      • 20/04/2021
      • 06/04/2021
      • 23/03/2021
      • 09/03/2021
      • 23/02/2021
      • 09/02/2021
      • 26/01/2021
      • 12/01/2021
      • 22/12/2020
      • 08/12/2020
      • 24/11/2020
      • 10/11/2020
      • 27/10/2020
      • 13/10/2020
      • 29/09/2020
      • 15/09/2020
      • 01/09/2020
      • 18/08/2020
      • 03/08/2020
      • 21/07/2020
      • 08/07/2020
      • 30/06/2020
      • 04/06/2020
      • 22/05/2020
      • 14/05/2020
      • 29/04/2020
      • 01/04/2020
      • 24/03/2020
      • 16/03/2020
    • GlossĂ¡rio
Powered by GitBook
On this page
  • Request
  • Exemplo
  • Responses
  • Webhook de Status
  • OpĂ§Ă£o para Rich Notification - HSM
  • Estrutura - Enviar arquivo
  • Estrutura - Botoes
  • Estrutura - Lista Modal
  • Estrutura - LocalizaĂ§Ă£o

Was this helpful?

  1. CONNECT
  2. APIs
  3. Outbound

Outbound Zenvia

PreviousOutbound WhatsAppNextOutbound Wavy

Last updated 2 years ago

Was this helpful?

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

Bad Request:

Um ou mais parĂ¢metros nĂ£o estĂ£o no formato esperado ou os parĂ¢metros obrigatĂ³rios nĂ£o foram preenchidos. Verifique o formato e a obrigatoriedade de todos os parĂ¢metros durante a requisiĂ§Ă£o.Body (exemplo):

{
    "status": "error",
    "message": "Invalid destination!"
}

Unauthorized:

NĂ£o foi possĂ­vel autorizar a requisiĂ§Ă£o. Verifique se foi definido corretamente o header Authorization com valor altu token.Body (exemplo):

{
    "status": "error",
    "message": "Unauthorized"
}

Internal Server Error:

Houve um erro durante o envio da mensagem.Body (exemplo):

{
  "status": "error",
  "message": "Unexpected error"
}

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

Como enviar outbounds "no-hsm"(ou notification), ou seja, nĂ£o Ă© um template aprovado, pois Ă© uma funcionalidade que somente Ă© utilizĂ¡vel dentro da sessĂ£o de 24h do WhatsApp.

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"
        }
    ]
}