Saltar al contenido

API de Dispositivos

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 API de Dispositivo para acceder a la API de Dispositivos. 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). Más información
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 – Correo electrónico
  • 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 directrices:

  • hwid: Asegúrese de que este campo incluya el prefijo whatsapp: seguido del número de teléfono en formato E.164 (por ejemplo, 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", // 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 SMS

Anchor link to

Para registrar un dispositivo 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 (por ejemplo, +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", // 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 Total Devices y se puede contactar con In-Apps. Llamado internamente desde el SDK.

Encabezados de la solicitud
Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de API de Dispositivo para acceder a la API de Dispositivos. 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 utilizado 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 dado de baja 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 endpoint 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 API de Dispositivo para acceder a la API de Dispositivos. 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/AFalta el token de autorización o no es vá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 API de Dispositivo para acceder a la API de Dispositivos. 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 utilizado en la solicitud /registerDevice.
tags*objectObjeto JSON de etiquetas para 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 la etiqueta Integer

Anchor link to

Para incrementar un valor de la etiqueta Integer, 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 la etiqueta Integer

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", // 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 a la etiqueta List

Anchor link to

Para extender la etiqueta List 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 la etiqueta List

Anchor link to

Para eliminar algunos valores de la etiqueta List, 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 User ID 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 API de Dispositivo para acceder a la API de Dispositivos. 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
userIdstringUser ID para ser usado en lugar de “hwid”. Si se usa junto con un “hwid”, el “hwid” prevalece.
hwidstringID de dispositivo de hardware utilizado 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 API de Dispositivo para acceder a la API de Dispositivos. 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 utilizado 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 internamente desde el SDK. 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 API de Dispositivo para acceder a la API de Dispositivos. 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 utilizado 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 API de Dispositivo para acceder a la API de Dispositivos. 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 utilizado en la solicitud /registerDevice.
userIdstringUser ID 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", // 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 API de Dispositivo para acceder a la API de Dispositivos. 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 utilizado 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", // 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)
}
}