Enregistre une courte réponse audio de l’appelant.
Un bot peut l’utiliser pour capturer une réponse vocale d’un appelant une fois qu’il est invité à fournir une réponse.
Pour plus d’informations sur la gestion des opérations, consultez commsOperation
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. L’enregistrement n’est pas enregistré définitivement par la plateforme de communications cloud et est ignoré 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 indiquée dans la notification terminée.
Note: Les médias collectés ne peuvent pas être conservés. Assurez-vous que vous êtes conforme aux lois et réglementations de votre région en ce qui concerne l’enregistrement des appels. Pour plus d’informations, veuillez consulter un conseiller juridique.
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 lons 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.
Réponse
Cette méthode retourne un 200 OK code de réponse 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
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Communications.Calls.Item.RecordResponse;
using Microsoft.Graph.Models;
var requestBody = new RecordResponsePostRequestBody
{
BargeInAllowed = true,
ClientContext = "d45324c1-fcb5-430a-902c-f20af696537c",
Prompts = new List<Prompt>
{
new MediaPrompt
{
OdataType = "#microsoft.graph.mediaPrompt",
MediaInfo = new MediaInfo
{
Uri = "https://cdn.contoso.com/beep.wav",
ResourceId = "1D6DE2D4-CD51-4309-8DAA-70768651088E",
},
},
},
MaxRecordDurationInSeconds = 10,
InitialSilenceTimeoutInSeconds = 5,
MaxSilenceTimeoutInSeconds = 2,
PlayBeep = true,
StopTones = new List<string>
{
"#",
"1",
"*",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Communications.Calls["{call-id}"].RecordResponse.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.communications.calls.item.recordresponse.RecordResponsePostRequestBody recordResponsePostRequestBody = new com.microsoft.graph.communications.calls.item.recordresponse.RecordResponsePostRequestBody();
recordResponsePostRequestBody.setBargeInAllowed(true);
recordResponsePostRequestBody.setClientContext("d45324c1-fcb5-430a-902c-f20af696537c");
LinkedList<Prompt> prompts = new LinkedList<Prompt>();
MediaPrompt prompt = new MediaPrompt();
prompt.setOdataType("#microsoft.graph.mediaPrompt");
MediaInfo mediaInfo = new MediaInfo();
mediaInfo.setUri("https://cdn.contoso.com/beep.wav");
mediaInfo.setResourceId("1D6DE2D4-CD51-4309-8DAA-70768651088E");
prompt.setMediaInfo(mediaInfo);
prompts.add(prompt);
recordResponsePostRequestBody.setPrompts(prompts);
recordResponsePostRequestBody.setMaxRecordDurationInSeconds(10);
recordResponsePostRequestBody.setInitialSilenceTimeoutInSeconds(5);
recordResponsePostRequestBody.setMaxSilenceTimeoutInSeconds(2);
recordResponsePostRequestBody.setPlayBeep(true);
LinkedList<String> stopTones = new LinkedList<String>();
stopTones.add("#");
stopTones.add("1");
stopTones.add("*");
recordResponsePostRequestBody.setStopTones(stopTones);
var result = graphClient.communications().calls().byCallId("{call-id}").recordResponse().post(recordResponsePostRequestBody);
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 contactez 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)