Robotalker API Developer Guide: Automatiser les appels et SMS de votre application

À retenir :

  • L'API Robotalker utilise des conventions REST standard avec des charges utiles JSON – tout langage ou cadre qui peut faire des requêtes HTTP peut s'intégrer avec elle
  • Webhooks est le modèle recommandé pour recevoir le statut de livraison et les événements de message entrant; le sondage de l'API pour le statut est découragé à l'échelle
  • Les numéros de téléphone doivent être au format E.164 (+12125550100) pour tous les appels API – la normalisation au niveau de l'application avant de passer à l'API empêche les erreurs de requête les plus courantes

L'API Robotalker vous permet de déclencher des appels automatisés et des messages SMS directement depuis votre application, votre CRM, votre système de planification ou votre workflow personnalisé. Ce guide couvre les concepts et les modèles des développeurs doivent passer de zéro à l'intégration de la production.

Authentification

Toutes les demandes d'API s'authentifient en utilisant une clé d'API passée dans l'en-tête de la requête. Votre clé API est disponible dans votre tableau de bord de compte Robotalker sous Paramètres → API.

En-tête d'authentification
Authorization: Bearer YOUR_API_KEY

Inclure cet en-tête sur chaque requête API. Demandes sans clé API valide retour HTTP 401 Non autorisé.

Points d'extrémité de l'API de base

Point d'arrivée Méthode Objet
/api/v1/calls POSTE Lancer une campagne d'appel ou de lot unique
/api/v1/calls/{id} Obtenez Récupérer le statut et le résultat d'un appel spécifique
/api/v1/campaigns POSTE Créer et programmer une campagne de diffusion vocale en vrac
/api/v1/campaigns/{id} Obtenez Récupérer l'état de la campagne et les statistiques de livraison agrégées
/api/v1/sms POSTE Envoyer un seul SMS ou lot de SMS en vrac
/api/v1/contacts POST / GET Créer, récupérer et gérer les contacts et le statut d'opt-out

Envoi d'un appel automatisé unique

POST /api/v1/apels — Organisme de demande { "à": "+12125550100", "de": "+18005550199", "Message" : "Bonjour {FIRST NAME}, c'est un rappel de votre rendez-vous sur {APPT DATE} chez {APPT TIME}. Appuyez sur 1 pour confirmer ou 2 pour reprogrammer.", "voix": "en-US-Neural-F", «variables»: { "FIRST NAME": "Sarah", "APPT DATE" : "mardi 15 avril", "APPT TIME": "3:15 PM" }, "dtmf": { "1": {"action": "webhook", "url": "https://yourapp.com/confirm"}, "2": {"action": "webhook", "url": "https://yourapp.com/reschedule"}, "9": {"action": "optout"} }, "webhook url": "https://yourapp.com/call-status" }
Réponse
{
  "call_id": "cal_9x7k2m4p",
  "status": "queued",
  "to": "+12125550100",
  "created_at": "2025-04-15T10:30:00Z"
}

L'appel est en attente immédiatement. Utilisercall_idpour récupérer l'état ou compter sur le webhook pour les mises à jour événementielles.

État de réception de la livraison via Webhooks

Enregistrer awebhook_urldans votre demande d'appel ou de campagne pour recevoir des événements de statut en temps réel. Robotalker envoie un POST HTTP à votre point d'arrivée lorsque chaque événement tire :

Charge utile de l'événement Webhook (appel complété)
{
  "event": "call.completed",
  "call_id": "cal_9x7k2m4p",
  "to": "+12125550100",
  "status": "answered",
  "duration_seconds": 28,
  "dtmf_response": "1",
  "amd_result": "human",
  "timestamp": "2025-04-15T10:30:45Z"
}

Types d'événements clés que votre webhook devrait gérer:

  • call.completed— Fin de l'appel; comprend l'état de la réponse, la durée, la réponse DTMF
  • call.no_answer— L'appel a sonné mais n'a pas été répondu
  • call.voicemail— AMD a détecté la messagerie vocale; message laissé ou suspendu par configuration
  • call.failed— L'appel n'a pas pu être placé (numéro invalide, défaillance du transporteur)
  • contact.optout— Le bénéficiaire a appuyé sur la touche opt-out ou a répondu STOP

Gestion des erreurs et limites de taux

L'API retourne les codes d'état HTTP standard :

  • 200/201:Succès
  • 400:Mauvaise demande — malformé JSON, format de numéro de téléphone invalide, champ obligatoire manquant
  • 401:Défaut d'authentification – clé API invalide ou manquante
  • 429:Limite de taux dépassée — mise en œuvre exponentielle backoff et retry
  • 500:Erreur du serveur — réessayer avec backoff; journal pour l'enquête

Les plafonds varient selon le régime. Consultez le tableau de bord de votre compte pour connaître les limites de tarifs actuelles. Pour les envois de campagne en vrac, utilisez la/api/v1/campaignsbatch endpoint plutôt que de boucler les demandes d'appel unique – les endpoints endpoints gèrent le grottling en interne et sont plus efficaces à l'échelle.

Construisez l'appel automatisé dans votre application

Obtenez votre clé API Robotalker et commencez à envoyer des appels automatisés et des SMS de votre application aujourd'hui – aucun engagement à long terme requis.

  • API RESTful avec charges utiles JSON
  • Livraison Webhook pour la gestion des événements en temps réel
  • Support variable dynamique pour les messages personnalisés
Obtenir l' API Accès →

FAQ: API Robotalker

Tout langage qui peut faire des requêtes HTTP fonctionne avec l'API REST – Python, Node.js, PHP, Ruby, Java, C#, Go, etc. Il n'y a pas d'exigence SDK ; vous avez juste besoin d'une bibliothèque HTTP et d'une sérialisation JSON. Si vous utilisez un cadre populaire, il y a des exemples de communauté pour la plupart des piles. L'API suit les conventions REST standard, de sorte que tout développeur familier avec l'intégration REST sera productif rapidement.

Utilisez l'API avec vos propres numéros de téléphone vérifiés pendant le développement – des appels aux numéros que vous contrôlez vous permettent de vérifier le flux complet sans risquer les contacts sur votre liste de production. Pour les tests webhook, des outils comme ngrok ou webhook. site vous permet d'exposer un paramètre local pour recevoir des événements webhook pendant le développement sans se déployer sur un serveur. Commencez par les demandes d'API à appel unique avant de tester les campagnes en vrac pour attraper tout problème de configuration tôt.