Autenticação
Todas as requisições devem usar a seguinte estrutura de URL:
https://api2.wzap-api.com/instances/{id_instancia}/token/{token}/{action}
Parâmetros Obrigatórios:
id_instancia
- Identificador único da instânciatoken
- Token de autenticação gerado ao criar a instância
Exemplo de Requisição:
curl -X GET \
"https://api2.wzap-api.com/instances/123/token/abc123def456/status" \
-H "Content-Type: application/json"
Pegar QRCode
/instances/{id}/token/{token}/qr
Retorna o QRCode para autenticação da instância. Recomenda-se polling a cada 2 segundos até que o QRCode seja escaneado.
Respostas:
- 200 QRCode disponível:
{"qr": "qr_code_string"}
- 204 QRCode já autenticado ou não disponível
- 404 Instância não existe
- 403 Token inválido
Status da Instância
/instances/{id}/token/{token}/status
Retorna o status de conexão da instância.
Resposta:
{"connected": true}
Códigos de Status:
- 200 Sucesso
- 404 Instância não existe
- 403 Token inválido
Reiniciar Instância
/instances/{id}/token/{token}/restart
Reinicia a instância, mantendo a sessão ativa.
Resposta:
{"restarted": true}
Códigos de Status:
- 200 Sucesso
- 404 Instância não existe
- 403 Token inválido
Desconectar WhatsApp
/instances/{id}/token/{token}/disconnect
Desconecta a instância do WhatsApp, exigindo nova autenticação via QRCode. Não deleta a sessão ou pasta.
Resposta:
{"restarted": true}
Códigos de Status:
- 200 Sucesso
- 404 Instância não existe
- 403 Token inválido
Deletar Instância
/instances/{id}/token/{token}
Deleta a instância permanentemente.
Resposta:
{"deleted": true}
Códigos de Status:
- 200 Sucesso
- 404 Instância não existe
- 403 Token inválido
Enviar Mensagem de Texto
/instances/{id}/token/{token}/send-text
Envia uma mensagem de texto para um contato ou grupo.
Parâmetros no Body (JSON):
{
"to": "5511999999999@c.us",
"message": "Texto da mensagem",
"delayTyping": 2000 // opcional, em milissegundos
}
Resposta de Sucesso:
{"status": "sent"}
Códigos de Status:
- 200 Sucesso
- 400 Parâmetros "to" ou "message" ausentes
- 404 Instância não existe
- 403 Token inválido
- 500 Erro ao enviar mensagem
Enviar Imagem
/instances/{id}/token/{token}/send-image
Envia uma imagem para um contato ou grupo.
Parâmetros no Body (multipart/form-data):
to
- Número de telefone ou ID do grupo (obrigatório)image
- Arquivo de imagem (obrigatório)caption
- Legenda opcional para a imagem
Resposta de Sucesso:
{"status": "image sent"}
Códigos de Status:
- 200 Sucesso
- 400 Parâmetros "to" ou "image" ausentes
- 404 Instância não existe
- 403 Token inválido
- 500 Erro ao enviar imagem
Responder Mensagem
/instances/{id}/token/{token}/reply
Responde a uma mensagem específica no chat.
Parâmetros no Body (JSON):
{
"msgId": "ID_da_mensagem",
"message": "Texto da resposta",
"delayTyping": 2000 // opcional, em milissegundos
}
Resposta de Sucesso:
{"replied": true}
Códigos de Status:
- 200 Sucesso
- 400 Parâmetros "msgId" ou "message" ausentes
- 404 Instância não existe
- 403 Token inválido
- 500 Erro ao responder mensagem
Forward Mensagem
/instances/{id}/token/{token}/forward
Encaminha uma mensagem existente para outro contato ou grupo.
Parâmetros no Body (JSON):
{
"to": "5511999999999@c.us",
"msgId": "ID_da_mensagem"
}
Resposta de Sucesso:
{"status": "forwarded"}
Códigos de Status:
- 200 Sucesso
- 400 Parâmetros "to" ou "msgId" ausentes
- 404 Instância não existe
- 403 Token inválido
- 500 Erro ao encaminhar mensagem
Deletar Mensagens
/instances/{id}/token/{token}/delete
Deleta uma ou mais mensagens do chat.
Parâmetros no Body (JSON):
{
"msgIds": ["ID1", "ID2", "..."],
"forEveryone": true // opcional, padrão: true
}
Resposta de Sucesso:
{"deleted": 2}
Códigos de Status:
- 200 Sucesso, retorna número de mensagens deletadas
- 404 Instância não existe
- 403 Token inválido
- 500 Erro ao deletar mensagens
Marcar como Lido
/instances/{id}/token/{token}/read
Marca um chat como lido, atualizando o status de leitura.
Parâmetros no Body (JSON):
{
"chatId": "5511999999999@c.us"
}
Resposta de Sucesso:
{"read": true}
Códigos de Status:
- 200 Sucesso
- 400 Parâmetro "chatId" ausente
- 404 Instância não existe
- 403 Token inválido
- 500 Erro ao marcar como lido
Listar Chats
/instances/{id}/token/{token}/chats
Lista todos os chats da instância com paginação, usando cache interno.
Parâmetros de Query:
page
- Número da página (padrão: 1)limit
- Itens por página (máximo: 100, padrão: 100)
Exemplo de Resposta:
{
"page": 1,
"limit": 10,
"total": 25,
"totalPages": 3,
"data": [
{
"id": "5511999999999@c.us",
"name": "Nome do Contato",
"isGroup": false,
"unread": 0,
"participants": 1,
"lastMsg": {
"id": "msg_id",
"body": "Última mensagem",
"timestamp": 1633024800
}
}
]
}
Códigos de Status:
- 200 Sucesso
- 404 Instância não existe
- 403 Token inválido
- 500 Erro ao listar chats
Listar Grupos
/instances/{id}/token/{token}/groups
Lista todos os grupos da instância com paginação, usando cache interno.
Parâmetros de Query:
page
- Número da página (padrão: 1)limit
- Itens por página (máximo: 100, padrão: 100)
Exemplo de Resposta:
{
"page": 1,
"limit": 10,
"total": 5,
"totalPages": 1,
"data": [
{
"id": "group_id@g.us",
"name": "Nome do Grupo"
}
]
}
Códigos de Status:
- 200 Sucesso
- 404 Instância não existe
- 403 Token inválido
- 500 Erro ao listar grupos
Configurar Webhook
/instances/{id}/token/{token}/webhook/{evento}
Configura um webhook para um evento específico da instância.
Eventos disponíveis: aoenviar
, aoreceber
, aoconectar
, aodesconectar
, aopresencadochat
, aoreceberstatusdamsg
Parâmetros no Body (JSON):
{
"url": "https://seusite.com/webhook"
}
Resposta de Sucesso:
{"webhook": "https://seusite.com/webhook"}
Códigos de Status:
- 200 Sucesso
- 400 Evento inválido
- 404 Instância não existe
- 403 Token inválido
Remover Webhook
/instances/{id}/token/{token}/webhook/{evento}
Remove o webhook configurado para um evento específico.
Eventos disponíveis: aoenviar
, aoreceber
, aoconectar
, aodesconectar
, aopresencadochat
, aoreceberstatusdamsg
Resposta de Sucesso:
{"deleted": true}
Códigos de Status:
- 200 Sucesso
- 400 Evento inválido
- 404 Webhook não configurado ou instância não existe
- 403 Token inválido
Listar Webhooks
/instances/{id}/token/{token}/webhooks
Lista todos os webhooks configurados para a instância.
Exemplo de Resposta:
{
"webhooks_aoenviar": "https://seusite.com/webhook",
"webhooks_aoreceber": "https://seusite.com/webhook2"
}
Códigos de Status:
- 200 Sucesso
- 404 Instância não existe
- 403 Token inválido