Outbound LivePerson
Com a ferramenta Proactive Messaging da LivePerson é possível criar campanhas e templates para envio de mensagens ativas via WhatsApp e Apple Business Chat.
Antes de habilitar a API de Outbound no Zenvia NLU, você deverá consultar essa documentação da LivePerson e se certificar que cumpriu todos os requisitos, com atenção especial ao template (HSM)

Caminho para o Proactive Messaging dentro da página LivePerson
Caso você fique preso na tela de apresentação "LivePerson Proactive Messaging" realize a limpeza de cache e cookies do seu navegador
Os próximos passos serão dedicados a habilitar e configurar API para envio de outbound via WhatsApp.
Vá até Canais > WhatsApp > LivePerson

Caminho até a integração com WhatsApp via LivePerson
Ao clicar sobre o ícone da LivePerson, você irá visualizar uma tela com todos os assistentes já integrados a esse Broker. Escolha qual será o responsável pelo envio e clique em editar integrações, simbolizado pelo ícone de lápis

Edite a integração de um assistente para habilitar a API de Outbound
Na tela inicial da área de edição de integrações você verá todas as informações da integração. No fim da página você irá encontrar um botão para habilitar a API de outbound.

Botão de habilitar API Outbound
Você deverá escolher entre a versão 1.0 ou 2.0, conforme a versão da sua conta na LivePerson.
Ao habilitar a API de outbound 1.0 é gerado um endpoint e um token. Eles serão utilizados para realizar o envio das mensagens ativas.
Use a ferramenta de requisição de API’s de sua preferência, e a configure utilizando as seguintes informações:
post
https://outbound.ms.altubots.com/liveperson/<slug>/<id_integracao>

