Obtención de telemetría de mensajes de notificación
Esta API proporciona telemetría adicional en los estados terminados de las notificaciones push salientes. Está diseñado para ayudar a supervisar las notificaciones push enviadas desde un centro. El identificador de notificación que usa esta API se puede recuperar del encabezado ubicación HTTP incluido en la respuesta de la API REST que se usa para enviar la notificación.
Esta característica de telemetría por mensaje también está disponible para las notificaciones programadas.
Esta API solo está disponible para centros de notificaciones de nivel Estándar.
Solicitud
Método | URI de solicitud | Versión de HTTP |
---|---|---|
GET | https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/{notification message ID}?api-version=2016-07 |
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. |
x-ms-version | 2016-07 (compatible con 2015-01 o posterior) |
Cuerpo de la solicitud
Ninguno.
Response
La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta. El cuerpo de la respuesta se devuelve correctamente.
Códigos de respuesta
Código | Descripción |
---|---|
200 | La telemetría del mensaje se recuperó correctamente. Los datos de telemetría pueden ser una respuesta parcial, según el número de dispositivos de destino del mensaje de notificación que se envió y hasta dónde ha progresado el mensaje a través de nuestro sistema para su procesamiento. |
400 | No se pudo recuperar la telemetría del mensaje porque la solicitud tenía un formato incorrecto. |
401 | Error de autorización. La clave de acceso era incorrecta. |
403 | Solicitud rechazada porque esta característica no está habilitada para la SKU. Actualice a Estándar. |
404 | La telemetría no existe. Este error puede producirse cuando el identificador de notificación no es válido. |
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 |
Response body
El cuerpo de la respuesta es un documento NotificationDetails que consta de los siguientes elementos:
Elemento | Descripción |
---|---|
NotificationId | Identificador pasado a la solicitud que identifica el mensaje de notificación. |
Location | URI del mensaje |
State | Indica el progreso del mensaje. El estado puede ser uno de los siguientes valores:
|
EnqueueTime | Indica la hora en que se aceptó el mensaje. |
StartTime | Indica cuándo el servicio del centro de notificaciones inició el trabajo en la notificación. |
EndTime | Indica cuándo el servicio del centro de notificaciones ha terminado de funcionar en la notificación. |
NotificationBody | Cuerpo del mensaje de notificación original. |
TargetPlatforms | Indica qué plataformas tiene como destino la notificación. Puede contener los valores siguientes como una cadena delimitada por comas:
|
ApnsOutcomeCounts | Este elemento está presente para las notificaciones enviadas al servicio de notificaciones push de Apple. Contiene una colección de instancias de Outcome. |
MpnsOutcomeCounts | Este elemento está presente para las notificaciones enviadas al servicio de notificaciones push de Microsoft. Contiene una colección de instancias de Outcome. |
WnsOutcomeCounts | Este elemento está presente para las notificaciones enviadas al servicio de notificaciones de Windows. Contiene una colección de instancias de Outcome. |
GcmOutcomeCounts | Este elemento está presente para las notificaciones enviadas a Google Cloud Messaging. Contiene una colección de instancias de Outcome. |
AdmOutcomeCounts | Este elemento está presente para las notificaciones enviadas a Amazon Device Messaging. Contiene una colección de instancias de Outcome. |
Resultado | Una colección de estas instancias compone los recuentos anteriores para cada servicio de notificación de plataforma. Cada resultado puede ser uno de los recuentos con nombre mencionados en la sección Resultados. |
PnsErrorDetailsUri | Requiere Api-Version 2016-07 y versiones posteriores usadas para esta API y la API que envía el mensaje de notificación. Los detalles del error de PNS solo están totalmente disponibles una vez completada la operación de envío asociada. Obtiene el URI de un blob que contiene errores devueltos por cada PNS implicado. Si no se ha notificado ningún error por parte de un PNS, este miembro no se incluye en la respuesta. Puede usar la API de Azure Storage para leer el blob. Para más información, consulte Introducción a Azure Blob Storage mediante .NET o referencia de la API REST de servicios de Azure Storage : posibles errores PNS:
|
Resultados
Nombre | Descripción del recuento |
---|---|
AbandonedNotificationMessages | Recuento de solicitudes de envío al servicio de inserción que se quitaron debido a un tiempo de espera. |
BadChannel | Error en la comunicación con el servicio de inserción porque el canal no era válido. |
ChannelDisconnected | Servicio de inserción desconectado. |
ChannelThrottled | Se denegó el acceso del servicio de inserción debido a la limitación. |
Dropped | El servicio push indica que se quitó el mensaje. |
ExpiredChannel | Error en la comunicación con el servicio de inserción porque el canal expiró. |
InvalidCredentials | Error en las credenciales usadas para autenticarse en el servicio de inserción. |
InvalidNotificationSize | La solicitud de inserción es demasiado grande. |
NoTargets | Recuento de solicitudes a las que no se ha encontrado nada que enviar. |
PnsInterfaceError | Error de comunicación del contrato de servicio de inserción. |
PnsServerError | El servicio de inserción indicó que se produjo un error en su lado. |
PnsUnavailable | El servicio de inserción no está disponible. |
PnsUnreachable | El servicio de inserción no responde. |
Omitido | Recuento de registros duplicados (se encontró el mismo identificador de PNS, identificador de registro diferente). |
Correcto | Envió correctamente la solicitud a algún número de dispositivos. |
Limitado | Se denegó el acceso del servicio de inserción debido a la limitación. |
UnknownError | Se produjo un error desconocido. |
WrongToken | El identificador PNS no lo reconoció el PNS como identificador válido. |
Este es un ejemplo de telemetría desde el envío de una notificación a WNS:
<NotificationDetails xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<NotificationId>{Your message id}</NotificationId>
<Location>sb://{Your namespace}.servicebus.windows.net/{your hub name}/messages/{your message id}?api-version=2015-04</Location>
<State>Completed</State>
<EnqueueTime>2015-11-02T21:19:43Z</EnqueueTime>
<StartTime>2015-11-02T21:19:43.9926996Z</StartTime>
<EndTime>2015-11-02T21:19:43.9926996Z</EndTime>
<NotificationBody><?xml version="1.0" encoding="utf-16"?><toast><visual><binding template="ToastText01"><text id="1">Hello from a .NET App!</text></binding></visual></toast></NotificationBody>
<TargetPlatforms>windows</TargetPlatforms>
<WnsOutcomeCounts>
<Outcome>
<Name>Success</Name>
<Count>3</Count>
</Outcome>
<Outcome>
<Name>WrongToken</Name>
<Count>1</Count>
</Outcome>
</WnsOutcomeCounts>
<PnsErrorDetailsUri>{Blob uri}</PnsErrorDetailsUri>
</NotificationDetails>
Consulte también
Envío de una notificación de plantilla
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