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

Email API

createEmailMessage

Anchor link to

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

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

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

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

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

Anchor link to
НазваниеТип
ОбязательноОписание
send_datestringДаОпределяет, когда отправлять email. Формат: YYYY-MM-DD HH:mm или "now".
presetstringДаКод пресета email. Скопируйте из URL-адреса в Редакторе контента email в Панели управления Pushwoosh.
subjectstring или objectНетТема email. Email всегда будет на языке контента. Если subject не содержит соответствующего языка для content, тема будет пустой.
contentstring или objectНетСодержимое тела email. Может быть строкой для простого HTML-контента или объектом для локализованных версий.
attachmentsarrayНетВложения в email. Доступно только два вложения. Каждое вложение не должно превышать 1 МБ (в кодировке base64).
list_unsubscribestringНетПозволяет установить пользовательский URL для заголовка “Link-Unsubscribe”.
campaignstringНетКод кампании для связи email с определенной кампанией.
ignore_user_timezonebooleanНетЕсли true, отправляет email немедленно, игнорируя часовые пояса пользователей.
timezonestringНетОтправляет email в соответствии с часовым поясом пользователя. Пример: "America/New_York".
filterstringНетОтправляет email пользователям, соответствующим определенному условию фильтра.
devicesarrayНетСписок email-адресов (максимум 1000) для отправки целевых email. При использовании сообщение отправляется только на эти адреса. Игнорируется, если используется Группа приложений.
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 для ответа, переопределяя значение по умолчанию в свойствах приложения.
email_typestringНетУкажите тип email: "marketing" или "transactional".
email_categorystringОбязательно, когда email_type равен "marketing".Укажите одно из названий категорий, настроенных в центре управления подписками (например, Newsletter, Promotional, Product Updates).
transactionIdstringНетУникальный идентификатор сообщения для предотвращения повторной отправки в случае проблем с сетью. Хранится на стороне Pushwoosh в течение 5 минут.
capping_daysintegerНетКоличество дней (максимум 30) для применения ограничения частоты на устройство. Примечание: Убедитесь, что Глобальное ограничение частоты настроено в Панели управления.
capping_countintegerНетМаксимальное количество email, которое может быть отправлено из определенного приложения на конкретное устройство в течение периода capping_days. Если созданное сообщение превышает лимит capping_count для устройства, оно не будет отправлено на это устройство.
capping_excludebooleanНетЕсли установлено значение true, этот email не будет учитываться при ограничении частоты для будущих email.
capping_avoidbooleanНетЕсли установлено значение true, ограничение частоты не будет применяться к этому конкретному email.
send_rateintegerНетОграничение на количество сообщений, отправляемых в секунду всем пользователям. Помогает предотвратить перегрузку бэкенда при массовых рассылках.
send_rate_avoidbooleanНетЕсли установлено значение true, ограничение скорости отправки не будет применяться к этому конкретному email.

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

Anchor link to
{
"request": {
"auth": "API_ACCESS_TOKEN", // обязательно. Токен доступа к API из Панели управления Pushwoosh
"application": "APPLICATION_CODE", // обязательно. Код приложения Pushwoosh.
"notifications": [{
"send_date": "now", // обязательно. YYYY-MM-DD HH:mm ИЛИ 'now'
"preset": "ERXXX-32XXX", // обязательно. Скопируйте код пресета email из URL-адреса
// страницы редактора контента 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"
}],
"list_unsubscribe": "URL", // опционально. Позволяет установить пользовательский URL для заголовка "Link-Unsubscribe"
"campaign": "CAMPAIGN_CODE", // опционально. Чтобы назначить это email-сообщение определенной кампании,
// добавьте сюда код кампании.
"ignore_user_timezone": true, // опционально.
"timezone": "America/New_York", // опционально. Укажите для отправки сообщения в соответствии с
// часовым поясом, установленным на устройстве пользователя.
"filter": "FILTER_NAME", // опционально. Отправить сообщение определенным пользователям, соответствующим условиям фильтра.
"devices": [ // опционально. Укажите email-адреса для отправки целевых 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"
},
"email_type": "marketing", // опционально. "marketing" или "transactional".
"email_category": "category name",// обязательно, когда email_type - "marketing". Название категории.
"transactionId": "unique UUID", // опционально. Уникальный идентификатор сообщения для предотвращения повторной отправки
// в случае проблем с сетью. Хранится на стороне
// Pushwoosh в течение 5 минут.
// Параметры ограничения частоты. Убедитесь, что в Панели управления настроено Глобальное ограничение частоты.
"capping_days": 30, // опционально. Количество дней для ограничения частоты (максимум 30 дней)
"capping_count": 10, // опционально. Максимальное количество email, которое может быть отправлено из
// определенного приложения на конкретное устройство в течение периода 'capping_days'.
// Если созданное сообщение превышает
// лимит 'capping_count' для устройства, оно не будет
// отправлено на это устройство.
"capping_exclude": true, // опционально. Если установлено значение true, этот email не будет
// учитываться при ограничении частоты для будущих email.
"capping_avoid": true, // опционально. Если установлено значение true, ограничение частоты не будет применяться к
// этому конкретному email.
"send_rate": 100, // опционально. Ограничение скорости отправки.
// Ограничивает количество сообщений, отправляемых в секунду всем пользователям.
// Помогает предотвратить перегрузку бэкенда при массовых рассылках.
"send_rate_avoid": true, // опционально. Если установлено значение true, ограничение скорости отправки не будет применяться к
// этому конкретному email.
}]
}
}

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

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 timestamp 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 XXXXТокен устройства API для доступа к Device API. Замените XXXX на ваш фактический токен устройства API.

Тело запроса

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 XXXXТокен устройства API для доступа к Device API. Замените XXXX на ваш фактический токен устройства API.

Тело запроса

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 XXXXТокен устройства API для доступа к Device API. Замените XXXX на ваш фактический токен устройства API.

Тело запроса

Anchor link to
НазваниеТипОписание
applicationstringКод приложения Pushwoosh
emailstringEmail-адрес.
tagsobjectJSON-объект тегов для установки, отправьте ‘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 XXXXТокен устройства API для доступа к Device API. Замените XXXX на ваш фактический токен устройства API.

Тело запроса

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 // опционально. Смещение часового пояса в секундах.
}
}