Quickstart
Crie sua primeira API key, envie uma mensagem WhatsApp de texto e consulte o status em segundos.
Siga estes 3 passos para enviar sua primeira mensagem WhatsApp pela API WaBlast.
1. Crie uma API key
No painel WaBlast, vá em /developers/keys → Nova chave. A chave é gerada no formato wak_ + 24 bytes base64url. Ela só é exibida uma única vez — guarde-a em local seguro (vault / variável de ambiente).
Não commite a chave em repositório. Use um gerenciador de segredos (1Password, AWS Secrets Manager, Doppler, etc.) e carregue como variável de ambiente.
2. Envie uma mensagem de texto
A chamada mais simples: POST /v1/messages com type: "text". Use a conexão padrão do usuário (omitindo account_id).
curl -X POST https://api.wablastmessage.com/v1/messages \
-H "Authorization: Bearer wak_sua_chave" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 9f1c-7b22-aa01" \
-d '{
"to": "+5511999990000",
"type": "text",
"text": { "body": "Olá! Sua entrega chegou." }
}'import crypto from 'node:crypto';
import fetch from 'node-fetch';
const res = await fetch('https://api.wablastmessage.com/v1/messages', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + process.env.WABLAST_API_KEY,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({
to: '+5511999990000',
type: 'text',
text: { body: 'Olá! Sua entrega chegou.' },
}),
});
const json = await res.json();
console.log(res.status, json);import os
import uuid
import requests
res = requests.post(
'https://api.wablastmessage.com/v1/messages',
headers={
'Authorization': 'Bearer ' + os.environ['WABLAST_API_KEY'],
'Idempotency-Key': str(uuid.uuid4()),
},
json={
'to': '+5511999990000',
'type': 'text',
'text': {'body': 'Olá! Sua entrega chegou.'},
},
)
print(res.status_code, res.json())<?php
$ch = curl_init('https://api.wablastmessage.com/v1/messages');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . getenv('WABLAST_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(8)),
]);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'to' => '+5511999990000',
'type' => 'text',
'text' => ['body' => 'Olá! Sua entrega chegou.'],
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE) . " " . $res; Resposta 201
{
"id": "msg_ckv...",
"meta_message_id": "wamid.HBgM...",
"to": "+5511999990000",
"status": "sent"
} O id é o ID interno da mensagem — guarde-o para consultar o status depois.
3. Consulte o status
GET /v1/messages/{id}
Authorization: Bearer wak_sua_chave
O status passa por SENT → DELIVERED → READ (ou FAILED em caso de erro). As mudanças também chegam via webhook — veja Webhooks — eventos.
Texto e mídia exigem janela de 24h aberta (último inbound do contato). Para iniciar uma conversa ou reengajar, use um template aprovado — templates ignoram a janela.
Próximos passos
- Mensagens — referência completa de
POST /v1/messageseGET /v1/messages/{id}. - Templates — gerencie templates aprovados.
- Webhooks — receba mudanças de status sem fazer polling.
- Calculadora de Custo WhatsApp API — simule o custo mensal das tarifas Meta antes de começar a enviar.