Внимание! Нужна помошь чтобы разобраться? Прочитайте наше введение в API.

ПОМНИТЕ! Вы никогда не должны предоставлять какие-либо ссылки с токеном доступа агента поддержки своим обычным пользователям. В этом случае Вы предоставите пользователю доступ ко всем функциям агента поддержки! В этом случае весь Ваш контент может быть получен пользователем или даже удален. Вместо этого, Вы можете использовать анонимный токен доступа в сочетании с SSO пользователя или проксировать запросы на своей стороне, чтобы пользователь не видел токен напрямую.

Пользователи

Ресурс Описание Проверка подлинности
GET usersСписок всех пользователей проекта.read
GET users/currentОтображает сведения о профиле текущего пользователя.read
GET users/[user_id]Отображает сведения о профиле пользователя.read
PUT users/[user_id] Обновление профиля пользователя .all
DELETE users/[user_id] Удалить профиль пользователя.all
GET users/sso/[sso_guid]Отображает сведения о профиле пользователя по SSO guid.read
GET users/[user_id]/logoutЗакрыть все сессии для выбранного пользователя.all
POST users/get_or_create Получить пользователя по емайл или создать нового.all
GET users/[user_id]/subscriptionsОтображение подписок пользователя.read
PUT users/[user_id]/subscriptions Обновление подписок пользователей на обновления объекта.all
POST users/[user_id]/group Добавить пользователя в группу пользователей.all
DELETE users/[user_id]/group Удалить пользователя из группы пользователей.all

Группы пользователей

Ресурс Описание Проверка подлинности
GET users/groupsСписок групп пользователей.all
POST users/groups Создать новую пользовательскую группу.all
PUT users/groups Обновить пользовательскую группу.all
DELETE users/groups Удалить пользовательскую группу.all

Форумы

Ресурс Описание Проверка подлинности
GET forumsСписок всех топиков проекта.read
POST forums Создание нового форумаall
PUT forums Обновление форума.all
DELETE forums Удалить форум.all

Типы, Категории, Теги ...

Ресурс Описание Проверка подлинности
GET forums/[forum_id]/typesСписок типов тем поддерживаемых выбранным форумом.read
GET forums/[forum_id]/types/[type_id]/statusesСписок статусов тем поддерживаемых выбранным типом.read
GET forums/[forum_id]/categoriesСписок категорий выбранного форума.read
GET forums/[forum_id]/tagsСписок тегов выбранного форума.read
GET forums/[forum_id]/access_listСписок адресов с доступом к форуму. Только для приватных форумов.read, all
POST forums/[forum_id]/categories Создает новую категорию.write, all
POST forums/[forum_id]/tags Создает новый тег.write, all
POST forums/[forum_id]/access_list Добавляет адреса электронной почты к списку, имеющих доступ к форуму.write, all
DELETE forums/[forum_id]/access_list Удаляет адреса email из списка доступа к форуму.write, all
PUT forums/[forum_id]/categories Изменение категории.write, all
PUT forums/[forum_id]/tags Изменение тега.write, all
DELETE forums/[forum_id]/categories Удаление категории.write, all
DELETE forums/[forum_id]/tags Удаление тега.write, all

Темы

Ресурс Описание Проверка подлинности
GET forums/[forum_id]/topicsСписок тем выбранного форума. Дополнительные параметры.read
POST forums/[forum_id]/topics Создает новый топик.write
PUT forums/[forum_id]/topics Обновление темы.write
GET forums/[forum_id]/users/[user_id]/topicsСписок тем, относящихся к выбранному форуму и пользователю. Дополнительные параметры.read
GET forums/[forum_id]/topics/searchПоиск тем в выбранном форуме.read
GET users/[user_id]/topicsСписок тем принадлежащих выбранному пользователю.read - self,
manage - all
GET categories/[category_id]/topicsСписок тем выбранной категории.read
GET tags/[tag_id]/topicsСписок тем, имеющих выбранный тег.read
GET topics/[topic_id]Детали по выбранной теме.read
DELETE topics/[topic_id] Удаление выбранной темы.write

Голосовавшие

Ресурс Описание Проверка подлинности
GET topics/[topic_id]/votersПроголосовавщие за выбранный топик.read
GET topics/[topic_id]/comments/[comment_id]/votersПроголосовавщие за выбранный комментарий.read

