Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Grave uma breve resposta de áudio do chamador.
Um bot pode usar essa API para capturar uma resposta de voz de um chamador depois que ele for solicitado a fornecer uma resposta.
Para obter mais informações sobre como lidar com operações, consulte commsOperation.
Observação: Essa API só tem suporte para chamadas iniciadas com serviceHostedMediaConfig.
Essa ação não se destina a gravar a chamada inteira. A duração máxima da gravação é de 2 minutos. A Plataforma de Comunicações em Nuvem não salva a gravação permanentemente e a descarta logo após o término da chamada. O bot deve baixar a gravação imediatamente após a conclusão da operação de gravação usando o valor recordingLocation fornecido na notificação concluída.
Observação: Você não pode gravar ou persistir o conteúdo de mídia de chamadas ou reuniões que seu aplicativo acessa ou dados derivados desse conteúdo de mídia. Certifique-se de estar em conformidade com as leis e regulamentos de sua área em relação à proteção de dados e confidencialidade das comunicações. Para obter mais informações, consulte os Termos de Uso e consulte seu advogado.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global | Governo dos EUA L4 | US Government L5 (DOD) | China operada pela 21Vianet |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
Permissões
Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
| Tipo de permissão | Permissões menos privilegiadas | Permissões com privilégios mais elevados |
|---|---|---|
| Delegado (conta corporativa ou de estudante) | Sem suporte. | Sem suporte. |
| Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
| Application | Calls.AccessMedia.All | Indisponível. |
Solicitação HTTP
POST /app/calls/{id}/recordResponse
POST /communications/calls/{id}/recordResponse
Observação: o caminho
/appfoi preterido. Daqui em diante, use o caminho/communications.
Cabeçalhos de solicitação
| Nome | Descrição |
|---|---|
| Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-type | application/json. Obrigatório. |
Corpo da solicitação
Forneça um objeto JSON com os seguintes parâmetros no corpo da solicitação.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| prompts | Coleção MediaPrompt | Os prompts a serem reproduzidos. O tamanho máximo da coleção mediaPrompt com suporte é 1. |
| bargeInAllowed | Booliano | Se for true, a solicitação recordResponse invadirá outras solicitações de registro/playprompt existentes na fila/processamento atual. Padrão = false. |
| initialSilenceTimeoutInSeconds | Int32 | Silêncio inicial máximo (silêncio do usuário) permitido a partir do momento em que iniciamos a operação de resposta de registro antes de atingirmos o tempo limite e falharmos na operação. Se estivermos reproduzindo um prompt, esse temporizador será iniciado após o término do prompt. Padrão = 5 segundos, Mín. = 1 segundo, Máx. = 120 segundos |
| maxSilenceTimeoutInSeconds | Int32 | Tempo máximo de silêncio (pausa) permitido depois que um usuário começou a falar. Padrão = 5 segundos, Mín. = 1 segundo, Máx. = 120 segundos. |
| maxRecordDurationInSeconds | Int32 | Duração máxima da operação recordResponse antes de interromper a gravação. Padrão = 5 segundos, Mín. = 1 segundo, Máx. = 120 segundos. |
| playBeep | Booliano | Se verdadeiro, reproduz um bipe para indicar ao usuário que ele pode iniciar a gravação da mensagem. Padrão = true. |
| stopTones | String collection | Parar tons especificados para encerrar a gravação. |
| clientContext | Cadeia de caracteres | Cadeia de caracteres de contexto de cliente exclusiva. O limite máximo é de 256 caracteres. |
Observação: O tempo máximo de gravação foi reduzido de 5 minutos para 2 minutos.
Resposta
Esse método retorna um código de 200 OK resposta HTTP e um cabeçalho Location com um URI para o recordOperation criado para essa solicitação.
Exemplo
O exemplo a seguir mostra como chamar essa API.
Exemplo 1: grava uma breve resposta de áudio do chamador
Solicitação
O exemplo a seguir mostra a solicitação.
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", "*" ]
}
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
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"
}
Notificação - operação concluída
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"
}
}
]
}
Exemplo 2: Recuperando o arquivo de gravação
Observação: Você NÃO pode gravar ou manter o conteúdo de mídia de chamadas ou reuniões que seu aplicativo acessa ou dados derivados desse conteúdo de mídia. Certifique-se de estar em conformidade com as leis e regulamentos de sua área em relação à proteção de dados e confidencialidade das comunicações. Para obter mais informações, consulte os Termos de Uso e consulte seu advogado.
Solicitação
GET https://file.location/17e3b46c-f61d-4f4d-9635-c626ef18e6ad
Authorization: Bearer <recordingAccessToken>
Resposta
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)
Observação: Você NÃO pode gravar ou manter o conteúdo de mídia de chamadas ou reuniões que seu aplicativo acessa ou dados derivados desse conteúdo de mídia. Certifique-se de estar em conformidade com as leis e regulamentos de sua área em relação à proteção de dados e confidencialidade das comunicações. Para obter mais informações, consulte os Termos de Uso e consulte seu advogado.