participante: startHoldMusic
-
Artigo
-
- 3 minutos para o fim da leitura
-
Namespace: microsoft.graph
Coloque um participante em espera e toque música em segundo plano.
Observação: Somente um participante pode ser colocado em espera a qualquer momento.
Permissions
Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.
| Tipo de permissão |
Permissões (da com menos para a com mais privilégios) |
| Delegado (conta corporativa ou de estudante) |
Sem suporte. |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
| Aplicativo |
Calls.JoinGroupCallsasGuest.All ou Calls.JoinGroupCalls.All |
Solicitação HTTP
POST /communications/calls/{id}/participants/{id}/startHoldMusic
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. |
| 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 |
| customPrompt |
microsoft.graph.mediaPrompt |
Opcional. Prompt de áudio que o participante ouvirá quando colocado em espera. |
| clientContext |
String |
Opcional. Cadeia de caracteres de contexto de cliente exclusiva. Pode ter no máximo 256 caracteres. |
Resposta
Se tiver êxito, este método retornará um 202 Accepted código de resposta e um objeto startHoldMusicOperation no corpo da resposta.
Exemplo
O exemplo a seguir mostra como chamar essa API.
Solicitação
Veja a seguir um exemplo de uma solicitação.
POST https://graph.microsoft.com/v1.0/communications/calls/e141b67c-90fd-455d-858b-b48a40b9cc8d/participants/fa1e9582-7145-4ca3-bcd8-577f561fcb6e/startHoldMusic
Content-type: application/json
{
"customPrompt": {
"@odata.type": "#microsoft.graph.mediaPrompt",
"mediaInfo": {
"@odata.type": "#microsoft.graph.mediaInfo",
"uri": "https://bot.contoso.com/onHold.wav",
},
},
"clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var customPrompt = new MediaPrompt
{
MediaInfo = new MediaInfo
{
Uri = "https://bot.contoso.com/onHold.wav"
}
};
var clientContext = "d45324c1-fcb5-430a-902c-f20af696537c";
await graphClient.Communications.Calls["{call-id}"].Participants["{participant-id}"]
.StartHoldMusic(customPrompt,clientContext)
.Request()
.PostAsync();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const startHoldMusicOperation = {
customPrompt: {
'@odata.type': '#microsoft.graph.mediaPrompt',
mediaInfo: {
'@odata.type': '#microsoft.graph.mediaInfo',
uri: 'https://bot.contoso.com/onHold.wav',
},
},
clientContext: 'd45324c1-fcb5-430a-902c-f20af696537c',
};
await client.api('/communications/calls/e141b67c-90fd-455d-858b-b48a40b9cc8d/participants/fa1e9582-7145-4ca3-bcd8-577f561fcb6e/startHoldMusic')
.post(startHoldMusicOperation);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/communications/calls/e141b67c-90fd-455d-858b-b48a40b9cc8d/participants/fa1e9582-7145-4ca3-bcd8-577f561fcb6e/startHoldMusic"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
MSGraphPrompt *customPrompt = [[MSGraphPrompt alloc] init];
MSGraphMediaInfo *mediaInfo = [[MSGraphMediaInfo alloc] init];
[mediaInfo setUri:@"https://bot.contoso.com/onHold.wav"];
[customPrompt setMediaInfo:mediaInfo];
payloadDictionary[@"customPrompt"] = customPrompt;
NSString *clientContext = @"d45324c1-fcb5-430a-902c-f20af696537c";
payloadDictionary[@"clientContext"] = clientContext;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
MediaPrompt customMediaPrompt = new MediaPrompt();
MediaInfo mediaInfo = new MediaInfo();
mediaInfo.uri = "https://bot.contoso.com/onHold.wav";
customPrompt.mediaInfo = mediaInfo;
String clientContext = "d45324c1-fcb5-430a-902c-f20af696537c";
graphClient.communications().calls("e141b67c-90fd-455d-858b-b48a40b9cc8d").participants("fa1e9582-7145-4ca3-bcd8-577f561fcb6e")
.startHoldMusic(ParticipantStartHoldMusicParameterSet
.newBuilder()
.withCustomPrompt(customPrompt)
.withClientContext(clientContext)
.build())
.buildRequest()
.post();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
customPrompt := msgraphsdk.NewPrompt()
requestBody.SetCustomPrompt(customPrompt)
customPrompt.SetAdditionalData(map[string]interface{}{
"@odata.type": "#microsoft.graph.mediaPrompt",
}
clientContext := "d45324c1-fcb5-430a-902c-f20af696537c"
requestBody.SetClientContext(&clientContext)
callId := "call-id"
participantId := "participant-id"
result, err := graphClient.Communications().CallsById(&callId).ParticipantsById(&participantId).StartHoldMusic(call-id, participant-id).Post(requestBody)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.
Import-Module Microsoft.Graph.CloudCommunications
$params = @{
CustomPrompt = @{
"@odata.type" = "#microsoft.graph.mediaPrompt"
MediaInfo = @{
"@odata.type" = "#microsoft.graph.mediaInfo"
Uri = "https://bot.contoso.com/onHold.wav"
}
}
ClientContext = "d45324c1-fcb5-430a-902c-f20af696537c"
}
Start-MgCommunicationCallParticipantHoldMusic -CallId $callId -ParticipantId $participantId -BodyParameter $params
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.
Resposta
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 202 Accepted
Location: https://graph.microsoft.com/v1.0/communications/calls/e141b67c-90fd-455d-858b-b48a40b9cc8d/operations/0fe0623f-d628-42ed-b4bd-8ac290072cc5
{
"@odata.type": "#microsoft.graph.startHoldMusicOperation",
"id": "0fe0623f-d628-42ed-b4bd-8ac290072cc5",
"status": "running",
"clientContext": "d45324c1-fcb5-430a-902c-f20af696537c"
}
Notificação enviada ao aplicativo após a finalização do startHoldMusicOperation
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/e141b67c-90fd-455d-858b-b48a40b9cc8d/operations/0fe0623f-d628-42ed-b4bd-8ac290072cc5",
"resourceData": {
"@odata.type": "#microsoft.graph.startHoldMusicOperation",
"@odata.id": "communications/calls/e141b67c-90fd-455d-858b-b48a40b9cc8d/operations/0fe0623f-d628-42ed-b4bd-8ac290072cc5",
"@odata.etag": "W/\"54451\"",
"clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
"status": "completed"
}
}
]
}