Graba una respuesta corta de audio del autor de la llamada.
Un bot puede usar esto para capturar una respuesta de voz de un autor de la llamada después de que se le pida una respuesta.
Para obtener más información sobre cómo controlar las operaciones, revise commsOperation.
Esta acción no está pensada para registrar toda la llamada. La duración máxima de la grabación es de 2 minutos. Cloud Communications Platform no guarda permanentemente la grabación y se descarta poco después de que finalice la llamada. El bot debe descargar la grabación rápidamente una vez finalizada la operación de grabación mediante el valor recordingLocation que se indica en la notificación completada.
Nota: Es posible que los medios recopilados no se conserven. Asegúrese de que cumple con las leyes y regulaciones de su área cuando se trata de grabación de llamadas. Consulte con un asesor legal para obtener más información.
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Avisos que se van a reproducir. El tamaño máximo de la colección mediaPrompt admitido es 1.
bargeInAllowed
Booleano
Si es true, la solicitud recordResponse se dividirá en otras solicitudes existentes de registro en cola, de procesamiento actual o de playprompt. Valor predeterminado = false.
initialSilenceTimeoutInSeconds
Int32
Silencio inicial máximo (silencio del usuario) permitido desde el momento en que iniciamos la operación de respuesta de registro antes de que se agote el tiempo de espera y se produzca un error en la operación. Si estamos reproduciendo un mensaje, este temporizador se inicia una vez que finaliza el aviso. Predeterminado = 5 segundos, Min = 1 segundo, Máximo = 120 segundos
maxSilenceTimeoutInSeconds
Int32
Tiempo máximo de silencio (pausa) permitido después de que un usuario haya empezado a hablar. Default = 5 segundos, Min = 1 segundo, Max = 120 segundos.
maxRecordDurationInSeconds
Int32
Duración máxima de la operación recordResponse antes de detener la grabación. Default = 5 segundos, Min = 1 segundo, Max = 120 segundos.
playBeep
Booleano
Si es true, reproduce un pitido para indicar al usuario que puede empezar a grabar su mensaje. Default = true.
stopTones
Colección de cadenas
Detenga los tonos especificados para finalizar la grabación.
clientContext
Cadena
Cadena de contexto de cliente única. El límite máximo es de 256 caracteres.
Respuesta
Este método devuelve un 200 OK código de respuesta y un encabezado Location con un URI al objeto recordOperation creado para esta solicitud.
Ejemplo
En el siguiente ejemplo se muestra cómo llamar a esta API.
Ejemplo 1: Registra una respuesta de audio corta del autor de la llamada.
// 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://video2.skills-academy.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);
Nota: No puede registrar ni conservar contenido multimedia de las llamadas o reuniones a las que accede la aplicación o de los datos derivados de ese contenido multimedia. Asegúrese de que cumple con las leyes y regulaciones de su área con respecto a la protección de datos y la confidencialidad de las comunicaciones. Consulte las Condiciones de uso y consulte con su asesor legal para obtener más información.
Solicitud
GET https://file.location/17e3b46c-f61d-4f4d-9635-c626ef18e6ad
Authorization: Bearer <recordingAccessToken>
Respuesta
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)