Перейти к содержанию

API для Email

createEmailMessage

Anchor link to

Создает email-сообщение.

POST https://api.pushwoosh.com/json/1.3/createEmailMessage

Параметры запроса

Anchor link to
ИмяТип
ОбязательныйОписание
authstringДаAPI access token из Панели управления Pushwoosh.
applicationstringДаКод приложения Pushwoosh
notificationsarrayДаМассив JSON, содержащий детали email-сообщения. См. таблицу Параметры уведомлений ниже.

Параметры уведомлений

Anchor link to
ИмяТип
ОбязательныйОписание
send_datestringДаОпределяет, когда отправить email. Формат: YYYY-MM-DD HH:mm или "now".
presetstringДаКод пресета email. Скопируйте его из адресной строки на странице редактора контента email в Панели управления Pushwoosh.
subjectstring или objectНетТема email. Язык письма всегда будет соответствовать языку контента. Если subject не содержит язык, соответствующий content, тема будет пустой.
contentstring или objectНетТело email. Может быть строкой для простого HTML-контента или объектом для локализованных версий.
attachmentsarrayНетВложения в email. Доступно не более двух вложений. Каждое вложение не должно превышать 1 МБ (в кодировке base64).
campaignstringНетКод кампании для связи email с определенной кампанией.
ignore_user_timezonebooleanНетЕсли true, email отправляется немедленно, игнорируя часовые пояса пользователей.
timezonestringНетОтправляет email в соответствии с часовым поясом пользователя. Пример: "America/New_York".
filterstringНетОтправляет email пользователям, соответствующим определенному условию фильтра.
devicesarrayНетСписок email-адресов (не более 1000) для отправки целевых писем. Если используется, сообщение отправляется только по этим адресам. Игнорируется, если используется группа приложений.
use_auto_registrationbooleanНетЕсли true, автоматически регистрирует email из параметра devices.
usersarrayНетЕсли указан, email-сообщение будет доставлено только указанным User ID (зарегистрированным через вызов /registerEmail). Не более 1000 User ID в массиве. Если указан параметр “devices”, параметр “users” будет проигнорирован.
dynamic_content_placeholdersobjectНетПлейсхолдеры для динамического контента вместо значений тегов устройства.
conditionsarrayНетУсловия сегментации с использованием тегов. Пример: [["Country", "EQ", "BR"]].
fromobjectНетУкажите кастомное имя и email отправителя, чтобы переопределить значения по умолчанию в свойствах приложения.
reply-toobjectНетУкажите кастомный email для ответа, чтобы переопределить значение по умолчанию в свойствах приложения.
transactionIdstringНетУникальный идентификатор сообщения для предотвращения повторной отправки в случае проблем с сетью. Хранится на стороне Pushwoosh в течение 5 минут.
capping_daysintegerНетКоличество дней (максимум 30), в течение которых применяется ограничение частоты для каждого устройства. Примечание: Убедитесь, что глобальное ограничение частоты настроено в Панели управления.
capping_countintegerНетМаксимальное количество email, которое может быть отправлено из конкретного приложения на определенное устройство в течение периода capping_days. Если созданное сообщение превышает лимит capping_count для устройства, оно не будет отправлено на это устройство.
capping_excludebooleanНетЕсли установлено значение true, это письмо не будет учитываться при подсчете лимита для будущих рассылок.
capping_avoidbooleanНетЕсли установлено значение true, ограничение частоты не будет применяться к этому конкретному письму.

Пример запроса

