Chat
Endpoints para ações em conversas e mensagens. Todos requerem o header x-instance com o ID da sessão.
Reagir a mensagem
Seção intitulada “Reagir a mensagem”POST /chat/react
Adiciona ou remove uma reação em uma mensagem. Envie reaction como string vazia para remover a reação.
Parametros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do chat |
id | string | Sim | ID da mensagem |
reaction | string | Sim | Emoji da reacao. String vazia para remover |
Request
curl -X POST https://api.wi.api.br/chat/react \ -H "Content-Type: application/json" \ -H "x-api-key: sua_api_key" \ -H "x-instance: session_01" \ -d '{ "to": "5511999999999@s.whatsapp.net", "id": "AABBCCDD1122", "reaction": "👍" }'const response = await fetch("https://api.wi.api.br/chat/react", { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, body: JSON.stringify({ to: "5511999999999@s.whatsapp.net", id: "AABBCCDD1122", reaction: "👍", }),});import requests
response = requests.post( "https://api.wi.api.br/chat/react", headers={ "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, json={ "to": "5511999999999@s.whatsapp.net", "id": "AABBCCDD1122", "reaction": "👍", },)Response
{ "success": true }Deletar mensagem
Seção intitulada “Deletar mensagem”POST /chat/delete
Deleta uma mensagem enviada por voce. Mensagens deletadas apos 2 dias ficam visiveis para os destinatarios.
Parametros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do chat |
id | string | Sim | ID da mensagem a deletar |
Request
curl -X POST https://api.wi.api.br/chat/delete \ -H "Content-Type: application/json" \ -H "x-api-key: sua_api_key" \ -H "x-instance: session_01" \ -d '{ "to": "5511999999999@s.whatsapp.net", "id": "AABBCCDD1122" }'const response = await fetch("https://api.wi.api.br/chat/delete", { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, body: JSON.stringify({ to: "5511999999999@s.whatsapp.net", id: "AABBCCDD1122", }),});import requests
response = requests.post( "https://api.wi.api.br/chat/delete", headers={ "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, json={ "to": "5511999999999@s.whatsapp.net", "id": "AABBCCDD1122", },)Response
{ "success": true }Marcar como lido
Seção intitulada “Marcar como lido”POST /chat/markread
Marca as mensagens de um chat como lidas ate a mensagem especificada.
Parametros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
chat | string | Sim | JID do chat |
id | string | Sim | ID da ultima mensagem lida |
Request
curl -X POST https://api.wi.api.br/chat/markread \ -H "Content-Type: application/json" \ -H "x-api-key: sua_api_key" \ -H "x-instance: session_01" \ -d '{ "chat": "5511999999999@s.whatsapp.net", "id": "AABBCCDD1122" }'const response = await fetch("https://api.wi.api.br/chat/markread", { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, body: JSON.stringify({ chat: "5511999999999@s.whatsapp.net", id: "AABBCCDD1122", }),});import requests
response = requests.post( "https://api.wi.api.br/chat/markread", headers={ "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, json={ "chat": "5511999999999@s.whatsapp.net", "id": "AABBCCDD1122", },)Response
{ "success": true }Presenca no chat
Seção intitulada “Presenca no chat”POST /chat/presence
Envia indicadores de digitacao ou gravacao para um chat.
Parametros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do chat |
state | string | Sim | composing, paused, available ou unavailable |
Request
curl -X POST https://api.wi.api.br/chat/presence \ -H "Content-Type: application/json" \ -H "x-api-key: sua_api_key" \ -H "x-instance: session_01" \ -d '{ "to": "5511999999999@s.whatsapp.net", "state": "composing" }'const response = await fetch("https://api.wi.api.br/chat/presence", { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, body: JSON.stringify({ to: "5511999999999@s.whatsapp.net", state: "composing", }),});import requests
response = requests.post( "https://api.wi.api.br/chat/presence", headers={ "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, json={ "to": "5511999999999@s.whatsapp.net", "state": "composing", },)Response
{ "success": true }Favoritar mensagem
Seção intitulada “Favoritar mensagem”POST /chat/star
Adiciona ou remove uma mensagem dos favoritos.
Parametros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
jid | string | Sim | JID do chat |
messageId | string | Sim | ID da mensagem |
star | boolean | Sim | true para favoritar, false para remover |
Request
curl -X POST https://api.wi.api.br/chat/star \ -H "Content-Type: application/json" \ -H "x-api-key: sua_api_key" \ -H "x-instance: session_01" \ -d '{ "jid": "5511999999999@s.whatsapp.net", "messageId": "AABBCCDD1122", "star": true }'const response = await fetch("https://api.wi.api.br/chat/star", { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, body: JSON.stringify({ jid: "5511999999999@s.whatsapp.net", messageId: "AABBCCDD1122", star: true, }),});import requests
response = requests.post( "https://api.wi.api.br/chat/star", headers={ "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, json={ "jid": "5511999999999@s.whatsapp.net", "messageId": "AABBCCDD1122", "star": True, },)Response
{ "success": true }Fixar conversa
Seção intitulada “Fixar conversa”POST /chat/pin
Fixa ou desafixa uma conversa no topo da lista.
Parametros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
chat | string | Sim | JID do chat |
pin | boolean | Sim | true para fixar, false para desafixar |
Request
curl -X POST https://api.wi.api.br/chat/pin \ -H "Content-Type: application/json" \ -H "x-api-key: sua_api_key" \ -H "x-instance: session_01" \ -d '{ "chat": "5511999999999@s.whatsapp.net", "pin": true }'const response = await fetch("https://api.wi.api.br/chat/pin", { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, body: JSON.stringify({ chat: "5511999999999@s.whatsapp.net", pin: true, }),});import requests
response = requests.post( "https://api.wi.api.br/chat/pin", headers={ "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, json={ "chat": "5511999999999@s.whatsapp.net", "pin": True, },)Response
{ "success": true }Arquivar conversa
Seção intitulada “Arquivar conversa”POST /chat/archive
Arquiva ou desarquiva uma conversa.
Parametros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
chat | string | Sim | JID do chat |
archive | boolean | Sim | true para arquivar, false para desarquivar |
Request
curl -X POST https://api.wi.api.br/chat/archive \ -H "Content-Type: application/json" \ -H "x-api-key: sua_api_key" \ -H "x-instance: session_01" \ -d '{ "chat": "5511999999999@s.whatsapp.net", "archive": true }'const response = await fetch("https://api.wi.api.br/chat/archive", { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, body: JSON.stringify({ chat: "5511999999999@s.whatsapp.net", archive: true, }),});import requests
response = requests.post( "https://api.wi.api.br/chat/archive", headers={ "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, json={ "chat": "5511999999999@s.whatsapp.net", "archive": True, },)Response
{ "success": true }Silenciar conversa
Seção intitulada “Silenciar conversa”POST /chat/mute
Silencia ou reativa notificacoes de uma conversa.
Parametros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
chat | string | Sim | JID do chat |
mute | boolean | Sim | true para silenciar, false para reativar |
duration | number | Nao | Duracao em segundos. Obrigatorio quando mute: true |
Request
curl -X POST https://api.wi.api.br/chat/mute \ -H "Content-Type: application/json" \ -H "x-api-key: sua_api_key" \ -H "x-instance: session_01" \ -d '{ "chat": "5511999999999@s.whatsapp.net", "mute": true, "duration": 86400 }'const response = await fetch("https://api.wi.api.br/chat/mute", { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, body: JSON.stringify({ chat: "5511999999999@s.whatsapp.net", mute: true, duration: 86400, }),});import requests
response = requests.post( "https://api.wi.api.br/chat/mute", headers={ "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, json={ "chat": "5511999999999@s.whatsapp.net", "mute": True, "duration": 86400, },)Response
{ "success": true }Deletar conversa
Seção intitulada “Deletar conversa”POST /chat/delete-chat
Remove a conversa inteira do dispositivo. Acao irreversivel. O historico de mensagens sera perdido.
Parametros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
jid | string | Sim | JID do chat a deletar |
Request
curl -X POST https://api.wi.api.br/chat/delete-chat \ -H "Content-Type: application/json" \ -H "x-api-key: sua_api_key" \ -H "x-instance: session_01" \ -d '{ "jid": "5511999999999@s.whatsapp.net" }'const response = await fetch("https://api.wi.api.br/chat/delete-chat", { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, body: JSON.stringify({ jid: "5511999999999@s.whatsapp.net", }),});import requests
response = requests.post( "https://api.wi.api.br/chat/delete-chat", headers={ "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, json={ "jid": "5511999999999@s.whatsapp.net", },)Response
{ "success": true }Download de midia
Seção intitulada “Download de midia”POST /chat/download
Baixa o conteudo de uma mensagem de midia recebida. Os campos necessarios sao recebidos no payload do webhook quando uma mensagem de midia chega.
Parametros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
directPath | string | Sim | Path do CDN recebido no webhook |
mediaKey | string | Sim | Chave de decriptacao (base64) |
fileEncSha256 | string | Sim | Hash do arquivo encriptado (base64) |
fileSha256 | string | Sim | Hash do arquivo original (base64) |
fileLength | number | Sim | Tamanho do arquivo em bytes |
mediaType | string | Sim | image, video, audio, document ou sticker |
mimeType | string | Sim | MIME type do arquivo |
Request
curl -X POST https://api.wi.api.br/chat/download \ -H "Content-Type: application/json" \ -H "x-api-key: sua_api_key" \ -H "x-instance: session_01" \ -d '{ "directPath": "/v/t62.7161-24/32985611_1084...", "mediaKey": "dGVzdGtleWJhc2U2NA==", "fileEncSha256": "aGFzaGVuY3J5cHRlZA==", "fileSha256": "aGFzaG9yaWdpbmFs", "fileLength": 52480, "mediaType": "image", "mimeType": "image/jpeg" }'const response = await fetch("https://api.wi.api.br/chat/download", { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, body: JSON.stringify({ directPath: "/v/t62.7161-24/32985611_1084...", mediaKey: "dGVzdGtleWJhc2U2NA==", fileEncSha256: "aGFzaGVuY3J5cHRlZA==", fileSha256: "aGFzaG9yaWdpbmFs", fileLength: 52480, mediaType: "image", mimeType: "image/jpeg", }),});import requests
response = requests.post( "https://api.wi.api.br/chat/download", headers={ "Content-Type": "application/json", "x-api-key": "sua_api_key", "x-instance": "session_01", }, json={ "directPath": "/v/t62.7161-24/32985611_1084...", "mediaKey": "dGVzdGtleWJhc2U2NA==", "fileEncSha256": "aGFzaGVuY3J5cHRlZA==", "fileSha256": "aGFzaG9yaWdpbmFs", "fileLength": 52480, "mediaType": "image", "mimeType": "image/jpeg", },)Response
{ "data": "iVBORw0KGgoAAAANSUhEUgAA...", "mimeType": "image/jpeg"}Listar conversas
Seção intitulada “Listar conversas”GET /chat/list
Retorna todas as conversas da sessao.
Parametros
Nenhum parametro no body. Requer apenas o header x-instance.
Request
curl https://api.wi.api.br/chat/list \ -H "x-api-key: sua_api_key" \ -H "x-instance: session_01"const response = await fetch("https://api.wi.api.br/chat/list", { headers: { "x-api-key": "sua_api_key", "x-instance": "session_01", },});import requests
response = requests.get( "https://api.wi.api.br/chat/list", headers={ "x-api-key": "sua_api_key", "x-instance": "session_01", },)Response
[ { "jid": "5511999999999@s.whatsapp.net", "name": "João Silva" }, { "jid": "120363001234567890@g.us", "name": "Grupo Vendas" }]