Коды ошибок
При отказе API возвращает HTTP-статус 4xx/5xx
и объект error с кодом DashaMail. Код точнее статуса —
ориентируйтесь на него, когда нужно различать причины.
{
"error": {
"code": 10,
"message": "Такой email-адрес уже есть в базе"
}
}
Соответствие кодов и HTTP-статусов #
Один HTTP-статус может соответствовать нескольким кодам DashaMail.
Коды, не перечисленные в таблице ниже, отдаются со статусом
500.
| HTTP | Коды error.code | Смысл |
|---|---|---|
401 | 2, 42 | Проблема с ключом или правами доступа |
402 | 8, 25, 35 | Баланс или ограничения тарифа |
403 | 30, 47 | Действие запрещено |
404 | 4, 5, 9, 22, 27, 999 | Объект не найден или выборка пуста |
409 | 7, 10, 21, 43, 44, 45 | Конфликт состояния |
413 | 26 | Слишком большой файл |
422 | 3, 6, 11, 29, 46, 52 | Ошибка в параметрах запроса |
429 | 58 | Превышен лимит запросов |
Справочник кодов #
| Код | Что означает | Что делать |
|---|---|---|
1 | Неверный логин или пароль; метод закрыт по требованиям безопасности | Проверьте ключ |
2 | Недостаточно прав доступа; внутренняя ошибка операции | Проверьте права ключа субаккаунта |
3 | Заданы не все необходимые параметры | Сверьтесь с таблицей обязательных параметров эндпоинта |
4 | Нет данных; функция недоступна на тарифе; аккаунт на модерации | Чаще всего означает пустую выборку — см. Пустой результат |
5 | Адресной базы с таким list_id нет | Проверьте идентификатор базы |
6 | Некорректный email-адрес; запрещённый обратный адрес | Проверьте формат и домен адреса |
7 | Такой email уже есть в базе | Добавьте update: 1, чтобы обновлять существующего подписчика |
8 | Достигнут лимит активных подписчиков на тарифе | Очистите базы или расширьте тариф |
9 | Подписчик, вложение или диалог не найдены | Проверьте идентификатор |
10 | Подписчик уже отписан, в чёрном списке либо не в активном статусе | Повторная подписка возможна только с send_confirm |
11 | Нет данных для обновления | Передайте хотя бы одно изменяемое поле |
12 | Не заданы элементы списка для поля типа choice | Заполните choices |
13 | Превышено число дополнительных полей; не задано время рассылки | — |
14 | Не задан заголовок письма | Заполните subject |
15 | Действие запрещено; не заполнено поле «От кого» | Заполните from_name |
16 | Не задан обратный адрес | Заполните from_email |
17 | Не задана ни HTML-, ни текстовая версия письма | Передайте html или plain_text |
18, 19 | В письме нет ссылки отписки | Добавьте %ОТПИСАТЬСЯ% в текст письма |
20 | Недопустимый статус рассылки | Проверьте значение status |
21 | Рассылка уже создана и отправляется | Изменить её нельзя — сделайте копию |
22 | Кампании с таким campaign_id нет | Проверьте идентификатор |
23 | Нет такого поля для сортировки | Проверьте значение order |
25 | Недостаточно средств; файл уже существует | — |
26 | Превышен лимит на размер вложений | Уменьшите файл или загрузите его ссылкой |
27 | Файл не существует | — |
28 | Шаблон не существует или пуст | — |
29 | Определён одноразовый email-адрес | Такие адреса запрещены |
30 | Отправка заблокирована по подозрению в спаме | Обратитесь в поддержку |
31 | Массив email-адресов пуст | — |
33 | Недопустимый формат файла | Исполняемые файлы прикладывать нельзя |
34 | Не настроен домен отправки | Подтвердите домен в разделе Аккаунт |
35 | Функция недоступна на бесплатном тарифе; аккаунт заблокирован за спам | — |
36 | Ошибка при отправке письма | Повторите позже; если повторяется — в поддержку |
37 | Рассылка ещё не прошла модерацию | Дождитесь окончания модерации |
38 | Недопустимый сегмент | Проверьте esegment |
39 | Папки с таким id нет | — |
40 | Некорректные заголовки письма; неподходящий статус рассылки | — |
41 | Рассылка сейчас не отправляется | Поставить на паузу можно только идущую рассылку |
42 | Нет рассылки на паузе с таким campaign_id | — |
43–45 | Пользователь в чёрном списке | Отправка на этот адрес запрещена |
46 | Адрес в глобальном списке возвратов | Обойти можно параметром no_check |
47 | IP-адрес не в списке разрешённых | Добавьте адрес в разделе Аккаунт → Безопасность |
48 | Не удалось отправить письмо подтверждения отправителя | Повторите позже |
49 | Адрес уже подтверждён | — |
50 | Одноразовый email в обратном адресе | — |
51 | Обратный адрес на публичном домене Mail.ru запрещён политикой DMARC | Используйте свой домен |
52 | Email не подтверждён как отправитель | Подтвердите адрес |
53 | Недопустимое событие webhook; не задан домен отправки | Сверьтесь со списком событий |
54 | Некорректный домен | Национальные домены в DKIM/SPF запрещены |
56 | Домен уже добавлен или занят другим аккаунтом | — |
57 | Нет активных подписчиков для очистки; нет такого домена статистики | — |
58 | Превышен лимит запросов; очистка баз запрещена на месячных тарифах | Снизьте частоту запросов |
59 | Длина var больше 10 символов; AMP не включён на аккаунте | — |
60 | Фильтр по сегменту несовместим с фильтром по email или member_id | Оставьте один фильтр |
61 | Нет сегмента с таким id | — |
101 | Некорректный формат запроса | Проверьте синтаксис тела запроса |
999 | Неизвестный метод или ресурс | Проверьте URL |