Search
⌃K
Links

Outbound LivePerson

Visão geral

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.

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:
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.

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:
{
"destination": "35999999999",
"context": {
"status": "aprovado"
},
"hsm": true,
"richTemplateName": "meu_template",
"richTemplateVariables": {
"variable_number": "variable_value"
},
"restartContact": false,
"skill": "minha_skill",
"inactivityTime": 2
}

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:
{
"destination": "11999999999",
"context": {
"status": "aprovado",
},
"hsm": true,
"richTemplateName": "richtemplate",
"richTemplateVariables": {
"pic": "https:imageURL.png",
"variable_number": "variable_value"
}
}

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:
{
"destination": "35988841854",
"messages": "Envie um 'Oi' para iniciar o atendimento",
"context": {
"status": "aprovado"
},
"inactivityTime": 2
}

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.
{
"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.

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

Versão 2.0

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
Os dados abaixo devem ser recuperados através da URL: https://authentication.liveperson.net/
  • 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.

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:
{
"outboundNumber": "5511999999999",
"destination": "35999999999",
"context": {
"status": "aprovado"
},
"hsm": true,
"templateId": "1111111111111",
"richTemplateVariables": {
"variable_number": "variable_value"
},
"restartContact": false,
"skill": "atendimento",
"inactivityTime": 2
}

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": "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.