Passer au contenu

API et webhooks

API prête pour la production. Il ne s'agit pas d'une diapositive de feuille de route.

Plus de 25 points de terminaison REST, webhooks en temps réel, authentification JWT et documentation interactive. Toutes les fonctionnalités de l'interface utilisateur sont accessibles via l'API.

Essai gratuit de 14 jours · Aucune carte de crédit requise

Conçu par BroadNet — 22 ans d'expérience dans les télécommunications 11 langues, prise en compte des dialectes BYOC — vos opérateurs, sans engagement Soutien à la conformité (TCPA, RGPD, TDRA)

Réponse rapide

Qu'est-ce que l'API DialerBee ? DialerBee fournit une API REST prête pour la production avec plus de 25 points de terminaison couvrant les campagnes, les contacts, les appels, les agents, la conformité, les enregistrements, les rapports et les webhooks. L'authentification utilise des jetons JWT valides pendant 24 heures. L'API prend en charge la pagination par curseur, renvoie des réponses d'erreur conformes à la RFC 7807 et limite à 2 000 requêtes par minute et par client. Les webhooks en temps réel transmettent des événements (call.started, call.answered, call.amd_result, disposition.set, compliance.blocked, etc.) avec vérification de signature HMAC-SHA256 et un délai de nouvelle tentative exponentiel. La documentation interactive de l'API est disponible à l'adresse dialer.broadnet.me/admin/api-docs.html.

Le problème

La plupart des API de numérotation sont une réflexion après coup

Vous avez acheté un composeur automatique pour passer des appels. Il vous faut maintenant l'intégrer à votre CRM, transférer les données vers votre entrepôt de données, déclencher des flux de travail à partir des événements d'appel et créer des tableaux de bord personnalisés. Vous consultez la documentation API du fournisseur et vous tombez sur… un PDF de 2019 avec 6 points de terminaison non documentés, aucun webhook et une interface SOAP.

C’est la réalité pour la plupart des équipes d’appels sortants. Le composeur fonctionne bien pour passer des appels, mais dès que vous avez besoin de… construire par-dessus — Synchroniser les dispositions avec Salesforce, créer automatiquement des tickets dans Zendesk, envoyer des analyses à votre outil de BI ou créer une interface d'agent personnalisée — vous êtes coincé avec des exportations CSV et des processus manuels.

DialerBee a été conçu selon une approche API-first. Chaque fonctionnalité de l'interface utilisateur repose sur la même API REST, accessible depuis vos systèmes. L'API n'est pas un module complémentaire : elle constitue le socle de toute la plateforme.

6
Points de terminaison typiques des fournisseurs
non documenté, pas de webhooks
SAVON
Protocole hérité
de nombreux numéroteurs utilisent encore XML/SOAP
CSV
Intégration à l'exportation uniquement
Transferts de fichiers manuels, pas en temps réel

Comment ça marche

API-first par conception

L'API de DialerBee respecte les conventions REST avec des charges utiles JSON, des méthodes HTTP standard et des réponses d'erreur conformes à la RFC 7807. L'authentification utilise des jetons JWT obtenus via un point de terminaison de connexion, avec une expiration de 24 heures et la possibilité de renouveler les jetons. Chaque réponse de l'API inclut des en-têtes de limitation de débit permettant à votre intégration de gérer automatiquement le débit.

Étape 01

Authentifier

Envoyez une requête POST à /v1/login avec vos identifiants. Vous recevrez un jeton JWT valide pendant 24 heures. Utilisez la fonction d'actualisation du jeton pour les intégrations de longue durée.

Étape 02

Points de terminaison d'appel

Plus de 25 points de terminaison RESTful pour les campagnes, les contacts, les appels, les agents, la conformité, les enregistrements et les rapports. Entrée et sortie JSON.

Étape 03

Réception de webhooks

Enregistrez des URL de webhook pour recevoir des événements en temps réel. Chaque charge utile est signée avec HMAC-SHA256 afin que vous puissiez en vérifier l'authenticité.

Étape 04

Gérer les erreurs

RFC 7807 : Détails des problèmes pour chaque erreur. En-têtes de limitation de débit dans chaque réponse. Statut 429 avec instructions de nouvelle tentative.

Comparaison côte à côte

