# Параметры /createMessage

<Aside type="caution" title="Устарело">
Метод `/createMessage` устарел. В новых интеграциях следует использовать [Messaging API v2](/ru/developer/api-reference/messaging-api-v2/) — см. [руководство по миграции](/ru/developer/api-reference/messaging-api-v2/migration-from-v1/) для сопоставления полей для перечисленных ниже параметров.
</Aside>

Здесь вы найдете описания параметров API-метода [`/createMessage`](/ru/developer/api-reference/messages-api/#createmessage).

- [Обязательные параметры](#required-parameters) должны быть включены для успешной отправки API-запроса `/createMessage` и рассылки push-уведомлений в указанное время.

- [Необязательные параметры](#optional-parameters) позволяют настраивать свойства push-уведомлений.

<Aside type="note">
Если вы используете _/createMessage_ для отправки SMS, обратитесь к разделу [Параметры для отправки SMS](/ru/developer/api-reference/sms/#createsmsmessage). Другие параметры передаваться не будут.
</Aside>

## Обязательные параметры

Обязательные параметры необходимо использовать в запросах [`/createMessage`](/ru/developer/api-reference/messages-api/#createmessage). В противном случае запрос не будет отправлен.

### application

Уникальный код приложения, созданного в вашем аккаунте Pushwoosh. Код приложения можно найти в левом верхнем углу Control Panel или в ответе на запрос [`/createApplication`](/ru/developer/api-reference/applications/#createapplication). Код приложения представляет собой разделенный дефисами набор из 10 символов (букв и цифр).

<img src="/messages-api-prerequisites-1.webp" alt="Код приложения Pushwoosh, отображаемый в левом верхнем углу Control Panel"/>

При создании приложения через API вы получите код приложения в ответе на ваш запрос [`/createApplication`](/ru/developer/api-reference/applications/#createapplication).

Чтобы получить код ранее созданного приложения через API, вызовите [`/getApplications`](/ru/developer/api-reference/applications/#getapplications). В ответе на запрос [`/getApplications`](/ru/developer/api-reference/applications/#getapplications) вы получите список всех приложений, созданных в вашем аккаунте Pushwoosh, с их названиями и кодами.

### auth

Токен доступа к API из Pushwoosh Control Panel. Перейдите в **Settings** → **API Access** и скопируйте токен, который вы хотите использовать, или сгенерируйте новый.

<img src="/messages-api-prerequisites-2.webp" alt="Страница настроек API Access в Pushwoosh Control Panel, показывающая токены доступа API"/>

При генерации токена доступа укажите его разрешения. Установите флажки для тех типов действий, для которых вы собираетесь использовать токен API. Вы можете создавать токены API для конкретных приложений, устанавливая флажки в разделе Applications.

<img src="/messages-api-prerequisites-3.webp" alt="Диалоговое окно генерации токена API с флажками разрешений и приложений"/>

### content

Строка или объект, определяющий содержимое сообщения. Параметр "content", переданный со строковым значением, отправит одно и то же сообщение всем получателям.

```txt title="Строка"
"content": "Hello world!",
```

Объекты JSON используются для указания содержимого с помощью [Dynamic Content](/ru/developer/guides/personalization/dynamic-content/), например, для многоязычных сообщений.

```txt title="Объект"
"content": {
  "en": "Hello!",
  "es": "¡Hola!",
  "de": "Hallo!"
},
```

### notifications

Массив JSON со свойствами push-уведомления. Должен включать как минимум обязательные параметры `content` и `send_date`.

Необязательные параметры для использования в массиве "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

Дата и время отправки сообщения. Может быть любой датой и временем в формате YYYY-MM-DD HH:mm или 'now'. Если установлено значение 'now', сообщение будет отправлено сразу после отправки запроса.

## Необязательные параметры

### campaign

Код кампании. Чтобы получить код кампании, перейдите в **Statistics** → **Aggregated statistics** и выберите кампанию, которую вы собираетесь использовать. Код кампании будет виден в конце URL-адреса страницы в формате `XXXXX-XXXXX`.

**Пример:**

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

**Код кампании:** `XXXXX-XXXXX`

Чтобы получить список кампаний с их кодами, вызовите [`/getCampaigns`](/ru/developer/api-reference/campaigns/#getcampaigns). В ответе на запрос `/getCampaigns` вы получите список всех кампаний, созданных для конкретного приложения в вашем аккаунте Pushwoosh, с их кодами, названиями и описаниями.

### capping_days

Период, применяемый для ограничения частоты, в днях (максимум 30 дней). Подробнее см. в [Frequency capping](/ru/product/messaging-channels/global-frequency-capping/).

Ограничение частоты не применяется к сообщениям с `message_type: transactional`. Во всех остальных случаях ограничение частоты применяется, включая запросы, в которых `message_type` опущен.

### capping_count

Максимальное количество push-уведомлений, которые могут быть отправлены из определенного приложения на конкретное устройство в течение периода "capping_days". В случае, если созданное сообщение превышает лимит "capping_count" для устройства, оно не будет отправлено на это устройство. Подробнее см. в [Frequency capping](/ru/product/messaging-channels/global-frequency-capping/).

### conditions

Условия — это массивы вида `[tagName, operator, operand]`, используемые для отправки таргетированных сообщений на основе [тегов (Tags)](/ru/developer/guides/audience-and-segmentation/tags/) и их значений, где:

* tagName — имя применяемого тега,
* [operator](/ru/developer/guides/audience-and-segmentation/tags#tag-operators) — оператор сравнения значений ("EQ" | "IN" | "NOTEQ" | "NOTIN" | "LTE" | "GTE" | "BETWEEN" | "NOTSET" | "ANY"),
* [operand](/ru/developer/guides/audience-and-segmentation/tags#tag-values) — значения тегов любого из следующих типов: string | integer | array | date | boolean | list

#### Описание операторов

| | |
| -------- | ----------- |
| **EQ** | значение тега равно операнду. |
| **IN** | значение тега пересекается с операндом (операнд всегда должен быть массивом). |
| **NOTEQ** | значение тега не равно операнду. |
| **NOTIN** | значение тега не пересекается с операндом (операнд всегда должен быть массивом). |
| **GTE** | значение тега больше или равно операнду. |
| **LTE** | значение тега меньше или равно операнду. |
| **BETWEEN** | значение тега больше или равно минимальному значению операнда, но меньше или равно максимальному значению операнда (операнд всегда должен быть массивом). |
| **NOTSET** | тег не установлен. Операнд не учитывается. |
| **ANY** | тег имеет любое значение. Операнд не учитывается. |

#### Строковые теги

**Допустимые операторы**: EQ, IN, NOTEQ, NOTIN, NOTSET, ANY

**Допустимые операнды:**
| | |
| -------- | ------- |
| **EQ, NOTEQ** | операнд должен быть строкой |
| **IN, NOTIN** | операнд должен быть массивом строк, например `["value 1", "value 2", "value N"]` |
| **NOTSET** | тег не установлен. Операнд не учитывается |
| **ANY** | тег имеет любое значение. Операнд не учитывается |

#### Целочисленные теги

**Допустимые операторы**: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY

**Допустимые операнды:**

| | |
| -------- | ------- |
| **EQ, NOTEQ, GTE, LTE** | операнд должен быть целым числом |
| **IN, NOTIN** | операнд должен быть массивом целых чисел, например `[value 1, value 2, value N]` |
| **BETWEEN** | операнд должен быть массивом целых чисел, например `[min_value, max_value]` |
| **NOTSET** | тег не установлен. Операнд не учитывается |
| **ANY** | тег имеет любое значение. Операнд не учитывается |

#### Теги даты

**Допустимые операторы**: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY

**Допустимые операнды:**

* `"YYYY-MM-DD 00:00"` (строка)
* unix timestamp `1234567890` (целое число)
* `"N days ago"` (строка) для операторов EQ, BETWEEN, GTE, LTE

#### Логические теги

**Допустимые операторы**: EQ, NOTSET, ANY

**Допустимые операнды:** `0, 1, true, false`

#### Теги-списки

**Допустимые операторы**: IN, NOTIN, NOTSET, ANY

**Допустимые операнды:** операнд должен быть массивом строк, например `["value 1", "value 2", "value N"]`.

<Aside type="danger" title="Важно">
Помните, что параметры “filter” и “conditions” не должны использоваться вместе.<br/>
Кроме того, оба они **будут проигнорированы**, если в том же запросе используется параметр “devices”.
</Aside>

<Aside type="note" title="Теги страны и языка">
Значение тега языка — это двухбуквенный код в нижнем регистре согласно [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
Значение тега страны — это двухбуквенный код в ВЕРХНЕМ регистре согласно [ISO_3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).

Например, чтобы отправить push-уведомление португалоязычным подписчикам в Бразилии, вам нужно будет указать следующее условие: `"conditions": [["Country", "EQ", "BR"],["Language", "EQ", "pt"]]`
</Aside>

### conditions_operator

Логический оператор для массивов условий. Возможные значения: AND | OR. По умолчанию используется AND.

Если применяется оператор AND (когда оператор не указан или параметр 'conditions_operator' имеет значение 'AND'), push-уведомление получат устройства, одновременно соответствующие всем условиям.

Если оператор — OR, сообщение получат устройства, соответствующие любому из указанных условий.

### data

Строка JSON или объект JSON, используемый для передачи любых [пользовательских данных](/ru/developer/guides/messaging-channels/using-custom-data) в полезной нагрузке push-уведомления; передается как параметр "u" в полезной нагрузке (преобразуется в строку JSON).

### devices

Массив [push-токенов](/ru/developer/pushwoosh-knowledge-hub/device-identifiers/#push-token) или [hwid](/ru/developer/pushwoosh-knowledge-hub/device-identifiers/#hwid) для отправки таргетированных push-уведомлений. Если установлен, сообщение будет отправлено только на устройства из списка.

### dynamic_content

Заполнители для [Dynamic Content](/ru/product/personalization/dynamic-content), которые будут использоваться вместо значений тегов устройства. Пример ниже отправит сообщение "Hello, John!" каждому пользователю, на которого вы нацелены. Если не установлено, значения Dynamic Content берутся из тегов устройства.

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

### filter

Название [сегмента (Segment)](/ru/product/audience-data-and-segmentation/segmentation/) в точности так, как он создан в Pushwoosh Control Panel или через API-запрос [`/createFilter`](/ru/developer/api-reference/segmentation-filters-api/#createfilter). Перейдите в раздел **Audience** → **Segments** и проверьте список созданных сегментов.

<img src="/messages-api-prerequisites-7.webp" alt="Список сегментов в разделе Audience в Pushwoosh Control Panel"/>

Чтобы получить список сегментов через API, вызовите API-метод [`/listFilters`](/ru/developer/api-reference/segmentation-filters-api/#listfilters). В ответе на запрос `/listFilters` вы получите список всех сегментов, созданных в вашем аккаунте Pushwoosh, с названиями, условиями и датами истечения срока действия сегментов.

### ignore_user_timezone

Если установлено значение 'true', сообщение отправляется в указанное в параметре "send_date" время и дату в соответствии с UTC-0.

Если установлено значение 'false', пользователи получат сообщение в указанное местное время в соответствии с настройками их устройства.

### inbox_date

Дата, до которой сообщение должно храниться в [Inbox](/ru/developer/guides/message-inbox/mobile-message-inbox) пользователя. Если не указано, сообщение будет удалено из Inbox на следующий день после даты отправки.

<Aside type="note">
Чтобы сохранить сообщение в Inbox, используйте хотя бы один из параметров 'inbox': "inbox_date" или "inbox_image".
</Aside>

<Aside type="caution">
Сообщение будет удалено из Inbox в 00:00:01 указанной даты, поэтому предыдущая дата — это последний день, когда пользователь может видеть сообщение в своем Inbox.
</Aside>

### inbox_image

URL-адрес пользовательского изображения, которое будет отображаться рядом с сообщением в [Inbox](/ru/developer/guides/message-inbox/mobile-message-inbox).

<Aside type="note">
Чтобы сохранить сообщение в Inbox, используйте хотя бы один из параметров 'inbox': "inbox_date" или "inbox_image".
</Aside>

### inbox_days

Срок жизни сообщения в Inbox в днях, до 30 дней. По истечении этого периода сообщение будет удалено из Inbox. Может использоваться вместо параметра **inbox_date**.

### link

URL-адрес, который будет открыт, как только пользователь откроет push-уведомление.

### message_type

Указывает тип push-сообщения. Доступные значения: `marketing` и `transactional`. Подробнее см. в [Маркетинговые и транзакционные сообщения](/ru/product/messaging-channels/marketing-vs-transactional/).

Этот параметр является необязательным. Если он опущен, пользователи с `PW_ControlGroup: true` не получат сообщение.

### minimize_link

Сокращатель для минимизации URL-адреса, переданного в параметре "link". Обратите внимание, что размер полезной нагрузки push-уведомления ограничен, поэтому рассмотрите возможность создания коротких URL-адресов, чтобы не превышать лимит. Доступные значения: 0 — не минимизировать, 2 — bitly. По умолчанию = 2. Сокращатель URL-адресов Google отключен с 30 марта 2019 года.

### platforms

Массив кодов платформ для отправки сообщения только на определенные платформы.

Доступные коды платформ включают: `1` — iOS, `3` — Android, `7` — Mac OS X, `8` — Windows, `9` — Amazon, `10` — Safari, `11` — Chrome, `12` — Firefox, `14` — Email, `17` — Huawei, `18` — SMS и `21` — WhatsApp.

### preset

Код [пресета (Preset)](/ru/product/content/push-presets/), созданного в Pushwoosh Control Panel или через API. Чтобы получить код пресета, перейдите в **Content** → **Presets**, разверните пресет, который вы собираетесь использовать, и скопируйте **Preset Code** из его деталей.

<img src="/messages-api-prerequisites-8.webp" alt="Список пресетов в разделе Content, показывающий Preset Code"/>

### rich_media

Код страницы [Rich Media](/ru/product/content/in-apps/), которую вы собираетесь прикрепить к своему сообщению. Чтобы получить код, перейдите в **Content** → **Rich Media**, откройте страницу Rich Media, которую вы собираетесь использовать, и скопируйте код из адресной строки вашего браузера. Код представляет собой разделенный дефисами набор из 10 символов (букв и цифр).

<img src="/messages-api-prerequisites-9.webp" alt="Страница Rich Media в разделе Content с кодом Rich Media в адресной строке браузера"/>

### send_rate

Регулирование для ограничения скорости отправки push-уведомлений. Допустимые значения от 100 до 1000 push-уведомлений в секунду.

### timezone

Часовой пояс, который следует учитывать при отправке сообщения в определенную дату и время. Если установлен, часовой пояс устройства игнорируется. Если не указан, сообщение отправляется в UTC. См. [https://php.net/manual/timezones.php](https://php.net/manual/timezones.php) для поддерживаемых часовых поясов.

### template_bindings

Заполнители шаблона для использования в вашем шаблоне контента. Подробнее см. в [руководстве по Liquid Templates](/ru/developer/guides/personalization/liquid-templates/).

### transactionId

Уникальный идентификатор сообщения для предотвращения дублирования сообщений в случае проблем с сетью. Вы можете присвоить любой ID сообщению, созданному через запрос [`/createMessage`](/ru/developer/api-reference/messages-api/#createmessage) или [`/createTargetedMessage`](/ru/developer/api-reference/messages-api/#createtargetedmessage). Хранится на стороне Pushwoosh в течение 5 минут.

### users

Массив [userIds](/ru/developer/pushwoosh-knowledge-hub/users-userids/). User ID — это уникальный идентификатор пользователя, установленный API-запросом [`/registerUser`](/ru/developer/api-reference/user-centric-api/), [`/registerDevice`](/ru/developer/api-reference/device-api/#registerdevice) или [`/registerEmail`](/ru/developer/api-reference/email-api/).