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 resposta de áudio curta do autor da chamada.
Um bot pode utilizar esta API para capturar uma resposta de voz de um autor da chamada depois de lhe ser pedida uma resposta.
Para obter mais informações sobre como lidar com operações, veja commsOperation.
Nota: Esta API só é suportada para chamadas iniciadas com serviceHostedMediaConfig.
Esta ação não se destina a gravar toda a chamada. O comprimento máximo da gravação é de 2 minutos. A Plataforma de Comunicações na Cloud não guarda a gravação permanentemente e elimina-a logo após a chamada terminar. O bot tem de transferir a gravação imediatamente após a conclusão da operação de gravação com o valor recordingLocation fornecido na notificação concluída.
Nota: Não pode gravar ou manter conteúdo multimédia de chamadas ou reuniões a que a sua aplicação acede ou dados derivados desse conteúdo multimédia. Certifique-se de que está em conformidade com as leis e regulamentos da sua área relativamente à proteção de dados e confidencialidade das comunicações. Para obter mais informações, consulte os Termos de Utilização e consulte o seu advogado.
Esta API está disponível nas seguintes implementações de cloud nacionais.
| Serviço global | US Government L4 | US Government L5 (DOD) | China operada pela 21Vianet |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
| Tipo de permissão | Permissões com menos privilégios | Permissões com privilégios superiores |
|---|---|---|
| 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 |
|---|---|---|
| pedidos | Coleção MediaPrompt | Os pedidos a serem reproduzidos. O tamanho máximo da coleção mediaPrompt suportado é 1. |
| bargeInAllowed | Booliano | Se for verdadeiro, o pedido recordResponse será enviado para outros pedidos de registo/playprompt existentes em fila de espera/atualmente em processamento. Predefinição = falso. |
| initialSilenceTimeoutInSeconds | Int32 | Silêncio inicial máximo (silêncio do utilizador) permitido desde o momento em que iniciamos a operação de resposta de registo antes de excedermos o limite de tempo e falharmos a operação. Se estivermos a reproduzir um pedido, este temporizador é iniciado após a conclusão da linha de comandos. Predefinição = 5 segundos, Min = 1 segundo, Máx = 120 segundos |
| maxSilenceTimeoutInSeconds | Int32 | Tempo máximo de silêncio (pausa) permitido após um utilizador começar a falar. Predefinição = 5 segundos, Min = 1 segundo, Máx = 120 segundos. |
| maxRecordDurationInSeconds | Int32 | Duração máxima da operação recordResponse antes de parar a gravação. Predefinição = 5 segundos, Min = 1 segundo, Máx = 120 segundos. |
| playBeep | Booliano | Se for verdadeiro, reproduz um sinal sonoro para indicar ao utilizador que pode começar a gravar a mensagem. Predefinição = verdadeiro. |
| stopTones | String collection | Parem os tons especificados para terminar a gravação. |
| clientContext | Cadeia de caracteres | Cadeia de Contexto de Cliente Exclusivo. O limite máximo é de 256 carateres. |
Nota: O tempo máximo de gravação foi reduzido de 5 minutos para 2 minutos.
Resposta
Este método devolve um 200 OK código de resposta HTTP e um cabeçalho de Localização com um URI para o registoOperation criado para este pedido.
Exemplo
O exemplo a seguir mostra como chamar essa API.
Exemplo 1: regista uma resposta de áudio curta do autor da chamada
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: Obter o ficheiro de gravação
Nota: NÃO pode gravar ou manter conteúdo multimédia de chamadas ou reuniões a que a sua aplicação acede ou dados derivados desse conteúdo multimédia. Certifique-se de que está em conformidade com as leis e regulamentos da sua área relativamente à proteção de dados e confidencialidade das comunicações. Para obter mais informações, consulte os Termos de Utilização e consulte o 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: NÃO pode gravar ou manter conteúdo multimédia de chamadas ou reuniões a que a sua aplicação acede ou dados derivados desse conteúdo multimédia. Certifique-se de que está em conformidade com as leis e regulamentos da sua área relativamente à proteção de dados e confidencialidade das comunicações. Para obter mais informações, consulte os Termos de Utilização e consulte o seu advogado.