Saltar al contenido

API de Dispositivo

registerDevice

Anchor link to

POST https://api.pushwoosh.com/json/1.3/registerDevice

Llamado internamente desde el SDK. Registra el dispositivo para la aplicación.

Encabezados de la solicitud
Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivo. Reemplace XXXX con su token real de la API de Dispositivo.
Cuerpo de la solicitud
Anchor link to
NombreTipoDescripción
application*stringCódigo de aplicación de Pushwoosh
push_tokenstringToken push para el dispositivo.
languagestringLocalización de idioma del dispositivo. Debe ser un código de dos letras en minúsculas según el estándar ISO-639-1.
hwid*stringCadena única para identificar el dispositivo (IDFV en iOS, valor generado aleatoriamente en Android). Aprenda más
timezoneintegerDesplazamiento de la zona horaria en segundos para el dispositivo.
device_type*integerTipo de dispositivo. Vea los valores posibles a continuación.
emailstringDirección de correo electrónico a registrar (usar para usuarios de correo electrónico en lugar de HWID y token push).
tagsobjectValores de etiquetas para asignar al dispositivo registrado.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request": {
"application": "XXXXX-XXXXX", // requerido. Código de aplicación de Pushwoosh
"push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // opcional.
"hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C", // requerido. ID de dispositivo de hardware
"idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239", // opcional.
"timezone": 3600, // opcional. Desplazamiento en segundos
"device_type": 1, // requerido. Vea los valores posibles a continuación. Para correos electrónicos,
// use los parámetros "emails" como se describe a continuación.
"email": "email_address@domain.com", // usar en lugar de "hwid" y "push_token" para registrar
// la dirección de correo electrónico para su proyecto de correo electrónico
"language": "en", // opcional. Código de idioma ISO 639-1|639-2
"userId": "Alex", // opcional.
"tags": { // opcional. Valores de etiquetas para establecer para el dispositivo registrado
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // establece la lista de valores para Etiquetas de tipo Lista
"DateTag": "2024-10-02 22:11", // tenga en cuenta que la hora debe estar en UTC
"BooleanTag": true // los valores válidos son: true, false
},
// etiquetas del sistema, opcionales
"app_version": "1.2.3",
"device_model": "Samsung SM-G355H",
"os_version": "2.3",
// claves de cifrado opcionales para chrome/firefox
"public_key": "BNmDO4BTKEMJqaqprTf7t/HBXXXXX/orcXXXXX/scS5CFP6XXXXXHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"auth_token": "RlRmCXXXXX/s7XXXXXjKFzoQ==",
// claves FCM opcionales para Chrome (para XMPP)
"fcm_token": "BNmDO4BTKEMJXXXXXprTf7t/XXXXXBQ/orXXXXXc/scS5CFP6zhQGIHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"fcm_push_set": "RlXXXXXGM/s7XXXXXjKFzoQ=="
}
}

Tipos de dispositivo posibles:

  • 1 – iOS
  • 3 – Android
  • 7 – Mac OS X
  • 8 – Windows
  • 9 – Amazon
  • 10 – Safari
  • 11 – Chrome
  • 12 – Firefox
  • 14 – Correo electrónico
  • 17 – Huawei
  • 18 – SMS
  • 21 – WhatsApp

Registrar dispositivos de correo electrónico

Anchor link to

Para registrar un suscriptor de correo electrónico para su aplicación, envíe el parámetro "email": "email_address@domain.com" en su solicitud /registerDevice o /registerEmail de la siguiente manera:

Ejemplo de solicitud
Anchor link to
{
"request":{
"application": "XXXXX-XXXXX", // requerido. Código de aplicación de Pushwoosh
"email": "email_address@domain.com", // requerido. Dirección de correo electrónico a registrar para su proyecto de correo electrónico
"language": "en", // opcional. Código de idioma ISO 639-1|639-2
"userId": "Alex", // opcional.
"tags": { // opcional. Valores de etiquetas para establecer para el dispositivo registrado
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // establece la lista de valores para Etiquetas de tipo Lista
"DateTag": "2024-10-02 22:11", // tenga en cuenta que la hora debe estar en UTC
"BooleanTag": true // los valores válidos son: true, false
}
}
}

Registrar dispositivos de WhatsApp

Anchor link to

