Compartir a través de


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, windowsphonegcm, 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.

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