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 ALTU, você deverá consultar essa documentação da LivePerson e secertificar quecumpriu 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.
Habilitar e configurar API
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
Estrutura
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.
Versão 1.0
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:
Informações sobre endpoint e token versão v.1 no ALTU
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.
Body's templates:
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:
1
{
2
"destination": "35999999999",
3
"context": {
4
"status": "aprovado"
5
},
6
"hsm": true,
7
"richTemplateName": "meu_template",
8
"richTemplateVariables": {
9
"variable_number": "variable_value"
10
},
11
"restartContact": false,
12
"skill": "minha_skill",
13
"inactivityTime": 2
14
}
Copied!
Atributos:
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:
1
{
2
"destination": "11999999999",
3
"context": {
4
"status": "aprovado",
5
},
6
"hsm": true,
7
"richTemplateName": "richtemplate",
8
"richTemplateVariables": {
9
"pic": "https:imageURL.png",
10
"variable_number": "variable_value"
11
}
12
}
Copied!
Atributos:
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:
1
{
2
"destination": "35988841854",
3
"messages": "Envie um 'Oi' para iniciar o atendimento",
4
"context": {
5
"status": "aprovado"
6
},
7
"inactivityTime": 2
8
}
Copied!
Atributos:
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.
1
{
2
"destination": "35998631234",
3
"context": {
4
"status": "aprovado"
5
},
6
"hsm": true,
7
"richTemplateName": "template_test",
8
"richTemplateVariables": {
9
"1": "TESTE"
10
},
11
"restartContact": false,
12
"skill": "atendimento",
13
"inactivityTime": 2
14
}
Copied!
Mensagem recebida:
1
Olá TESTE! Temos uma atualização a respeito da sua solicitação aberta. Envie um "oi" para saber mais.
Copied!
Webhook de status
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 ALTU 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 ALTU, 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>
Informações sobre endpoint e token versão v.2 no ALTU
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.
Body's templates:
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:
1
{
2
"outboundNumber": "5511999999999",
3
"destination": "35999999999",
4
"context": {
5
"status": "aprovado"
6
},
7
"hsm": true,
8
"templateId": "1111111111111",
9
"richTemplateVariables": {
10
"variable_number": "variable_value"
11
},
12
"restartContact": false,
13
"skill": "atendimento",
14
"inactivityTime": 2
15
}
Copied!
Atributos:
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 (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:
1
{
2
"destination": "35988841854",
3
"messages": "Envie um 'Oi' para iniciar o atendimento",
4
"context": {
5
"status": "aprovado"
6
},
7
"inactivityTime": 2
8
}
Copied!
Na versão 2.0 o Webhook de status não está disponível.