Voix
Appels vocaux
Passez et recevez des appels, lisez du texte dans plus de 100 langues, diffusez de l’audio et raccrochez, le tout piloté par les événements envoyés à votre webhook au fil de l’appel.
Le déroulé d’un appel
- 01Vous passez un appel (ou quelqu’un appelle votre numéro). L’API répond aussitôt avec l’
idde l’appel. - 02Au fil de l’appel, Pulsr envoie des événements à votre webhook :
CALL_RINGING,CALL_ESTABLISHED,CALL_FINISHED… - 03Votre handler réagit à chaque événement par des actions sur l’appel :
say,play,answer,hangup.
Configuration initiale
Les appels appartiennent à une configuration d’appels, et les événements vous parviennent via un abonnement aux événements sur cette configuration. Créez les deux une fois, par script ou depuis le tableau de bord.
Passer un appel
POST/calls/1/calls
Corps de la requête
endpointobjectObligatoire- Qui appeler.
{ type: "PHONE", phoneNumber }pour un téléphone ; les endpointsWEBRTCetSIPsont aussi gérés. fromstring- Le numéro présenté, l’un de vos numéros vocaux.
callsConfigurationIdstringObligatoire- La configuration à laquelle appartient l’appel.
connectTimeoutinteger- Secondes de sonnerie avant abandon.
maxDurationinteger- Durée en secondes au bout de laquelle l’appel est coupé.
machineDetection.enabledboolean- Détecte les répondeurs. Le résultat arrive dans un événement
MACHINE_DETECTION_FINISHED. recording.recordingTypestringAUDIOouAUDIO_AND_VIDEOpour enregistrer l’appel.customDataobject- Vos propres paires clé-valeur, renvoyées dans les événements.
Consultez l’état d’un appel à tout moment avec GET /calls/1/calls/{callId}. Vous pouvez passer jusqu’à 6 appels par seconde.
Événements d’appel
Chaque événement est un objet JSON avec un type, le callId, un timestamp et des properties. Les événements de sonnerie et de prise d’appel contiennent l’appel complet ; les événements de fin et d’échec contiennent un callLog avec la durée et la raison du raccrochage.
| Événement | Quand |
|---|---|
CALL_RECEIVED | Quelqu’un appelle l’un de vos numéros. |
CALL_RINGING | Ça sonne de l’autre côté. |
CALL_ESTABLISHED | L’appel a été décroché. |
SAY_FINISHED, PLAY_FINISHED | La lecture du texte ou de l’audio est terminée, avec les touches pressées. |
DTMF_CAPTURED | Les touches pressées sur le clavier ont été collectées. |
MACHINE_DETECTION_FINISHED | La détection de répondeur a un résultat. |
CALL_FINISHED | L’appel s’est terminé normalement. |
CALL_FAILED | L’appel n’a pas pu aboutir (occupé, pas de réponse, refusé…). |
Parler, diffuser, raccrocher
Les actions s’exécutent sur un appel en cours et répondent aussitôt { "status": "PENDING" } ; leur fin arrive sous forme d’événement. say accepte du texte brut ou du SSML et un code language, play prend une URL audio ou un fichier téléversé.
Répondre aux appels entrants
Quand quelqu’un appelle votre numéro, vous recevez CALL_RECEIVED. Décrochez, puis pilotez l’appel comme un appel sortant. Ce handler décroche, lit un message, puis raccroche à la fin du message :