Документация для разработчиков

Документация API

текущая версия 1.21

Есть ли библиотеки?

Язык: PHP | PHPDasha | Автор: Zhussupov Zhassulan | Репозиторий на GitHub: https://github.com/DashaMail/php_dashamail

Язык: Python | dasha_python | Автор: Зубакин Александр | Репозиторий на GitHub: https://github.com/DashaMail/dasha_python


Если у вас есть библиотека для работы с ДашаМейл.ру или вы очень хотите, чтобы оно появилось - не стесняйтесь и пишите сразу же на support@dashamail.ru. Мы всегда рады талантливым разработчикам!

Как обращаться к API?

Работа с API осуществляется при помощи отправки HTTP-запросов (методы GET, POST) по адресу:

api.dashamail.ru

Возможно использование протоколов HTTP либо HTTPS. Кодировка: UTF-8. Пример запроса:

https://api.dashamail.ru/?method=lists.get&api_key=XXXXXXXXXXXXXXXXXXX&format=xml

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

  • method (вызываемый метод вида "категория.метод", например 'lists.get')
  • api_key (ключ для авторизации из раздела «Аккаунт» - «Интеграции»)

Возвращаемые данные

Ответ может быть в одном из нескольких форматов. Для его задания используйте переменную format:

  • JSON (default)
  • JSONP
  • XML

Даша возвращает данные структурированные следующим образом:

  • <msg> сообщение о выполнении действия в виде массива с ключами <err_code> - числовой код ошибки (0 - нет ошибок), <text> - текстовое сообщение, <type> - тип сообщения (message – нет ошибок, notice и error – ошибки)
  • <data> запрашиваемые данные, если есть.

Проблемы? Вопросы?

Если вы столкнулись с проблемами или вам кажется что метод не работает? Пишите на support@dashamail.ru и вам быстро и квалифицированно ответят наши разработчики.

Версия:1.21

Коды ошибок

errors

Таблица известных ошибок, возвращаемых сервисом.

Категории методов

lists - Для работы с Адресными Базами
campaigns - Для работы с Кампаниями
reports - Для работы с Отчетами
account - Для работы с настройками аккаунта

Методы для работы с Адресными Базами

lists.get ( int list_id )

Получаем список баз пользователя

lists.add ( string name, string abuse_email, string abuse_name, string company, string address, string city, string zip, string country, string url, string phone )

Добавляем адресную базу

lists.update ( int list_id, string name, string abuse_email, string abuse_name, string company, string address, string city, string zip, string country, string url, string phone )

Обновляем контактную информацию адресной базы

lists.delete ( int list_id )

Удаляем адресную базу и всех активных подписчиков в ней.

lists.get_members ( int list_id, string state, int start, int limit, string order, int member_id, string email )

Получаем подписчиков в адресной базе с возможность фильтра и регулировки выдачи.

lists.get_unsubscribed ( int start, int limit, string order, string list_id )

Получаем список отписавшихся подписчиков как из всех баз, так и в разрезе конкретной адресной базы.

lists.get_complaints ( int start, int limit, string order, int list_id )

Получаем список подписчиков, нажавших «Это Спам», как из всех баз, так и в разрезе конкретной базы.

lists.member_activity ( string email, string filter )

Получаем активность подписчика в различных рассылках

lists.upload ( int list_id, string file, int email, int merge_1, int merge_2, int merge_3, int merge_4, int merge_5, int merge_6, int merge_7, int merge_8, int merge_9, int merge_10, enum gender, string type, string update, int sheet_index, string sheet_name )

Импорт подписчиков из файла

lists.add_member ( int list_id, string email, string merge_1, string merge_2, string merge_3, string merge_4, string merge_5, string merge_6, string merge_7, string merge_8, string merge_9, string merge_10, enum gender, int region, string update, string no_check )

Добавляем подписчика в базу

lists.add_member_batch ( int list_id, string batch, string update, string no_check )

Добавляем несколько подписчиков в базу

lists.update_member ( int member_id, string email, int list_id, string merge_1, string merge_2, string merge_3, string merge_4, string merge_5, string merge_6, string merge_7, string merge_8, string merge_9, string merge_10, enum gender, int region, string update_tags )

Редактируем подписчика в базе

lists.delete_member ( int member_id )

Удаляем подписчика из базы.

lists.unsubscribe_member ( int member_id, string email, string list_id )

Отписываем подписчика из базы.

lists.move_member ( int member_id, int list_id )

Перемещаем подписчика в другую адресную базу.

