Compartir a través de


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 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 La fecha en que la instalación fue inactivada por el PNS.
expirationTime String No 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. Fecha en formato W3C de la última actualización a esta instalación.
plataforma String No Puede ser {APNS, WNS, MPNS, ADM, GCM}.
pushChannel String No Identificador PNS para esta instalación (si usa WNS y ChannelUri de ApplicationTile).
expiredPushChannel Boolean Se omite al actualizar. Se devuelve al leer. 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