# API de Dispositivo

## registerDevice

`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

| Nombre | Requerido | Valor | Descripción |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Sí | Token `XXXX` | [Token de Dispositivo de la API](/es/developer/api-reference/api-access-token/#device-api-token) para acceder a la API de Dispositivo. Reemplace `XXXX` con su token de API de Dispositivo real. |


##### Cuerpo de la solicitud

| Nombre | Tipo | Descripción |
| ---------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------- |
| application\* | string | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| push\_token | string | [Token push](/es/developer/api-reference/api-identifiers/#push-token) para el dispositivo. |
| language | string | Configuració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\* | string | Cadena única para identificar el dispositivo (IDFV en iOS, valor generado aleatoriamente en Android). [Aprender más](/es/developer/api-reference/api-identifiers/#hardware-id) |
| timezone | integer | Desplazamiento de la zona horaria en segundos para el dispositivo. |
| device\_type\* | integer | [Tipo de dispositivo](/es/developer/api-reference/api-identifiers/#device-type). Vea los valores posibles a continuación. |
| email | string | Dirección de correo electrónico para registrar (usar para usuarios de correo electrónico en lugar de HWID y token push). |
| tags | object | Valores de etiqueta para asignar al dispositivo registrado. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

```json title="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
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`](/es/developer/api-reference/email-api#registeremail) de la siguiente manera:

##### Ejemplo de solicitud
```json
{
  "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
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
```json
{ 
  "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
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
```json 
{  
   "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 HTTP | status\_code | Descripción |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | Dispositivo registrado con éxito |
| 200 | 210 | Error de argumento. Vea status\_message para más información. |
| 400 | N/A | Cadena de solicitud mal formada |
| 500 | 500 | Error interno |



## unregisterDevice

`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

| Nombre | Requerido | Valor | Descripción |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Sí | Token `XXXX` | [Token de Dispositivo de la API](/es/developer/api-reference/api-access-token/#device-api-token) para acceder a la API de Dispositivo. Reemplace `XXXX` con su token de API de Dispositivo real. |

##### Cuerpo de la solicitud

| Nombre | Tipo | Descripción |
| --------------------------------------------- | ------ | --------------------------------------------------- |
| application\* | string | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID de dispositivo de hardware](/es/developer/api-reference/api-identifiers/#hardware-id) usado en la solicitud /registerDevice. |

<Tabs>
<TabItem label="200">
```json
{
    "status_code": 200,
    "status_message": "OK",
    "response": null
}
```
</TabItem>
</Tabs>

```json title="Ejemplo"
{
  "request": {
    "application": "XXXXX-XXXXX",              // required. Pushwoosh application code
    "hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2"  // required. Hardware device ID used in /registerDevice API 
  }
}
```

<Aside type="note">
Para correos electrónicos, llame a [`/deleteEmail`](/es/developer/api-reference/email-api/#deleteemail).
</Aside>

**Códigos de estado**:

| Código de estado HTTP | status\_code | Descripción |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | Dispositivo desuscrito con éxito |
| 200 | 210 | Error de argumento. Vea status\_message para más información. |
| 400 | N/A | Cadena de solicitud mal formada |
| 500 | 500 | Error interno |



## deleteDevice

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

Elimina un dispositivo y todos sus datos asociados identificados por el [HWID](/es/developer/api-reference/api-identifiers/#hardware-id) especificado dentro de la aplicación. A diferencia de [`/unregisterDevice`](/es/developer/api-reference/device-api/#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

| Nombre | Requerido | Valor | Descripción |
|---------------|----------|------------------|------------------------------------------------------------|
| Authorization | Sí | Token `XXXX` | [Token de Dispositivo de la API](/es/developer/api-reference/api-access-token/#device-api-token) para acceder a la API de Dispositivo. Reemplace `XXXX` con su token de API de Dispositivo real. |
| Content-Type | Sí | application/json | |

#### Cuerpo de la solicitud

| Nombre | Requerido | Tipo | Descripción |
| ----------- | -------- | ------ | ----------------------------------------------------------------------------------------------------------- |
| application | Sí | string | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| hwid | Sí | string | [ID de dispositivo de hardware](/es/developer/api-reference/api-identifiers/#hardware-id) del dispositivo a eliminar. |


#### Ejemplo de solicitud

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

#### Ejemplo de respuesta

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

##### Códigos de estado

| Código de estado HTTP | status\_code | Descripción |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | Solicitud de eliminación aceptada |
| 200 | 210 | Error de argumento. Vea status\_message para más información. |
| 400 | N/A | Cadena de solicitud mal formada |
| 401 | N/A | Token de autorización faltante o inválido |
| 500 | 500 | Error interno |



## setTags

`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

| Nombre | Requerido | Valor | Descripción |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Sí | Token `XXXX` | [Token de Dispositivo de la API](/es/developer/api-reference/api-access-token/#device-api-token) para acceder a la API de Dispositivo. Reemplace `XXXX` con su token de API de Dispositivo real. |

##### Cuerpo de la solicitud

| Nombre | Tipo | Descripción |
| --------------------------------------------- | ------ | ------------------------------------------------------------ |
| application\* | string | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID de dispositivo de hardware](/es/developer/api-reference/api-identifiers/#hardware-id) usado en la solicitud /registerDevice. |
| tags\* | object | Objeto JSON de etiquetas a establecer, envíe "null" para eliminar el valor. |

<Tabs>
<TabItem label="200">
```json
{
   "status_code": 200,
   "status_message": "OK",
   "response": null
}
```
</TabItem>
</Tabs>

<Aside type="note">
El método es llamado desde el SDK. Es posible llamarlo de forma remota desde su backend, sin embargo, necesita mantener una base de datos actualizada de hwid's en el lado del backend.
</Aside>

```json title="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

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

```json
{
  "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

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

```json
{
  "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

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

```json title="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

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

```json
{
  "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

Para establecer etiquetas para todos los dispositivos asociados a un [ID de Usuario](/es/developer/api-reference/api-identifiers/#user-id) particular, use el parámetro "userId" en lugar de "hwid".

<Aside type="caution">
Asegúrese de que la etiqueta para la que está estableciendo valores sea [específica del usuario](/es/developer/guides/audience-and-segmentation/tags/#tag-scope-general-vs-user-specific).
</Aside>

```json title="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"
    }  
  }
}
```

<Aside type="note">
Para correos electrónicos, llame a [`/setEmailTags`](/es/developer/api-reference/email-api/#setemailtags).
</Aside>

**Códigos de estado:**

| Código de estado HTTP | status\_code | Descripción |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | Las etiquetas se han establecido con éxito |
| 200 | 210 | Error de argumento. Vea status\_message para más información. |
| 400 | N/A | Cadena de solicitud mal formada |
| 500 | 500 | Error interno |


## getTags

`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

| Nombre | Requerido | Valor | Descripción |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Sí | Token `XXXX` | [Token de Dispositivo de la API](/es/developer/api-reference/api-access-token/#device-api-token) para acceder a la API de Dispositivo. Reemplace `XXXX` con su token de API de Dispositivo real. |

##### Cuerpo de la solicitud

| Nombre | Tipo | Descripción |
| --------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------- |
| application\* | string | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| userId | string | [ID de Usuario](/es/developer/api-reference/api-identifiers/#user-id) para ser usado en lugar de "hwid". Si se usa junto con un "hwid", el "hwid" prevalece. |
| hwid | string | [ID de dispositivo de hardware](/es/developer/api-reference/api-identifiers/#hardware-id) usado en la solicitud `/registerDevice`. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "result": {
      "Language": "fr"
    }
  }
}
```
</TabItem>
</Tabs>

```json title="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
  }
}
```

## setBadge

`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

