Внимание! Нужна помошь чтобы разобраться? Прочитайте наше введение в 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.com/uploaded/file/1/1/1/12345678901234567890123456789012.pdf?sso_token=users_sso_token
2. https://support.userecho.com/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 |
Дополнительные параметры фильтрации
Most of "read" methods that return "List" allow to filter objects by common fields. Example: id, status, created, etc.
If you want to apply additional filter to request create filter parameter name:
- Start with "filter__" for a regular field or "filter__custom_fields__" for a custom field
- Add "[field_name]"
- (optional) Add filter condition like "__[condition]"
Allowed conditions:
- in - in list of values (pass comma separated string)
- gt - greater than
- gte - greater than or equal
- lt - lower than
- lte - lower than or equal
- contains - contains a string (case sensitive)
- icontains - contains a string (case insensitive)
- exact - equal to value (case sensitive)
- iexact - equal to value (case insensitive)
Negotiate conditions (NOT):
You can negotiate the filter value if you add "not" before condition above.
Example: filter__status__not__in=1,3,5 - Will select values where "status" field not equal to 1, 3 or 5.
Additional filter examples:
- 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
Additional filter examples (for custom fields):
Note: Custom fields are saved as string. So, you should compare it as string.
- filter__custom_fields__cf_1=1
- filter__custom_fields__cf_1__icontains=test
How to make an API request on behalf of another user? (any project's user)
If your key has a "
all" access rights you are able to do API requests on behalf of any user of your project. You have a few ways to do it:
- Best way! Pass "sso_token" parameter. Add GET parameter "sso_token" for a user to your request. Or add parameter to your requests parameter for POST and PUT requests. If user does not exists API will create a new user and do action on behalf of this user. More information about SSO read in your project administrative section.
- Pass "user_sso_guid" parameter. Add GET parameter "user_sso_guid" to your request. Or add parameter to your requests parameter for POST and PUT requests. If user does not exists the action will be completed on behalf of API token user.
- Pass "user_id" parameter. Add GET parameter "user_id" to your request. Or add parameter to your requests parameter for POST and PUT requests. If user does not exists the action will be completed on behalf of API token user. For an Anonymous user set user_id to 0 (zero).
Наше API постоянно совершенствуется и развивается. Будем рады Вашим идеям и предложениям на нашем форуме поддержки API.