Para registrar un dispositivo de WhatsApp para su aplicación, siga estas directrices:

  • hwid: Asegúrese de que este campo incluya el prefijo whatsapp: seguido del número de teléfono en formato E.164 (p. ej., whatsapp:+0000000000). El número de teléfono debe ser válido, lo cual Pushwoosh verificará.

  • Token push: No se requiere un token push, ya que el hwid funcionará automáticamente como el token push.

  • device_type: Establezca este campo en 21 para especificar WhatsApp como la plataforma.

Ejemplo de solicitud
Anchor link to
{
"request": {
"application": "XXXXX-XXXXX", // requerido. Código de aplicación de Pushwoosh
"hwid": "whatsapp:+0000000000", // requerido. Prefijo de WhatsApp y número de teléfono válido
"timezone": 3600, // opcional. Desplazamiento de tiempo en segundos
"device_type": 21, // requerido. El tipo de dispositivo de WhatsApp es 21
"language": "en", // opcional. Código de idioma ISO 639-1|639-2
"userId": "Alex", // opcional. Identificador de usuario
"tags": { // opcional. Valores de etiquetas para segmentación personalizada
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // formato UTC
"BooleanTag": true
},
"app_version": "1.2.3", // opcional. Versión de la aplicación
"device_model": "Samsung SM-G355H", // opcional. Modelo del dispositivo
"os_version": "2.3" // opcional. Versión del sistema operativo
}
}

Registrar dispositivos de SMS

Anchor link to

Para registrar un dispositivo de SMS para su aplicación, siga estas directrices:

  • hwid: Asegúrese de que este campo incluya el número de teléfono en formato E.164 (p. ej., +0000000000). El número de teléfono debe ser válido, lo cual Pushwoosh verificará.

  • Token push: No se requiere un token push, ya que el hwid funcionará automáticamente como el token push.

  • device_type: Establezca este campo requerido en 18 para designar SMS como la plataforma.

Ejemplo de solicitud
Anchor link to
{
"request": {
"application": "XXXXX-XXXXX", // requerido. Código de aplicación de Pushwoosh
"hwid": "+0000000000", // requerido. Número de teléfono válido en formato E.164
"timezone": 3600, // opcional. Desplazamiento de tiempo en segundos
"device_type": 18, // requerido. El tipo de dispositivo de SMS es 18
"language": "en", // opcional. Código de idioma ISO 639-1|639-2
"userId": "Alex", // opcional. Identificador de usuario
"tags": { // opcional. Valores de etiquetas para segmentación personalizada
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // formato UTC
"BooleanTag": true
},
"app_version": "1.2.3", // opcional. Versión de la aplicación
"device_model": "Samsung SM-G355H", // opcional. Modelo del dispositivo
"os_version": "2.3" // opcional. Versión del sistema operativo
}
}

Códigos de estado:

Código de estado HTTPstatus_codeDescripción
200200Dispositivo registrado exitosamente
200210Error de argumento. Vea status_message para más información.
400N/ACadena de solicitud mal formada
500500Error interno

unregisterDevice

Anchor link to

POST https://api.pushwoosh.com/json/1.3/unregisterDevice

Elimina el token push del dispositivo. El dispositivo no registrado todavía se cuenta en Total de Dispositivos y puede ser alcanzado con In-Apps. Llamado internamente desde el SDK.

Encabezados de la solicitud
Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivo. Reemplace XXXX con su token real de la API de Dispositivo.
Cuerpo de la solicitud
Anchor link to
NombreTipoDescripción
application*stringCódigo de aplicación de Pushwoosh
hwid*stringID de dispositivo de hardware usado en la solicitud /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request": {
"application": "XXXXX-XXXXX", // requerido. Código de aplicación de Pushwoosh
"hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2" // requerido. ID de dispositivo de hardware usado en la API /registerDevice
}
}

Códigos de estado:

Código de estado HTTPstatus_codeDescripción
200200Dispositivo desuscrito exitosamente
200210Error de argumento. Vea status_message para más información.
400N/ACadena de solicitud mal formada
500500Error interno

POST https://api.pushwoosh.com/json/1.3/setTags

Establece los valores de las etiquetas para el dispositivo. Llamado desde el SDK.

