Quatre surfaces
API, webhook, SDK widget et workflow sont distincts
Partez d'une transaction : créer un contact CRM, mettre à jour un ticket ou archiver un message. Nommez émetteur, destinataire, déclencheur, champs, latence, erreur et registre maître.
Exigez URL, version, authentification, scopes, endpoints, catalogue d'événements, exemples, pagination, limites, changelog, préavis et support pour ce cas.
| Surface | Finalité | Pas automatiquement inclus |
|---|---|---|
| API produit | lire/écrire des objets et lancer des actions | événements temps réel ou interface |
| Webhook | notifier un endpoint d'événements choisis | requêtes libres, historique complet ou exactly-once |
| SDK widget | piloter navigateur, identité, affichage ou tracking | API serveur agent, export ou conformité |
| Power Platform | orchestrer Teams, connecteurs et systèmes | API produit générale ou connecteur prêt pour chaque CRM |
Matrice de preuves
Ce que les sources officielles établissent
| Produit | Documenté | Limite avant achat |
|---|---|---|
| WebChat | mot-clé, connecteur Teams, Power Automate et systèmes optionnels | pas d'API générale, webhook produit ou SDK établi publiquement |
| Chatwoot | API Application, Client, Platform ; webhooks compte signés HMAC | tester token, classe API, Cloud/self-hosted et livraison |
| Tidio | OpenAPI, Widget SDK, webhooks signés avec topic, version et ID | webhooks Plus/Premium owner/admin ; changements OpenAPI sans webhook |
| LiveChat | API Agent/Customer, Web/RTM, webhooks enregistrés et scopes | valider app, OAuth/PAT, rôles, filtres, offre et version |
Exploitation
At-least-once impose idempotence et réconciliation
Tidio documente doublons, ordre non garanti, ID unique et absence de webhook pour les modifications OpenAPI. LiveChat décrit un ack court et des retries limités. Chatwoot documente signature, temps et delivery ; le pilote doit vérifier retry et ordre de la version cible.
Des HTTP verts ne suffisent pas. Mesurez reçus, vérifiés, dédupliqués, traités, échoués et réconciliés avec un ID métier.
- Accusez réception rapidement en 2xx puis traitez en file asynchrone.
- Vérifiez signature sur body brut, timestamp et fenêtre ; faites tourner les secrets.
- Dédupliquez par delivery/webhook/event ID et rendez chaque effet retry-safe.
- Ordonnez par temps métier et ID stable, jamais seulement par arrivée.
- Mettez en quarantaine/dead letter, alertez et permettez un replay contrôlé.
- Réconciliez par API car un événement peut tarder, doubler, être filtré ou absent.
- Versionnez schéma et consumer ; acceptez champs nouveaux, bloquez les requis absents.
Sécurité et vie privée
Minimiser jetons, payloads et droits d'écriture
Une signature valide prouve origine et intégrité sous le secret, pas l'autorisation métier d'agir.
Avec Teams/Power Platform, incluez owner du flow, connexions, DLP, environnements, licences et retour visiteur.
- Séparez test/prod, secrets webhook, tokens API et identités interactives.
- Accordez seulement les scopes nécessaires ; accès global exige justification.
- Cartographiez nom, email, téléphone, texte, pièces, navigateur et notes internes.
- Chiffrez file, logs, replay et secrets ; masquez les données en télémétrie.
- Protégez l'écriture par état, allowlist, approbation et audit.
- Fixez conservation, accès et effacement pour événements, erreurs, exports et sauvegardes.
Recette
Huit tests avant de choisir
- 01
Figer contrat
Cas, registre, version, endpoints, events, champs et latence.
- 02
Refuser accès
Token expiré, faux, insuffisant et compte tiers échouent.
- 03
Vérifier signature
Body modifié, temps ancien, secret faux et replay n'agissent pas.
- 04
Dupliquer
Même event répété et parallèle n'agit qu'une fois.
- 05
Casser ordre
Update avant create, close tardif et messages simultanés.
- 06
Forcer panne
Timeout, 500, file, cible et limite avec retry, alerte, reprise.
- 07
Réconcilier trou
Perdre webhook ou créer via API puis retrouver l'objet.
- 08
Prouver sortie
Tourner secret, révoquer app, supprimer webhook, exporter delta et effacer copies.