Branchez Allo sur tout le reste

Appels, SMS, fiches CRM, analytics, et même la réceptionniste IA. Une API REST qui vous donne la matière brute, pour que le standard s'adapte à votre stack et pas l'inverse.

  • REST et JSON
  • Authentification par clé
  • Webhooks signés
  • Inclus dans chaque offre
terminal
# Toutes les clés répondent à ça. Commencez ici.
curl -X GET "https://api.withallo.com/v2/api/me" \
  -H "Authorization: Api-Key YOUR-API-KEY"

# 200 · vos scopes, vos endpoints, vos limites de débit
{
  "scopes": ["CONVERSATIONS_READ", "SMS_SEND", "CRM_WRITE"],
  "rate_limits": { "read_per_second": 20, "write_per_second": 5 }
}
terminal
# Tous les appels et SMS où il a été question de remboursement
curl -X POST "https://api.withallo.com/v2/api/conversations/items/search" \
  -H "Authorization: Api-Key YOUR-API-KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "search": "refund",
    "type": "ALL",
    "sort": "RELEVANCE",
    "size": 25
  }'

# Transcriptions, résumés IA et contenu des SMS, cherchés d'un coup
terminal
# Envoyer un SMS depuis un de vos numéros Allo
curl -X POST "https://api.withallo.com/v1/api/sms" \
  -H "Authorization: Api-Key YOUR-API-KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "+13055550180",
    "to": "+13055550142",
    "message": "Your order just shipped"
  }'

# Il arrive dans le même fil que les appels avec ce contact
terminal
# Dites-nous où envoyer les événements, en direct
curl -X POST "https://api.withallo.com/v2/api/webhooks" \
  -H "Authorization: Api-Key YOUR-API-KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/allo/events",
    "topics": ["call.completed", "sms.received", "contact.created"]
  }'

# Signés, réessayés, livrés à la seconde où ça se produit

Pensée pour que la première requête passe

L'API est REST, l'authentification tient dans un en-tête, et les réponses sont du JSON prévisible. Rien d'astucieux, rien à retenir par cœur.

  • Un en-tête, une cléGénérez une clé dans les réglages de votre espace de travail et envoyez-la dans Authorization: Api-Key. C'est toute la poignée de main.

  • Des permissions cadréesUne clé ne porte que les scopes que vous lui donnez, et GET /v2/api/me répond avec ses scopes et les endpoints qu'elle atteint vraiment.

  • Une pagination qui dit quand s'arrêterpage et size, jusqu'à 100 par requête, avec total_count et has_more dans chaque réponse paginée.

  • Des limites de débit lisibles20 lectures et 5 écritures par seconde et par clé, avec X-RateLimit-Remaining et X-RateLimit-Reset au retour.

Lire le guide d'authentification
Un bureau avec un ordinateur portable, un carnet et une tasse de café
terminal
# Deux lignes, et c'est réglé.
export ALLO_KEY="YOUR-API-KEY"

curl -s \
  "https://api.withallo.com/v2/api/numbers" \
  -H "Authorization: Api-Key $ALLO_KEY"

# 200 · tous les numéros Allo du compte

Chaque surface, et la route qui l'ouvre

Quatorze ressources sur une seule URL de base. Une API compacte, sans endpoints hérités qui traînent ni dépréciations surprises.

Conversations

L'historique unifié des appels et des SMS, avec recherche par mot-clé dans les transcriptions et les messages.

  • GET/v2/api/conversations
  • POST/v2/api/conversations/items/search
  • POST/v2/api/conversations/items/batch

SMS

Envoyez SMS et MMS depuis vos numéros Allo ou depuis un sender ID déclaré.

  • POST/v1/api/sms

CRM

Créez, lisez, mettez à jour et cherchez contacts, sociétés et deals.

  • /v2/api/crm/people
  • /v2/api/crm/companies
  • /v2/api/crm/deals

Notes

Notes internes sur une conversation ou une fiche contact, avec @mentions.

  • /v2/api/conversations/{contact_number}/notes
  • /v2/api/crm/people/{person_id}/notes

Fils de discussion

Fils de discussion d'équipe rattachés à un appel, un SMS ou une note de conversation.

  • /v2/api/threads

Webhooks

Notifications d'événements avec signature HMAC et réessais automatiques.

  • GET/v2/api/webhooks
  • POST/v2/api/webhooks
  • GET/v2/api/webhooks/event_types

Numéros

Vos numéros Allo avec leurs capacités et les accès de l'équipe, plus le parcours d'appel entrant.

  • GET/v2/api/numbers
  • GET/v2/api/numbers/{number}/call_flow
  • PUT/v2/api/numbers/{number}/call_flow/draft

Utilisateurs

L'équipe avec les rôles et les numéros attribués, et ce que votre clé d'API peut faire.

  • GET/v2/api/users
  • GET/v2/api/me

Tags

Créez et listez les tags d'appel, puis posez-les et retirez-les sur les appels et les SMS.

  • GET/v2/api/tags
  • POST/v2/api/conversations/items/{id}/tags
  • DELETE/v2/api/conversations/items/{id}/tags/{tag}

Modèles de résumé

Les modèles qui décident de la structure d'un résumé d'appel écrit par l'IA.

  • GET/v2/api/summary_templates
  • POST/v2/api/summary_templates
  • PUT/v2/api/summary_templates/{id}

Analytics

Les KPI de l'équipe avec comparaison période sur période et détail par utilisateur.

  • POST/v2/api/analytics/overview
  • POST/v2/api/analytics/outbound

Files d'appel