Anchor link to
{
"request": {
"auth": "API_ACCESS_TOKEN", // обязательно. API access token из Панели управления Pushwoosh
"application": "APPLICATION_CODE", // обязательно. Код приложения Pushwoosh.
"notifications": [{
"send_date": "now", // обязательно. YYYY-MM-DD HH:mm ИЛИ 'now'
"preset": "ERXXX-32XXX", // обязательно. Скопируйте код пресета email из адресной строки
// на странице редактора контента email в Панели управления Pushwoosh.
"subject": { // необязательно. Тема email-сообщения.
"de": "subject de",
"en": "subject en"
},
"content": { // необязательно. Тело email.
"de": "<html><body>de Hello, moto</body></html>",
"default": "<html><body>default Hello, moto</body></html>"
},
"attachments": [{ // необязательно. Вложения в email
"name": "image.png", // "name" - имя файла
"content": "iVBANA...AFTkuQmwC" // "content" - содержимое файла в кодировке base64
}, {
"name": "file.pdf",
"content": "JVBERi...AFTarEGC"
}],
"campaign": "CAMPAIGN_CODE", // необязательно. Чтобы назначить это email-сообщение определенной кампании,
// добавьте код кампании сюда.
"ignore_user_timezone": true, // необязательно.
"timezone": "America/New_York", // необязательно. Укажите, чтобы отправить сообщение в соответствии
// с часовым поясом, установленным на устройстве пользователя.
"filter": "FILTER_NAME", // необязательно. Отправить сообщение определенным пользователям, отвечающим условиям фильтра.
"devices": [ // необязательно. Укажите email-адреса для отправки целевых сообщений.
"email_address1", // Не более 1000 адресов в массиве.
"email_address2" // Если указан, сообщение будет отправлено только по адресам из
], // списка. Игнорируется, если используется группа приложений.
"use_auto_registration": true, // необязательно. Автоматически регистрировать email, указанные в параметре "devices".
"users": [ // необязательно. Если указан, email-сообщение будет доставлено только
"userId1", // указанным User ID (зарегистрированным через вызов /registerEmail).
"userId2" // Не более 1000 User ID в массиве.
], // Если указан параметр "devices",
// параметр "users" будет проигнорирован.
"dynamic_content_placeholders": { // необязательно. Плейсхолдеры для динамического контента вместо значений тегов устройства.
"firstname": "John",
"firstname_en": "John"
},
"conditions": [ // необязательно. Условия сегментации, см. примечание ниже.
["Country", "EQ", "BR"],
["Language", "EQ", "pt"]
],
"from": { // необязательно. Укажите имя отправителя и адрес email отправителя,
"name": "alias from", // чтобы заменить значения по умолчанию "Имя отправителя" и "Email отправителя"
"email": "from-email@email.com" // установленные в свойствах приложения.
},
"reply-to": { // необязательно. Укажите email-адрес для замены
"name": "alias reply to ", // значения по умолчанию "Ответить кому", установленного в свойствах приложения.
"email": "reply-to@email.com"
},
"transactionId": "unique UUID", // необязательно. Уникальный идентификатор сообщения для предотвращения повторной отправки
// в случае проблем с сетью. Хранится на стороне
// Pushwoosh в течение 5 минут.
// Параметры ограничения частоты. Убедитесь, что глобальное ограничение частоты настроено в Панели управления.
"capping_days": 30, // необязательно. Количество дней для ограничения частоты (максимум 30 дней)
"capping_count": 10, // необязательно. Максимальное количество email-сообщений, которое может быть отправлено из
// конкретного приложения на определенное устройство в течение периода 'capping_days'.
// Если созданное сообщение превышает
// лимит 'capping_count' для устройства, оно не
// будет отправлено на это устройство.
"capping_exclude": true, // необязательно. Если установлено значение true, это письмо не
// будет учитываться при подсчете лимита для будущих рассылок.
"capping_avoid": true // необязательно. Если установлено значение true, ограничение частоты не будет применяться
// к этому конкретному письму.
}]
}
}

Примеры ответов

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": null
}

Условия для тегов

Anchor link to

Каждое условие для тега представляет собой массив вида [tagName, operator, operand], где

  • tagName: имя тега
  • operator: “EQ” | “IN” | “NOTEQ” | “NOTIN” | “LTE” | “GTE” | “BETWEEN”
  • operand: string | integer | array | date

Описание операнда

Anchor link to
  • EQ: значение тега равно операнду;
  • IN: значение тега пересекается с операндом (операнд всегда должен быть массивом);
  • NOTEQ: значение тега не равно операнду;
  • NOTIN: значение тега не пересекается с операндом (операнд всегда должен быть массивом);
  • GTE: значение тега больше или равно операнду;
  • LTE: значение тега меньше или равно операнду;
  • BETWEEN: значение тега больше или равно минимальному значению операнда, но меньше или равно максимальному значению операнда (операнд всегда должен быть массивом).

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

Anchor link to

Допустимые операторы: EQ, IN, NOTEQ, NOTIN
Допустимые операнды:

  • EQ, NOTEQ: операнд должен быть строкой;
  • IN, NOTIN: операнд должен быть массивом строк, например, ["value 1", "value 2", "value N"];

Числовые теги

Anchor link to

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

  • EQ, NOTEQ, GTE, LTE: операнд должен быть целым числом;
  • IN, NOTIN: операнд должен быть массивом целых чисел, например, [value 1, value 2, value N];
  • BETWEEN: операнд должен быть массивом целых чисел, например, [min_value, max_value].

Теги даты

Anchor link to

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

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

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

