Есть ли библиотеки?
Язык: PHP | PHPDasha | Автор:
Язык: Python | 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
Коды ошибок
Таблица известных ошибок, возвращаемых сервисом. |
Категории методов
lists - Для работы с Адресными Базами |
campaigns - Для работы с Кампаниями |
reports - Для работы с Отчетами |
account - Для работы с настройками аккаунта |
Методы для работы с Адресными Базами
lists.get ( int list_id, int merge_json ) Получаем список баз пользователя |
lists.add ( string name, JSON fields, 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, string email, datetime date_start, datetime date_end ) Получаем список отписавшихся подписчиков как из всех баз, так и в разрезе конкретной адресной базы. |
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, multipart/form-data import-file, string mode, string webhook, 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, int region, enum gender, string type, string update, int sheet_index, string sheet_name, string send_confirm, string task_id ) Импорт подписчиков из файла |
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, string state, string send_confirm ) Добавляем подписчика в базу |
lists.add_member_batch ( int list_id, string batch, string update, string no_check, string send_confirm ) Добавляем несколько подписчиков в базу |
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, string state, 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/JSON 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 ) Получить историю и результаты импорта адресной базы |
lists.check_email ( string email, int list_id ) Проверяет email-адрес на валидность и наличие в черных списках или статусе отписки |
Методы для работы с Рассылками
campaigns.get ( int campaign_id, string external_campaign_id, string status, int list_id, date start, date end , string type, int offset, int limit, int merge_json ) Получаем список рассылок пользователя |
campaigns.create ( serialized array list_id, string name, string status, 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 cloud, string plain_text, string amp, serialized array esegment, string external_campaign_id, string channel, int limit, int wait_time, string allow_time_zone, string allow_best_time, string stat_domain ) Создаем рассылку. |
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 analytics_medium, string analytics_source, string analytics_content, string analytics_term, string html, string cloud, string plain_text, string amp, 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 analytics_medium, string analytics_source, string analytics_content, string analytics_term, string html, string cloud, string plain_text, string amp, string status, serialized array esegment, int limit, int wait_time, string allow_time_zone, string allow_best_time, string stat_domain ) Обновляем параметры рассылки. |
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 analytics_medium, string analytics_source, string analytics_content, string analytics_term, string html, string cloud, string plain_text, string amp, int delay_1, string delay_2, string campaigns, int auto ) Обновляем параметры авторассылки. |
campaigns.delete ( int campaign_id ) Удаляем кампанию |
campaigns.attach ( int campaign_id, string url, string name, int separate_link ) Добавляем вложение |
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, string cloud ) Добавляем html шаблон. Устаревший метод сохранения html-шаблонов. Шаблоны, загружаемые с его помощью НЕ БУДУТ отображаться в ЛК в разделе «Шаблоны», для них необходимо создавать рассылки со статусом TEMPLATE с помощью метода campaigns.create |
campaigns.delete_template ( int id ) Удаляем html шаблон |
campaigns.force_auto ( int campaign_id, int member_id, int delay ) Принудительно вызываем срабатывание авторассылки (при этом она должна быть активна) |
campaigns.multi_create ( json data ) Создаем мультикампанию |
campaigns.multi_get ( int campaign_id ) Получаем данные о мультикампаниях |
campaigns.multi_update ( int campaign_id, json data ) Обновляем параметры рассылок в рамках мультикампании |
campaigns.get_folders ( string name, int id ) Получаем папки рассылок |
campaigns.move_to_folder ( int campaign_id, int folder_id ) Перемещаем рассылку в папку |
campaigns.pause ( int campaign_id ) Ставим рассылку на паузу |
campaigns.restart_paused ( int campaign_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.codes ( int campaign_id, int start, int limit, string order ) Список сгенерированных промокодов (по тегу %CODE%) в рассылке |
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, string event_type, JSON-array merge, int start, int limit, string order ) Список событий с письмами в рамках рассылки за определенный период |
Методы для работы с Аккаунтом
Получить текущий баланс аккаунта |
account.get_webhooks ( string event_name ) Получить список всех заданных webhooks или webhook по определенному событию |
account.add_webhooks ( string open, string click, string hard, string spam, string unsub, string subscribe, string confirm ) Обновить или добавить webhooks для событий |
account.delete_webhooks ( string event_name ) Удаляем вебхуки для событий |
account.confirm_from_email ( string email ) Отправить письмо подтверждения обратного адреса для использования в ЛК или транзакционных рассылках |
Получить список всех подтвержденных email-адресов на аккаунте |
account.add_domain ( string domain, string stat_domain ) Добавить домен отправки или домен статистики на аккаунт |
account.check_domains ( string domain, string stat_domain ) Получить и проверить валидность DNS-записей для настройки домена отправки или статистики |
account.delete_domain ( string delete_domain, string delete_stat_domain ) Удаляем домен отправки или статистики |