Guide de démarrage — Intégration Alvio
Ce guide vous accompagne étape par étape pour intégrer Alvio à votre système. Après une première tentative d'appel infructueuse, Alvio prend le relais sur WhatsApp pour qualifier le lead et planifier un rendez-vous si pertinent.
Vous n'avez pas de CRM custom ?
Ce guide s'adresse aux entreprises disposant de leur propre système ou d'un CRM personnalisé nécessitant une intégration technique.
Si vous n'avez pas besoin d'une intégration poussée, Alvio peut simplement vous fournir un calendrier partagé auquel vos équipes s'abonnent. Chaque rendez-vous confirmé apparaît automatiquement avec toutes les informations (résumé, transcript, coordonnées). Contactez-nous pour cette option.
Vue d'ensemble du flux
┌─────────────────────────────────────────────────────────────────────────┐
│ VOTRE SYSTÈME │
│ │
│ Appel #1 échoué ──────▶ Envoi lead à Alvio (POST webhook) │
│ (no answer / busy) { crm_contact_id, phone_number } │
│ │
└─────────────────────────────────────┬───────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ ALVIO │
│ │
│ Contact WhatsApp ──────▶ Qualification ──────▶ Prise de RDV │
│ │
└─────────────────────────────────────┬───────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ VOTRE SYSTÈME │
│ │
│ Réception statut Alvio ──────▶ Mise à jour CRM │
│ (MEETING_BOOKED / NO_WHATSAPP / CONTACT_STOP_REQUESTED) │
│ │
└─────────────────────────────────────────────────────────────────────────┘Checklist d'intégration
Phase 1 — Préparation (Votre équipe)
| # | Tâche | Responsable | Statut |
|---|---|---|---|
| 1.1 | Identifier le déclencheur dans votre système (ex: appel #1 échoué) | Équipe métier | ☐ |
| 1.2 | Définir les champs à transmettre à Alvio (crm_contact_id, phone_number, nom, etc.) | Équipe métier | ☐ |
| 1.3 | Préparer un endpoint webhook pour recevoir les statuts Alvio | Équipe technique | ☐ |
| 1.4 | Définir les actions CRM pour chaque statut (MEETING_BOOKED, CONTACT_STOP_REQUESTED, etc.) | Équipe métier + tech | ☐ |
Phase 2 — Configuration (Alvio + Vous)
| # | Tâche | Responsable | Statut |
|---|---|---|---|
| 2.1 | Récupérer l'URL et le jeton de la source dans la campagne | Alvio | ☐ |
| 2.2 | Configurer la destination de réception et les souscriptions dans Webhooks | Votre équipe tech | ☐ |
| 2.3 | Configuration du numéro WhatsApp Business | Votre équipe marketing | ☐ |
| 2.4 | Création et validation des templates WhatsApp | Votre équipe marketing | ☐ |
| 2.5 | Connexion du numéro WhatsApp à Alvio | Alvio + Vous | ☐ |
Phase 3 — Développement (Votre équipe)
| # | Tâche | Description | Statut |
|---|---|---|---|
| 3.1 | Envoi des leads | Implémenter l'appel POST vers le webhook Alvio | ☐ |
| 3.2 | Réception des statuts | Implémenter l'endpoint de callback | ☐ |
| 3.3 | Traitement MEETING_BOOKED | Créer le RDV dans le CRM + notifier le commercial | ☐ |
| 3.4 | Traitement NO_WHATSAPP | Marquer le contact comme injoignable sur WhatsApp | ☐ |
| 3.5 | Traitement CONTACT_STOP_REQUESTED | Appliquer l'arrêt des appels ou de tout contact selon data.scope | ☐ |
| 3.6 | Traitement SEND_FAILED | Analyser l'erreur et mettre à jour le suivi CRM | ☐ |
Ce que vous devez préparer
1. Envoi des leads vers Alvio
Votre système doit envoyer un POST HTTP lorsqu'un appel échoue :
{
"crm_contact_id": "CRM_123456",
"phone_number": "+33612345678"
}Champs optionnels recommandés : nom, email, contexte métier, commercial assigné. Voir le guide d'intégration webhook pour le payload complet.
2. Endpoint de callback (réception des statuts)
Vous devez exposer une URL HTTPS pour recevoir les événements Alvio :
POST https://votre-domaine.com/api/alvio/callbackLes notifications de campagne utilisent event_type: "update" et un event_name. Configurez une souscription pour chaque événement utile à votre CRM.
| Événement | Signification | Action suggérée |
|---|---|---|
NO_WHATSAPP | Contact injoignable sur WhatsApp | Prévoir un autre canal autorisé |
CONTACT_STOP_REQUESTED | Demande d'arrêt confirmée | Appliquer all_contact ou phone_calls selon data.scope |
MEETING_BOOKED | Rendez-vous confirmé | Synchroniser le rendez-vous, notifier le commercial |
LEAD_RECEIVED | Lead accepté par la source de campagne | Suivre son entrée dans Alvio |
ESCALATION | Suivi humain nécessaire | Créer une tâche ; lire data.urgent pour la priorité de rappel |
SEND_FAILED | Tentative d'envoi échouée | Analyser la cause et mettre à jour le suivi |
MESSAGE_SENT | Message de campagne envoyé | Suivre la progression, sans déduire une livraison ou une lecture |
REPLY_DETECTED | Réponse déclenchant l'arrêt des relances | Suivre la réponse du prospect |
Le guide des souscriptions décrit tous les événements, leur format, les tests et les réessais. Acceptez les valeurs null, vérifiez l'authentification et dédupliquez les notifications avec event_id.
Intégrations existantes : les anciens exemples de ce guide utilisaient status, crm_id, NOT_REACHABLE, OPT_OUT, NO_OUTCOME, FIRST_MESSAGE_DELIVERED, FIRST_MESSAGE_READ ou RESPONSE_RECEIVED. Ils ne décrivent pas le contrat standard actuel des souscriptions. Ces noms ne sont pas des alias automatiques ; conservez tout contrat spécifique déjà en service et validez sa migration avec Alvio.
Ce qu'Alvio fournit
| Élément | Description |
|---|---|
| URL webhook | Source dédiée à la campagne pour envoyer vos leads |
| Clé API | Authentification pour sécuriser les échanges |
| Support technique | Accompagnement pendant l'intégration |
| Connexion WhatsApp | Configuration de la liaison avec votre numéro |
Ce que votre équipe marketing doit préparer
| Élément | Description |
|---|---|
| Numéro WhatsApp Business | Numéro dédié à connecter à Alvio |
| Compte Meta Business | Accès au Meta Business Manager |
| Templates WhatsApp | Messages pré-approuvés par Meta (Alvio peut conseiller) |
Voir le Guide WhatsApp Business API pour les détails de configuration.
Traiter un retour de campagne
Pour un rendez-vous, lisez event_name: "MEETING_BOOKED", l'identifiant CRM dans external_references.contact_id, puis les horaires dans data.start, data.end et data.timezone. Le JSON complet contient aussi les informations du prospect et de la campagne.
Consultez les exemples complets de rendez-vous, d'escalade et de STOP. Le contrat standard n'inclut pas automatiquement conversation_transcript ou un champ racine ai_summary ; alvio.conversation_url permet d'ouvrir la conversation et data.notes peut contenir des notes pour un rendez-vous.
Prochaines étapes
- Configurez une campagne de test et récupérez l'URL et le jeton de sa source.
- Configurez votre destination et vos souscriptions dans Webhooks.
- Testez les deux sens du flux, y compris la signature et la déduplication, avant la mise en production.
Des questions ? Notre équipe technique est disponible pour vous accompagner à chaque étape.