O objetivo de integrar o JivoChat a um sistema de CRM é para salvar os dados do JivoChat na seção de leads/clientes do seu CRM, e também para mostrar informações atualizadas (por exemplo: informações de contato do visitante, detalhes do lead, balanço da conta, entre outros) no aplicativo do operador da JivoChat, o qual é utilizado para usuários do JivoChat receberem chats de seus consumidores.
Para ativar uma integração, basta inserir um Endpoint URL do seu CRM ou servidor nas configurações do canal em que deseja ativar a integração. Após inserido, enviaremos de forma automática diversos Webhooks com todas as informações sobre conversas do canal conectado para a URL especificada.
Para inserir uma URL para o recebimento de Webhooks, acesse o aplicativo Web do Jivo ou um de nossos apps para Desktop e vá até Configurações -> Canais -> Configurações (abaixo do nome do canal que deseja ativar a integração).
Depois, acesse o menu “Configurações de integração para desenvolvedores”, ative os Webhooks e insira o Endpoint URL no campo “URL para Webhooks”.
Pronto, agora o Jivo já irá enviar webhooks automaticamente para a URL especificada.
Nos seguintes casos, o sistema da JivoChat envia uma requisição HTTP POST para a URL especificada:
Você pode utilizar nossa documentação acessando este link.
Dados principais enviados pelo JivoChat:
O JivoChat pode receber respostas do seu sistema de CRM com os seguintes dados:
function jivo_onLoadCallback(){
jivo_api.setUserToken("um link | id | qualquer informação");
}
O JivoChat não processa o user_token e isso não será mostrado em nenhum lugar. O user_token irá somente transferir todos os dados gerados para o seu CRM.
A requisição dos webhooks do JivoChat são requisições HTTP com método POST para a URL especificada. O corpo da requisição é um objeto JSON com todos os dados. Você pode encontrar todos os detalhes na nossa documentação da API. Veja abaixo um exemplo em PHP de como receber uma requisição e salvá-la em um arquivo log:
<?php
$fp = fopen('/request.log', 'a');
fwrite($fp, file_get_contents('php://input'));
fclose($fp); ?>
Isso, é claro, não significa que você deva utilizar um arquivo de texto para manter todos os dados. Este é somente um example que pode ser utilizar para visualizar como são nossas requisições e como elas funcionam. Na sequência, você deverá analisar esses dados, gravá-los em sua base de dados, pesquisar por um registro de lead e etc. Depois disso, seu CRM deverá enviar uma resposta com os dados do cliente no objeto, como descrito na documentação da API. Você pode utilizar algo como a função “echo” em PHP, sem nenhum cabeçalho HTTP adicional.
Visualize abaixo um exemplo de resposta:
{"result":"ok","custom_data":[{"title":"Answer","content":"42"},{"title":"Last chat","content":"27 Sep 2016 19:37:12"}],"contact_info":{"name":"John Doe","phone":"+79500123567","email":"johny1337@jivoteam.com","description":"Visitor comment"},"enable_assign":true,"crm_link":"http:\/\/mycrm.ru\/user\/1"}
Desde um navegador:
Isso é geralmente o que os usuários esperam de uma integração com seus sistemas de CRM:
Quando seu CRM estiver conectado ao sistema da JivoChat (quando um evento chat_accepted ou chat_updated ocorrer), ele deverá procurar pelo cliente no seu CRM e se um cliente com as informações de contato especificadas já existir, seu CRM deverá preencher o restante dos dados de contato do cliente no JivoChat, além de inserir no chat um link direto para o perfil do cliente no seu CRM. Se o cliente ainda não existir no seu CRM, um novo cadastro de cliente/lead deverá ser automaticamente criada utilizando as informações enviadas pelo JivoChat para o seu CRM.
Criação de registro de lead
Favor analisar com cuidado a prioridade de dados. Quais dados serão gravados ou excluídos? Se um visitante apresentou-se em um chat e inseriu um endereço de e-mail “A” e um telefone “B”, porém no CRM há um Lead com o e-mail “A” e telefone “C”, qual número deverá ser gravado? O número antigo ou o mais recente? O ideal é que o CRM possua campos extras para e-mails e telefones adicionais.