lists.copy_member ( int member_id, int list_id )

Копируем подписчика в другую адресную базу.

lists.add_merge ( int list_id, string type, serialized array/JSON choices, string title, string req, string var )

Добавить дополнительное поле в адресную базу.

lists.update_merge ( int list_id, int merge_id, serialized array choices, string title, string req, string var )

Обновить настройки дополнительного поля в адресной базе.

lists.delete_merge ( int list_id, int merge_id )

Удалить дополнительное поле из адресной базы.

lists.last_status ( string email, int list_id )

Получить последний статус конкретного email в адресных базах

lists.get_import_history ( int list_id )

Получить историю и результаты импорта адресной базы

Методы для работы с Рассылками

campaigns.get ( int campaign_id, string status, int list_id, date start, date end , string type, int limit )

Получаем список рассылок пользователя

campaigns.create ( serialized array list_id, string name, string subject, string from_name, string from_email, string personalizeToEmail, string to_email, string track_opens, string track_clicks, string plain_clicks, string no_images_add, string analytics, string analytics_tag, string html, string plain_text, serialized array esegment )

Создаем рассылку.

campaigns.create_auto ( serialized array list_id, string name, string subject, string from_name, string from_email, string personalizeToEmail, string to_email, string track_opens, string track_clicks, string plain_clicks, string no_images_add, string analytics, string analytics_tag, string html, string plain_text, string action, int delay_1, string delay_2, string campaigns, int auto )

Создаем авторассылку.

campaigns.update ( int campaign_id, serialized array list_id, string name, string subject, string from_name, string from_email, string personalizeToEmail, string to_email, string track_opens, string track_clicks, string plain_clicks, string no_images_add, string analytics, string analytics_tag, string html, string plain_text, string status, serialized array esegment )

Обновляем параметры рассылки.

campaigns.update_auto ( int campaign_id, serialized array list_id, string name, string subject, string from_name, string from_email, string personalizeToEmail, string to_email, string track_opens, string track_clicks, string plain_clicks, string no_images_add, string analytics, string analytics_tag, string html, string plain_text, int delay_1, string delay_2, string campaigns, int auto )

Обновляем параметры авторассылки.

campaigns.delete ( int campaign_id )

Удаляем кампанию

campaigns.attach ( int campaign_id, string file, string name )

Добавляем вложение

campaigns.get_attachments ( int campaign_id )

Получаем приложенные файлы

campaigns.delete_attachment ( int campaign_id, int id )

Удаляем приложенный файл

campaigns.get_templates ( string name, int id )

Получаем html шаблоны

campaigns.get_saved_templates ( string name, int id )

Получаем шаблоны из ЛК

campaigns.add_template ( string name, string template )

Добавляем html шаблон

campaigns.delete_template ( int id )

Удаляем html шаблон

campaigns.force_auto ( int campaign_id, int member_id, int delay )

Принудительно вызываем срабатывание авторассылки (при этом она должна быть активна)

campaigns.get_folders ( string name, int id )

Получаем папки рассылок

campaigns.move_to_folder ( int campaign_id, int folder_id )

Перемещаем рассылку в папку

Методы для работы с Отчетами

reports.sent ( int campaign_id, int start, int limit, string order )

Список отправленных писем в рассылке

reports.delivered ( int campaign_id, int start, int limit, string order )

Список доставленных писем в рассылке

reports.opened ( int campaign_id, int start, int limit, string order )

Список открытых писем в рассылке

reports.clicked ( int campaign_id, int start, int limit, string order )

Список писем в рассылке, где адресат перешел по любой ссылке

reports.unsubscribed ( int campaign_id, int start, int limit, string order )

Список писем отписавшихся подписчиков в рассылке

reports.bounced ( int campaign_id, int start, int limit, string order )

Список возвратившихся писем в рассылке

reports.clickstat ( int campaign_id )

статистика по кликам по различным url в письме

reports.userclicks ( int campaign_id, string url )

статистика по кликам по указанному url в письме

reports.bouncestat ( int campaign_id )

статистика по всевозможным причинам возврата письма

reports.summary ( int campaign_id )

краткая статистка по рассылке

reports.clients ( int campaign_id )

статистика по браузерам, ОС и почтовым клиентам

reports.geo ( int campaign_id )

статистика по регионам открытия

reports.events ( int campaign_id, datetime time_start, datetime time_end, JSON-array merge, int start, int limit, string order )

Список событий с письмами в рамках рассылки за определенный период

Методы для работы с Аккаунтом

account.get_balance ( )

текущий баланс