Encabezados de la solicitud
Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivo. Reemplace XXXX con su token real de la API de Dispositivo.
Cuerpo de la solicitud
Anchor link to
NombreTipoDescripción
application*stringCódigo de aplicación de Pushwoosh
hwid*stringID de dispositivo de hardware usado en la solicitud /registerDevice.
tags*objectObjeto JSON de etiquetas a establecer, envíe “null” para eliminar el valor.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request":{
"application": "XXXXX-XXXXX", // requerido. Código de aplicación de Pushwoosh
"hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // requerido. ID de dispositivo de hardware usado en la API /registerDevice
"tags": { // requerido.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // establece la lista de valores para Etiquetas de tipo Lista
"DateTag": "2024-10-02 22:11", // tenga en cuenta que la hora está en UTC
"BooleanTag": true // los valores válidos son - true, false
}
}
}

Incrementar valores de etiquetas de tipo Entero

Anchor link to

Para incrementar un valor de la Etiqueta de tipo Entero, use el parámetro operation con el valor “increment” de la siguiente manera:

{
"request":{
"application": "12345-67890", // requerido. Código de aplicación de Pushwoosh
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // requerido. ID de dispositivo de hardware usado en la API /registerDevice
"tags": { // requerido.
"Level": { // Nombre de la etiqueta
"operation": "increment", // sobrescribe la etiqueta de tipo entero en incrementos del siguiente valor
"value": 1 // incremento para el valor de la etiqueta
}
}
}
}

Decrementar valores de etiquetas de tipo Entero

Anchor link to

Para decrementar, use los números negativos como valor para la operación “increment” (-1, -2, -3,-n):

{
"request":{
"application": "12345-67890", // requerido. Código de aplicación de Pushwoosh
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // requerido. ID de dispositivo de hardware usado en la API /registerDevice
"tags": { // requerido
"Level": { // Nombre de la etiqueta
"operation": "increment", // sobrescribe la etiqueta de tipo entero en decrementos del siguiente valor
"value": -1 // decremento para el valor de la etiqueta
}
}
}
}

Anexar valores de etiquetas de tipo Lista

Anchor link to

Para extender la Etiqueta de tipo Lista con nuevos valores, use el parámetro operation con el valor “append” de la siguiente manera:

Ejemplo
{
"request": {
"hwid": "3d124a79XXXXf189XXXX7dfd9XXXXafd", // requerido. ID de dispositivo de hardware usado en la API /registerDevice
"application": "6XXXX-XXXX3", // requerido. Código de aplicación de Pushwoosh
"tags": { // requerido.
"ListTag": { // Nombre de la etiqueta
"operation": "append", // anexa los siguientes valores a la lista de valores de la Etiqueta
"value": [ // valores a anexar
"tag2",
"tag3"
]
}
}
}
}

Eliminar valores de etiquetas de tipo Lista

Anchor link to

Para eliminar algunos valores de la Etiqueta de tipo Lista, use la operación “remove” de la siguiente manera:

{
"request":{
"application": "12345-67890", // requerido. Código de aplicación de Pushwoosh
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // requerido. ID de dispositivo de hardware usado en la API /registerDevice
"tags": { // requerido.
"In-App Product": { // Nombre de la etiqueta
"operation": "remove", // elimina los siguientes valores de la etiqueta de lista
"value": "outwear_02" // valor o valores a eliminar
}
}
}
}

Establecer etiquetas por UserID

Anchor link to

Para establecer etiquetas para todos los dispositivos asociados a un ID de Usuario particular, use el parámetro “userId” en lugar de “hwid”.

Ejemplo
{
"request":{
"application": "AAAAA-BBBBB", // Código de aplicación de Pushwoosh
"userId": "some_user", // ID de usuario para el que desea establecer etiquetas
"tags": { // etiquetas y valores a establecer
"Language": "es"
}
}
}

Códigos de estado:

Código de estado HTTPstatus_codeDescripción
200200Las etiquetas se han establecido exitosamente
200210Error de argumento. Vea status_message para más información.
400N/ACadena de solicitud mal formada
500500Error interno

POST https://api.pushwoosh.com/json/1.3/getTags

Recupera una lista de etiquetas con los valores correspondientes para el dispositivo específico.

