API для сервисов email-рассылок: различия между версиями

Материал из Planfix
Перейти к: навигация, поиск
(Новая страница: «{{#seo: |title=API для интеграции с внешними сервисами электронной почты |titlemode=append |keywords=email, e-mail, рассылки, апи, api |description=API для интеграции с внешними сервисами электронной почты }} == Общие сведения об API == Данное API предназначено для владельцев сервисов рассылк...»)
 
 
(не показано 16 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{#seo: |title=API для интеграции с внешними сервисами электронной почты |titlemode=append |keywords=email, e-mail, рассылки, апи, api |description=API для интеграции с внешними сервисами электронной почты }}
{{#seo:
|title=API для сервисов email-рассылок
|titlemode=append
|keywords=планфикс, апи, api, email, api рассылок, api email-рассылок, api email
|description=API для сервисов email-рассылок
}}
Это API предназначено для интеграции с внешними сервисами электронной почты и позволяет управлять списками рассылки и контактами через единый конечный пункт (например, <nowiki>https://yourserver.com/planfix_integration.php</nowiki>), который принимает запросы в формате JSON.


== Общие сведения об API ==
После реализации интеграции вы можете обратиться в нашу <geoip eq="RU,BY">[https://planfix.ru/support/ Службу поддержки]</geoip><geoip not="RU,BY">[https://planfix.com/support/ Службу поддержки]</geoip> по вопросу добавления вашего сервиса в список интеграций, доступных пользователям в интерфейсе ПланФикса.
Данное API предназначено для владельцев сервисов рассылки электронной почты и позволяет подключить ваш сервис отправки писем к нашей системе, если он отсутствует в списке доступных для интеграции.


После реализации интеграции вы можете настроить её в нашем интерфейсе, указав единый конечный адрес (например, https://yourserver.com/sendEmail.php), который будет принимать все запросы в формате JSON.
== Подключение в ПланФиксе ==
 
*Перейдите в раздел Управление аккаунтом — Интеграции — Почтовая рассылка:
Взаимодействие производится по протоколу HTTPS. Система посылает запросы на указанный адрес с авторизацией через токен (см. поле authToken ниже).
*В открывшемся разделе выберите находящиеся в конце списка Planfix API.  
*Откроется окно настроек интеграции.
*В нём надо будет указать адрес, куда ПланФикс будет слать запросы и API Key для авторизации.


== Формат запроса ==
== Формат запроса ==
Запрос передаётся методом POST в формате JSON на адрес, указанный в настройках интеграции.


Запрос передаётся методом POST в формате JSON (Content-Type: application/json).
'''Пример запроса:'''
Пример общего формата запроса:
<pre>
{
  "action": "действие",
  "authToken": "ваш_токен_авторизации",
  "data": {
    // Данные, зависящие от действия
  }
}
</pre>


<pre> { "action": "действие", "authToken": "ваш_токен_авторизации", "data": { // Данные, зависящие от действия } } </pre>
'''Параметры запроса:'''
=== Поля запроса === {| class="wikitable" style="margin-top: 1em; width:100%" ! width="150" | Имя ! width="50%" | Описание ! width="150" | Пример |- | action || Тип выполняемого действия || createList |- | authToken || Токен авторизации для доступа к API || 12345abcde |- | data || Объект с дополнительными данными для указанного действия || {"listName": "Название списка"} |}
{| class="wikitable" style="margin-top: 1em; width:100%"
!width="150"|Имя !!width="50%"|Описание !!width="150"|Тип/формат данных !!Примечание
|-
|action ||Действие, которое необходимо выполнить ||string ||
|-
|authToken ||Токен авторизации для доступа к API ||string ||
|-
|data ||Данные, зависящие от действия ||object ||
|-
|}


== Поддерживаемые действия ==
== Поддерживаемые действия ==
*[[#createList — Создание списка рассылки|createList]] — cоздание списка рассылки
*[[#deleteList — Удаление списка рассылки|deleteList]] — удаление списка рассылки
*[[#importContacts — Импорт контактов в список|importContacts]] — импорт контактов в список
*[[#updateContact — Обновление контакта|updateContact]] — обновление контакта
=== createList — Создание списка рассылки ===
'''Описание:''' Создает новый список рассылки с указанным именем.
'''Запрос:'''
<pre>
{
  "action": "createList",
  "authToken": "ваш_токен_авторизации",
  "data": {
    "listName": "Название списка"
  }
}
</pre>
'''Ответ (успех):'''
<pre>
{
  "success": true,
  "listId": "уникальный_идентификатор_списка"
}
</pre>
'''Ответ (ошибка):'''
<pre>
{
  "error": "Описание ошибки"
}
</pre>
=== deleteList — Удаление списка рассылки ===
'''Описание:''' Удаляет список рассылки по его идентификатору.
'''Запрос:'''
<pre>
{
  "action": "deleteList",
  "authToken": "ваш_токен_авторизации",
  "data": {
    "listId": "идентификатор_списка"
  }
}
</pre>
'''Ответ (успех):'''
<pre>
{
  "success": true
}
</pre>
'''Ответ (ошибка):'''
<pre>
{
  "error": "Описание ошибки"
}
</pre>


=== createList Создание списка рассылки === Пример запроса:
=== importContacts Импорт контактов в список ===
'''Описание:''' Импортирует контакты в указанный список рассылки.


<pre> { "action": "createList", "authToken": "ваш_токен_авторизации", "data": { "listName": "Название списка" } } </pre>
'''Запрос:'''
Ответ при успехе:
<pre>
{
  "action": "importContacts",
  "authToken": "ваш_токен_авторизации",
  "data": {
    "listId": "идентификатор_списка",
    "contacts": [
      {
        "id": 123,
        "email": "email@example.com",
        "firstName": "Имя",
        "lastName": "Фамилия"
      }
    ]
  }
}
</pre>


<pre> { "success": true, "listId": "уникальный_идентификатор_списка" } </pre>
'''Ответ (успех):'''
Ответ при ошибке:
<pre>
{
  "success": true
}
</pre>


<pre> { "error": "Описание ошибки" } </pre>
'''Ответ (ошибка):'''
=== deleteList — Удаление списка рассылки === Пример запроса:
<pre>
{
  "error": "Описание ошибки"
}
</pre>


<pre> { "action": "deleteList", "authToken": "ваш_токен_авторизации", "data": { "listId": "идентификатор_списка" } } </pre>
Ответ при успехе:


<pre> { "success": true } </pre>
=== updateContact Обновление контакта ===
=== importContacts Импорт контактов в список === Пример запроса:
'''Описание:''' Обновляет контакт в списке рассылки. Поддерживает действия: добавление (add), обновление (update), удаление (delete).


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


<pre> { "success": true } </pre>
'''Ответ (успех):'''
=== updateContact — Обновление контакта === Пример запроса:
<pre>
{
  "success": true
}
</pre>


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


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


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

Текущая версия от 15:24, 2 марта 2025

Это API предназначено для интеграции с внешними сервисами электронной почты и позволяет управлять списками рассылки и контактами через единый конечный пункт (например, https://yourserver.com/planfix_integration.php), который принимает запросы в формате JSON.

После реализации интеграции вы можете обратиться в нашу Службу поддержки по вопросу добавления вашего сервиса в список интеграций, доступных пользователям в интерфейсе ПланФикса.

Подключение в ПланФиксе

  • Перейдите в раздел Управление аккаунтом — Интеграции — Почтовая рассылка:
  • В открывшемся разделе выберите находящиеся в конце списка Planfix API.
  • Откроется окно настроек интеграции.
  • В нём надо будет указать адрес, куда ПланФикс будет слать запросы и API Key для авторизации.

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

Запрос передаётся методом POST в формате JSON на адрес, указанный в настройках интеграции.

Пример запроса:

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

Параметры запроса:

Имя Описание Тип/формат данных Примечание
action Действие, которое необходимо выполнить string
authToken Токен авторизации для доступа к API string
data Данные, зависящие от действия object

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

  • createList — cоздание списка рассылки
  • deleteList — удаление списка рассылки
  • importContacts — импорт контактов в список
  • updateContact — обновление контакта


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

Описание: Создает новый список рассылки с указанным именем.

Запрос:

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

Ответ (успех):

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

Ответ (ошибка):

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


deleteList — Удаление списка рассылки

Описание: Удаляет список рассылки по его идентификатору.

Запрос:

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

Ответ (успех):

{
  "success": true
}

Ответ (ошибка):

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


importContacts — Импорт контактов в список

Описание: Импортирует контакты в указанный список рассылки.

Запрос:

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

Ответ (успех):

{
  "success": true
}

Ответ (ошибка):

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


updateContact — Обновление контакта

Описание: Обновляет контакт в списке рассылки. Поддерживает действия: добавление (add), обновление (update), удаление (delete).

Запрос:

{
  "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
}

Ответ (ошибка):

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

Важно

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

Перейти