Anchor link to

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

Теги-списки

Anchor link to

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

registerEmail

Anchor link to

Регистрирует email-адрес для приложения.

POST https://api.pushwoosh.com/json/1.3/registerEmail

Заголовки запроса

Anchor link to
ИмяОбязательныйЗначениеОписание
AuthorizationДаToken XXXXDevice API token для доступа к Device API. Замените XXXX вашим актуальным Device API token.

Тело запроса

Anchor link to
ИмяТипОписание
application*stringКод приложения Pushwoosh
email*stringEmail-адрес.
languagestringЯзыковая локаль устройства. Должен быть двухбуквенным кодом в нижнем регистре в соответствии со стандартом ISO-639-1.
userIdstringUser ID для связи с email-адресом.
tz_offsetintegerСмещение часового пояса в секундах.
tagsobjectЗначения тегов для присвоения зарегистрированному устройству.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Пример
{
"request": {
"application": "APPLICATION_CODE", // обязательно. Код приложения Pushwoosh.
"email":"email@domain.com", // обязательно. Email-адрес для регистрации.
"language": "en", // необязательно. Языковая локаль.
"userId": "userId", // необязательно. User ID для связи с email-адресом.
"tz_offset": 3600, // необязательно. Смещение часового пояса в секундах.
"tags": { // необязательно. Значения тегов для установки на зарегистрированном устройстве.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1","string2"], // устанавливает список значений для тегов типа List
"DateTag": "2024-10-02 22:11", // обратите внимание, что время должно быть в UTC
"BooleanTag": true // допустимые значения: true, false
}
}
}

deleteEmail

Anchor link to

Удаляет email-адрес из вашей базы пользователей.

POST https://api.pushwoosh.com/json/1.3/deleteEmail

Заголовки запроса

Anchor link to
ИмяОбязательныйЗначениеОписание
AuthorizationДаToken XXXXDevice API token для доступа к Device API. Замените XXXX вашим актуальным Device API token.

Тело запроса

Anchor link to
ИмяТипОписание
applicationstringКод приложения Pushwoosh
emailstringEmail-адрес, использованный в запросе /registerEmail.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Пример
{
"request": {
"application": "APPLICATION_CODE", // обязательно. Код приложения Pushwoosh
"email": "email@domain.com" // обязательно. Email для удаления из подписчиков приложения.
}
}

setEmailTags

Anchor link to

Устанавливает значения тегов для email-адреса.

POST https://api.pushwoosh.com/json/1.3/setEmailTags

Заголовки запроса

Anchor link to
ИмяОбязательныйЗначениеОписание
AuthorizationДаToken XXXXDevice API token для доступа к Device API. Замените XXXX вашим актуальным Device API token.

Тело запроса

Anchor link to
ИмяТипОписание
applicationstringКод приложения Pushwoosh
emailstringEmail-адрес.
tagsobjectОбъект JSON с тегами для установки, отправьте ‘null’, чтобы удалить значение.
userIdstringUser ID, связанный с email-адресом.
{
"status_code": 200,
"status_message": "OK",
"response": {
"skipped": []
}
}
Пример
{
"request": {
"email": "email@domain.com", // обязательно. Email-адрес, для которого устанавливаются теги.
"application": "APPLICATION_CODE", // обязательно. Код приложения Pushwoosh.
"tags": {
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // время в UTC
"BooleanTag": true // допустимые значения: true, false
},
"userId": "userId" // необязательно. User ID, связанный с email-адресом.
}
}

registerEmailUser

Anchor link to

Связывает внешний User ID с указанным email-адресом.

POST https://api.pushwoosh.com/json/1.3/registerEmailUser

Может использоваться в вызове API /createEmailMessage (параметр ‘users’).

Заголовки запроса

Anchor link to
ИмяОбязательныйЗначениеОписание
AuthorizationДаToken XXXXDevice API token для доступа к Device API. Замените XXXX вашим актуальным Device API token.

Тело запроса

Anchor link to
ИмяТипОписание
application*stringКод приложения Pushwoosh
email*stringEmail-адрес.
userId*stringUser ID для связи с email-адресом.
tz_offsetintegerСмещение часового пояса в секундах.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Пример
{
"request": {
"application": "APPLICATION_CODE", // обязательно. Код приложения Pushwoosh.
"email": "email@domain.com", // обязательно. Email-адрес пользователя.
"userId": "userId", // обязательно. User ID для связи с email-адресом.
"tz_offset": 3600 // необязательно. Смещение часового пояса в секундах.
}
}