chamada: recordResponse
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 resposta de áudio curta do chamador.
Um bot pode usar essa API para capturar uma resposta de voz de um chamador depois de receber uma resposta.
Para obter mais informações sobre como lidar com operações, consulte commsOperation.
Nota: Essa API só tem suporte para chamadasiniciadas com serviceHostedMediaConfig.
Essa ação não se destina a registrar a chamada inteira. O comprimento máximo da gravação é de 2 minutos. A Plataforma de Comunicações de 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 prontamente após a conclusão da operação de gravação usando o valor recordingLocation fornecido na notificação concluída.
Nota: Você pode não registrar ou persistir o conteúdo da mídia de chamadas ou reuniões que seu aplicativo acessa ou dados derivados desse conteúdo de mídia. Verifique se você está 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 nacionais de nuvem.
Serviço global | Governo dos EUA L4 | GOVERNO DOS EUA L5 (DOD) | China operada pela 21Vianet |
---|---|---|---|
✅ | ❌ | ❌ | ❌ |
Permissões
Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas 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 privilegiadas mais altas |
---|---|---|
Delegado (conta corporativa ou de estudante) | Sem suporte. | Sem suporte. |
Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
Aplicativo | Calls.AccessMedia.All | Indisponível. |
Solicitação HTTP
POST /app/calls/{id}/recordResponse
POST /communications/calls/{id}/recordResponse
Observação: o caminho
/app
foi 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 |
---|---|---|
Solicita | 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 entrará em outras solicitações existentes de registro/playprompt na fila/atualmente processando. Padrão = false. |
initialSilenceTimeoutInSeconds | Int32 | O 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 sairmos e falharmos na operação. Se estivermos tocando um prompt, esse temporizador será iniciado após a conclusão do prompt. Padrão = 5 segundos, Min = 1 segundo, Max = 120 segundos |
maxSilenceTimeoutInSeconds | Int32 | Tempo máximo de silêncio (pausa) permitido após um usuário começar a falar. Padrão = 5 segundos, Min = 1 segundo, Max = 120 segundos. |
maxRecordDurationInSeconds | Int32 | Duração máxima para a operação recordResponse antes de interromper a gravação. Padrão = 5 segundos, Min = 1 segundo, Max = 120 segundos. |
playBeep | Booliano | Se for verdadeiro, reproduz um bipe para indicar ao usuário que ele pode começar a gravar sua mensagem. Padrão = true. |
stopTones | String collection | Parar os 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 chars. |
Nota: O tempo máximo de gravação reduziu de 5 minutos para 2 minutos.
Resposta
Esse método retorna um 200 OK
código de resposta HTTP e um cabeçalho Local com um URI para o recordOperation criado para essa solicitação.
Exemplo
O exemplo a seguir mostra como chamar essa API.
Exemplo 1: registra uma resposta de áudio curta 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
Nota: Você não pode registrar ou persistir o conteúdo da mídia de chamadas ou reuniões que seu aplicativo acessa ou dados derivados desse conteúdo de mídia. Verifique se você está 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)
Nota: Você não pode registrar ou persistir o conteúdo da mídia de chamadas ou reuniões que seu aplicativo acessa ou dados derivados desse conteúdo de mídia. Verifique se você está 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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de