Aller au contenu
Plixa
Français
Commencer

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.
Send with curl
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"
  }'
Send with Node.js
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.
Vérifier la signature

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>

Verify a webhook (Node.js / Express)
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()
})
Verify a webhook (PHP / Laravel)
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/docs

Commencer

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.