Partager via


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.