Informações sobre endpoint e token versão v.1 no Zenvia NLU
Você encontra um exemplo de como fazer a requisição no campo de “documentação” que fica ao lado das configurações da API. Essas informações podem ser copiadas e coladas.
HSM Padrão
HSM Rich Template
Notificação
Utilize este body quando for enviar uma mensagem ativa somente com texto e variáveis, SEM imagens, botões ou documentos:
{
"destination": "35999999999",
"context": {
"status": "aprovado"
},
"hsm": true,
"richTemplateName": "meu_template",
"richTemplateVariables": {
"variable_number": "variable_value"
},
"restartContact": false,
"skill": "minha_skill",
"inactivityTime": 2
}
- destination: número que irá receber a mensagem
- context (opcional): variáveis que serão salvas no contexto do usuário
- hsm: campo necessário para envio de mensagem hsm
- richTemplateName: nome do template de mensagem a ser enviado
- richTemplateVariables (opcional): variáveis do template
- variable_number: número da variável dentro do template (1, 2, 3...)
- variable_value: valor que substituirá o número da variável no template
- restartContact (opcional): boleano para resetar as variáveis de contexto do usuário
- skill (opcional): habilidade na liveperson que atenderá o usuário
- inactivityTime (opcional): tempo em minutos que deve passar 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 a 1 minuto e o tempo de inatividade necessário para mensagem ser enviada é 2 minutos("inactivityTime": 2) a mensagem não é enviada, caso a interação tivesse ocorrido a 3 minutos a mensagem seria enviada.
Com este body é possível enviar uma mensagem ativa com imagens, documentos e botões:
{
"destination": "11999999999",
"context": {
"status": "aprovado",
},
"hsm": true,
"richTemplateName": "richtemplate",
"richTemplateVariables": {
"pic": "https:imageURL.png",
"variable_number": "variable_value"
}
}
- destination: número que irá receber a mensagem
- context (opcional): variáveis que serão salvas no contexto do usuário
- hsm: campo necessário para envio de mensagem hsm
- richTemplateName: nome do template de mensagem a ser enviado
- richTemplateVariables (opcional): variáveis do template
- variable_number: número da variável dentro do template (1, 2, 3...)
- variable_value: valor que substituirá o número da variável no template
Caso o assistente tenha recebido uma mensagem da pessoa usuária nas últimas 24 horas, você pode enviar uma notificação para continuar a conversa. Utilize este body:
{
"destination": "35988841854",
"messages": "Envie um 'Oi' para iniciar o atendimento",
"context": {
"status": "aprovado"
},
"inactivityTime": 2
}
- destination: número que irá receber a mensagem
- messages: mensagem a ser enviada
- context (opcional): variáveis de contexto do usuário que serão salvas
- inactivityTime (opcional): tempo em minutos que deve passar desde a última interação do usuário com o assistente para que a mensagem seja enviada. Exemplo: Se o usuário interagiu com assistente a 1 minuto e o tempo de inatividade necessário para mensagem ser enviada é 2 minutos ("inactivityTime": 2) a mensagem não será enviada. Caso a interação tivesse ocorrido a 3 minutos a mensagem seria enviada.
Exemplo HSM Padrão:
TemplateName: template_test
Mensagem: Olá {{1}}! Temos uma atualização a respeito da sua solicitação aberta. Envie um "oi" para saber mais.
{
"destination": "35998631234",
"context": {
"status": "aprovado"
},
"hsm": true,
"richTemplateName": "template_test",
"richTemplateVariables": {
"1": "TESTE"
},
"restartContact": false,
"skill": "atendimento",
"inactivityTime": 2
}
Mensagem recebida:
Olá TESTE! Temos uma atualização a respeito da sua solicitação aberta. Envie um "oi" para saber mais.
Um webhook é uma infraestrutura que recebe informações sobre as mensagens de outbound enviadas. Ele é composto por um endpoint (link do webhook, onde o cliente receberá as atualizações de status) e um token (acesso gerado pela equipe Zenvia NLU para realizar a integração).
Você vai precisar das seguintes informações, que são encontradas logo abaixo da área de configuração da API de outbound:
- Header: token gerado pelo Zenvia NLU, que é específico para cada assistente e canal
- Post: link com o endpoint informado para acesso
Configuração de webhook no ALTU
Os status retornados via webhook são:
- Enviado (sent): retorno exclusivo para ativos enviados pela LivePerson, indica o sucesso no encaminhamento da mensagem.
- Entregue (delivered): Indica que a mensagem foi entregue (equivalente ao sinal único de visto ✅ no WhatsApp).
- Respondido (replied): Indica que a mensagem foi respondida pelo usuário.
- Erro (error): Indica que houve um erro no envio da mensagem.
O status
<enviado>
é instantâneo. O <respondido>
será entregue primeiro e tem prioridade no <entregue>
Enviado
Entregue
Respondido
Erro
{
"external_id": "36ef4510-9c96-11eb-8ccf-dfce354710ee",
"status": "sent",
"destination": "35999999999",
"client": "demo",
"date": "2021-04-13T17:24:16-03:00"
}
{
"external_id": "36ef4510-9c96-11eb-8ccf-dfce354710ee",
"status": "delivered",
"destination": "35999999999",
"client": "demo",
"date": "2021-04-13T17:24:15-03:00"
}
{
"external_id": "36ef4510-9c96-11eb-8ccf-dfce354710ee",
"status": "replied",
"destination": "35999999999",
"client": "demo",
"message": "Ola", //resposta enviada pelo usuario
"date": "2021-04-13T17:24:25-03:00"
}
{
"external_id": "36ef4510-9c96-11eb-8ccf-dfce354710ee",
"status": "error",
"destination": "35999999999",
"client": "demo",
"message": "Erro ao enviar HSM",
"date": "2021-04-13T17:24:15-03:00"
}
Na tela de configuração da API de outbound, ao selecionar a opção V 2.0 a configuração passa a ser a seguinte:
- ALTU Token: token configurado que será usado na requisição
- Domínio do serviço: informação preenchida automaticamente de acordo com o id da conta cadastrado na integração
- Domínio da API: informação preenchida automaticamente de acordo com o id da conta cadastrado na integração
- Id do cliente: Id do cliente localizado na conta LivePerson
- Segredo do cliente: Id do cliente localizado na conta LivePerson
Ao salvar a integração na versão 2.0, não será possível voltar para a 1.0
post
https://outbound.ms.altubots.com/liveperson/<slug>/<id_integracao>

