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.
- Envoyer une notification native APNS
- Envoyer une notification NATIVE GCM
- Envoyer une notification MPNS native
- Envoyer une notification native WNS
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