Referência completa da Zapius API. Todas as chamadas usam o header apikey com a chave da instância.
/api/public/v1/messagesEnviar mensagem (texto, mídia, localização)/api/public/v1/messages/historyHistórico de mensagens de uma conversa/api/public/v1/chatsListar conversas (chats)/api/public/v1/presenceConsultar e publicar presença/api/public/chat/fetchProfilePictureUrl/{instance}Buscar foto de perfil de um contato/api/public/bridge-webhookWebhook de eventos (recebido pelo seu servidor)/api/public/v1/messagesEndpoint unificado de envio. O campo type define o formato: text, image, video, audio, voice, sticker, document ou location.
apikey: SUA_API_KEY
content-type: application/json// Texto
{ "to": "5511999999999", "text": "Olá!" }
// Mídia por URL (image | video | audio | voice | sticker | document)
{
"to": "5511999999999",
"type": "image",
"mediaUrl": "https://exemplo.com/foto.jpg",
"caption": "Legenda opcional"
}
// Mídia em base64
{
"to": "5511999999999",
"type": "document",
"mediaBase64": "JVBERi0xLjQK...",
"fileName": "contrato.pdf"
}
// Localização
{
"to": "5511999999999",
"type": "location",
"latitude": -23.55,
"longitude": -46.63,
"name": "São Paulo"
}curl -X POST https://zapiusapi.com/api/public/v1/messages \
-H "apikey: SUA_API_KEY" \
-H "content-type: application/json" \
-d '{"to":"5511999999999","text":"Olá do Zapius!"}'200 { "ok": true, "id": "<message-id>" }
401 { "error": "invalid apikey" }
409 { "error": "instance not connected (status: close)" }/api/public/v1/messages/historyRetorna o histórico de mensagens trocadas com um JID. Suporta paginação por timestamp.
apikey: SUA_API_KEYcurl "https://zapiusapi.com/api/public/v1/messages/history?jid=5511999999999@s.whatsapp.net&limit=100" \
-H "apikey: SUA_API_KEY"Query params:
jid (obrigatório) — ex: 5511999999999@s.whatsapp.net
limit (opcional) — máx. de mensagens (default 100)
before (opcional) — timestamp unix (segundos) para paginar/api/public/v1/chatsRetorna as conversas ativas da instância, com último contato e contadores.
apikey: SUA_API_KEYcurl "https://zapiusapi.com/api/public/v1/chats?limit=200" \
-H "apikey: SUA_API_KEY"/api/public/v1/presenceConsulta presença do contato e permite publicar estados da instância: online, offline, typing, recording e paused.
apikey: SUA_API_KEY{ "to": "5511999999999", "presence": "typing" }curl "https://zapiusapi.com/api/public/v1/presence?phone=5511999999999" \
-H "apikey: SUA_API_KEY"
curl -X POST https://zapiusapi.com/api/public/v1/presence \
-H "apikey: SUA_API_KEY" \
-H "content-type: application/json" \
-d '{"to":"5511999999999","presence":"typing"}'200 { "ok": true, "presence": "typing", "is_online": true, "is_typing": true }/api/public/chat/fetchProfilePictureUrl/{instance}{instance} pode ser o id, name ou slug da instância dona da apikey.
apikey: SUA_API_KEY
content-type: application/json{ "number": "5511999999999" }curl -X POST https://zapiusapi.com/api/public/chat/fetchProfilePictureUrl/minha-instancia \
-H "apikey: SUA_API_KEY" \
-H "content-type: application/json" \
-d '{"number":"5511999999999"}'{
"wuid": "5511999999999@s.whatsapp.net",
"number": "5511999999999",
"profilePictureUrl": "https://...",
"name": "Fulano",
"pushName": "Fulano",
"isWhatsapp": true
}/api/public/bridge-webhookConfigure uma URL HTTPS em Webhooks no painel. Enviamos POST JSON para eventos: message.upsert (mensagem recebida), messages.update (status), connection.update, qr.update, contacts.update, chats.upsert.
// Exemplo de payload recebido na SUA URL:
{
"event": "message.upsert",
"instance_id": "<uuid>",
"data": {
"direction": "inbound",
"remote_jid": "5511999999999@s.whatsapp.net",
"real_phone": "5511999999999",
"fromMe": false,
"message_type": "conversation",
"text": "Olá!",
"media_url": null,
"timestamp": 1761234567
}
}