call : recordResponse
Espace de noms: microsoft.graph
Importante
Les API sous la version /beta
dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Enregistrez une réponse audio courte de l’appelant.
Un bot peut utiliser cette API pour capturer une réponse vocale d’un appelant une fois qu’il a été invité à fournir une réponse.
Pour plus d’informations sur la gestion des opérations, consultez commsOperation.
Note: Cette API est uniquement prise en charge pour les appels lancés avec serviceHostedMediaConfig.
Cette action n’est pas destinée à enregistrer l’intégralité de l’appel. La durée maximale de l’enregistrement est de 2 minutes. La plateforme de communications cloud n’enregistre pas définitivement l’enregistrement et l’ignore peu de temps après la fin de l’appel. Le bot doit télécharger l’enregistrement rapidement une fois l’opération d’enregistrement terminée à l’aide de la valeur recordingLocation fournie dans la notification terminée.
Note: Vous ne pouvez pas enregistrer ou conserver du contenu multimédia à partir d’appels ou de réunions auxquels votre application accède, ni les données dérivées de ce contenu multimédia. Assurez-vous que vous êtes conforme aux lois et réglementations de votre domaine en matière de protection des données et de confidentialité des communications. Pour plus d’informations, consultez les conditions d’utilisation et consultez votre conseiller juridique.
Cette API est disponible dans les déploiements de cloud national suivants.
Service global | Gouvernement des États-Unis L4 | Us Government L5 (DOD) | Chine gérée par 21Vianet |
---|---|---|---|
✅ | ❌ | ❌ | ❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
Type d’autorisation | Autorisations avec privilèges minimum | Autorisations privilégiées plus élevées |
---|---|---|
Déléguée (compte professionnel ou scolaire) | Non prise en charge. | Non prise en charge. |
Déléguée (compte Microsoft personnel) | Non prise en charge. | Non prise en charge. |
Application | Calls.AccessMedia.All | Non disponible. |
Requête HTTP
POST /app/calls/{id}/recordResponse
POST /communications/calls/{id}/recordResponse
Remarque : le chemin d’accès
/app
est obsolète. À l’avenir, utilisez le chemin d’accès/communications
.
En-têtes de demande
Nom | Description |
---|---|
Autorisation | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Content-type | application/json. Obligatoire. |
Corps de la demande
Dans le corps de la demande, indiquez un objet JSON avec les paramètres suivants.
Paramètre | Type | Description |
---|---|---|
Invites | Collection MediaPrompt | Invites à lire. La taille maximale de la collection mediaPrompt prise en charge est de 1. |
bargeInAllowed | Valeur booléenne | Si la valeur est true, la requête recordResponse est envoyée à d’autres demandes d’enregistrement/playprompt en file d’attente/en cours de traitement. Valeur par défaut = false. |
initialSilenceTimeoutInSeconds | Int32 | Silence initial maximal (silence de l’utilisateur) autorisé à partir du moment où nous commençons l’opération de réponse d’enregistrement avant d’expirer et d’échouer l’opération. Si nous lisons une invite, cette minuterie démarre une fois l’invite terminée. Valeur par défaut = 5 secondes, Min = 1 seconde, Max = 120 secondes |
maxSilenceTimeoutInSeconds | Int32 | Durée maximale de silence (pause) autorisée après qu’un utilisateur a commencé à parler. Valeur par défaut = 5 secondes, Min = 1 seconde, Max = 120 secondes. |
maxRecordDurationInSeconds | Int32 | Durée maximale de l’opération recordResponse avant l’arrêt de l’enregistrement. Valeur par défaut = 5 secondes, Min = 1 seconde, Max = 120 secondes. |
playBeep | Valeur booléenne | Si la valeur est true, lit un bip pour indiquer à l’utilisateur qu’il peut commencer à enregistrer son message. Valeur par défaut = true. |
stopTones | String collection | Arrêter les tonalités spécifiées pour terminer l’enregistrement. |
Clientcontext | Chaîne | Chaîne de contexte client unique. La limite maximale est de 256 caractères. |
Note: Durée maximale d’enregistrement réduite de 5 minutes à 2 minutes.
Réponse
Cette méthode renvoie un 200 OK
code de réponse HTTP et un en-tête Location avec un URI à l’objet recordOperation créé pour cette requête.
Exemple
L’exemple ci-après montre comment appeler cette API.
Exemple 1 : Enregistre une réponse audio courte de l’appelant
Demande
L’exemple suivant illustre la demande.
POST https://graph.microsoft.com/beta/communications/calls/{id}/recordResponse
Content-Type: application/json
Content-Length: 394
{
"bargeInAllowed": true,
"clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
"prompts": [
{
"@odata.type": "#microsoft.graph.mediaPrompt",
"mediaInfo": {
"uri": "https://cdn.contoso.com/beep.wav",
"resourceId": "1D6DE2D4-CD51-4309-8DAA-70768651088E"
}
}
],
"maxRecordDurationInSeconds": 10,
"initialSilenceTimeoutInSeconds": 5,
"maxSilenceTimeoutInSeconds": 2,
"playBeep": true,
"stopTones": [ "#", "1", "*" ]
}
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Location: https://graph.microsoft.com/beta/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896/operations/0fe0623f-d628-42ed-b4bd-8ac290072cc5
{
"@odata.type": "#microsoft.graph.recordOperation",
"id": "0fe0623f-d628-42ed-b4bd-8ac290072cc5",
"status": "running",
"completionReason": null,
"resultInfo": null,
"recordingLocation": null,
"clientContext": "d45324c1-fcb5-430a-902c-f20af696537c"
}
Notification - opération terminée
POST https://bot.contoso.com/api/calls
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "deleted",
"resourceUrl": "/communications/calls/57DAB8B1894C409AB240BD8BEAE78896/operations/0FE0623FD62842EDB4BD8AC290072CC5",
"resourceData": {
"@odata.type": "#microsoft.graph.recordOperation",
"@odata.id": "/communications/calls/57DAB8B1894C409AB240BD8BEAE78896/operations/0FE0623FD62842EDB4BD8AC290072CC5",
"@odata.etag": "W/\"54451\"",
"id": "0fe0623f-d628-42ed-b4bd-8ac290072cc5",
"clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
"status": "completed",
"recordingLocation": "https://file.location/17e3b46c-f61d-4f4d-9635-c626ef18e6ad",
"recordingAccessToken": "<access-token>",
"completionReason": "stopToneDetected"
}
}
]
}
Exemple 2 : Récupération du fichier d’enregistrement
Note: Vous ne pouvez PAS enregistrer ou conserver du contenu multimédia à partir d’appels ou de réunions auxquels votre application accède, ni les données dérivées de ce contenu multimédia. Assurez-vous que vous êtes conforme aux lois et réglementations de votre domaine en matière de protection des données et de confidentialité des communications. Pour plus d’informations, consultez les conditions d’utilisation et consultez votre conseiller juridique.
Demande
GET https://file.location/17e3b46c-f61d-4f4d-9635-c626ef18e6ad
Authorization: Bearer <recordingAccessToken>
Réponse
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Date: Thu, 17 Jan 2019 01:46:37 GMT
Content-Type: application/octet-stream
(application/octet-stream of size 160696 bytes)
Note: Vous ne pouvez PAS enregistrer ou conserver du contenu multimédia à partir d’appels ou de réunions auxquels votre application accède, ni les données dérivées de ce contenu multimédia. Assurez-vous que vous êtes conforme aux lois et réglementations de votre domaine en matière de protection des données et de confidentialité des communications. Pour plus d’informations, consultez les conditions d’utilisation et consultez votre conseiller juridique.