chamada: redirecionamento
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.
Redirecione uma chamada de entrada que ainda não foi atendida ou rejeitada . Os termos "redirecionamento" e "encaminhamento" de uma chamada são usados de forma intercambiável.
Espera-se que o bot redirecione a chamada antes do tempo limite da chamada. O valor de tempo limite atual é de 15 segundos.
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.Initiate.All | Indisponível. |
Solicitação HTTP
POST /app/calls/{id}/redirect
POST /communications/calls/{id}/redirect
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. |
Corpo da solicitação
Forneça um objeto JSON com os seguintes parâmetros no corpo da solicitação.
Parâmetro | Tipo | Descrição |
---|---|---|
targets | conjunto invitationParticipantInfo | Os participantes de destino da operação de redirecionamento. Se mais de um destino for especificado, será uma chamada de anel simultânea. Isso significa que todos os destinos são chamados ao mesmo tempo e apenas o primeiro destino que pega está conectado. Oferecemos suporte a até 25 destinos para o anel simultâneo. |
targetDisposition | Cadeia de caracteres | (Preterido) Os valores possíveis são: default , , forward simultaneousRing . Esse parâmetro foi preterido. O sistema identifica automaticamente se é uma chamada de encaminhamento ou chamada simultânea do número de destinos fornecidos. |
timeout | Int32 | O tempo limite (em segundos) para a operação de redirecionamento. O intervalo do valor de tempo limite é entre 15 e 90 segundos, inclusive. O valor de tempo limite padrão é de 55 segundos para 1 destino e 60 segundos para vários destinos (sujeitos a alterações). |
maskCallee | Booliano | Indica se o chamador deve ser oculto do chamador. Se for true, a identidade do destinatário de chamada será a identidade do bot. Padrão: false. |
maskCaller | Booliano | Indica se o chamador deve estar oculto do destinatário. Se for true, a identidade do chamador será a identidade do bot. Padrão: false. |
callbackUri | String | Permite que os bots forneçam um URI de retorno de chamada específico para que a chamada atual receba notificações posteriores. Se essa propriedade não estiver definida, o URI de retorno de chamada global do bot será usado. O URI deve ser https . |
Resposta
Se tiver êxito, este método retornará um código de resposta 202 Accepted
.
Exemplos
Esses exemplos abrangem um fluxo de trabalho de uma notificação de chamada de entrada e como essa chamada é redirecionada.
Nota: Os objetos de resposta mostrados aqui podem ser abreviados para legibilidade. Todas as propriedades são retornadas de uma chamada real.
Exemplo 1: encaminhar uma chamada para um destino
Notificação – entrada
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "created",
"resourceUrl": "/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "incoming",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "8d1e6ab6-26c5-4e22-a1bc-06ea7343958e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer",
},
"targets": [
{
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"application": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test bot",
"id": "24701998-1a73-4d42-8085-bf46ed0ae039"
}
}
}
],
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"id": "491f0b00-ffff-4bc9-a43e-b226498ec22a"
}
}
]
}
Solicitação
POST https://graph.microsoft.com/beta/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a/redirect
Content-Type: application/json
{
"targets": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"application": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test bot 2",
"id": "22bfd41f-550e-477d-8789-f6f7bd2a5e8b"
}
}
}
],
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039"
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 202 Accepted
Notificação – encerrada
POST https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "deleted",
"resourceUrl": "/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "terminated",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "8d1e6ab6-26c5-4e22-a1bc-06ea7343958e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer",
},
"targets": [
{
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"application": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test bot",
"id": "24701998-1a73-4d42-8085-bf46ed0ae039"
}
}
}
],
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"id": "491f0b00-ffff-4bc9-a43e-b226498ec22a"
}
}
]
}
Exemplo 2: encaminhar uma chamada para vários destinos com anel simultâneo
Notificação – entrada
POST https://bot.contoso.com/api/calls
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "created",
"resourceUrl": "/communications/calls/481f0b00-ffff-4ca1-8c67-a5f1e31e8e82",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "incoming",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "ec040873-8235-45fd-a403-c7259a5a548e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer"
},
"targets": [
{
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"application": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test bot",
"id": "24701998-1a73-4d42-8085-bf46ed0ae039"
}
}
}
],
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "f540f1b6-994b-4866-be95-8aad34c4f4dc",
"id": "481f0b00-ffff-4ca1-8c67-a5f1e31e8e82"
}
}
]
}
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/communications/calls/481f0b00-ffff-4ca1-8c67-a5f1e31e8e82/redirect
Content-Type: application/json
{
"targets": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test user",
"id": "98da8a1a-1b87-452c-a713-65d3f10b1253"
}
}
},
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test user 2",
"id": "bf5aae9a-d11d-47a8-93b1-782504c9c3f3"
}
}
}
],
"routingPolicies": [
"disableForwarding"
],
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039"
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 202 Accepted
Notificação – encerrada
POST https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "deleted",
"resourceUrl": "/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "terminated",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "ec040873-8235-45fd-a403-c7259a5a548e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer"
},
"targets": [
{
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"application": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test bot",
"id": "24701998-1a73-4d42-8085-bf46ed0ae039"
}
}
}
],
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "f540f1b6-994b-4866-be95-8aad34c4f4dc",
"id": "481f0b00-ffff-4ca1-8c67-a5f1e31e8e82"
}
}
]
}
Exemplo 3: encaminhar uma chamada para um número PSTN
Essa chamada requer uma instância de aplicativo com um número PSTN atribuído. Para obter detalhes, consulte Atribuir um número de telefone ao bot.
Nota: A ID do telefone é o número de telefone no formato E.164.
Notificação – entrada
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "created",
"resourceUrl": "/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "incoming",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "8d1e6ab6-26c5-4e22-a1bc-06ea7343958e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer",
},
"targets": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"applicationInstance": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "PstnAppInstance",
"id": "7629bdce-046c-4903-86b4-a8f718277e1a",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"endpointType": "default",
"id": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"region": "amer",
"languageId": null
}
],
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"id": "491f0b00-ffff-4bc9-a43e-b226498ec22a"
}
}
]
}
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a/redirect
Content-Type: application/json
{
"targets": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"phone": {
"@odata.type": "#microsoft.graph.identity",
"id": "+12345678901"
}
}
}
],
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039"
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 202 Accepted
Notificação – encerrada
POST https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "deleted",
"resourceUrl": "/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "terminated",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "8d1e6ab6-26c5-4e22-a1bc-06ea7343958e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer",
},
"targets": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"applicationInstance": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "PstnAppInstance",
"id": "7629bdce-046c-4903-86b4-a8f718277e1a",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"endpointType": "default",
"id": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"region": "amer",
"languageId": null
}
],
"answeredBy": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"encrypted": {
"@odata.type": "#microsoft.graph.identity",
"id": "1xt4uextl99sdzwdxuvdxrvgrv8gehcq7jdgf9yhzeto"
}
},
"endpointType": "default"
},
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"id": "491f0b00-ffff-4bc9-a43e-b226498ec22a"
}
}
]
}