Enviar lotes diretamente para uma coleção de identificadores de dispositivos
Envia um lote de notificações diretamente para uma coleção de identificadores de dispositivos (um token válido, conforme expresso pelo Tipo de notificação). Esta API está disponível para espaços de nomes do Hub de Notificação de escalão Básico e Standard. Os utilizadores desta API não precisam de utilizar registos ou instalações. Em vez disso, os utilizadores desta API gerem todos os dispositivos por conta própria e utilizam um hub de notificação apenas como um serviço pass-through para comunicar com os vários Serviços de Notificação Push.
Neste momento, o Direct Batch Send suporta até 1000 dispositivos por pedido.
Nota
Continuamos a suportar o Google Cloud Messaging (GCM), desde que a Google o suporte através da sua API legada do Firebase Cloud Messaging (FCM). Esta API ainda não suporta o Firebase Cloud Messaging (FCM).
Pedir
Método | URI do pedido | Versão HTTP |
---|---|---|
POST | https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/$batch?direct&api-version=2015-08 |
HTTP/1.1 |
Cabeçalhos do pedido
A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais.
Cabeçalho do pedido | Descrição |
---|---|
Autorização | Token de SAS gerado conforme especificado em Autenticação de Assinatura de Acesso Partilhado com o Service Bus. Para obter mais informações, consulte Conceitos Comuns. |
Content-Type | multipart/mixed; boundary="boundary-string" A cadeia de limites é utilizada para separar cada parte de acordo com o tipo de conteúdo multipart definido em RFC1341. Cada parte começa com um limite de encapsulamento e, em seguida, contém uma parte do corpo composta por área de cabeçalho, uma linha em branco e uma área do corpo. |
ServiceBusNotification-Format | Defina como um dos seguintes valores de PlatformType válidos: windows , , apple , gcm , windowsphone , adm , nokiax , . baidu |
x-ms-version | 2015-04 (Suportado por 2015-01 e posterior) |
Corpo do pedido
O corpo do pedido é multipart, conforme definido em RFC1341. Cada parte começa com um limite de encapsulamento e, em seguida, contém uma parte do corpo composta por área de cabeçalho, uma linha em branco e uma área do corpo. A ligação em branco não pode conter nenhum espaço em branco. Veja os exemplos de pedido abaixo.
Com base no tipo de plataforma de destino, o formato do corpo de uma peça de notificação será alterado para estar em conformidade com cada plataforma individual, conforme abrangido pelas 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
Os dispositivos que fazem parte do corpo do pedido têm de ser uma matriz JSON das alças do dispositivo que irão receber a notificação.
Exemplos de pedidos
Eis um exemplo 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--
Eis 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--
Segue-se 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 estado HTTP e um conjunto de cabeçalhos de resposta. Nenhum corpo de resposta é devolvido com êxito.
Códigos de resposta
Código | Descrição |
---|---|
201 | Criado. |
400 | Não foi possível localizar uma parte do conteúdo multipart fornecido. |
401 | Falha de autorização. A chave de acesso estava incorreta. |
403 | Quota excedida ou mensagem demasiado grande; a mensagem foi rejeitada. |
404 | Nenhum ramo de mensagem no URI. |
413 | Entidade pedida demasiado grande. O tamanho da mensagem não pode ter mais de 64 Kb. |
Para obter informações sobre códigos de estado, veja Códigos de Estado e Erro.
Cabeçalhos de resposta
Cabeçalho de resposta | Descrição |
---|---|
Content-Type | application/xml; charset=utf-8 |
Localização | Este cabeçalho só está disponível para Hubs de Notificação de escalão Standard. Este cabeçalho irá conter o ID da mensagem de notificação. É utilizado com a Telemetria Por Mensagem: Obter Telemetria de Mensagens de Notificação e correlacionar Comentários PNS. O cabeçalho de localização utiliza o seguinte formato: https://{your namespace}.servicebus.windows.net/{your hub name}/messages/{notification message id}?api-version=2015-04 |
Corpo da resposta
Nenhuma
Consulte também
Envio direto
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