Комментарии

Ресурс Описание Проверка подлинности
GET topics/[topic_id]/commentsСписок комментариев выбранной темы.read
POST topics/[topic_id]/comments Создает новый комментарий.write
GET users/[user_id]/commentsСписок всех комментариев пользователя.read - self
all - all

Файлы

Ресурс Описание Проверка подлинности
POST forums/[forum_id]/upload/[file|image] Загружает файл на форум, чтобы использовать его в темах.all
Примечание:
Файлы, загруженные в приватный тикет недоступны для загрузки без авторизации (требуется проверка доступа). Если Вам нужно скачать такой файл с помощью API, Вы можете использовать URL-адрес файла с SSO токеном пользователя или API токеном проекта в GET-параметре.
Пример:
1. https://support.userecho.ru/uploaded/file/1/1/1/12345678901234567890123456789012.pdf?sso_token=users_sso_token
2. https://support.userecho.ru/uploaded/file/1/1/1/12345678901234567890123456789012.pdf?access_token=your_access_token

Вебхуки

Ресурс Описание Проверка подлинности
GET hooksСписок всех вебхуков в проекте.all
POST hooks Создает новый вебхук.all
DELETE hooks/[hook_id]Удаляет вебхук.all
GET hooks/eventsСписок всех доступных событий.all

Дополнительные параметры фильтрации

Большинство методов "read", возвращающих "List", позволяют фильтровать объекты по общим полям. Пример: id, status, created и т. д. Если вы хотите применить дополнительный фильтр к запросу, создайте имя параметра фильтра:
  1. Начните с "filter__" для обычного поля или "filter__custom_fields__" для настраиваемого поля
  2. Добавить "[имя_поля]"
  3. (необязательно) Добавьте условие фильтра, например "__[условие]"
Допустимые условия:
  • in - в списке значений (передайте строку, разделенную запятыми)
  • gt - больше чем
  • gte - больше или равно
  • lt - меньше чем
  • lte - меньше или равно
  • contains - содержит строку (чувствительно к регистру)
  • icontains - содержит строку (не чувствительно к регистру)
  • exact - равно значению (чувствительно к регистру)
  • iexact - равно значению (не чувствительно к регистру)
Отрицательные условия (NOT):

Вы можете отменить значение фильтра, если добавите «not» перед условием выше.
Пример: filter__status__not__in=1,3,5 - Выберет значения, где поле "status" не равно 1, 3 или 5.

Дополнительные примеры фильтров:
  • filter__status=1
  • filter__status__in=1,3,5
  • filter__id__gte=10
  • filter__id__not__in=11
  • filter__created__gte=2014-03-17T03:34:29.320Z
  • filter__updated__lt=2014-03-17
  • filter__needs_review=0
  • filter__header__icontains=test
Дополнительные примеры фильтров (для кастомных полей):
Примечание: Кастомные поля сохраняются как строка. Поэтому сравнивать их следует как строку.
  • filter__custom_fields__cf_1=1
  • filter__custom_fields__cf_1__icontains=test

Как сделать запрос к API от имени другого пользователя? (любого пользователя проекта)

Если ваш ключ имеет права доступа "all", вы можете делать запросы API от имени любого пользователя вашего проекта. У вас есть несколько способов сделать это:
  1. Лучший способ! Передайте параметр "sso_token". Добавьте параметр GET "sso_token" для пользователя в ваш запрос. Или добавьте параметр в параметр запросов для запросов POST и PUT. Если пользователь не существует, API создаст нового пользователя и выполнит действие от имени этого пользователя. Подробнее о SSO читайте в административном разделе вашего проекта.
  2. Передайте параметр "user_sso_guid". Добавьте параметр GET "user_sso_guid" к вашему запросу. Или добавьте параметр к параметру запросов для запросов POST и PUT. Если пользователь не существует, действие будет выполнено от имени пользователя API-токена.
  3. Передайте параметр "user_id". Добавьте параметр GET "user_id" к вашему запросу. Или добавьте параметр к параметру запросов для запросов POST и PUT. Если пользователь не существует, действие будет выполнено от имени пользователя API-токена. Для анонимного пользователя установите user_id на 0 (ноль).

Наше API постоянно совершенствуется и развивается. Будем рады вашим идеям и предложениям на нашем форуме поддержки API.