Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 de la persona que llama.
Un bot puede usar esta API para capturar una respuesta de voz de una persona que llama después de que se le solicite una respuesta.
Para obtener más información sobre cómo controlar las operaciones, consulte commsOperation.
Nota: Esta API solo se admite para llamadas que se inician con serviceHostedMediaConfig.
Esta acción no está pensada para grabar toda la llamada. La duración máxima de la grabación es de 2 minutos. La plataforma de comunicaciones en la nube no guarda la grabación de forma permanente y la descarta poco después de finalizar la llamada. El bot debe descargar la grabación inmediatamente después de que finalice la operación de grabación mediante el valor de recordingLocation proporcionado en la notificación completada.
Nota: No puede grabar ni conservar el contenido multimedia de las llamadas o reuniones a las que acceda su aplicación, ni los datos derivados de ese contenido multimedia. Asegúrese de cumplir 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 en la nube nacional.
| Servicio global | Administración pública de EE. UU. | Gobierno de EE. UU. L5 (DOD) | China operado por 21Vianet |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos 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
/appruta 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 autenticación y 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 |
|---|---|---|
| Consultas | Colección MediaPrompt | Las indicaciones que se reproducirán. El tamaño máximo de recopilación de mediaPrompt admitido es 1. |
| bargeInAllowed | Booleano | Si es true, la solicitud de recordResponse irrumpirá en otras solicitudes de record/playprompt existentes en cola/en proceso actualmente. Default = false. |
| initialSilenceTimeoutInSeconds | Int32 | Silencio inicial máximo (silencio de usuario) permitido desde el momento en que iniciamos la operación de respuesta de grabación antes de que se agote el tiempo de espera y falle la operación. Si estamos reproduciendo una indicación, este temporizador se inicia cuando finalice la indicación. Predeterminado = 5 segundos, Min = 1 segundo, Max = 120 segundos |
| maxSilenceTimeoutInSeconds | Int32 | Tiempo máximo de silencio (pausa) permitido después de que un usuario haya empezado a hablar. Predeterminado = 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. Predeterminado = 5 segundos, Min = 1 segundo, Max = 120 segundos. |
| playBeep | Booleano | Si es verdadero, reproduce un pitido para indicar al usuario que puede empezar a grabar su mensaje. Valor predeterminado = true. |
| stopTones | Colección string | Tonos de parada especificados para finalizar la grabación. |
| clientContext | Cadena | Cadena de contexto de cliente única. El límite máximo es 256 caracteres. |
Nota: El tiempo máximo de grabación se redujo de 5 minutos a 2 minutos.
Respuesta
Este método devuelve un 200 OK código de respuesta HTTP y un encabezado de ubicación con un URI para el recordOperation creado para esta solicitud.
Ejemplo
En el siguiente ejemplo se muestra cómo llamar a esta API.
Ejemplo 1: Graba una breve respuesta de audio de la persona que llama
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 grabar ni conservar el contenido multimedia de las llamadas o reuniones a las que acceda su aplicación, ni los datos derivados de ese contenido multimedia. Asegúrese de cumplir 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 grabar ni conservar el contenido multimedia de las llamadas o reuniones a las que acceda su aplicación, ni los datos derivados de ese contenido multimedia. Asegúrese de cumplir 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.