| Nombre | Requerido | Valor | Descripción |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Sí | Token `XXXX` | [Token de Dispositivo de la API](/es/developer/api-reference/api-access-token/#device-api-token) para acceder a la API de Dispositivo. Reemplace `XXXX` con su token de API de Dispositivo real. |

##### Cuerpo de la solicitud

| Nombre | Tipo | Descripción |
| --------------------------------------------- | ------- | --------------------------------------------------- |
| application\* | string | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID de dispositivo de hardware](/es/developer/api-reference/api-identifiers/#hardware-id) usado en la solicitud /registerDevice. |
| badge\* | integer | Badge actual en la aplicación. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK"
}
```
</TabItem>
</Tabs>

```json title="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.

<Aside type="caution">
Este método **NO SE UTILIZA** para actualizar el valor del badge en el dispositivo. En su lugar, utilice la solicitud [`/createMessage`](/es/developer/api-reference/messages-api/#createmessage) con el parámetro `"ios_badges"`.
</Aside>



## applicationOpen

`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

| Nombre | Requerido | Valor | Descripción |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Sí | Token `XXXX` | [Token de Dispositivo de la API](/es/developer/api-reference/api-access-token/#device-api-token) para acceder a la API de Dispositivo. Reemplace `XXXX` con su token de API de Dispositivo real. |

##### Cuerpo de la solicitud

| Nombre | Tipo | Descripción |
| --------------------------------------------- | ------ | --------------------------------------------------- |
| application\* | string | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID de dispositivo de hardware](/es/developer/api-reference/api-identifiers/#hardware-id) usado en la solicitud `/registerDevice`. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK"
}
```
</TabItem>
</Tabs>

```json title="Ejemplo"
{
  "request": {
    "application": "XXXXX-XXXXX",              // required. Pushwoosh application code
    "hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // required. Hardware device ID used in /registerDevice API    
  }
}
```



## pushStat

`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

| Nombre | Requerido | Valor | Descripción |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Sí | Token `XXXX` | [Token de Dispositivo de la API](/es/developer/api-reference/api-access-token/#device-api-token) para acceder a la API de Dispositivo. Reemplace `XXXX` con su token de API de Dispositivo real. |
##### Cuerpo de la solicitud

| Nombre | Tipo | Descripción |
| --------------------------------------------- | ------ | --------------------------------------------------------------------------- |
| application\* | string | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID de dispositivo de hardware](/es/developer/api-reference/api-identifiers/#hardware-id) usado en la solicitud /registerDevice. |
| userId | string | [ID de Usuario](/es/developer/api-reference/api-identifiers/#user-id) para asociar con el evento de apertura de push. |
| hash | string | Etiqueta hash recibida en la notificación push (parámetro "p" de la carga útil del push). |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

```json title="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

`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

| Nombre | Requerido | Valor | Descripción |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Sí | Token `XXXX` | [Token de Dispositivo de la API](/es/developer/api-reference/api-access-token/#device-api-token) para acceder a la API de Dispositivo. Reemplace `XXXX` con su token de API de Dispositivo real. |

##### Cuerpo de la solicitud

| Nombre | Tipo | Descripción |
| --------------------------------------------- | ------ | --------------------------------------------------------------------------- |
| application\* | string | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID de dispositivo de hardware](/es/developer/api-reference/api-identifiers/#hardware-id) usado en la solicitud `/registerDevice`. |
| hash | string | Etiqueta hash recibida en la notificación push (parámetro "p" de la carga útil del push). |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

```json title="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)
  }
}
```