Brancher une application.
Obtenir une clé, configurer une connexion, envoyer un message et recevoir les événements.
Démarrer
Créer une application
Dans le back-office → Applications. La clé API est affichée une seule fois (conservez-la).
Créer une connexion
Choisissez le canal (WhatsApp, e-mail, Telegram) et fournissez les credentials — ou scannez le QR pour WhatsApp.
Envoyer un message test
Appelez POST /messages avec votre clé API.
Recevoir un webhook
Déclarez votre URL ; Rsconnect y pousse les événements, signés.
Concepts
Une connexion représente un compte de canal (« le WhatsApp de la boutique A »). Elle appartient à une application. Une application possède une clé API et reçoit ses propres webhooks. Le scoping est strict : une application ne voit et n'agit que sur ses connexions.
Les briques de Rsconnect — et à quoi elles servent
Rsconnect s'articule autour de quelques briques simples ; voici le rôle de chacune :
Applications & clés
Isoler chaque intégration : une clé API par application, périmètre strict.
Connexions
Un compte de canal (« le WhatsApp de la boutique A ») rattaché à une application.
Canaux
Recevoir et envoyer sur WhatsApp, e-mail et Telegram, au même format.
Envoi
Un seul appel — POST /messages — quel que soit le canal.
Webhooks signés
Recevoir les événements en temps réel, vérifiables (HMAC SHA-256).
Fiabilité & sécurité
Rejeu automatique (outbox + backoff) ; credentials chiffrés (AES-256-GCM), 2FA.
Envoyer un message
POST /messages
Authorization: Bearer dk_votreCléAPI
Content-Type: application/json
{ "channel": "whatsapp", "to": "<destinataire>", "text": "Bonjour !" }
La réponse renvoie l'identifiant du message et la connexion utilisée. En cas d'ambiguïté (plusieurs connexions du même canal), précisez connection_id.
Webhooks & signature
Chaque événement (message.received, status_changed, session.*) est envoyé en POST à votre URL, avec l'en-tête X-Webhook-Signature: sha256=…. Vérifiez-la sur le corps brut :
const crypto = require('node:crypto');
const expected = 'sha256=' +
crypto.createHmac('sha256', SECRET)
.update(rawBody).digest('hex');
// comparer expected à l'en-tête reçu (timingSafeEqual)
Répondez 2xx rapidement. En cas d'échec, Rsconnect rejoue l'événement avec un backoff (outbox persistante).
FAQ
Puis-je brancher un service qui n'est pas de la suite ?
Oui — n'importe quelle application avec une clé API et une URL de webhook, dans la suite ou externe.
Les credentials sont-ils protégés ?
Oui — chiffrés au repos (AES-256-GCM) ; le back-office est protégé par mot de passe + OTP (2FA).
Que se passe-t-il si mon endpoint est indisponible ?
L'événement est ré-essayé automatiquement (outbox + backoff) jusqu'à un nombre maximal de tentatives.
Qui classe les documents reçus ?
Rsconnect reçoit et distribue ; le classement et le traitement se font dans vos applications.