Saltar al contenido principal

Conexión

Generando el código QR

El punto de partida para la comunicación con la API es generar el código QR. Una vez que se genera el código QR, puedes escanearlo usando tu dispositivo móvil para habilitar el intercambio de mensajes entre la API y tu sistema.

Comandogenerate_qrcode.aspx
MétodoPOST
Cuerpo
{ 
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)..."
}

user_agent Proporciona la cadena UserAgent completa según tu navegador.

Respuesta

ÉXITO → devuelve imagen de código QR en formato SVG base64:

{
"qr": "data:image/svg+xml;base64,PD94b...",
"status":1,
"error":"",
"ttl":20
}

ERROR → devuelve el error descrito:

{
"status": 0,
"error": "Connection already established",
"ttl": 0
}

Una vez que el dispositivo escanea el código QR, se devolverá una serie de eventos a través de la URL PostBack:

Estado de Conexión

Comandostatus.aspx
MétodoGET
Respuesta

Información de conexión:

{
"status": 10, // status code
"statusString": "WhatsAppAuthenticated", // connection status as text
"connected": true, // whether connected (true) or not (false)
"ConnectionInfo": {
"lg": "en",
"lc": "US",
"phone": {
"device_model": "iPhone 4S",
"wa_version": "2.21.10.25",
"mcc": "724",
"os_version": "9.3.5",
"os_build_number": "undefined",
"device_manufacturer": "Apple",
"mnc": "031"
},
"battery": 83,
"tos": 0,
"pushname": "Atendimento Maria",
"protoVersion": [
0,
17
],
"plugged": false,
"platform": "iphone",
"wid": "5511987654321@s.whatsapp.net",
"connected": true,
"isResponse": "false",
"binVersion": 10,
"locales": "en-US,pt-BR"
},
"WebID": "6D6307C3-2973-4468-85FA-D047CB8E1F2E",
"Webhook": "http://my-erp.com.br&wid=6D6307C3-2973-4468-85FA-D047CB8E1F2E",
"UserAgent": "Chrome",
"CanRestoreConnection": true, // true if connection can be restored (without qrCode)
"stats": {
"Contacts": 72,
"Chats": 32,
"SentBytes": 0,
"ReceveidBytes": 0
},
"storage": {
"Name": "6D6307C3-2973-4468-85FA-D047CB8E1F2E",
"Bytes": 15544238,
"Files": 107,
"Subs": [
{
"Name": "media",
"Bytes": 11817360,
"Files": 27,
"Subs": null
},
{
"Name": "profile",
"Bytes": 1843594,
"Files": 52,
"Subs": null
},
{
"Name": "thumb",
"Bytes": 224238,
"Files": 27,
"Subs": null
}
]
}
}

Códigos de estado y sus equivalentes en cadena:

IntString
0noConnection
1webSocketOpenining
2webSocketOpen
3waitForQRAuthentication
4Starting
10WhatsAppAuthenticated
11WhatsAppAuthenticatedConnectionClosed
13WhatsAppNotAuthenticated

Desconectar

Se desconecta completamente de WhatsApp (el código QR debe generarse nuevamente).

Comandodisconnect.aspx
MétodoGET
Respuesta

ÉXITO → información de conexión:

    {
"status": 0,
"statusString": "noConnection",
"connected": false,
...
}

Finalizar Sesión

Se desconecta parcialmente de WhatsApp (posible reconectar usando el comando restore_session.aspx).

Comandoclose_session.aspx
MétodoGET
Respuesta

ÉXITO → información de conexión:

{
"sucesso": true,
"Status": "{\"status\":0,\"statusString\":\"noConnection\"..."
}

Guardar Sesión

Guarda el estado de conexión actual y permite la reconexión. Esto se ejecuta automáticamente después de leer el código QR.

Comandosave_session.aspx
MétodoGET
Respuesta

ÉXITO:

{
"sucesso": true
}

Restaurar Sesión

Restaura una sesión previamente finalizada (usando el comando close_session.aspx).

Comandorestore_session.aspx
MétodoGET
Respuesta

ÉXITO → información de conexión:

{
"sucesso": true,
"Status": "{\"status\":10,\"statusString\":\"WhatsAppAuthenticated\"..."
}

Limpiar Instancia

Limpia completamente los datos de instancia guardados. Reinicia archivos almacenados y caché. (No afecta los datos de WhatsApp)

Comandoclear.aspx
MétodoGET
Respuesta
{
"status": true,
"message": "clear ok"
}

Actualizar Configuración

Actualiza la configuración de conexión.

¡Importante!

Si cambias el WebHook usando el comando set_config.aspx, el uso del sistema vía navegador dejará de funcionar.

Si quieres usar ambos métodos (navegador y API), considera cambiar el WebHook a través de la interfaz de administración del sistema (Accede al área de administración > Editar Instancia > API > URL PostBack).

Comandoset_config.aspx
MétodoPOST
Cuerpo
{ 
"webhook": "https://my-system.com/newWebHook", // URL de retorno de eventos
"user_agent" : "Opera", // establece qué navegador se usa
"APIVersionCanBulk": false, // habilita retorno BULK
"APIVersion": "1.0" // establece versión de API
}
Respuesta

ÉXITO → Devuelve datos de conexión:

{
"status": 10,
"statusString": "WhatsAppAuthenticated",
"connected": true,
"Webhook": "https://my-system.com/newWebHook",
"UserAgent": "Opera",
...
}