Внимание! Нужна помошь чтобы разобраться? Прочитайте наше введение в 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 и т. д.
Если вы хотите применить дополнительный фильтр к запросу, создайте имя параметра фильтра:
- Начните с "filter__" для обычного поля или "filter__custom_fields__" для настраиваемого поля
- Добавить "[имя_поля]"
- (необязательно) Добавьте условие фильтра, например "__[условие]"
Допустимые условия:
- 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 от имени любого пользователя вашего проекта. У вас есть несколько способов сделать это:
- Лучший способ! Передайте параметр "sso_token". Добавьте параметр GET "sso_token" для пользователя в ваш запрос. Или добавьте параметр в параметр запросов для запросов POST и PUT. Если пользователь не существует, API создаст нового пользователя и выполнит действие от имени этого пользователя. Подробнее о SSO читайте в административном разделе вашего проекта.
- Передайте параметр "user_sso_guid". Добавьте параметр GET "user_sso_guid" к вашему запросу. Или добавьте параметр к параметру запросов для запросов POST и PUT. Если пользователь не существует, действие будет выполнено от имени пользователя API-токена.
- Передайте параметр "user_id". Добавьте параметр GET "user_id" к вашему запросу. Или добавьте параметр к параметру запросов для запросов POST и PUT. Если пользователь не существует, действие будет выполнено от имени пользователя API-токена. Для анонимного пользователя установите user_id на 0 (ноль).
Наше API постоянно совершенствуется и развивается. Будем рады вашим идеям и предложениям на нашем форуме поддержки API.