Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://help.withallo.com/llms.txt

Use this file to discover all available pages before exploring further.

Les evenements suivent la convention de nommage entite.action. Allo livre les evenements au moins une fois — votre endpoint peut recevoir le meme evenement plusieurs fois. Utilisez l’en-tete webhook-id pour dedupliquer. Voir Bonnes pratiques pour plus de details.

Resume des evenements

EvenementDescription
call.receivedUn appel entrant commence a sonner
call.triggeredUn appel sortant est initie
call.completedUn appel est termine avec toutes les donnees
tag.addedUn tag est ajoute a un appel
tag.removedUn tag est supprime d’un appel
sms.receivedUn SMS entrant est recu
sms.sentUn SMS sortant est envoye
contact.createdUn contact est cree
contact.updatedUn contact est mis a jour

call.received

Declenche lorsqu’un appel entrant commence a sonner, avant que l’appel ne soit decroche. Lorsqu’un contact correspondant est trouve, l’evenement inclut les objets person, company et deals avec le contexte du contact.
{
  "topic": "call.received",
  "version": "2.0",
  "timestamp": "2025-03-15T14:30:00.000Z",
  "data": {
    "from_number": "+33612345678",
    "to_number": "+33112345678",
    "started_at": "2025-03-15T14:30:00.000Z",
    "user_email": "[email protected]",
    "person": {
      "id": "con_5MiGNHp2vI1AN6sTu4Cw",
      "name": "Marie",
      "last_name": "Dupont",
      "email": "[email protected]",
      "emails": ["[email protected]"],
      "numbers": ["+33612345678"],
      "job_title": "Head of Sales",
      "linkedin_url": "https://linkedin.com/in/mariedupont",
      "lead_source": "Inbound"
    },
    "company": {
      "id": "com-a1b2c3d4e5f6",
      "name": "Acme Corp"
    },
    "deals": [
      {
        "id": "dea-x1y2z3w4v5u6",
        "name": "Enterprise Plan",
        "status": "qualified",
        "value": 25000.00,
        "currency": "EUR",
        "close_date": "2025-06-15T00:00:00"
      }
    ]
  }
}
ChampTypeDescription
from_numberstringNumero de telephone de l’appelant
to_numberstringVotre numero de telephone Allo
started_atstringHorodatage ISO 8601 du debut de la sonnerie
user_emailstringEmail de l’utilisateur Allo assigne au numero
personobject ou nullContact correspondant. Absent si aucun contact ne correspond au numero de l’appelant.
companyobject ou nullEntreprise liee au contact. null si aucune.
dealsarray ou nullDeals lies au contact. null si aucun.

Objet Person

ChampTypeDescription
idstringIdentifiant unique du contact
namestring ou nullPrenom
last_namestring ou nullNom de famille
emailstring ou nullAdresse email principale
emailsarray of stringsToutes les adresses email
numbersarray of stringsTous les numeros de telephone
job_titlestring ou nullIntitule du poste
<property>anyChaque propriete de contact que vous avez definie apparait comme une cle de premier niveau (par ex., linkedin_url, lead_source). Seules les valeurs non nulles sont incluses.

Objet Company

ChampTypeDescription
idstringIdentifiant unique de l’entreprise
namestring ou nullNom de l’entreprise

Objet Deal

ChampTypeDescription
idstringIdentifiant unique du deal
namestring ou nullNom du deal
statusstring ou nullEtape ou statut du deal
valuenumber ou nullValeur monetaire du deal
currencystring ou nullCode de la devise (par ex., EUR, USD)
close_datestring ou nullDate de cloture prevue (ISO 8601)

call.triggered

Declenche lorsqu’un appel sortant est initie. Lorsqu’un contact correspondant est trouve, l’evenement inclut les objets person, company et deals avec le contexte du contact.
{
  "topic": "call.triggered",
  "version": "2.0",
  "timestamp": "2025-03-15T14:35:00.000Z",
  "data": {
    "from_number": "+33112345678",
    "to_number": "+33612345678",
    "started_at": "2025-03-15T14:35:00.000Z",
    "user_email": "[email protected]",
    "person": {
      "id": "con_5MiGNHp2vI1AN6sTu4Cw",
      "name": "Marie",
      "last_name": "Dupont",
      "email": "[email protected]",
      "emails": ["[email protected]"],
      "numbers": ["+33612345678"],
      "job_title": "Head of Sales"
    },
    "company": {
      "id": "com-a1b2c3d4e5f6",
      "name": "Acme Corp"
    },
    "deals": null
  }
}
ChampTypeDescription
from_numberstringVotre numero de telephone Allo
to_numberstringNumero de telephone du destinataire
started_atstringHorodatage ISO 8601 du lancement de l’appel
user_emailstringEmail de l’utilisateur Allo qui a passe l’appel
personobject ou nullContact correspondant. Absent si aucun contact ne correspond au numero du destinataire.
companyobject ou nullEntreprise liee au contact. null si aucune.
dealsarray ou nullDeals lies au contact. null si aucun.
Les objets person, company et deals utilisent le meme schema que call.received.

