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 . baidu apple |
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.
- Enviar uma notificação nativa do APNS
- Enviar uma notificação nativa do GCM
- Enviar uma notificação nativa do MPNS
- Enviar uma notificação nativa do WNS
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