Informações sobre endpoint e token versão v.2 no Zenvia NLU
Você encontra um exemplo de como fazer a requisição no campo de “documentação” que fica ao lado das configurações da API. Essas informações podem ser copiadas e coladas.
HSM Padrão
HSM Rich Template
Notificação
Utilize este body quando for enviar uma mensagem ativa somente com texto e variáveis, SEM imagens, botões ou documentos:
{
"outboundNumber": "5511999999999",
"destination": "35999999999",
"context": {
"status": "aprovado"
},
"hsm": true,
"templateId": "1111111111111",
"richTemplateVariables": {
"variable_number": "variable_value"
},
"restartContact": false,
"skill": "atendimento",
"inactivityTime": 2
}
- outboundNumber: número que irá enviar a mensagem
- destination: número que irá receber a mensagem
- context (opcional): variáveis que serão salvas no contexto do usuário
- hsm: campo necessário para envio de mensagem hsm
- templateId: nome do template de mensagem a ser enviado
- richTemplateVariables (opcional): variáveis do template
- variable_number: número da variável dentro do template (1, 2, 3...)
- variable_value: valor que substituirá o número da variável no template
- restartContact (opcional): boleano para resetar as variáveis de contexto do usuário
- skill : habilidade na liveperson que atenderá o usuário
- inactivityTime (opcional): tempo em minutos que deve passar 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 a 1 minuto e o tempo de inatividade necessário para mensagem ser enviada é 2 minutos("inactivityTime": 2) a mensagem não é enviada, caso a interação tivesse ocorrido a 3 minutos a mensagem seria enviada.
Com este body é possível enviar uma mensagem ativa com imagens, documentos e botões:
{
"outboundNumber": "5511999999999",
"destination": "35999999999",
"context": {
"status": "aprovado"
},
"hsm": true,
"templateId": "1111111111111",
"richTemplateVariables": {
"1": "TESTE"
},
{
"headerVariables": {
"video": "https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_640_3MG.mp4"
}
},
"restartContact": false,
"skill": "atendimento",
"inactivityTime": 2
}
Atributos:
- outboundNumber (opcional): número que dispara a mensagem
- destination: número que irá receber a mensagem
- context (opcional): variáveis de contexto do usuário que serão salvas
- hsm: campo necessário para envio de mensagem hsm
- templateId: ID template de mensagem a ser enviado
- richTemplateVariables (opcional): variáveis do template
- variable_number: número da variável dentro do template( 1, 2 3 ...)
- variable_value: valor que substituirá o número da variável no template
- headerVariables (opcional): variáveis de mídia no cabeçalho do template
- restartContact (opcional): booleano para resetar as variáveis de contexto do usuário
- skill: habilidade na LivePerson que atenderá o usuário
- inactivityTime (opcional): tempo em minutos que deve passar 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 a 1 minuto e o tempo de inatividade necessário para mensagem ser enviada é 2 minutos("inactivityTime": 2) a mensagem não é enviada, caso a interação tivesse ocorrido a 3 minutos a mensagem seria enviada.
Caso o assistente tenha recebido uma mensagem da pessoa usuária nas últimas 24 horas, você pode enviar uma notificação para continuar a conversa. Utilize este body:
{
"destination": "35988841854",
"messages": "Envie um 'Oi' para iniciar o atendimento",
"context": {
"status": "aprovado"
},
"inactivityTime": 2
}
Na versão 2.0 o Webhook de status não está disponível.
Last modified 9mo ago