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

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-сообщения. См. таблицу Параметры Notifications ниже.

Параметры Notifications

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. Если используется, сообщение отправляется только на эти адреса. Игнорируется, если используется Application Group.
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 для ответа, переопределяя значение по умолчанию в свойствах приложения.
bccarrayНетBCC (Слепая копия): массив email-адресов, которые получат копию 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" // Если установлено, сообщение будет отправлено только на адреса из
], // списка. Игнорируется, если используется Application Group.
"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", // чтобы заменить значения по умолчанию "From name" и "From email",
"email": "from-email@email.com" // установленные в свойствах приложения.
},
"reply-to": { // опционально. Укажите email-адрес для ответа, чтобы заменить
"name": "alias reply to ", // значение по умолчанию "Reply to", установленное в свойствах приложения.
"email": "reply-to@email.com"
},
"bcc": [ // опционально. BCC: массив email-адресов, которые получают копию, не будучи видимыми для других получателей.
"bcc1@example.com",
"bcc2@example.com"
],
"email_type": "marketing", // опционально. "marketing" или "transactional".
// Если опущено, считается транзакционным: доставляется всем.
// Маркетинговые сообщения не доставляются членам контрольной группы.
"email_category": "category name",// обязательно, когда email_type равен "marketing". Название категории.
"transactionId": "unique UUID", // опционально. Уникальный идентификатор сообщения для предотвращения повторной отправки
// в случае проблем с сетью. Хранится на стороне
// Pushwoosh в течение 5 минут.
// Параметры ограничения частоты. Убедитесь, что Глобальное ограничение частоты настроено в Панели управления.
// Ограничение частоты не применяется к транзакционным сообщениям.
// Во всех остальных случаях, включая опущенный "email_type", ограничение частоты применяется.
"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
}
}
}

Коды ответа

Anchor link to

Публичный API возвращает результат в status_code. Используйте таблицу ниже, чтобы решить, следует ли повторять неудачный вызов.

status_codeЗначениеПовторять?
200Успех — email-адрес зарегистрирован.Нет — выполнено.
210Ошибка аргумента/валидации — запрос был понят, но отклонен (адрес в черном списке, недействительный или одноразовый email, неверная платформа для тарифного плана аккаунта). См. сообщения об ошибках 210 ниже.Нет — тот же запрос вернет тот же 210. Залогируйте адрес и пропустите его.
400Некорректный запрос — недействительный JSON или отсутствует обязательное поле.Нет — исправьте запрос, не повторяйте его.
403Запрещено — недействительный или ограниченный токен устройства API.Нет — исправьте авторизацию.
500Внутренняя ошибка сервера — временная проблема с инфраструктурой или тайм-аут.Да, с экспоненциальной задержкой — единственный временный случай.

Сообщения об ошибках 210

Anchor link to

Ответ 210 содержит конкретную причину в status_message.

status_messageЗначение
this hwid (email) is blacklistedАдрес находится в списке блокировки после постоянного (hard) возврата и не будет повторно зарегистрирован.
hwid (email) is invalid / has invalid semanticАдрес не прошел валидацию.
hwid (email) is emptyАдрес не был предоставлен.
hwid (email) has invalid count of partsОтсутствует или лишний символ @.
hwid (email) has invalid local partЧасть до @ недействительна.
hwid (email) has invalid domain partДоменная часть недействительна.
hwid (email) has disposable domainАдрес использует одноразовый/временный домен email (например, 10minutemail).
hwid is not validСам hwid некорректен.
only email platform allowed for Email Only subscriptionАккаунт находится на тарифном плане “Только Email” и не может регистрировать не-email устройства.

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