call.completed

Declenche apres la fin d’un appel. Inclut toutes les donnees de l’appel : enregistrement, transcription, resume, tags et details de transfert. Cet evenement est generalement envoye environ 30 secondes apres la fin de l’appel.
{
  "topic": "call.completed",
  "version": "2.0",
  "timestamp": "2025-03-15T14:45:00.000Z",
  "data": {
    "id": "cll_2NfDKEm9sF8xK3pQr1Zt",
    "start_date": "2025-03-15T14:30:00.000Z",
    "recording_url": "https://storage.withallo.com/recordings/abc123.mp3",
    "from_number": "+33612345678",
    "from_name": "Marie Dupont",
    "to": "+33112345678",
    "to_name": "Support Acme",
    "length_in_minutes": 5.5,
    "length": "5m 30s",
    "tag": "support",
    "tags": ["support", "urgent"],
    "summary": "The customer called about a billing issue with their last invoice. The agent confirmed the charge was correct and explained the new pricing plan.",
    "transcriptions": [
      {
        "source": "EXTERNAL",
        "time": "2025-03-15T14:30:05.000Z",
        "text": "Hi, I have a question about my last invoice."
      },
      {
        "source": "USER",
        "time": "2025-03-15T14:30:12.000Z",
        "text": "Of course, let me pull up your account."
      }
    ],
    "concatenated_transcript": "Hi, I have a question about my last invoice.\nOf course, let me pull up your account.",
    "data_collected": {
      "account_number": "12345"
    },
    "type": "INBOUND",
    "result": "ANSWERED",
    "integration_id": null,
    "transfer_from": {
      "number": null,
      "user_email": null,
      "user_name": null
    },
    "transfer_to": {
      "number": null,
      "user_email": null,
      "user_name": null
    },
    "user_email": "[email protected]",
    "original_to_number": null,
    "original_to_name": null,
    "transfer_original_call_id": null,
    "ivr_result": [
      {
        "dtmf_key": "2",
        "text_key": "Support"
      }
    ]
  }
}

Champs

ChampTypeDescription
idstringIdentifiant unique de l’appel
start_datestringHorodatage ISO 8601 du debut de l’appel
recording_urlstring ou nullURL de l’enregistrement de l’appel (MP3). Null si l’enregistrement est desactive.
from_numberstringNumero de telephone de l’appelant
from_namestringNom de l’appelant (depuis les contacts) ou nom de votre entreprise
tostringNumero de telephone du destinataire
to_namestringNom du destinataire (depuis les contacts) ou nom de votre entreprise
length_in_minutesnumberDuree de l’appel en minutes (decimal)
lengthstringDuree lisible (par ex., "5m 30s")
tagstring ou nullTag principal assigne a l’appel
tagsarray of stringsTous les tags assignes a l’appel
summarystringResume de l’appel genere par l’IA
transcriptionsarrayEntrees de la transcription de l’appel (voir ci-dessous)
concatenated_transcriptstringTranscription complete en une seule chaine de caracteres
data_collectedobjectDonnees personnalisees collectees pendant l’appel (par ex., depuis le SVI)
typestringINBOUND ou OUTBOUND
resultstringResultat de l’appel (voir les valeurs ci-dessous)
integration_idstring ou nullIdentifiant d’integration CRM externe pour le contact
transfer_fromobjectDetails de l’origine du transfert (voir ci-dessous)
transfer_toobjectDetails de la destination du transfert (voir ci-dessous)
user_emailstringEmail de l’utilisateur Allo qui a gere l’appel
original_to_numberstring ou nullNumero compose a l’origine (si l’appel a ete route)
original_to_namestring ou nullNom du destinataire d’origine
transfer_original_call_idstring ou nullIdentifiant de l’appel d’origine s’il s’agit d’un transfert
ivr_resultarraySelections du menu SVI effectuees pendant l’appel (voir ci-dessous)

Valeurs du resultat d’appel

ValeurDescription
ANSWEREDL’appel a ete decroche
VOICEMAILL’appelant a laisse un message vocal
TRANSFERRED_AIL’appel a ete traite par l’agent IA
TRANSFERRED_EXTERNALL’appel a ete transfere vers un numero externe
BLOCKEDL’appel a ete bloque
FAILEDL’appel n’a pas pu etre connecte

Entree de transcription

ChampTypeDescription
sourcestringUSER (votre cote) ou EXTERNAL (appelant/destinataire)
timestringHorodatage ISO 8601 du segment de transcription
textstringTexte transcrit

Objet Transfer

ChampTypeDescription
numberstring ou nullNumero de telephone implique dans le transfert
user_emailstring ou nullEmail de l’utilisateur Allo
user_namestring ou nullNom de l’utilisateur Allo

Entree IVR result

ChampTypeDescription
dtmf_keystring ou nullTouche DTMF pressee par l’appelant
text_keystring ou nullLibelle du menu selectionne

