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 de API de Dispositivo real.
Cuerpo de la solicitud
Anchor link to
NombreTipoDescripción
application*stringCódigo de aplicación de Pushwoosh
push_tokenstringToken push para el dispositivo.
languagestringConfiguración regional 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). Aprender 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 para registrar (usar para usuarios de correo electrónico en lugar de HWID y token push).
tagsobjectValores de etiqueta para asignar al dispositivo registrado.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // optional.
"hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C", // required. Hardware device ID
"idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239", // optional.
"timezone": 3600, // optional. Offset in seconds
"device_type": 1, // required. See the possible values below. For emails,
// use the "emails" params as described below.
"email": "email_address@domain.com", // use instead of "hwid" and "push_token" to register
// the email address for your email project
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional.
"tags": { // optional. Tag values to set for the device registered
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // sets the list of values for Tags of List type
"DateTag": "2024-10-02 22:11", // note the time should be in UTC
"BooleanTag": true // valid values are: true, false
},
// system tags, optionals
"app_version": "1.2.3",
"device_model": "Samsung SM-G355H",
"os_version": "2.3",
// optional encryption keys for chrome/firefox
"public_key": "BNmDO4BTKEMJqaqprTf7t/HBXXXXX/orcXXXXX/scS5CFP6XXXXXHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"auth_token": "RlRmCXXXXX/s7XXXXXjKFzoQ==",
// optional FCM keys for Chrome (for XMPP)
"fcm_token": "BNmDO4BTKEMJXXXXXprTf7t/XXXXXBQ/orXXXXXc/scS5CFP6zhQGIHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"fcm_push_set": "RlXXXXXGM/s7XXXXXjKFzoQ=="
}
}

Posibles tipos de dispositivo:

  • 1 – iOS
  • 3 – Android
  • 7 – Mac OS X
  • 8 – Windows
  • 9 – Amazon
  • 10 – Safari
  • 11 – Chrome
  • 12 – Firefox
  • 13 – Internet Explorer
  • 14 – Email
  • 16 – Baidu Android
  • 17 – Huawei
  • 18 – SMS
  • 20 – Web
  • 21 – WhatsApp
  • 22 – Line
  • 23 – Kakao Talk
  • 24 – Telegram
  • 25 – Apple Wallet
  • 26 – Google Wallet
  • 27 – Viber

Registro de 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", // required. Pushwoosh application code
"email": "email_address@domain.com", // required. Email address to register for your email project
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional.
"tags": { // optional. Tag values to set for the device registered
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // sets the list of values for Tags of List type
"DateTag": "2024-10-02 22:11", // note the time should be in UTC
"BooleanTag": true // valid values are: true, false
}
}
}

Registro de dispositivos de WhatsApp

Anchor link to

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

  • 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 será verificado por Pushwoosh.

  • 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", // required. Pushwoosh application code
"hwid": "whatsapp:+0000000000", // required. WhatsApp prefix and valid phone number
"timezone": 3600, // optional. Time offset in seconds
"device_type": 21, // required. WhatsApp device type is 21
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional. User identifier
"tags": { // optional. Tag values for custom segmentation
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // UTC format
"BooleanTag": true
},
"app_version": "1.2.3", // optional. Application version
"device_model": "Samsung SM-G355H", // optional. Device model
"os_version": "2.3" // optional. Operating system version
}
}

Registro de dispositivos de SMS

Anchor link to

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

  • 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 será verificado por Pushwoosh.

  • 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", // required. Pushwoosh application code
"hwid": "+0000000000", // required. Valid phone number in E.164 format
"timezone": 3600, // optional. Time offset in seconds
"device_type": 18, // required. SMS device type is 18
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional. User identifier
"tags": { // optional. Tag values for custom segmentation
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // UTC format
"BooleanTag": true
},
"app_version": "1.2.3", // optional. Application version
"device_model": "Samsung SM-G355H", // optional. Device model
"os_version": "2.3" // optional. Operating system version
}
}

Códigos de estado:

Código de estado HTTPstatus_codeDescripción
200200Dispositivo registrado con éxito
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 Dispositivos Totales 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 de API de Dispositivo real.
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", // required. Pushwoosh application code
"hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2" // required. Hardware device ID used in /registerDevice API
}
}

Códigos de estado:

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

deleteDevice