API DialerBee vs API de numérotation typiques

Capacité API de numérotation typique API DialerBee
Points d'extrémité 5-10, partiellement documenté Plus de 25 documents entièrement documentés avec spécifications OpenAPI
Protocole SOAP/XML ou propriétaire REST avec JSON, erreurs RFC 7807
Authentification Clé API (n'expire jamais) Jeton JWT avec expiration sous 24 h + actualisation du jeton
Événements en temps réel Sondage ou pas Webhooks signés HMAC-SHA256 avec nouvelle tentative
Pagination À base de décalage ou aucun Utilisation du curseur avec next_cursor + has_more
limitation de débit Sans papiers 2 000 requêtes/min avec en-têtes dans chaque réponse
Documentation PDF ou wiki obsolète Documentation Swagger interactive en direct
Multi-locataire Locataire unique uniquement Définition de la portée par locataire sur chaque point de terminaison

Référence du point de terminaison

10 groupes d'API. Plus de 25 points de terminaison.

Groupe API Points d'extrémité
Authentification POST /login, POST /refresh
Campagnes CRUD + démarrage/pause
Contacts Téléverser, lister, rechercher
Appels L'histoire, les comptes en direct, l'origine
Agents État, inscription SIP
Conformité et DNC Vérifications préalables à la numérotation, listes DNC
Enregistrements Liste des URL de lecture signées
Rapports Exporter (CSV, JSON, PDF)
Webhooks S'abonner, gérer, vérifier
Système Santé, version

Démarrage rapide

Authentifiez-vous et commencez à composer le numéro en 3 appels API

Étape 1 Authentifier
POST /v1/login
Content-Type: application/json

{
  "email": "admin@yourcompany.com",
  "password": "••••••••"
}

→ Response: { "token": "eyJhbG...", "expires_in": 86400 }
Étape 2 Créer une campagne
POST /v1/campaigns
Authorization: Bearer eyJhbG...

{
  "name": "Q3 Collections",
  "mode": "progressive",
  "amd_enabled": true,
  "compliance_profile": "uae-tdra"
}
Étape 3 Importez vos contacts et commencez.
POST /v1/campaigns/{id}/contacts
Content-Type: multipart/form-data

→ Upload CSV with phone, name, and custom fields

POST /v1/campaigns/{id}/start
→ Campaign is now dialing

Webhooks

Événements en temps réel livré à vos systèmes

Les webhooks transmettent des événements à vos systèmes en temps réel, sans interrogation périodique. Chaque charge utile de webhook est signée avec HMAC-SHA256 Vous pouvez ainsi vérifier que l'appel provient bien de DialerBee et n'a pas été altéré. Si votre point de terminaison est indisponible, les webhooks effectuent des tentatives de reconnexion avec un délai exponentiel pouvant aller jusqu'à 2 heures et 35 minutes, vous assurant ainsi de ne jamais manquer un événement.

call.started

Un nouvel appel sortant a été initié.

call.answered

Le destinataire a récupéré — la classification AMD était incluse

call.ended

Appel terminé : durée, résultat et URL de l’enregistrement

call.amd_result

Résultat de la classification AMD : humain ou machine, avec score de confiance

agent.state_change

L'agent est devenu disponible, de garde, en phase de finalisation ou hors ligne

disposition.set

L'agent a soumis une décision comportant le résultat et des notes.

compliance.blocked

Un appel a été bloqué par le système de conformité avec les détails de la règle.

campaign.started

La campagne a commencé à composer les numéros

campaign.paused

Campagne interrompue par le superviseur ou le système

recording.ready

L'enregistrement de l'appel est traité et prêt à être lu.

contact.dnc_added

Un contact a été ajouté à la liste de désabonnement du DNC

callback.scheduled

L'agent a programmé un rappel pour un contact.

Sous le capot

Conçu pour les développeurs qui expédient

Protocole HTTPS uniquement (TLS 1.2+)
Format Corps de requête et de réponse JSON
Authentification Jetons JWT Bearer (expiration sous 24 heures) avec actualisation
Versionnage /v1 Chemin d'URL + version_schema dans les webhooks
Pagination Utilisation du curseur avec next_cursor et has_more
limitation de débit 2 000 requêtes/minute par locataire avec en-têtes
Format d'erreur Détails du problème RFC 7807 pour les API HTTP
Signature Webhook vérification de signature HMAC-SHA256
tentatives de réapparition du webhook Réduction exponentielle (maximum 2 h 35 min au total)
URL d'enregistrement URL signées avec une expiration d'une heure via MinIO
listes DNC Émirats arabes unis (TDRA), Arabie saoudite (CITC), Égypte (NTRA), Jordanie (TRC)
SDK JavaScript et Python (bientôt disponibles)

Questions fréquentes concernant l'API

L'API est-elle disponible dans tous les forfaits ?
L'accès à l'API REST est disponible avec tous les forfaits. Les forfaits Starter offrent un accès API limité (lecture seule pour certains points de terminaison). Les forfaits Professional et Enterprise incluent un accès API complet avec opérations d'écriture, webhooks et des limites de requêtes plus élevées.
Où puis-je trouver la documentation de l'API ?
La documentation interactive de l'API est disponible à l'adresse dialer.broadnet.me/admin/api-docs.html. Elle comprend des descriptions des points de terminaison, des exemples de requêtes/réponses, des guides d'authentification et un explorateur d'API en direct permettant de tester les appels directement.
Comment fonctionne l'authentification par webhook ?
Chaque charge utile de webhook inclut une signature HMAC-SHA256 dans l'en-tête X-Signature. Votre point de terminaison doit calculer le HMAC du corps brut de la requête à l'aide de votre secret de webhook et le comparer à la signature. Cela permet de vérifier que la charge utile provient bien de DialerBee et n'a pas été modifiée lors de sa transmission.
Que se passe-t-il si mon point de terminaison webhook est hors service ?
DialerBee relance les webhooks ayant échoué en appliquant un délai exponentiel. Les tentatives se poursuivent pendant une durée maximale de 2 heures et 35 minutes. Une fois toutes les tentatives épuisées, l'événement est enregistré comme non distribué et visible dans votre tableau de bord webhook.
Puis-je utiliser l'API pour créer une interface d'agent personnalisée ?
Oui. L'API expose tous les points de terminaison liés à l'agent : gestion d'état, contrôle des appels, soumission des décisions, recherche de contacts et lecture des enregistrements. Combinée aux événements WebSocket pour les mises à jour en temps réel, elle permet de créer une expérience agent entièrement personnalisée.
L'API est-elle multi-tenant ?
Oui. Chaque appel d'API est limité au locataire authentifié. Les comptes partenaires/revendeurs peuvent gérer plusieurs locataires via l'API Partenaire, notamment le provisionnement, la configuration et la facturation.
Quelle est la limite de débit ?
2 000 requêtes par minute et par client. Chaque réponse contient les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. En cas de dépassement de la limite, vous recevrez un code d'état 429 avec l'en-tête Retry-After.
Existe-t-il des kits de développement logiciel (SDK) disponibles ?
Les kits de développement logiciel (SDK) JavaScript et Python sont en cours de développement. En attendant, l'API utilise les conventions REST standard avec des charges utiles JSON, ce qui la rend compatible avec tout client HTTP, quel que soit le langage utilisé. La documentation interactive inclut des exemples curl pour chaque point de terminaison.

Sachez à quoi vous pouvez vous abonner

Chaque événement est documenté avant de construire

La plateforme publie un événement pour tout ce qui compte lors d'un appel, et chacun est catalogué avec la structure de sa charge utile — vous savez donc ce que contiendra un webhook avant même d'écrire le gestionnaire, au lieu de découvrir le schéma à partir de ce qui arrive en premier.

Le cycle de vie des appels, l'état des campagnes, l'activité des agents, la disposition, la disponibilité des enregistrements, les décisions de conformité et la distribution des messages génèrent chacun leurs propres événements. Abonnez-vous à ceux qui intéressent votre intégration et ignorez les autres : vous n'êtes pas obligé de consommer un flux continu d'informations pour obtenir les trois événements dont vous avez besoin.

Prêt à intégrer ?

Explorez la documentation API en direct ou réservez une démonstration pour obtenir un accès API. Créez votre première intégration en quelques heures, et non en quelques semaines.

Essai gratuit de 14 jours · sans carte de crédit · Voir les tarifs

Voir le site complet en anglais →