Pular para o conteúdo principal

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:

Atenção

É recomendado que seu iframe funcione na largura máxima de 300px.

Dica

É 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ávelDescriçãoExemplo
$UsuarioNome$Nome do atendente que enviou a mensagemMaria
$UsuarioLogin$E-mail de login do atendente que enviou a mensagemmaria@erp.com
$IdUsuario$Código identificador único do atendente001
$Departamento$Nome do departamento ao qual o atendente pertenceAtendimento
$JidDestiny$JID do contato que está sendo atendido5511987654321@s.whatsapp.net
$TextMessage$Mensagem digitada pelo atendenteBom dia!
Atenção

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:

EVENTODescrição
OnLoadContactAo 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 ↓
OnBeforeSaveContactAntes 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.
OnSaveContactApós Salvar um contato. Caso o evento OnBeforeSaveContact retorne true.
OnStartConversationApós Iniciar uma conversa. Ocorre quando a primeira mensagem é enviada ao contato.
OnEndConversationAo Finalizar uma conversa. Ocorre quando o atendimento é finalizado automaticamente pelo sistema ou manualmente pelo operador.
em breve!
OnGetChatMessageSugestionEvento a ser chamado para retornar uma matriz de sugestões de respostas. Disparado a cada nova resposta do contato. 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ávelDescriçãoRetorna
$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 contatostring
Exemplo: Maria
$isGroup$Se o contato é um grupo.true ou false
$SituacaoInt$Situação do contato em formato numérico.0 Normal
1 Travado
2 Arquivado
3 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 contatointeiro
$MsgUnread$Númeri de mensagens não lidas do contatointeiro
$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ânciastring
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": ""
}
Dica

Não há necessidade do preenchimento de todos os campos

Atenção

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

Atenção

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