Skip to main content

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.

EndPointhttps://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

EndPointhttps://witi.me/api/witime/loadvars.aspx?chave=CHAVE_API&WID=WID_INSTANCIA&NAME=NOME_DA_VARIAVEL
Método GET
Retorno Dados previamente salvos