Crear o sobrescribir una instalación
Este método crea o sobrescribe una instalación.
Solicitud
Método | URI de solicitud | Versión de HTTP |
---|---|---|
PUT | https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 |
HTTP/1.1 |
Encabezados de solicitud
En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.
Encabezado de solicitud | Descripción |
---|---|
Content-Type | application/json |
Authorization | Token de SAS generado tal y como se especifica en Autenticación de firma de acceso compartido con Service Bus. |
x-ms-version | 2015-01 |
Cuerpo de la solicitud
En la tabla siguiente se describen las propiedades del cuerpo de la solicitud JSON para las instalaciones:
Nombre | Tipo | Requerido | Solo lectura | Descripción |
---|---|---|---|---|
installationId | String | Sí | No | Cadena de identificador único global |
Identificador de usuario | String | No | No | Cadena personalizada que contiene una combinación de caracteres alfanuméricos y -_@#.:=. Hay una relación de uno a varios entre UserID e Id. de instalación (es decir, un identificador de usuario se puede asociar a varias instalaciones). |
lastActiveOn | String | No | Sí | La fecha en que la instalación fue inactivada por el PNS. |
expirationTime | String | No | Sí | Cadena que contiene la fecha y hora en W3C DTF, AAAA-MM-DDThh:mmTZD (por ejemplo, 1997-07-16T19:20+01:00)) en la que expirará el registro. El valor se puede establecer en el nivel de centro en la creación o actualización y, de forma predeterminada, nunca expira (9999-12-31T23:59:59). |
lastUpdate | String | Se omite al actualizar. Se devuelve al leer. | Sí | Fecha en formato W3C de la última actualización a esta instalación. |
plataforma | String | Sí | No | Puede ser {APNS, WNS, MPNS, ADM, GCM}. |
pushChannel | String | Sí | No | Identificador PNS para esta instalación (si usa WNS y ChannelUri de ApplicationTile). |
expiredPushChannel | Boolean | Se omite al actualizar. Se devuelve al leer. | Sí | Este parámetro es true si el PNS expiró el canal. |
etiquetas | Matriz de cadenas | No | No | Matriz de etiquetas. Las etiquetas son cadenas definidas en las especificaciones del centro. |
Python | Objeto JSON | No | No | Objeto JSON que representa un diccionario de templateNames a la descripción de la plantilla. |
Plantillas. {name} | String | No | No | Objeto JSON que representa una plantilla. |
Plantillas. {name}.body | String | Sí, si la plantilla está presente | No | Plantilla para el cuerpo de la carga de notificación. |
Plantillas. {name}.headers | Objeto JSON | No. Solo puede estar presente si la plataforma es WNS o MPNS. | No | Objeto JSON donde cada propiedad es un nombre de encabezado y un valor es una expresión de plantilla. |
Plantillas. {name}.expiry | String | No. Solo puede estar presente si la plataforma es apns | No | Expresión de plantilla que se evalúa en formato de fecha W3D. |
Plantillas. {name}.tags | Matriz de cadenas | No | No | Matriz de etiquetas para esta plantilla. |
secondaryTiles | Objeto JSON | No. Solo puede estar presente si la plataforma es wns. | No | Objeto JSON que contiene un diccionario de objetos tileId y secondaryTiles. |
secondaryTile. {tileId} | Objeto JSON | No | No | Objeto JSON con propiedades de inserción para iconos secundarios. |
secondaryTile. {tileId}.pushChannel | String | Sí, si tileId está presente | No | ChannelUri para el icono secundario. |
secondaryTile. {tileId}.tags | Matriz de cadenas | No | No | Etiquetas para las notificaciones nativas en el icono secundario. |
secondaryTile. {tileId}.templates | Objeto JSON | No | No | Igual que la propiedad templates, pero para cada icono secundario. |
Tenga en cuenta los siguientes puntos:
- En JSON, el orden de los elementos no es importante.
- El cuerpo de la plantilla debe ser JSON para APNS, GCM, ADM.
- El cuerpo de la plantilla debe ser XML para WNS y MPNS (excepto cuando esté sin procesar).
- Las plantillas para WNS deben incluir el encabezado X-WNS-Type.
- Las plantillas para MPNS deben tener encabezados compatibles, como se describe en Envío de notificaciones push para Windows Phone 8.
A continuación se muestran algunos ejemplos de JSON.
Ejemplo para registrarse con APNS:
{
"installationId": "12234",
"userID": "MyAmazingUser",
"tags": ["foo", "bar"],
"platform": "apns",
"pushChannel": "ABCDEF-123456-…"
}
Nota:
El elemento Tags es opcional.
Ejemplo para registrar de forma nativa con WNS, incluida una plantilla y sin etiquetas:
{
"installationId": "12234",
"userID": "MyAmazingUser",
"platform": "wns",
"pushChannel": "https://db3...",
"templates": {
"myTemplate" : {
body : '<toast><visual lang="en-US"><binding template="ToastTest01"><text id="1">$myTextProp1</text></binding></visual></tile>',
headers: { "X-WNS-Type": "wns/toast" },
"tags": ["foo", "bar"]
}
}
}
Lista de esqueletos de muchos elementos posibles
{
installationId: "",
userID: "",
expirationTime: "",
tags: ["foo", "bar"],
lastUpdate: "",
user: "",
advertisingId: "",
appId: ""
platform: "",
pushChannel: "",
templates: {
"templateName1" : {
body: "",
headers: { "X-WNS-Type": "wns/tile" },
expiration: "",
tags: ["foo", "bar"]
}
}
secondaryTiles: {
"tileId1": {
pushChannel: "",
tags: ["foo", "bar"],
templates: {
"otherTemplate": {
bodyTemplate: "",
headers: { ... },
tags: ["foo"]
}
}
}
}
}
Response
La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.
Códigos de respuesta
Código | Descripción |
---|---|
200 | La instalación se puso en cola correctamente y se procesa en segundo plano. |
400 | No se pudo crear o sobrescribir la instalación porque la solicitud tenía un formato incorrecto. |
401 | Error de autorización. La clave de acceso era incorrecta. |
403 | Demasiadas instalaciones en este espacio de nombres: no se han creado instalaciones. |
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/json |
Content-Location | La ubicación de la instalación en el formato : https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId> |
Response body
Ninguno.
Consulte también
Leer una instalación
Actualización de una instalación por identificador de instalación
Eliminación de una instalación