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

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

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

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

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


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

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

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

api.dashamail.ru

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

http://api.dashamail.ru/?method=lists.get&username=example&password=example&format=xml

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

  • method (вызываемый метод вида "категория.метод", например 'lists.get')
  • username (логин для авторизации)
  • password (пароль для авторизации)

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

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

  • JSON (default)
  • JSONP
  • XML

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

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

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

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

Версия:1.0

Коды ошибок

errors

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

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

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

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

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.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, 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 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 )

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

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 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 )

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

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

campaigns.get ( int campaign_id, string status, int list_id, string type )

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

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 )

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

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 )

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

campaigns.delete ( int campaign_id )

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

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

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

campaigns.get_attachments ( int campaign_id )

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

campaigns.delete_attachment ( int campaign_id, int id )

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

campaigns.get_templates ( string name )

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

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 )

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

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

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.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.bouncestat ( int campaign_id )

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

reports.summary ( int campaign_id )

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

reports.clients ( int campaign_id )

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

reports.geo ( int campaign_id )

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