curl -X POST https://api.plixa.app/v1/messages/send \
-H "Authorization: Bearer plixa_pat_…" \
-H "Content-Type: application/json" \
-d '{
"phone": "5511999999999",
"body": "Hi Lucia! Your order shipped"
}' Développeurs
Construisez sur Plixa en quelques minutes.
Plixa est API-first. Générez un token dans le panneau, envoyez un message en POST et recevez chaque entrant via des webhooks signés. Aucun SDK à installer, aucun protocole propriétaire — juste du JSON, du REST et du HMAC.
L’accès à l’API est inclus dans les forfaits Professional et Business. Générez vos tokens sur /api-tokens depuis le panneau.
Envoyer un message
Envoyez en POST un numéro de téléphone et un corps de message. Nous résolvons ou ouvrons la conversation, transmettons à WhatsApp et renvoyons le message mis en file.
POST https://api.plixa.app/v1/messages/send
- · Nécessite un token avec la permission `write`.
- · Limite : 100 requêtes / minute par 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: 'Hi Lucia! Your order shipped',
}),
}) Recevoir chaque message
Enregistrez un endpoint de webhook dans le panneau. Plixa envoie en POST chaque entrant (et sortant, si vous le souhaitez) vers votre URL en quelques secondes.
Se configure sur https://app.plixa.app/webhooks
- · Événements : message.inbound, message.outbound, conversation.created, conversation.updated, conversation.deleted.
- · Relances : backoff exponentiel (1m, 5m, 30m, 2h, 12h), 5 tentatives au total. Une réponse 410 / 4xx interrompt la chaîne de relances.
Chaque livraison porte un en-tête X-Plixa-Signature. Re-hachez le corps brut avec le secret de votre endpoint et comparez en temps constant.
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 — handle and respond 2xx within 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'] — handle and respond 2xx in <10s.
return response()->noContent();
}); Référence complète
Chaque endpoint (panneau + externe) est documenté avec le schéma de la requête, des exemples et les enveloppes de réponse.
Ouvrir la référence /v1/docsCommencer
Automatisez WhatsApp dès aujourd’hui.
Connectez votre numéro en cinq minutes et laissez l’IA gérer la première réponse. Gratuit 7 jours sur Professional — sans carte bancaire, annulable à tout moment.
Sans carte bancaire.