Integración ERP
La integración ERP permite el intercambio de información en tiempo real entre nuestro sistema y tu ERP. Con esta integración, puedes traer datos de tu ERP e incorporarlos en las interacciones de atención al cliente. Además, la integración te permite recibir notificaciones para varios tipos de eventos generados por el sistema.
Habilitando la Integración ERP
Para usar la integración ERP, edita una instancia registrada y habilita su uso marcando la casilla de activación:

Panel de Contacto
Registra una URL en el campo Panel de Contacto para incorporar características de tu sistema directamente en la ventana de servicio:

Se recomienda que tu iframe funcione con un ancho máximo de 300px.
Es altamente recomendable usar el protocolo https.
Una vez que la URL está registrada, se activará una solicitud POST cada vez que se abra un perfil. Esta solicitud enviará toda la información de contacto disponible:
{
"tipo_envio": "common",
"referencia": "api send",
"mensagens": [
{
"numero": "11999999999",
"mensagem": "test message 1"
},
{
"numero": "11999999998",
"mensagem": "test message 2"
}
]
}
Personalización
Personaliza el contenido de los mensajes enviados usando plantillas personalizables.

Formato de texto disponible:
_text_ Texto en cursiva
*text* Texto en negrita
~text~ Texto tachado
Variables disponibles:
| Variable | Descripción | Ejemplo |
|---|---|---|
$UsuarioNome$ | Nombre del agente que envió el mensaje | Maria |
$UsuarioLogin$ | Email de inicio de sesión del agente que envió el mensaje | maria@erp.com |
$IdUsuario$ | Código identificador único del agente | 001 |
$Departamento$ | Nombre del departamento al que pertenece el agente | Soporte |
$JidDestiny$ | JID del contacto que está siendo atendido | 5511987654321@s.whatsapp.net |
$TextMessage$ | Mensaje escrito por el agente | ¡Buenos días! |
Todas las variables disponibles están encerradas entre el símbolo $, por ejemplo: $var_name$
Eventos
La integración con tu ERP te permite registrar URLs que recibirán varios eventos generados por el sistema. Para cada evento a continuación, puedes registrar una URL de callback específica:
| EVENTO | Descripción |
|---|---|
OnLoadContact | Al cargar un contacto. Se activa justo después de que el perfil de contacto es seleccionado y cargado. Puede usarse para actualizar campos del perfil antes de que los datos se muestren en pantalla. Ejemplo ↓ |
OnBeforeSaveContact | Antes de guardar un contacto. Usado principalmente para validar datos del usuario y/o aplicar reglas de negocio antes de que el contacto sea guardado. |
OnSaveContact | Después de guardar un contacto. Ocurre si el evento OnBeforeSaveContact retorna true. |
OnStartConversation | Después de iniciar una conversación. Ocurre cuando el primer mensaje es enviado al contacto. |
¡próximamente! | |
¡próximamente! |
Registra la URL del evento que se activará en uno de los campos descritos arriba, usando el siguiente formato:
https://my-erp.com.br/api/OnLoadContact.php?jid=`$Jid$`&status=`$Status$`
Variables Disponibles
| Variable | Descripción | Retorna |
|---|---|---|
$InstanceId$ | Código identificador único de la instancia. | integer |
$ProfileId$ | Código identificador único del perfil. | integer |
$Jid$ | JID del contacto - proporcionado por WhatsApp. | string Ejemplo: 5511987654321@s.whatsapp.net |
$name$ | Nombre del contacto | string Ejemplo: Maria |
$isGroup$ | Si el contacto es un grupo. | true o false |
$StatusInt$ | Estado del contacto en formato numérico. | 0 Normal1 Bloqueado2 Archivado3 Bloqueado |
$Status$ | Estado del contacto. | string Ejemplo: Locked |
$LockedUserId$ | Código único del operador al que está bloqueado el contacto. | integer |
$LockedUserName$ | Nombre del operador al que está bloqueado el contacto. | string Ejemplo: Agente Maria |
$LockedUserLogin$ | Email del operador al que está bloqueado el contacto. | string Ejemplo: maria@company.com |
$DepartmentId$ | Código único del departamento al que pertenece el contacto. | integer |
$Department$ | Nombre del departamento al que fue transferido o pertenece el contacto. | string Ejemplo: Finanzas |
$SegmentName$ | Nombre del segmento seleccionado para el contacto, previamente registrado en la configuración de la instancia, bajo Clasificaciones. | string |
$LastMessageId$ | Código único del último mensaje del chat. | integer |
$MsgRead$ | Número de mensajes enviados y leídos por el contacto. | integer |
$MsgUnread$ | Número de mensajes no leídos del contacto. | integer |
$Email$ | Email registrado para el contacto. | string Ejemplo: felipe@gmail.com |
$Phone$ | Número de teléfono registrado para el contacto. Si no está registrado, retorna el número de teléfono según el JID del contacto. | string Ejemplo: (54) 9876-5432 |
$Document$ | Documento registrado para el contacto. | string Ejemplo: 123.456.789-10 |
$Note$ | Nota registrada en la pestaña y mostrada debajo de la foto de perfil en la lista de contactos. | string |
$CreateDate$ | Fecha y hora en que el contacto fue creado. | timestamp Ejemplo: 20210205 13:47:00 |
$LastStatusDateTime$ | Fecha y hora de la última actualización de estado para el contacto. | timestamp Ejemplo: 20210205 13:47:00 |
$LockedUserDate$ | Fecha y hora cuando el contacto fue bloqueado. | timestamp Ejemplo: 20210205 15:55:00 |
$wid$ | WID de la instancia | string Ejemplo: C61BBC40-D019-427A-A31C-230243E27242 |
OnLoadContact
Puedes retornar un json con el perfil de contacto actualizado. Ejemplo de un perfil a ser retornado:

Usa las variables
$jid$y$webid$en la URL informada, para recibir el identificador del contacto actual en tu API.
{
"Name": "Maria",
"Email": "maria@gmail.com",
"SegmentName": "",
"Telefone": "(11) 98765-4321",
"UrlInfo": "http://my-erp.com.br/panel?jid=5511987654321@s.whatsapp.net", // custom iframe
"UrlPicture": "http://my-erp.com.br/updatedPicture?jid=5511987654321@s.whatsapp.net",
"MemoText": "Call tomorrow",
"Document": "123.456.789-10",
"Priority": 1, // 1, 2 or 3
"Group": "",
"CSS": "",
"InternalID": ""
}
No es necesario llenar todos los campos.
El perfil retornado reemplazará permanentemente el contenido del perfil existente.
La URL retornada en el campo UrlInfo será usada en el iframe del contacto:

API de Variables
Si necesitas guardar variables en nuestra plataforma, usa nuestra API de variables.
EndPoint https://witi.me/api/witime/savevars.aspx?key=API_KEY&WID=INSTANCE_WID&NAME=VARIABLE_NAME
Método POST
Body contenido json o text a ser guardado
Retorno "OK" si se guardó exitosamente
El nombre de la variable debe ser único, de lo contrario la variable existente será reemplazada.
Recuperar variables
EndPoint https://witi.me/api/witime/loadvars.aspx?key=API_KEY&WID=INSTANCE_WID&NAME=VARIABLE_NAME
Método GET
Retorno Datos previamente guardados