(044) 360 9769 (098) 686 0101

Общая информация про UniSender API

Уведомления об изменениях в API
Имя
Логин
Компания
E-mail

UniSender API — это специальный интерфейс для разработчиков, позволяющий интегрировать возможности электронной рассылки практически с любым открытым веб-сервисом или desktop-приложением. Наш API предоставляет возможности для управления списками подписчиков, создания и отправки разных типов сообщений, получения доступа к статистике, а также для работы партнёров.

Работа с API бесплатна для всех аккаунтов без исключения, достаточно самостоятельно включить доступ и получить ключ к нему в Личном кабинете. Ключ доступа не следует передавать другим или делать видимым в коде веб-страниц, т.к. в этом случае кто-нибудь может воспользоваться им и отправлять сообщения от вашего имени.

Доступ к API может работать в тестовом или рабочем режиме. В тестовом режиме действия, могущие привести к изменению данных, снятию денег или отправке сообщений, сообщают об успешном завершении, но на самом деле не выполняются. Этот режим удобно использовать при первоначальной настройке. Режим можно самостоятельно переключить в Личном кабинете. Кроме того, можно включить тестовый режим вместо рабочего для отдельного запроса, добавив параметр &test_mode=1.

UniSender API для вашего бизнеса

Правильно сделанная интеграция UniSender в ваш сервис значительно упрощает проведение e-mail маркетинга для вашей компании. Вам не придётся постоянно вручную синхронизировать списки подписчиков, всё будет делаться автоматически. Вот несколько примеров:

  • Автоматическое добавление всех новых покупателей вашего Интернет-магазина в список рассылки;
  • Синхронизация статусов подписчиков с вашей существующей CRM;
  • Создание специальных разделов для оказания услуг электронной рассылки для Интернет-порталов;
  • Загрузка статистики рассылок в системы анализа и data mining;

Принцип использования API

Вызов метода

Обращение к методам API — это HTTP-запрос к URL вида:

http://api.unisender.com/LANG/api/METHOD?format=json&api_key=KEY
&arg1=ARG_1&argN=ARG_N


где:

LANG * язык сообщений сервера API, в данный момент поддерживается ru, en, it
METHOD * название метода
KEY * ключ доступа к API
ARG_1 ... ARG_N аргументы метода, свои для каждого метода

Все параметры должны быть в кодировке UTF-8. В примере выше параметры указаны в GET-запросе, но можно передавать их и в POST. Более того, параметр api_key мы настоятельно рекомендуем передавать через POST, чтобы он не сохранялся в логах прокси-серверов.

Ответ приходит в виде объекта формата JSON.

Результат успешного вызова метода

Если вызов успешен, то объект будет содержать поле "result", содержимое которого зависит от вызванного метода, и не будет содержать поля "error". Но даже в случае успешного выполнения метода возможно наличие поля "warnings", содержащего массив объектов-предупреждений с единственным строковым полем "warning".

Пример ответа успешного вызова метода:

{
  "result":{
    "message_id":34423432
  },
  "warnings":[
    {"warning":"probably not a mobile phone"}
  ]
}


Результат неуспешного вызова метода

Признаком ошибки при выполнении метода является наличие в объекте ответа поля "error" с HTML-сообщением об ошибке. Кроме того, в объекте ответа в случае ошибки будет ещё и поле "code" со строковым кодом ошибки. А поле "result" в случае ошибки должно быть проигнорировано.

Стандартные коды ошибок:

unspecified Тип ошибки не указан. Подробности смотрите в сообщении.
invalid_api_key Указан неправильный ключ доступа к API. Проверьте, совпадает ли значение api_key со значением, указанным в личном кабинете.
access_denied Доступ запрещён. Проверьте, включён ли доступ к API в личном кабинете и не обращаетесь ли вы к методу, прав доступа к которому у вас нет.
unknown_method Указано неправильное имя метода
invalid_arg Указано неправильное значение одного из аргументов метода
not_enough_money Не хватает денег на счету для выполнения метода

Кроме этих ошибок, могут быть и другие, указанные в описаниях методов. Коды ошибок уникальны для всего API вне зависимости от метода.

Пример ответа с ошибкой:

{"error":"AK100310-02","code":"invalid_api_key"}

Список методов

  • Работа со списками контактов
    • getLists - получить списки рассылки с их кодами
    • createList - создать новый список рассылки
    • subscribe - подписать адресата на один или несколько списков рассылки
    • exclude - исключить адресата из списков рассылки
    • unsubscribe - отписать адресата от рассылки
    • importContacts - массовый импорт и синхронизация контактов
    • exportContacts - экспорт всех данных контактов
    • activateContacts - запрос активации контактов
  • Создание и отправка сообщений
    • createEmailMessage - создать e-mail для массовой рассылки
    • createSmsMessage - создать SMS для массовой рассылки
    • createCampaign - запланировать массовую отправку e-mail или SMS сообщения
    • getCampaignDeliveryStats - получить отчёт о статусах доставки сообщений для заданной рассылки
    • sendSms - отправить SMS-сообщение одному адресату
    • checkSms - проверить статус доставки SMS
    • sendEmail - упрощённая отправка индивидуальных email-сообщений
    • checkEmail - проверить статус доставки email
  • Работа с дополнительными полями и метками
    • getFields - получить список пользовательских полей
    • createField - создать новое поле
    • updateField - изменить параметры поля
    • deleteField - удалить поле
    • getTags - получить список пользовательских меток
    • deleteTag - удалить метку
  • Методы для партнёрских сайтов
    • validateSender - подтвердить обратный адрес
    • register - зарегистрировать пользователя (для партнёрских сайтов)
    • checkUserExists - проверить существование пользователя по логину или email
    • getUserInfo - получить информацию о пользователе (для партнёрских сайтов)
    • transferMoney - перевести деньги на счёт пользователя (для партнёрских сайтов)
    • callbacks - оповещения об отписке, активации, подтверждении обратного адреса

Порядок вызова методов

Порядок вызова API-методов

У Вас может быть один или несколько списоков - предполагается, что каждый список соответствует определённой тематике рассылки, и адресат может быть подписан на один и не подписан на другой список.

Прежде, чем рассылать e-mail или SMS по списку, Вам нужно узнать код списка с помощью метода getLists, либо создать новый список с помощью метода createList. Далее нужно добавить контакты в список - либо массово с помощью метода importContacts, либо по одному с помощью метода subscribe. После добавления может понадобиться активация новых адресов. В некоторых случаях активация выполняется автоматически, в других — её проводит наш сотрудник. Активация выполняется либо методом activateContacts, либо указанием определённых параметров при импорте. Активация выполняется единожды для каждого e-mail адреса в рамках вашего аккаунта.

Далее можно отправлять сообщения. Создаёте сообщение методом createEmailMessage (или createSmsMessage). При этом Вы указываете id списка с адресатами - и письмо будет предназначено для всех адресатов из этого списка активных на момент вызова createEmailMessage/createSmsMessage. Если это автоматически отправляемое сообщение, входящее в серию а-ля "Похудение шаг за шагом за 10 дней", то на этом действия заканчиваются, и сообщение будет отправлено, как только понадобится. Если же это не серийное сообщение, то вам надо вызывать метод createCampaign для отправки созданного сообщения. .

Если нужно отправить другое письмо по тому же списку, то снова вызываете createEmailMessage/crateSmsMessage и далее как в предыдущем пункте.

Если текст письма менять не надо, а нужно повторно отправить то же самое письмо по тому же списку ещё раз, можете снова вызывать createCampaign с таким же message_id.

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