Partager via


Envoyer des lots directement à une collection de handles d’appareil

Envoie un lot de notifications directement à une collection de handles d’appareil (jeton valide tel qu’exprimé par le type de notification). Cette API est disponible pour les espaces de noms De base et Standard Notification Hub. Les utilisateurs de cette API n’ont pas besoin d’utiliser des inscriptions ou des installations. Au lieu de cela, les utilisateurs de cette API gèrent tous les appareils par eux-mêmes et utilisent un hub de notification uniquement en tant que service direct pour communiquer avec les différents services de notification Push.

À l’heure actuelle, Direct Batch Send prend en charge jusqu’à 1 000 appareils par demande.

Notes

Nous continuons à prendre en charge Google Cloud Messaging (GCM) tant que Google le prend en charge via son API héritée Firebase Cloud Messaging (FCM). Cette API ne prend pas encore en charge Firebase Cloud Messaging (FCM).

Requête

Méthode URI de demande Version HTTP
POST https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/$batch?direct&api-version=2015-08 HTTP/1.1

En-têtes de requête

Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.

En-tête de requête Description
Autorisation Jeton SAP généré comme spécifié dans Authentification par signature d’accès partagé avec Service Bus. Pour plus d’informations, consultez la page Concepts courants.
Content-Type multipart/mixed; boundary="boundary-string"

La chaîne de limite est utilisée pour séparer chaque partie en fonction du type de contenu multipart défini dans RFC1341. Chaque partie commence par une limite d’encapsulation, puis contient une partie de corps composée d’une zone d’en-tête, d’une ligne vide et d’une zone de corps.
ServiceBusNotification-Format Définissez sur l’une des valeurs PlatformType valides suivantes : windows, apple, gcm, windowsphone, adm, , nokiax. baidu
x-ms-version 2015-04 (pris en charge par 2015-01 et versions ultérieures)

Corps de la demande

Le corps de la requête est en plusieurs parties, comme défini dans la RFC1341. Chaque partie commence par une limite d’encapsulation, puis contient une partie de corps composée d’une zone d’en-tête, d’une ligne vide et d’une zone de corps. Le lien vide ne doit pas contenir d’espace blanc. Consultez les exemples de requête ci-dessous.

En fonction du type de plateforme cible, le format de corps d’un composant de notification est modifié pour être conforme à chaque plateforme individuelle, comme décrit dans les API d’envoi natives ci-dessous.

Les appareils faisant partie du corps de la demande doivent être un tableau JSON des handles d’appareil qui recevront la notification.

Exemples de demande

Voici un exemple 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--

Voici un exemple 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--

Voici un exemple 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--

response

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse. Aucun corps de réponse n’est retourné en cas de réussite.

Codes de réponse

Code Description
201 Créé.
400 Impossible de trouver une partie du contenu multipart fourni.
401 Échec de l'autorisation. La clé d’accès était incorrecte.
403 Quota dépassé ou message trop important ; message a été rejeté.
404 Aucune branche de message au niveau de l’URI.
413 Entité demandée trop grande. La taille du message ne peut pas dépasser 64 Ko.

Pour plus d’informations sur les codes status, consultez Codes d’état et d’erreur.

En-têtes de réponse

En-tête de réponse Description
Content-Type application/xml ; charset=utf-8
Emplacement Cet en-tête est uniquement disponible pour les hubs de notification de niveau Standard.

Cet en-tête contient l’ID du message de notification. Il est utilisé avec La télémétrie par message : obtenir la télémétrie du message de notification et corréliser les commentaires PNS. L’en-tête d’emplacement utilise le format suivant :

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

Response body

None

Voir aussi

Envoi direct
Envoyer une notification native APNS
Envoyer une notification native GCM
Envoyer une notification native MPNS
Envoyer une notification native WNS