call: recordResponse

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

Grabe una breve respuesta de audio del autor de la llamada.

Un bot puede usar esta API 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, vea commsOperation.

Nota: Esta API solo se admite para las llamadas que se inician con serviceHostedMediaConfig.

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 la grabación de forma permanente y la 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 proporcionado en la notificación completada.

Nota: No puede registrar ni conservar contenido multimedia de llamadas o reuniones a las que accede la aplicación o 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. Para obtener más información, consulte los Términos de uso y consulte con su asesor legal.

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permissions

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.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) No admitida. No admitida.
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación Calls.AccessMedia.All No disponible.

Solicitud HTTP

POST /app/calls/{id}/recordResponse
POST /communications/calls/{id}/recordResponse

Nota: la /app ruta de acceso está en desuso. En el futuro, utilice la ruta de acceso /communications.

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.
Tipo de contenido application/json. Obligatorio.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione un objeto JSON con los siguientes parámetros.

Parámetro Tipo Descripción
Indicaciones Colección MediaPrompt 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 string 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.

Nota: El tiempo máximo de grabación se reduce de 5 minutos a 2 minutos.

Respuesta

Este método devuelve un 200 OK código de respuesta HTTP 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.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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", "*" ]
}
Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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"
}
Notificación: operación completada
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"
      }
    }
  ]
}

Ejemplo 2: Recuperación del archivo de grabación

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. Para obtener más información, consulte los Términos de uso y consulte con su asesor legal.

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)

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. Para obtener más información, consulte los Términos de uso y consulte con su asesor legal.