Lisez et remplissez la file du Power Dialer.

  • GET/v2/api/dialing-queues/current
  • POST/v2/api/dialing-queues/current/numbers
  • GET/v2/api/dialing-queues/sessions/{id}

Réceptionniste IA

Configurez la réceptionniste : son prompt, sa voix, sa base de connaissances et son activation.

  • GET/v2/api/numbers/{number}/agent
  • PATCH/v2/api/numbers/{number}/agent
  • PUT/v2/api/numbers/{number}/agent/prompt

Partenaire

Provisionnez et gérez des comptes Allo en tant que revendeur en marque blanche.

  • /v2/api/partner/accounts

Chaque endpoint, champ par champ, dans la référence complète de l'API

Votre standard téléphonique, à la demande

Allo gère les appels, les SMS et les résumés IA. L'API vous donne les données et les déclencheurs, à brancher sur ce que votre équipe utilise déjà.

Poussez chaque appel dans votre CRM

Récupérez les appels avec leurs enregistrements, transcriptions, résumés IA et tags, puis déposez-les là où vos commerciaux travaillent vraiment, de Salesforce à l'outil interne bâti le trimestre dernier.

Gardez contacts, sociétés et deals synchronisés

Lisez et écrivez le CRM dans les deux sens. Un nouveau lead chez vous arrive dans Allo, et une modification faite dans Allo revient dans votre base par webhook.

Envoyez des SMS depuis votre code

Rappels de rendez-vous, notifications de livraison, confirmations de créneau. Un POST et le message part de votre numéro Allo, enregistré dans le même fil que le reste de la conversation.

Réagissez à la seconde où ça se produit

Les webhooks partent quand un appel se termine, qu'un SMS arrive ou qu'un contact change. Pas de polling, pas de cron, et la charge utile contient déjà le résumé et la transcription.

Suivez l'équipe sans passer par un export

Les KPI de l'équipe, l'entonnoir sortant et le détail par utilisateur reviennent en JSON, pour que votre tableau de bord affiche les chiffres que vos commerciaux voient déjà dans Allo.

Configurez la réceptionniste IA depuis vos outils

Lisez et modifiez le prompt, la voix, les horaires et la base de connaissances de la réceptionniste, et activez-la sur un numéro, sans que personne n'ouvre l'application Allo.

Les événements, à la seconde près

Oubliez le polling. Donnez une URL à Allo, choisissez vos topics, et la charge utile arrive avec le résumé IA et la transcription déjà dedans, dès que l'appel se termine ou que le SMS atterrit.

  • Onze topicsAppels, SMS, tags, contacts et résumés, à combiner comme vous voulez.

  • Des livraisons signéesChaque charge utile porte une signature HMAC : votre handler peut vérifier qu'elle vient bien d'Allo avant d'agir.

  • Des réessais automatiquesUne livraison qui échoue est retentée : une fenêtre de déploiement vous coûte quelques secondes, pas une journée d'événements.

Lire le guide des webhooks
Topics
  • call.receivedUn appel entrant arrive sur un de vos numéros
  • call.triggeredUn appel démarre, entrant ou sortant
  • call.answeredQuelqu'un décroche, un collègue ou la réceptionniste IA
  • call.completedL'appel se termine, résumé et transcription compris
  • sms.receivedUn SMS entrant arrive
  • sms.sentUn SMS part, depuis n'importe où dans Allo
  • summary.updatedUn résumé IA est écrit ou modifié
  • tag.addedUn tag est posé sur un appel ou un SMS
  • tag.removedUn tag est retiré
  • contact.createdUn nouveau contact apparaît dans votre espace
  • contact.updatedUn nom, un numéro ou une société change

Les questions qui reviennent

L'accès à l'API est inclus dans toutes les offres Allo. Pas de palier développeur, pas de facturation à la requête. La seule chose facturée en plus, ce sont les SMS sortants envoyés via l'API, comptés au segment comme le reste de votre usage.

Oui. Verbes HTTP, corps en JSON, codes de statut prévisibles, et une seule URL de base sur api.withallo.com. L'essentiel vit sous /v2/api ; l'envoi de SMS reste POST /v1/api/sms.

Par clé d'API. Vous la générez dans les réglages de votre espace de travail et vous l'envoyez dans l'en-tête Authorization sous la forme Api-Key, pas Bearer. Chaque clé porte les scopes que vous lui accordez : un 403 avec APIKEYINSUFFICIENT_SCOPE veut dire que la clé est valide mais pas autorisée. Appelez GET /v2/api/me pour voir ce que la vôtre atteint.

Oui, via POST /v1/api/sms, depuis n'importe lequel de vos numéros Allo ou depuis un sender ID déclaré. Le message arrive dans le même fil que les appels et les SMS qui l'ont précédé.

Onze topics aujourd'hui : call.received, call.triggered, call.answered, call.completed, sms.received, sms.sent, summary.updated, tag.added, tag.removed, contact.created et contact.updated. Abonnez-vous à la combinaison de votre choix. Votre endpoint doit être en HTTPS, et chaque livraison est signée et réessayée.

Oui, par clé d'API : 20 requêtes de lecture par seconde et 5 requêtes d'écriture par seconde. Chaque réponse porte X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset, pour que votre backoff sache quand réessayer. Préférez les webhooks au polling dès que possible.

Oui. GET et PATCH /v2/api/numbers/{number}/agent lisent et mettent à jour toute la configuration, de la voix aux horaires en passant par les règles de transfert, PUT sur /prompt remplace ce avec quoi elle répond, et les endpoints de connaissance ajoutent ou retirent les sites qu'elle a lus.

Chaque endpoint, chaque champ et chaque exemple vit sur help.withallo.com/en/v2/api-reference. Le cURL se copie directement depuis la page.