# Parámetros de /createMessage

<Aside type="caution" title="Obsoleto">
`/createMessage` está obsoleto. Las nuevas integraciones deberían usar la [API de Mensajería v2](/es/developer/api-reference/messaging-api-v2/) — consulta la [guía de migración](/es/developer/api-reference/messaging-api-v2/migration-from-v1/) para un mapeo campo por campo de los parámetros a continuación.
</Aside>

Aquí encontrarás las descripciones de los parámetros de la API [`/createMessage`](/es/developer/api-reference/messages-api/#createmessage).

- [Parámetros requeridos](#required-parameters) deben incluirse para enviar con éxito una solicitud a la API `/createMessage` y emitir una notificación push en el momento especificado.

- [Parámetros opcionales](#optional-parameters) te permiten personalizar las propiedades de las notificaciones push.

<Aside type="note">
Si estás utilizando _/createMessage_ para enviar SMS, por favor consulta [Parámetros para enviar SMS](/es/developer/api-reference/sms/#createsmsmessage). No se pasarán otros parámetros.
</Aside>

## Parámetros requeridos

Los parámetros requeridos son obligatorios para usar en las solicitudes [`/createMessage`](/es/developer/api-reference/messages-api/#createmessage). De lo contrario, la solicitud no se enviará.

### application

Código único de una aplicación creada en tu cuenta de Pushwoosh. El código de la aplicación se puede encontrar en la esquina superior izquierda del Panel de Control o en la respuesta a una solicitud [`/createApplication`](/es/developer/api-reference/applications/#createapplication). El código de la aplicación es un conjunto de 10 caracteres (tanto letras como dígitos) separados por guiones.

<img src="/messages-api-prerequisites-1.webp" alt="Código de aplicación de Pushwoosh mostrado en el Panel de Control en la esquina superior izquierda"/>

Al crear una aplicación a través de la API, obtendrás un código de aplicación en respuesta a tu solicitud [`/createApplication`](/es/developer/api-reference/applications/#createapplication).

Para obtener un código de una aplicación creada previamente a través de la API, llama a [`/getApplications`](/es/developer/api-reference/applications/#getapplications). En respuesta a la solicitud [`/getApplications`](/es/developer/api-reference/applications/#getapplications), recibirás la lista de todas las aplicaciones creadas en tu cuenta de Pushwoosh con sus nombres y códigos.

### auth

Token de acceso a la API desde el Panel de Control de Pushwoosh. Ve a **Configuración** → **Acceso a la API** y copia un token que te gustaría usar o genera uno nuevo.

<img src="/messages-api-prerequisites-2.webp" alt="Página de configuración de Acceso a la API en el Panel de Control de Pushwoosh mostrando los tokens de acceso a la API"/>

Al generar un token de acceso, especifica sus permisos. Marca las casillas de verificación para aquellos tipos de actividades con los que vas a usar el token de la API. Puedes crear tokens de API específicos de la aplicación marcando las casillas de verificación de Aplicaciones.

<img src="/messages-api-prerequisites-3.webp" alt="Diálogo de generación de token de API con permisos y casillas de verificación de aplicaciones"/>

### content

La cadena u objeto que define el contenido del mensaje. El parámetro "content" enviado con un valor de tipo cadena enviará el mismo mensaje para todos los destinatarios.

```txt title="String"
"content": "Hello world!",
```

Los objetos JSON se utilizan para especificar el contenido usando [Contenido Dinámico](/es/developer/guides/personalization/dynamic-content/), por ejemplo, para mensajes multilingües.

```txt title="Object"
"content": {
  "en": "Hello!",
  "es": "¡Hola!",
  "de": "Hallo!"
},
```

### notifications

El array JSON de propiedades de push. Debe incluir al menos los parámetros requeridos `content` y `send_date`.

Parámetros opcionales para usar dentro del array "notifications":

* [campaign](#campaign)
* [capping_days](#capping_days)
* [capping_count](#capping_count)
* [conditions](#conditions)
* [data](#data)
* [devices](#devices)
* [dynamic_content](#dynamic_content)
* [filter](#filter)
* [ignore_user_timezone](#ignore_user_timezone)
* [inbox_date](#inbox_date)
* [inbox_image](#inbox_image)
* [link](#link)
* [minimize_link](#minimize_link)
* [message_type](#message_type)
* [platforms](#platforms)
* [preset](#preset)
* [rich_media](#rich_media)
* [send_rate](#send_rate)
* [timezone](#timezone)
* [template_bindings](#template_bindings)
* [transactionId](#transactionid)
* [users](#users)

### send_date

Fecha y hora en que se envía el mensaje. Puede ser cualquier fecha y hora con formato YYYY-MM-DD HH:mm o 'now'. Si se establece en 'now', el mensaje se enviará inmediatamente después de enviar la solicitud.

## Parámetros opcionales

### campaign

El código de una Campaña. Para obtener un código de Campaña, ve a **Estadísticas** → **Estadísticas agregadas** y selecciona la Campaña que vas a usar. El código de la campaña será visible al final de la URL de la página en el formato `XXXXX-XXXXX`.

**Ejemplo:**

**URL:** `https://app.pushwoosh.com/applications/AAAAA-AAAAA/statistics/aggregated-message?campaignCode=XXXXX-XXXXX`

**Código de campaña:** `XXXXX-XXXXX`

Para obtener una lista de Campañas con sus códigos, llama a [`/getCampaigns`](/es/developer/api-reference/campaigns/#getcampaigns). En respuesta a la solicitud `/getCampaigns`, recibirás la lista de todas las Campañas creadas para una aplicación en particular en tu cuenta de Pushwoosh, con sus códigos, nombres y descripciones.

### capping_days

Período a aplicar para el frequency capping, en días (máximo 30 días). Consulta [Frequency capping](/es/product/messaging-channels/global-frequency-capping/) para más detalles.

El frequency capping no se aplica a los mensajes con `message_type: transactional`. En todos los demás casos, se aplica el frequency capping, incluidas las solicitudes donde se omite `message_type`.

### capping_count

El número máximo de pushes que se pueden enviar desde una aplicación específica a un dispositivo en particular dentro de un período de "capping_days". En caso de que el mensaje creado exceda el límite de "capping_count" para un dispositivo, no se enviará a ese dispositivo. Consulta [Frequency capping](/es/product/messaging-channels/global-frequency-capping/) para más detalles.

### conditions

Las condiciones son arrays como `[tagName, operator, operand]` que se utilizan para enviar mensajes dirigidos basados en [Tags](/es/developer/guides/audience-and-segmentation/tags/) y sus valores, donde:

* tagName — el nombre de una etiqueta a aplicar,
* [operator](/es/developer/guides/audience-and-segmentation/tags#tag-operators) — un operador de comparación de valores ("EQ" | "IN" | "NOTEQ" | "NOTIN" | "LTE" | "GTE" | "BETWEEN" | "NOTSET" | "ANY"),
* [operand](/es/developer/guides/audience-and-segmentation/tags#tag-values) — valores de Tag de cualquiera de los siguientes tipos: string | integer | array | date | boolean | list

#### Descripción del operador

|  |  |
| -------- | ----------- |
| **EQ** | el valor de la etiqueta es igual al operando. |
| **IN** | el valor de la etiqueta se cruza con el operando (el operando siempre debe ser un array). |
| **NOTEQ** | el valor de la etiqueta no es igual a un operando. |
| **NOTIN** | el valor de la etiqueta no se cruza con el operando (el operando siempre debe ser un array). |
| **GTE** | el valor de la etiqueta es mayor o igual que el operando. |
| **LTE** | el valor de la etiqueta es menor o igual que el operando. |
| **BETWEEN** | el valor de la etiqueta es mayor o igual que el valor mínimo del operando pero menor o igual que el valor máximo del operando (el operando siempre debe ser un array). |
| **NOTSET** | la etiqueta no está establecida. El operando no se considera. |
| **ANY** | la etiqueta tiene cualquier valor. El operando no se considera. |

#### Tags de cadena (String)

**Operadores válidos**: EQ, IN, NOTEQ, NOTIN, NOTSET, ANY

**Operandos válidos:**
|  |  |
| -------- | ------- |
| **EQ, NOTEQ** | el operando debe ser una cadena |
| **IN, NOTIN** | el operando debe ser un array de cadenas como `["valor 1", "valor 2", "valor N"]` |
| **NOTSET** | la etiqueta no está establecida. El operando no se considera |
| **ANY** | la etiqueta tiene cualquier valor. El operando no se considera |

#### Tags de entero (Integer)

**Operadores válidos**: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY

**Operandos válidos:**

|  | |
| -------- | ------- |
| **EQ, NOTEQ, GTE, LTE** | el operando debe ser un entero |
| **IN, NOTIN** | el operando debe ser un array de enteros como `[valor 1, valor 2, valor N]` |
| **BETWEEN** | el operando debe ser un array de enteros como `[valor_min, valor_max]` |
| **NOTSET** | la etiqueta no está establecida. El operando no se considera |
| **ANY** | la etiqueta tiene cualquier valor. El operando no se considera |

#### Tags de fecha (Date)

**Operadores válidos**: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY

**Operandos válidos:**

* `"YYYY-MM-DD 00:00"` (cadena)
* timestamp de unix `1234567890` (entero)
* `"hace N días"` (cadena) para los operadores EQ, BETWEEN, GTE, LTE

#### Tags booleanos (Boolean)

**Operadores válidos**: EQ, NOTSET, ANY

**Operandos válidos:** `0, 1, true, false`

#### Tags de lista (List)

**Operadores válidos**: IN, NOTIN, NOTSET, ANY

**Operandos válidos:** el operando debe ser un array de cadenas como `["valor 1", "valor 2", "valor N"]`.

<Aside type="danger" title="Importante">
Recuerda que los parámetros “filter” y “conditions” no deben usarse juntos.\
Además, ambos **serán ignorados** si el parámetro "devices" se utiliza en la misma solicitud.
</Aside>

<Aside type="note" title="Tags de País e Idioma">
El valor de la etiqueta de idioma es un código de dos letras en minúscula según [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
El valor de la etiqueta de país es un código de dos letras en MAYÚSCULAS según [ISO_3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).

Por ejemplo, para enviar una notificación push a suscriptores de habla portuguesa en Brasil, necesitarás especificar la siguiente condición: `"conditions": [["Country", "EQ", "BR"],["Language", "EQ", "pt"]]`
</Aside>

### conditions_operator

Operador lógico para los arrays de condiciones. Valores posibles: AND | OR. AND es el valor por defecto.

Si el operador aplicado es AND (cuando no se especifica ningún operador, o el parámetro 'conditions_operator' tiene el valor 'AND'), los dispositivos que cumplan simultáneamente con todas las condiciones recibirán la notificación push.

Si el operador es OR, los dispositivos que cumplan con cualquiera de las condiciones especificadas recibirán el mensaje.

### data

Cadena JSON u objeto JSON utilizado para pasar cualquier [dato personalizado](/es/developer/guides/messaging-channels/using-custom-data) en el payload del push; se pasa como parámetro "u" en el payload (convertido a cadena JSON).

### devices

El array de [push tokens](/es/developer/pushwoosh-knowledge-hub/device-identifiers/#push-token) o [hwids](/es/developer/pushwoosh-knowledge-hub/device-identifiers/#hwid) para enviar notificaciones push dirigidas. Si se establece, el mensaje solo se enviará a los dispositivos de la lista.

### dynamic_content

Marcadores de posición para [Contenido Dinámico](/es/product/personalization/dynamic-content) que se utilizarán en lugar de los valores de las etiquetas del dispositivo. El siguiente ejemplo enviará el mensaje "¡Hola, John!" a cada usuario al que te dirijas. Si no se establece, los valores de Contenido Dinámico se toman de las etiquetas del dispositivo.

```
"content": "Hola, {firstname|CapitalizeFirst}!",
"dynamic_content_placeholders": {
  "firstname": "John",
  "lastname": "Doe"
},
```

### filter

El nombre de un [Segmento](/es/product/audience-data-and-segmentation/segmentation/) exactamente como se creó en el Panel de Control de Pushwoosh o a través de una solicitud a la API [`/createFilter`](/es/developer/api-reference/segmentation-filters-api/#createfilter). Ve a la sección **Audiencia** → **Segmentos** y comprueba la lista de Segmentos creados.

<img src="/messages-api-prerequisites-7.webp" alt="Lista de Segmentos en la sección de Audiencia del Panel de Control de Pushwoosh"/>

Para obtener la lista de Segmentos a través de la API, llama al método de la API [`/listFilters`](/es/developer/api-reference/segmentation-filters-api/#listfilters). En respuesta a la solicitud `/listFilters`, recibirás la lista de todos los Segmentos creados en tu cuenta de Pushwoosh, con los nombres, condiciones y fechas de vencimiento de los Segmentos.

### ignore_user_timezone

Si se establece en 'true', envía el mensaje a la hora y fecha especificadas en el parámetro "send_date" según UTC-0.

Si se establece en 'false', los usuarios recibirán el mensaje a la hora local especificada según la configuración de su dispositivo.

### inbox_date

La fecha hasta la cual el mensaje debe mantenerse en el [Inbox](/es/developer/guides/message-inbox/mobile-message-inbox) de los usuarios. Si no se especifica, el mensaje se eliminará del Inbox al día siguiente de la fecha de envío.

<Aside type="note">
Para guardar el mensaje en el Inbox, utiliza al menos uno de los parámetros 'inbox': "inbox_date" o "inbox_image".
</Aside>

<Aside type="caution">
El mensaje se eliminará del Inbox a las 00:00:01 de la fecha especificada, por lo que el día anterior es el último día en que un usuario puede ver el mensaje en su Inbox.
</Aside>

### inbox_image

La URL de la imagen personalizada que se mostrará junto al mensaje en el [Inbox](/es/developer/guides/message-inbox/mobile-message-inbox).

<Aside type="note">
Para guardar el mensaje en el Inbox, utiliza al menos uno de los parámetros 'inbox': "inbox_date" o "inbox_image".
</Aside>

### inbox_days

La vida útil de un mensaje de inbox en días, hasta 30 días. Después de este período, el mensaje será eliminado del inbox. Puede ser usado en lugar del parámetro **inbox_date**.

### link

La URL que se abrirá una vez que un usuario abra una notificación push.

### message_type

Especifica el tipo de mensaje push. Los valores disponibles son `marketing` y `transactional`. Consulta [Mensajes de marketing vs transaccionales](/es/product/messaging-channels/marketing-vs-transactional/) para más detalles.

Este parámetro es opcional. Si se omite, los usuarios con `PW_ControlGroup: true` no recibirán el mensaje.

### minimize_link

Acortador para minimizar la URL enviada en el parámetro "link". Ten en cuenta que el tamaño del payload de la notificación push es limitado, así que considera crear URLs cortas para no exceder el límite. Valores disponibles: 0 — no minimizar, 2 — bitly. Por defecto = 2. El acortador de URL de Google está deshabilitado desde el 30 de marzo de 2019.

### platforms

El array de códigos de plataforma para enviar el mensaje solo a plataformas específicas.

Los códigos de plataforma disponibles incluyen: `1` — iOS, `3` — Android, `7` — Mac OS X, `8` — Windows, `9` — Amazon, `10` — Safari, `11` — Chrome, `12` — Firefox, `14` — Email, `17` — Huawei, `18` — SMS, y `21` — WhatsApp.

### preset

El código de un [Preset](/es/product/content/push-presets/) creado en el Panel de Control de Pushwoosh o a través de la API. Para obtener un código de preset, ve a **Contenido** → **Presets**, expande el preset que vas a usar y copia el **Código de Preset** de los detalles del preset.

<img src="/messages-api-prerequisites-8.webp" alt="Lista de Presets en la sección de Contenido mostrando el Código de Preset"/>

### rich_media

El código de una página de [Rich Media](/es/product/content/in-apps/) que vas a adjuntar a tu mensaje. Para obtener un código, ve a **Contenido** → **Rich Media**, abre una página de Rich Media que vayas a usar y copia el código de la barra de URL de tu navegador. El código es un conjunto de 10 caracteres (tanto letras como dígitos) separados por guiones.

<img src="/messages-api-prerequisites-9.webp" alt="Página de Rich Media en la sección de Contenido con el código de Rich Media en la barra de URL del navegador"/>

### send_rate

Limitación para restringir la velocidad de envío de pushes. Los valores válidos son de 100 a 1000 pushes/segundo.

### timezone

Zona horaria a tener en cuenta cuando el mensaje se envía en una fecha y hora particulares. Si se establece, se ignora la zona horaria del dispositivo. Si se ignora, el mensaje se envía en UTC. Consulta [https://php.net/manual/timezones.php](https://php.net/manual/timezones.php) para las zonas horarias compatibles.

### template_bindings

Marcadores de posición de plantilla para usar en tu plantilla de contenido. Consulta la guía de [Plantillas Liquid](/es/developer/guides/personalization/liquid-templates/) para más detalles.

### transactionId

Identificador de mensaje único para evitar la duplicación de mensajes en caso de problemas de red. Puedes asignar cualquier ID a un mensaje creado a través de la solicitud [`/createMessage`](/es/developer/api-reference/messages-api/#createmessage) o [`/createTargetedMessage`](/es/developer/api-reference/messages-api/#createtargetedmessage). Se almacena en el lado de Pushwoosh durante 5 minutos.

### users

El array de [userIds](/es/developer/pushwoosh-knowledge-hub/users-userids/). El User ID es un identificador de usuario único establecido por una solicitud a la API [`/registerUser`](/es/developer/api-reference/user-centric-api/), [`/registerDevice`](/es/developer/api-reference/device-api/#registerdevice), o [`/registerEmail`](/es/developer/api-reference/email-api/).