Integração ERP
A integração ERP permite a troca de informações em tempo real entre nosso sistema e seu ERP. Com a integração é possível trazer informações do seu ERP e integrá-las ao atendimento. Também, através da integração, é possível receber notificações dos diversos tipos de eventos gerados pelo sistema.
Habilitando a Integração com seu ERP
Para utilizar a integração com seu ERP, edite uma instância cadastrada e habilite sua utilização marcando a caixa de ativação:
Painel de Contato
Cadastre uma URL no campo Painel de Contato e incorpore funcionalidades do seu sistema diretamente na janela de atendimento:
É recomendado que seu iframe funcione na largura máxima de 300px
.
É altamente recomendado a utilização do protocolo https
.
Uma vez cadastrada a URL, será disparado uma requisição POST
a cada vez em que um perfil é aberto. Nesta requisição serão enviadas todas as informações disponíveis do contato:
{
"tipo_envio": "common",
"referencia": "envio de api",
"mensagens": [
{
"numero": "11999999999",
"mensagem": "mensagem de teste 1"
},
{
"numero": "11999999998",
"mensagem": "mensagem de teste 2"
}
]
}
Personalização
Personalize o conteúdo das mensagens enviadas através da utilização de templates customizáveis.
Formatação de texto disponível:
_texto_
Texto em Itálico
*texto*
Texto em Negrito
~texto~
Texto riscado
Variáveis disponíveis:
Variável | Descrição | Exemplo |
---|---|---|
$UsuarioNome$ | Nome do atendente que enviou a mensagem | Maria |
$UsuarioLogin$ | E-mail de login do atendente que enviou a mensagem | maria@erp.com |
$IdUsuario$ | Código identificador único do atendente | 001 |
$Departamento$ | Nome do departamento ao qual o atendente pertence | Atendimento |
$JidDestiny$ | JID do contato que está sendo atendido | 5511987654321@s.whatsapp.net |
$TextMessage$ | Mensagem digitada pelo atendente | Bom dia! |
Todas as variáveis disponíveis são contidas entre o símbolo $, por exemplo: $nome_var$
Eventos
A integração com seu ERP permite o cadastro das URLs que receberão os diversos eventos gerados pelo sistema. Para cada evento abaixo, é possível cadastrar uma URL específica de callback:
EVENTO | Descrição |
---|---|
OnLoadContact | Ao carregar um contato. Disparado logo após o perfil do contato ser selecionado e carregado. Poderá ser utilizado para fins de atualização de campos do profile antes que os dados sejam mostrados na tela. Exemplo ↓ |
OnBeforeSaveContact | Antes de salvar um contato. Utilizado principalmente para realização de validações nos dados do usuários e/ou aplicação de regras de negócio, antes que o contato seja salvo. |
OnSaveContact | Após Salvar um contato. Caso o evento OnBeforeSaveContact retorne true . |
OnStartConversation | Após Iniciar uma conversa. Ocorre quando a primeira mensagem é enviada ao contato. |
em breve! | |
em breve! |
Cadastre a URL do evento a ser disparado em um dos campos descritos acima, utilizando o seguinte formato:
https://meu-erp.com.br/api/OnLoadContact.php?jid=`$Jid$`&situacao=`$Situacao$`
Variáveis Disponíveis
Variável | Descrição | Retorna |
---|---|---|
$IdInstancia$ | Código identificador único da instância. | inteiro |
$IdProfile$ | Código identificador único do perfil. | inteiro |
$Jid$ | JID do contato - fornecido pelo whatsapp. | string Exemplo: 5511987654321@s.whatsapp.net |
$name$ | Nome do contato | string Exemplo: Maria |
$isGroup$ | Se o contato é um grupo. | true ou false |
$SituacaoInt$ | Situação do contato em formato numérico. | 0 Normal1 Travado2 Arquivado3 Bloqueado |
$Situacao$ | Situação do contato. | string Exemplo: Locked |
$IdUsuarioLocked$ | Código único do operador ao qual o contato está travado. | inteiro |
$UsuarioLockedNome$ | Nome do operador ao qual o contato está travado. | string Exemplo: Atente Maria |
$UsuarioLockedLogin$ | E-mail do operador ao qual o contato está travado. | string Exemplo: maria@empresa.com |
$idDepartament$ | Código único do departamento ao qual o contato pertence. | inteiro |
$Departamento$ | Nome do departamento ao qual o contato foi transferido ou pertence. | string Exemplo: Financeiro |
$SegmentoNome$ | Nome do segmento selecionado para o contato, previamente cadastrado nas configurações da instância, no campo Classificações. | string |
$IdUltimaMensagem$ | Código único da última mensagem do chat. | inteiro |
$MsgRead$ | Número de mensagens que foram enviadas e lidas pelo contato | inteiro |
$MsgUnread$ | Númeri de mensagens não lidas do contato | inteiro |
$Email$ | E-mail presente no cadastro do contato. | string Exemplo: felipe@gmail.com |
$Telefone$ | Telefone presente no cadastro do contato. Caso não seja cadastrado, retorna o telefone conforme o JID do contato. | string Exemplo: (54) 9876-5432 |
$Documento$ | Documento cadastrado do contato. | string Exemplo: 123.456.789-10 |
$Observacao$ | Observação cadastrada na aba presente no cadastro do contato, e que é mostrada abaixo da foto do perfil na lista de contatos. | string |
$CreateDate$ | Data e hora em que o contato foi criado. | timestamp Exemplo: 20210205 13:47:00 |
$LastStatusDateTime$ | Data e hora da última atualização no status do contato. | timestamp Exemplo: 20210205 13:47:00 |
$UsuarioLockedDate$ | Data e hora de quando o contato foi travado. | timestamp Exemplo: 20210205 15:55:00 |
$wid$ | WID da instância | string Exemplo: C61BBC40-D019-427A-A31C-230243E27242 |
OnLoadContact
Você poderá retornar um json
com perfil do contato atualizado. Exemplo de perfil que deverá ser retornado:
Utilize as variáveis
$jid$
e$webid$
na URL informada, para receber na sua API o identificador do contato atual.
{
"Name": "Maria",
"Email": "maria@gmail.com",
"SegmentName": "",
"Telefone": "(11) 98765-4321",
"UrlInfo": "http://meu-erp.com.br/painel?jid=5511987654321@s.whatsapp.net", // iframe customizado
"UrlPicture": "http://meu-erp.com.br/pictureAtualizada?jid=5511987654321@s.whatsapp.net",
"MemoText": "Ligar amanhã",
"Document": "123.456.789-10",
"Priority": 1, // 1, 2 ou 3
"Group": "",
"CSS": "",
"InternalID": ""
}
Não há necessidade do preenchimento de todos os campos
O profile retornado substituirá permanentemente o conteúdo do profile existente.
A URL retornada no campo UrlInfo
será utilizada no iframe do contato:
API para variáveis
Se você precisar salvar variáveis na nossa plataforma, utilize nossa API de variáveis.
EndPoint https://witi.me/api/witime/savevars.aspx?chave=CHAVE_API
&WID=WID_INSTANCIA
&NAME=NOME_DA_VARIAVEL
Método POST
Corpo conteúdo json
ou texto
a ser salvo
Retorno "OK
" caso salvo com sucesso
O nome da variável deve ser único, caso contrário a variável existente será substituída.
Resgatar variáveis
EndPoint https://witi.me/api/witime/loadvars.aspx?chave=CHAVE_API
&WID=WID_INSTANCIA
&NAME=NOME_DA_VARIAVEL
Método GET
Retorno Dados previamente salvos