Envío de lotes directamente a una colección de identificadores de dispositivo
Envía un lote de notificaciones directamente a una colección de identificadores de dispositivo (un token válido expresado por el tipo de notificación). Esta API está disponible para los espacios de nombres básico y estándar del Centro de notificaciones de nivel estándar. Los usuarios de esta API no necesitan usar registros ni instalaciones. En su lugar, los usuarios de esta API administran todos los dispositivos por sí mismos y usan un centro de notificaciones únicamente como un servicio de paso a través para comunicarse con los distintos servicios de notificaciones push.
En este momento, Direct Batch Send admite hasta 1000 dispositivos por solicitud.
Nota:
Seguimos admitiendo Google Cloud Messaging (GCM) siempre que Google lo admita a través de su API heredada Firebase Cloud Messaging (FCM). Esta API aún no admite Firebase Cloud Messaging (FCM).
Solicitud
Método | URI de solicitud | Versión HTTP |
---|---|---|
POST | https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/$batch?direct&api-version=2015-08 |
HTTP/1.1 |
Encabezados de solicitud
En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.
Encabezado de solicitud | Descripción |
---|---|
Authorization | Token de SAS generado tal y como se especifica en Autenticación de firma de acceso compartido con Service Bus. Para más información, vea Conceptos comunes. |
Content-Type | multipart/mixed; boundary="boundary-string" La cadena de límite se usa para separar cada parte según el tipo de contenido de varias partes definido en RFC1341. Cada parte comienza con un límite de encapsulación y, a continuación, contiene una parte del cuerpo que consta del área de encabezado, una línea en blanco y un área del cuerpo. |
ServiceBusNotification-Format | Establezca en uno de los siguientes valores válidos de PlatformType: windows , apple , windowsphone gcm , adm , , nokiax , . baidu |
x-ms-version | 2015-04 (compatible con 2015-01 y versiones posteriores) |
Cuerpo de la solicitud
El cuerpo de la solicitud es de varias partes, tal como se define en RFC1341. Cada parte comienza con un límite de encapsulación y, a continuación, contiene una parte del cuerpo que consta del área de encabezado, una línea en blanco y un área del cuerpo. El vínculo en blanco no debe contener ningún espacio en blanco. Consulte los ejemplos de solicitudes siguientes.
En función del tipo de plataforma de destino, el formato del cuerpo de un elemento de notificación cambiará para que sea compatible con cada plataforma individual, tal como se describe en las API de envío nativas siguientes.
- Envío de notificaciones nativas de APNS
- Envío de una notificación nativa de GCM
- Envío de notificaciones nativas de MPNS
- Envío de una notificación nativa de WNS
La parte de dispositivos del cuerpo de la solicitud debe ser una matriz JSON de los identificadores de dispositivo que recibirán la notificación.
Ejemplos de solicitud
Este es un ejemplo 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--
Este es un ejemplo 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--
A continuación se muestra un ejemplo 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--
Response
La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta. No se devuelve ningún cuerpo de respuesta si se ejecuta correctamente.
Códigos de respuesta
Código | Descripción |
---|---|
201 | Creado. |
400 | No se pudo encontrar una parte del contenido de varias partes proporcionado. |
401 | Error de autorización. La clave de acceso era incorrecta. |
403 | Cuota superada o mensaje demasiado grande; mensaje rechazado. |
404 | No hay ramificación de mensaje en el URI. |
413 | Entidad solicitada demasiado grande. El tamaño del mensaje no puede ser superior a 64 Kb. |
Para obtener información sobre los códigos de estado, vea Códigos de estado y error.
Encabezados de respuesta
Encabezado de respuesta | Descripción |
---|---|
Content-Type | application/xml; charset=utf-8 |
Location | Este encabezado solo está disponible para Notification Hubs de nivel Estándar. Este encabezado contendrá el identificador del mensaje de notificación. Se usa con telemetría por mensaje: obtener telemetría de mensajes de notificación y correlacionar comentarios de PNS. El encabezado de ubicación usa el siguiente formato: https://{your namespace}.servicebus.windows.net/{your hub name}/messages/{notification message id}?api-version=2015-04 |
Response body
None
Consulte también
Envío directo
Envío de una notificación nativa de APNS
Envío de una notificación nativa de GCM
Envío de una notificación nativa de MPNS
Envío de una notificación nativa de WNS