Skip to main content

Conexão

Gerando o qrCode

O ponto inicial da comunicação com a API é a geração do qrCode. Com o qrCode gerado, será possível escaneá-lo através do aparelho celular e possibilitar a troca de mensagens entre a API e seu sistema.

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

user_agent Informar o UserAgent completo de acordo com o navegador.

Retorno

SUCESSO retorna imagem qrCode no formato SVG em base64:

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

ERRO retorna o erro descrito:

{
"status": 0,
"error": "Conexão ja estabelecida",
"ttl": 0
}

Uma vez realizado o escaneamento pelo aparelho, uma série de eventos serão retornados pela URL de PostBack:

Status da Conexão

Comandostatus.aspx
MétodoGET
Retorno

Informações sobre a conexão:

{
"status": 10, // código do status
"statusString": "WhatsAppAuthenticated", // status da conexão em texto
"connected": true, // se está conectado (true) ou não (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://meu-erp.com.br&wid=6D6307C3-2973-4468-85FA-D047CB8E1F2E",
"UserAgent": "Chrome",
"CanRestoreConnection": true, // true caso seja possível restaurar a conexão (sem fazer 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 status e o equivalente em string:

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

Desconectar

Desconecta completamente do WhatsApp (necessário refazer o qrCode).

Comandodisconnect.aspx
MétodoGET
Retorno

SUCESSO informações da conexão:

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

Finalizar Sessão

Desconecta parcialmente do WhatsApp (possível reconectar utilizando o comando restore_session.aspx).

Comandoclose_session.aspx
MétodoGET
Retorno

SUCESSO informações da conexão:

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

Salvar Sessão

Salva a situação atual da conexão e possibilita sua reconexão. É executada automaticamente após a leitura do qrCode.

Comandosave_session.aspx
MétodoGET
Retorno

SUCESSO:

{
"sucesso": true
}

Restaurar Sessão

Restaura a sessão finalizada (através do comando close_session.aspx).

Comandorestore_session.aspx
MétodoGET
Retorno

SUCESSO informações da conexão:

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

Limpar Instância

Limpa completamente os dados salvos da instância. Zera os arquivos armazenados e cache. (Não afeta os dados do WhatsApp)

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

Atualizar configurações

Atualiza as configurações da conexão.

Importante!

Se você alterar o WebHook através do comando set_config.aspx, a utilização do sistema pelo navegador irá parar de funcionar.

Caso queira trabalhar utilizando ambas as formas (pelo navegador e pela API), considere trocar o WebHook pela interface de administração do sistema (Acessando a área administrativa > Editar Instância > API > Url PostBack).

Comandoset_config.aspx
MétodoPOST
Corpo
{ 
"webhook": "https://meu-sistema.com/novoWebHook", // url para retorno dos eventos
"user_agent" : "Opera", // seta qual navegador é utilizado
"APIVersionCanBulk": false, // habilita o retorno em BULK
"APIVersion": "1.0" // seta a versão da API
}
Retorno

SUCESSO Retorna os dados da conexão:

{
"status": 10,
"statusString": "WhatsAppAuthenticated",
"connected": true,
"Webhook": "https://meu-sistema.com/novoWebHook",
"UserAgent": "Opera",
...
}