AiflowhubRsconnect › Documentation
Documentation

Brancher une application.

Obtenir une clé, configurer une connexion, envoyer un message et recevoir les événements.

Démarrer

1

Créer une application

Dans le back-office → Applications. La clé API est affichée une seule fois (conservez-la).

2

Créer une connexion

Choisissez le canal (WhatsApp, e-mail, Telegram) et fournissez les credentials — ou scannez le QR pour WhatsApp.

3

Envoyer un message test

Appelez POST /messages avec votre clé API.

4

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.