Compartilhar via


Enviar lotes diretamente para uma coleção de identificadores de dispositivo

Envia um lote de notificações diretamente para uma coleção de identificadores de dispositivo (um token válido, conforme expresso pelo tipo de notificação). Essa API está disponível para namespaces do Hub de Notificação da camada Básica e Standard. Os usuários dessa API não precisam usar registros ou instalações. Em vez disso, os usuários dessa API gerenciam todos os dispositivos por conta própria e usam um hub de notificação apenas como um serviço de passagem para se comunicar com os vários Serviços de Notificação por Push.

No momento, o Direct Batch Send dá suporte a até 1000 dispositivos por solicitação.

Observação

Continuamos a dar suporte ao Google Cloud Messaging (GCM), desde que o Google dê suporte a ele por meio da API herdada do Firebase Cloud Messaging (FCM). Essa API ainda não dá suporte ao Firebase Cloud Messaging (FCM).

Solicitação

Método URI da solicitação Versão de HTTP
POST https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/$batch?direct&api-version=2015-08 HTTP/1.1

Cabeçalhos da solicitação

A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais.

Cabeçalho da solicitação Descrição
Autorização Token SAS gerado conforme especificado na Autenticação de Assinatura de Acesso Compartilhado com o Barramento de Serviço. Para saber mais, veja Conceitos comuns.
Tipo de conteúdo multipart/mixed; boundary="boundary-string"

A cadeia de caracteres de limite é usada para separar cada parte de acordo com o tipo de conteúdo de várias partes definido em RFC1341. Cada parte começa com um limite de encapsulamento e, em seguida, contém uma parte do corpo que consiste em área de cabeçalho, uma linha em branco e uma área do corpo.
ServiceBusNotification-Format Defina como um dos seguintes valores PlatformType válidos: windows, , , gcm, windowsphone, adm, , nokiax. baiduapple
x-ms-version 2015-04 (com suporte em 2015-01 e posterior)

Corpo da solicitação

O corpo da solicitação é de várias partes, conforme definido em RFC1341. Cada parte começa com um limite de encapsulamento e, em seguida, contém uma parte do corpo que consiste em área de cabeçalho, uma linha em branco e uma área do corpo. O link em branco não deve conter nenhum espaço em branco. Veja os exemplos de solicitação abaixo.

Com base no tipo de plataforma de destino, o formato do corpo de uma parte de notificação será alterado para estar em conformidade com cada plataforma individual, conforme abordado nas APIs de Envio nativas abaixo.

A parte dos dispositivos do corpo da solicitação deve ser uma matriz JSON dos identificadores de dispositivo que receberão a notificação.

Exemplos de solicitação

Aqui está um exemplo de WNS :

POST https://{namespace}.servicebus.windows.net/{Notification Hub}/messages/$batch?direct&api-version=2015-08 HTTP/1.1
Content-Type: multipart/mixed; boundary = "simple-boundary"
Authorization: SharedAccessSignature sr=https%3a%2f%2f{Namespace}.servicebus.windows.net%2f{Notification Hub}%2fmessages%2f%24batch%3fdirect%26api-version%3d2015-08&sig={Signature}&skn=DefaultFullSharedAccessSignature
ServiceBusNotification-Format: windows
X-WNS-Type: wns/toast
Host: {Namespace}.servicebus.windows.net
Content-Length: 514
Expect: 100-continue
Connection: Keep-Alive


--simple-boundary
Content-type: text/xml
Content-Disposition: inline; name=notification

<toast><visual><binding template="ToastText01"><text id="1">Hello there!</text></binding></visual></toast>
--simple-boundary
Content-type: application/json
Content-Disposition: inline; name=devices

['https://db5.notify.windows.com/?token={Token1}','https://db5.notify.windows.com/?token={Token2}','https://db5.notify.windows.com/?token={Token3}']
--simple-boundary--

Aqui está um exemplo de GCM :

POST https://{Namespace}.servicebus.windows.net/{Notification Hub}/messages/$batch?direct&api-version=2015-08 HTTP/1.1
Content-Type: multipart/mixed; boundary="simple-boundary"
Authorization: SharedAccessSignature sr=https%3a%2f%2f{Namespace}.servicebus.windows.net%2f{Notification Hub}%2fmessages%2f%24batch%3fdirect%26api-version%3d2015-08&sig={Signature}&skn=DefaultFullSharedAccessSignature
ServiceBusNotification-Format: gcm
Host: {Namespace}.servicebus.windows.net
Content-Length: 431
Expect: 100-continue
Connection: Keep-Alive


--simple-boundary
Content-Type: application/json
Content-Disposition: inline; name=notification

{"data":{"message":"Hello via Direct Batch Send!!!"}}
--simple-boundary
Content-Type: application/json
Content-Disposition: inline; name=devices

['Device Token1','Device Token2','Device Token3']
--simple-boundary--

Veja a seguir um exemplo de APNS :

POST https://{Namespace}.servicebus.windows.net/{Notification Hub}/messages/$batch?direct&api-version=2015-08 HTTP/1.1
Content-Type: multipart/mixed; boundary="simple-boundary"
Authorization: SharedAccessSignature sr=https%3a%2f%2f{Namespace}.servicebus.windows.net%2f{Notification Hub}%2fmessages%2f%24batch%3fdirect%26api-version%3d2015-08&sig={Signature}&skn=DefaultFullSharedAccessSignature
ServiceBusNotification-Format: apple
Host: {Namespace}.servicebus.windows.net
Content-Length: 511
Expect: 100-continue
Connection: Keep-Alive


--simple-boundary
Content-Type: application/json
Content-Disposition: inline; name=notification

{"aps":{"alert":"Hello using APNS via Direct Batch Send!!!"}}
--simple-boundary
Content-Type: application/json
Content-Disposition: inline; name=devices

['Device Token1','Device Token2','Device Token3']
--simple-boundary--

Resposta

A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta. Nenhum corpo de resposta é retornado com êxito.

Códigos de resposta

Código Descrição
201 Criado.
400 Não foi possível encontrar uma parte do conteúdo de várias partes fornecido.
401 Falha de autorização. A chave de acesso estava incorreta.
403 Cota excedida ou mensagem muito grande; mensagem foi rejeitada.
404 Nenhum branch de mensagem no URI.
413 Entidade solicitada muito grande. O tamanho da mensagem não pode ter mais de 64 Kb.

Para obter informações sobre status códigos, consulte Códigos de status e erro.

Cabeçalhos de resposta

Cabeçalho de resposta Descrição
Tipo de conteúdo application/xml; charset=utf-8
Location Esse cabeçalho só está disponível para Hubs de Notificação da camada Standard.

Esse cabeçalho conterá a ID da mensagem de notificação. Ele é usado com telemetria por mensagem: obter telemetria de mensagem de notificação e correlacionar comentários PNS. O cabeçalho de localização usa o seguinte formato:

https://{your namespace}.servicebus.windows.net/{your hub name}/messages/{notification message id}?api-version=2015-04

Corpo da resposta

Nenhum

Consulte Também

Envio direto
Enviar uma notificação nativa de APNS
Enviar uma notificação nativa do GCM
Enviar uma notificação nativa do MPNS
Enviar uma notificação nativa do WNS