API для сервисов email-рассылок

Материал из Planfix
Версия от 10:06, 1 марта 2025; Seva (обсуждение | вклад) (Новая страница: «{{#seo: |title=API для интеграции с внешними сервисами электронной почты |titlemode=append |keywords=email, e-mail, рассылки, апи, api |description=API для интеграции с внешними сервисами электронной почты }} == Общие сведения об API == Данное API предназначено для владельцев сервисов рассылк...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к: навигация, поиск

Общие сведения об API

Данное API предназначено для владельцев сервисов рассылки электронной почты и позволяет подключить ваш сервис отправки писем к нашей системе, если он отсутствует в списке доступных для интеграции.

После реализации интеграции вы можете настроить её в нашем интерфейсе, указав единый конечный адрес (например, https://yourserver.com/sendEmail.php), который будет принимать все запросы в формате JSON.

Взаимодействие производится по протоколу HTTPS. Система посылает запросы на указанный адрес с авторизацией через токен (см. поле authToken ниже).

Формат запроса

Запрос передаётся методом POST в формате JSON (Content-Type: application/json). Пример общего формата запроса:

 { "action": "действие", "authToken": "ваш_токен_авторизации", "data": { // Данные, зависящие от действия } } 

=== Поля запроса === {| class="wikitable" style="margin-top: 1em; width:100%" ! width="150" | Имя ! width="50%" | Описание ! width="150" | Пример |- | action || Тип выполняемого действия || createList |- | authToken || Токен авторизации для доступа к API || 12345abcde |- | data || Объект с дополнительными данными для указанного действия || {"listName": "Название списка"} |}

Поддерживаемые действия

=== createList — Создание списка рассылки === Пример запроса:

 { "action": "createList", "authToken": "ваш_токен_авторизации", "data": { "listName": "Название списка" } } 

Ответ при успехе:

 { "success": true, "listId": "уникальный_идентификатор_списка" } 

Ответ при ошибке:

 { "error": "Описание ошибки" } 

=== deleteList — Удаление списка рассылки === Пример запроса:

 { "action": "deleteList", "authToken": "ваш_токен_авторизации", "data": { "listId": "идентификатор_списка" } } 

Ответ при успехе:

 { "success": true } 

=== importContacts — Импорт контактов в список === Пример запроса:

 { "action": "importContacts", "authToken": "ваш_токен_авторизации", "data": { "listId": "идентификатор_списка", "contacts": [ { "id": 123, "email": "email@example.com", "firstName": "Имя", "lastName": "Фамилия" } ] } } 

Ответ при успехе:

 { "success": true } 

=== updateContact — Обновление контакта === Пример запроса:

 { "action": "updateContact", "authToken": "ваш_токен_авторизации", "data": { "listId": "идентификатор_списка", "action": "add|update|delete", "contact": { "id": 123, "email": "email@example.com", "firstName": "Имя", "lastName": "Фамилия" }, "oldEmail": "старый_email@example.com" // только для action=update } } 

Ответ при успехе:

 { "success": true } 

Примечания

Все запросы должны возвращать ответ в формате JSON. В случае ошибки всегда должно присутствовать поле "error" с описанием ошибки. В случае успеха всегда должно присутствовать поле "success": true. Авторизация происходит через поле authToken в каждом запросе. Все текстовые поля должны быть в кодировке UTF-8.