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.
Habilite un bot para rechazar una llamada entrante. La llamada entrante puede ser una invitación de un participante en una llamada grupal o una llamada punto a punto. Si se recibe una invitación a una llamada grupal, la notificación contiene los parámetros chatInfo y meetingInfo .
Se espera que el bot responda o rechace la llamada antes de que se agote el tiempo de espera de la llamada. El valor de tiempo de espera actual es 15 segundos.
Esta API no finaliza las llamadas existentes que ya se han respondido. Use eliminar llamada para finalizar una llamada.
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 |
No admitida. |
No admitida. |
Solicitud HTTP
POST /app/calls/{id}/reject
POST /communications/calls/{id}/reject
Nota: la /app ruta de acceso está en desuso. En el futuro, utilice la ruta de acceso /communications.
| 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 |
| motivo |
Cadena |
La razón del rechazo. Los valores posibles son: None, Busy y Forbidden. |
| callbackUri |
Cadena |
Permite que los bots proporcionen un URI de devolución de llamada específico para la llamada actual para recibir notificaciones posteriores. Si no se establece esta propiedad, se usa en su lugar el URI de devolución de llamada global del bot. El URI debe ser https. |
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 202 Accepted. No devuelve nada en el cuerpo de la respuesta.
Ejemplos
Los siguientes ejemplos muestran cómo llamar a esta API.
Ejemplo 1: Rechazar una llamada entrante con el motivo de "ocupado"
Solicitud
En los ejemplos siguientes se muestra una solicitud.
POST https://graph.microsoft.com/beta/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896/reject
Content-Type: application/json
Content-Length: 24
{
"reason": "busy"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Communications.Calls.Item.Reject;
using Microsoft.Graph.Beta.Models;
var requestBody = new RejectPostRequestBody
{
Reason = RejectReason.Busy,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Communications.Calls["{call-id}"].Reject.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphcommunications "github.com/microsoftgraph/msgraph-beta-sdk-go/communications"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphcommunications.NewRejectPostRequestBody()
reason := graphmodels.BUSY_REJECTREASON
requestBody.SetReason(&reason)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Communications().Calls().ByCallId("call-id").Reject().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.communications.calls.item.reject.RejectPostRequestBody rejectPostRequestBody = new com.microsoft.graph.beta.communications.calls.item.reject.RejectPostRequestBody();
rejectPostRequestBody.setReason(RejectReason.Busy);
graphClient.communications().calls().byCallId("{call-id}").reject().post(rejectPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const reject = {
reason: 'busy'
};
await client.api('/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896/reject')
.version('beta')
.post(reject);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Communications\Calls\Item\Reject\RejectPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\RejectReason;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new RejectPostRequestBody();
$requestBody->setReason(new RejectReason('busy'));
$graphServiceClient->communications()->calls()->byCallId('call-id')->reject()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.CloudCommunications
$params = @{
reason = "busy"
}
Invoke-MgBetaRejectCommunicationCall -CallId $callId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.communications.calls.item.reject.reject_post_request_body import RejectPostRequestBody
from msgraph_beta.generated.models.reject_reason import RejectReason
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = RejectPostRequestBody(
reason = RejectReason.Busy,
)
await graph_client.communications.calls.by_call_id('call-id').reject.post(request_body)
Respuesta
Los siguientes ejemplos muestran la respuesta.
HTTP/1.1 202 Accepted
Ejemplo 2: Rechazar una llamada entrante con el motivo "Ninguna"
Notificación entrante
POST https://bot.contoso.com/api/call
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "created",
"resourceUrl": "/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"@odata.id": "/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896",
"state": "incoming",
"direction": "incoming",
"source": {
"identity": {
"user": {
"displayName": "John",
"id": "112f7296-5fa4-42ca-bae8-6a692b15d4b8"
}
},
"region": "westus",
"languageId": "en-US"
},
"targets": [
{
"identity": {
"application": {
"displayName": "Calling Bot",
"id": "2891555a-92ff-42e6-80fa-6e1300c6b5c6"
}
},
"region": "westus",
"languageId": "en-US"
}
],
"requestedModalities": [ "audio", "video" ]
}
}
]
}
Solicitud
En los ejemplos siguientes se muestra una solicitud.
POST https://graph.microsoft.com/beta/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896/reject
Content-Type: application/json
Content-Length: 24
{
"reason": "none"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Communications.Calls.Item.Reject;
using Microsoft.Graph.Beta.Models;
var requestBody = new RejectPostRequestBody
{
Reason = RejectReason.None,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Communications.Calls["{call-id}"].Reject.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphcommunications "github.com/microsoftgraph/msgraph-beta-sdk-go/communications"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphcommunications.NewRejectPostRequestBody()
reason := graphmodels.NONE_REJECTREASON
requestBody.SetReason(&reason)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Communications().Calls().ByCallId("call-id").Reject().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.communications.calls.item.reject.RejectPostRequestBody rejectPostRequestBody = new com.microsoft.graph.beta.communications.calls.item.reject.RejectPostRequestBody();
rejectPostRequestBody.setReason(RejectReason.None);
graphClient.communications().calls().byCallId("{call-id}").reject().post(rejectPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const reject = {
reason: 'none'
};
await client.api('/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896/reject')
.version('beta')
.post(reject);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Communications\Calls\Item\Reject\RejectPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\RejectReason;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new RejectPostRequestBody();
$requestBody->setReason(new RejectReason('none'));
$graphServiceClient->communications()->calls()->byCallId('call-id')->reject()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.CloudCommunications
$params = @{
reason = "none"
}
Invoke-MgBetaRejectCommunicationCall -CallId $callId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.communications.calls.item.reject.reject_post_request_body import RejectPostRequestBody
from msgraph_beta.generated.models.reject_reason import RejectReason
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = RejectPostRequestBody(
reason = RejectReason.None,
)
await graph_client.communications.calls.by_call_id('call-id').reject.post(request_body)
Respuesta
Los siguientes ejemplos muestran la respuesta.
HTTP/1.1 202 Accepted
Notificación: eliminada
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/57dab8b1-894c-409a-b240-bd8beae78896",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"@odata.id": "/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896"
}
}
]
}