Anchor link to

POST https://api.pushwoosh.com/api/v2/device-api/deleteDevice

Elimina un dispositivo y todos sus datos asociados identificados por el HWID especificado dentro de la aplicación. A diferencia de /unregisterDevice, que solo elimina el token push y mantiene el registro del dispositivo, /deleteDevice elimina completamente el dispositivo. La solicitud se procesa de forma asíncrona y el punto final devuelve 200 OK tan pronto como la solicitud de eliminación ha sido aceptada para su procesamiento.

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 de API de Dispositivo real.
Content-Typeapplication/json

Cuerpo de la solicitud

Anchor link to
NombreRequeridoTipoDescripción
applicationstringCódigo de aplicación de Pushwoosh
hwidstringID de dispositivo de hardware del dispositivo a eliminar.

Ejemplo de solicitud

Anchor link to
{
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16df378e7a6bece9614e1530fb2" // required. Hardware device ID of the device to delete
}

Ejemplo de respuesta

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Códigos de estado
Anchor link to
Código de estado HTTPstatus_codeDescripción
200200Solicitud de eliminación aceptada
200210Error de argumento. Vea status_message para más información.
400N/ACadena de solicitud mal formada
401N/AToken de autorización faltante o inválido
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 de API de Dispositivo real.
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", // required. Pushwoosh application code
"hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // required. Hardware device ID used in /registerDevice API
"tags": { // required.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // sets the list of values for Tags of List type
"DateTag": "2024-10-02 22:11", // note the time is in UTC
"BooleanTag": true // valid values are - true, false
}
}
}

Incrementar valores de etiqueta 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", // required. Pushwoosh application code
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. hardware device ID used in /registerDevice API
"tags": { // required.
"Level": { // Tag name
"operation": "increment", // overwrites the integer tag in increments of the following value
"value": 1 // increment for the tag value
}
}
}
}

Decrementar valores de etiqueta de tipo Entero

Anchor link to

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

{
"request":{
"application": "12345-67890", // required. Pushwoosh application code
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. Hardware device ID used in /registerDevice API
"tags": { // required
"Level": { // Tag name
"operation": "increment", // overwrites the integer tag in decrement of the following value
"value": -1 // decrement for the tag value
}
}
}
}

Añadir valores de etiqueta 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", // required. Hardware device ID used in /registerDevice API
"application": "6XXXX-XXXX3", // required. Pushwoosh application code
"tags": { // required.
"ListTag": { // Tag name
"operation": "append", // appends following values to the Tag's list of values
"value": [ // values to append
"tag2",
"tag3"
]
}
}
}
}

Eliminar valores de etiqueta 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", // required. Pushwoosh application code
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. Hardware device ID used in /registerDevice API
"tags": { // required.
"In-App Product": { // Tag name
"operation": "remove", // removes the following values from the list tag
"value": "outwear_02" // value or values to remove
}
}
}
}

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", // Pushwoosh app code
"userId": "some_user", // user ID you'd like to set tags for
"tags": { // tags and values to set
"Language": "es"
}
}
}

Códigos de estado:

Código de estado HTTPstatus_codeDescripción
200200Las etiquetas se han establecido con éxito
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 de API de Dispositivo real.
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", // required. Pushwoosh application code
"hwid": "HWID", // optional. Hardware device ID used in /registerDevice API
"userId": "USER_ID" // optional. Can be used instead of "hwid" to retrieve tags for a specific user
}
}

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 de API de Dispositivo real.
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", // required. Pushwoosh application code
"hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // required. Hardware device ID used in /registerDevice API
"badge": 4 // required. Current badge on the application
}
}

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 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 de API de Dispositivo real.
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", // required. Pushwoosh application code
"hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // required. Hardware device ID used in /registerDevice API
}
}

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 de API de Dispositivo real.
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” de la carga útil del push).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // required. Hardware device ID used in /registerDevice API
"userId": "USER012345", // optional. The user id to associate with the push open event
"hash": "HASH_TAG" // optional. Hash tag received in push notification
// ("p" parameter in the push payload)
}
}

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 de API de Dispositivo real.
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” de la carga útil del push).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // required. Hardware device ID used in /registerDevice API
"hash": "HASH_TAG" // optional. Hash tag received in push notification
// ("p" parameter in the push payload)
}
}