tag.added

Declenche lorsqu’un tag est ajoute a un appel.
{
  "topic": "tag.added",
  "version": "2.0",
  "timestamp": "2025-03-15T15:00:00.000Z",
  "data": {
    "call_id": "cll_2NfDKEm9sF8xK3pQr1Zt",
    "tag_key": "urgent",
    "tag_name": "Urgent",
    "user_email": "[email protected]"
  }
}
ChampTypeDescription
call_idstringIdentifiant de l’appel auquel le tag a ete ajoute
tag_keystringIdentifiant du tag
tag_namestringNom lisible du tag
user_emailstring ou nullEmail de l’utilisateur qui a ajoute le tag

tag.removed

Declenche lorsqu’un tag est supprime d’un appel.
{
  "topic": "tag.removed",
  "version": "2.0",
  "timestamp": "2025-03-15T15:05:00.000Z",
  "data": {
    "call_id": "cll_2NfDKEm9sF8xK3pQr1Zt",
    "tag_key": "urgent",
    "tag_name": "Urgent",
    "user_email": "[email protected]"
  }
}
ChampTypeDescription
call_idstringIdentifiant de l’appel dont le tag a ete supprime
tag_keystringIdentifiant du tag
tag_namestringNom lisible du tag
user_emailstring ou nullEmail de l’utilisateur qui a supprime le tag

sms.received

Declenche lorsqu’un SMS entrant est recu.
{
  "topic": "sms.received",
  "version": "2.0",
  "timestamp": "2025-03-15T16:00:00.000Z",
  "data": {
    "id": "msg_3KgELFn0tG9yL4qRs2Au",
    "direction": "INBOUND",
    "type": "SMS",
    "content": "Hi, I'd like to schedule an appointment.",
    "sent_at": "2025-03-15T16:00:00.000Z",
    "from_number": "+33612345678",
    "to_number": "+33112345678",
    "from_name": "Marie Dupont",
    "to_name": "Support Acme",
    "user_email": "[email protected]"
  }
}
ChampTypeDescription
idstringIdentifiant unique du message
directionstringINBOUND
typestringSMS ou MMS
contentstringTexte du message
sent_atstringHorodatage ISO 8601
from_numberstringNumero de telephone de l’expediteur
to_numberstringVotre numero de telephone Allo
from_namestringNom de l’expediteur (depuis les contacts)
to_namestringNom de votre entreprise
user_emailstringEmail de l’utilisateur Allo assigne au numero

sms.sent

Declenche lorsqu’un SMS sortant est envoye.
{
  "topic": "sms.sent",
  "version": "2.0",
  "timestamp": "2025-03-15T16:10:00.000Z",
  "data": {
    "id": "msg_4LhFMGo1uH0zM5rSt3Bv",
    "direction": "OUTBOUND",
    "type": "SMS",
    "content": "Your appointment is confirmed for tomorrow at 2pm.",
    "sent_at": "2025-03-15T16:10:00.000Z",
    "from_number": "+33112345678",
    "to_number": "+33612345678",
    "from_name": "Support Acme",
    "to_name": "Marie Dupont",
    "user_email": "[email protected]"
  }
}
ChampTypeDescription
idstringIdentifiant unique du message
directionstringOUTBOUND
typestringSMS ou MMS
contentstringTexte du message
sent_atstringHorodatage ISO 8601
from_numberstringVotre numero de telephone Allo
to_numberstringNumero de telephone du destinataire
from_namestringNom de votre entreprise
to_namestringNom du destinataire (depuis les contacts)
user_emailstringEmail de l’utilisateur Allo qui a envoye le message

contact.created

Declenche lorsqu’un nouveau contact est cree.
{
  "topic": "contact.created",
  "version": "2.0",
  "timestamp": "2025-03-15T17:00:00.000Z",
  "data": {
    "id": "con_5MiGNHp2vI1AN6sTu4Cw",
    "name": "Marie",
    "last_name": "Dupont",
    "company": "Acme Corp",
    "emails": ["[email protected]"],
    "numbers": ["+33612345678"]
  }
}
ChampTypeDescription
idstringIdentifiant unique du contact
namestringPrenom
last_namestringNom de famille
companystring ou nullNom de l’entreprise
emailsarray of strings ou nullAdresses email
numbersarray of stringsNumeros de telephone

contact.updated

Declenche lorsqu’un contact existant est modifie.
{
  "topic": "contact.updated",
  "version": "2.0",
  "timestamp": "2025-03-15T17:05:00.000Z",
  "data": {
    "id": "con_5MiGNHp2vI1AN6sTu4Cw",
    "name": "Marie",
    "last_name": "Dupont",
    "company": "Acme Corp",
    "emails": ["[email protected]", "[email protected]"],
    "numbers": ["+33612345678", "+33698765432"]
  }
}
La structure du payload est identique a contact.created. L’objet data contient l’etat complet du contact apres la mise a jour.