Encabezados de la solicitud
Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivo. Reemplace XXXX con su token real de la API de Dispositivo.
Cuerpo de la solicitud
Anchor link to
NombreTipoDescripción
application*stringCódigo de aplicación de Pushwoosh
userIdstringID de Usuario para ser usado en lugar de “hwid”. Si se usa junto con un “hwid”, el “hwid” prevalece.
hwidstringID de dispositivo de hardware usado en la solicitud /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": {
"Language": "fr"
}
}
}
Ejemplo
{
"request":{
"application": "XXXXX-XXXXX", // requerido. Código de aplicación de Pushwoosh
"hwid": "HWID", // opcional. ID de dispositivo de hardware usado en la API /registerDevice
"userId": "USER_ID" // opcional. Puede ser usado en lugar de "hwid" para recuperar etiquetas para un usuario específico
}
}

POST https://api.pushwoosh.com/json/1.3/setBadge

Envía el valor actual del badge para un dispositivo a Pushwoosh. Llamado internamente desde el SDK.

Encabezados de la solicitud
Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivo. Reemplace XXXX con su token real de la API de Dispositivo.
Cuerpo de la solicitud
Anchor link to
NombreTipoDescripción
application*stringCódigo de aplicación de Pushwoosh
hwid*stringID de dispositivo de hardware usado en la solicitud /registerDevice.
badge*integerBadge actual en la aplicación.
{
"status_code": 200,
"status_message": "OK"
}
Ejemplo
{
"request":{
"application": "XXXXX-XXXXX", // requerido. Código de aplicación de Pushwoosh
"hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // requerido. ID de dispositivo de hardware usado en la API /registerDevice
"badge": 4 // requerido. Badge actual en la aplicación
}
}

Llamado desde el SDK internamente. Envía el valor actual del badge para un dispositivo a Pushwoosh. Esto sucede internamente cuando la aplicación cambia el valor del badge en un dispositivo iOS. Permite que los badges autoincrementables funcionen correctamente.

applicationOpen

Anchor link to

POST https://api.pushwoosh.com/json/1.3/applicationOpen

Registra un evento de apertura de la aplicación. Llamado internamente desde el SDK.

Encabezados de la solicitud
Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivo. Reemplace XXXX con su token real de la API de Dispositivo.
Cuerpo de la solicitud
Anchor link to
NombreTipoDescripción
application*stringCódigo de aplicación de Pushwoosh
hwid*stringID de dispositivo de hardware usado en la solicitud /registerDevice.
{
"status_code": 200,
"status_message": "OK"
}
Ejemplo
{
"request": {
"application": "XXXXX-XXXXX", // requerido. Código de aplicación de Pushwoosh
"hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // requerido. ID de dispositivo de hardware usado en la API /registerDevice
}
}

POST https://api.pushwoosh.com/json/1.3/pushStat

Registra un evento de apertura de push. Llamado internamente desde el SDK.

Encabezados de la solicitud
Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivo. Reemplace XXXX con su token real de la API de Dispositivo.
Cuerpo de la solicitud
Anchor link to
NombreTipoDescripción
application*stringCódigo de aplicación de Pushwoosh
hwid*stringID de dispositivo de hardware usado en la solicitud /registerDevice.
userIdstringID de Usuario para asociar con el evento de apertura de push.
hashstringEtiqueta hash recibida en la notificación push (parámetro “p” del payload del push).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request": {
"application": "XXXXX-XXXXX", // requerido. Código de aplicación de Pushwoosh
"hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // requerido. ID de dispositivo de hardware usado en la API /registerDevice
"userId": "USER012345", // opcional. El id de usuario para asociar con el evento de apertura de push
"hash": "HASH_TAG" // opcional. Etiqueta hash recibida en la notificación push
// (parámetro "p" en el payload del push)
}
}

messageDeliveryEvent

Anchor link to

POST https://api.pushwoosh.com/json/1.3/messageDeliveryEvent

Registra el evento de entrega de push para el dispositivo. Llamado internamente desde el SDK.

Encabezados de la solicitud
Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivo. Reemplace XXXX con su token real de la API de Dispositivo.
Cuerpo de la solicitud
Anchor link to
NombreTipoDescripción
application*stringCódigo de aplicación de Pushwoosh
hwid*stringID de dispositivo de hardware usado en la solicitud /registerDevice.
hashstringEtiqueta hash recibida en la notificación push (parámetro “p” del payload del push).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request": {
"application": "XXXXX-XXXXX", // requerido. Código de aplicación de Pushwoosh
"hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // requerido. ID de dispositivo de hardware usado en la API /registerDevice
"hash": "HASH_TAG" // opcional. Etiqueta hash recibida en la notificación push
// (parámetro "p" en el payload del push)
}
}