curl -X POST https://api.plixa.app/v1/messages/send \
-H "Authorization: Bearer plixa_pat_…" \
-H "Content-Type: application/json" \
-d '{
"phone": "5511999999999",
"body": "Oi Lucia! Seu pedido saiu para entrega"
}' Desenvolvedores
Construa em cima da Plixa em minutos.
A Plixa é API-first. Crie um token no painel, envie POST de mensagens e receba cada inbound via webhooks assinados. Sem SDK pra instalar, sem protocolo proprietário — só JSON, REST e HMAC.
O acesso à API faz parte dos planos Professional e Business. Gere tokens em /api-tokens no painel.
Envie uma mensagem
POST com o telefone e o corpo. A Plixa resolve ou abre a conversa, envia pro WhatsApp e devolve a mensagem enfileirada.
POST https://api.plixa.app/v1/messages/send
- · Requer um token com a permissão `write`.
- · Limite: 100 requisições/minuto por token.
await fetch('https://api.plixa.app/v1/messages/send', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.PLIXA_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
phone: '5511999999999',
body: 'Oi Lucia! Seu pedido saiu para entrega',
}),
}) Receba cada mensagem
Cadastre um endpoint de webhook no painel. A Plixa faz POST de cada inbound (e outbound, se quiser) na sua URL em segundos.
Configurado em https://app.plixa.app/webhooks
- · Eventos: message.inbound, message.outbound, conversation.created, conversation.updated, conversation.deleted.
- · Retentativas: backoff exponencial (1m, 5m, 30m, 2h, 12h), 5 tentativas no total. Uma resposta 410 / 4xx interrompe a cadeia de retentativas.
Cada entrega traz um header X-Plixa-Signature. Faça o hash do body cru com o segredo do endpoint e compare em tempo constante.
X-Plixa-Signature: sha256=<hmac>
import crypto from 'crypto'
app.post('/plixa-webhook', express.raw({ type: 'application/json' }), (req, res) => {
const expected = 'sha256=' + crypto
.createHmac('sha256', process.env.PLIXA_WEBHOOK_SECRET)
.update(req.body)
.digest('hex')
const provided = req.header('X-Plixa-Signature') ?? ''
if (!crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(provided))) {
return res.status(401).send('bad signature')
}
const event = JSON.parse(req.body.toString())
// event.event, event.data — trate e responda 2xx em até 10s.
res.status(204).end()
}) Route::post('/plixa-webhook', function (Request $request) {
$body = $request->getContent();
$expected = 'sha256='.hash_hmac('sha256', $body, env('PLIXA_WEBHOOK_SECRET'));
if (! hash_equals($expected, (string) $request->header('X-Plixa-Signature'))) {
abort(401, 'bad signature');
}
$event = json_decode($body, true);
// $event['event'], $event['data'] — trate e responda 2xx em <10s.
return response()->noContent();
}); Referência completa
Cada endpoint (painel + externo) está documentado com schema de request, exemplos e envelope de resposta.
Abrir a referência /v1/docsComece agora
Comece a automatizar o WhatsApp hoje.
Conecte seu número em cinco minutos e deixe a IA cuidar da primeira resposta. Grátis por 7 dias no Professional — sem cartão de crédito, cancele a qualquer hora.
Não pede cartão de crédito.