
Язык 🇷🇺 Русский
Документация
Начало работы
Справочник API
Использование
Агрегация
Журналы аудита
Аутентификация
Блокировка по комментарию
Проверка заблокированных комментариев
Комментарии
Комментарии для пользователя
Конфигурации домена
Шаблоны писем
Журнал событий
Посты ленты
Пометить комментарий
GIF
Хэштеги
Модерация
Модераторы
Счетчик уведомлений
Уведомления
Реакции на странице
Страницы
Ожидающие события вебхука
Настройки вопросов
Результаты вопросов
Агрегация результатов вопросов
Пользователи SSO
Подписки
Ежедневная статистика арендатора
Пакеты арендатора
Пользователи арендатора
Арендаторы
Тикеты
Переводы
Загрузка изображения
Прогресс значков пользователя
Значки пользователя
Уведомления пользователя
Статусы присутствия пользователя
Поиск пользователей
Пользователи
Голоса
FastComments SDK для Nim
Это официальный SDK на Nim для FastComments.
Официальный SDK на Nim для API FastComments
Репозиторий
Установка 
Using Nimble
nimble install fastcomments
Building from Source
nimble build
Library Contents
Эта библиотека содержит сгенерированный клиент API и утилиты SSO, упрощающие работу с API.
Public vs Secured APIs
Для клиента API существуют три модуля API, api_default, api_public и api_moderation. api_default содержит методы, требующие ваш API‑ключ, а api_public содержит вызовы API
которые можно выполнять напрямую из браузера/мобильного устройства и т.д. без аутентификации. Модуль api_moderation содержит методы для панели модератора.
Модуль api_moderation предоставляет обширный набор быстрых и живых API модерации. Каждый метод api_moderation принимает параметр sso и может аутентифицироваться через SSO или сессионную cookie FastComments.com.
Быстрый старт 
Using Authenticated APIs (DefaultAPI)
Важно: Аутентифицированные конечные точки требуют, чтобы ваш API‑ключ был установлен в заголовке x-api-key.
import httpclient
import fastcomments
import fastcomments/apis/api_default
import fastcomments/models/model_comment_data
let client = newHttpClient()
client.headers["x-api-key"] = "your-api-key"
# Make authenticated API calls.
# Required parameters (and the request body) are positional; optional
# parameters are passed via the operation's options object.
let (response, httpResponse) = getComments(
httpClient = client,
tenantId = "your-tenant-id",
options = GetCommentsOptions(
urlId: "your-url-id",
direction: SortDirections.DESC
)
)
if response.isSome:
let resp = response.get()
if resp.comments.isSome:
echo "Found ", resp.comments.get().len, " comments"
Using Public APIs (PublicAPI)
Public endpoints don't require authentication:
import httpclient
import fastcomments
import fastcomments/apis/api_public
let client = newHttpClient()
# Make public API calls.
# tenantId and urlId are required (positional); everything else is optional.
let (response, httpResponse) = getCommentsPublic(
httpClient = client,
tenantId = "your-tenant-id",
urlId = "your-url-id",
options = GetCommentsPublicOptions(
direction: SortDirections.DESC
)
)
if response.isSome:
let resp = response.get()
if resp.comments.isSome:
echo "Found ", resp.comments.get().len, " comments"
Using Moderation APIs (ModerationAPI)
Moderation endpoints power the moderator dashboard and are authenticated with an SSO token for the acting moderator:
import httpclient
import fastcomments
import fastcomments/apis/api_moderation
let client = newHttpClient()
# List comments in the moderation dashboard.
# This operation has no required parameters, so everything is optional.
let (response, httpResponse) = getApiComments(
httpClient = client,
options = GetApiCommentsOptions(
count: 30,
tenantId: "your-tenant-id",
sso: "your-sso-token"
)
)
if response.isSome:
let resp = response.get()
echo "Found ", resp.comments.len, " comments"
Common Issues
- 401 authentication error: Make sure you set the
x-api-keyheader on your HttpClient before making DefaultAPI requests:client.headers["x-api-key"] = "your-api-key" - Wrong API class: Use
api_defaultfor server-side authenticated requests,api_publicfor client-side/public requests, andapi_moderationfor moderator dashboard requests.
Вызовы API 
Все методы API в этом SDK возвращают кортежи (Option[ResponseType], Response). Первый элемент содержит разобранный ответ при успехе, а второй элемент – необработанный HTTP‑ответ.
Обязательные параметры и тело запроса передаются позиционно. Оставшиеся необязательные параметры собираются в единый объект Api<Operation>Options, который является последним аргументом. Операции без необязательных параметров не используют объект опций.
Пример: Получение комментариев
import httpclient
import options
import fastcomments
import fastcomments/apis/api_default
let client = newHttpClient()
client.headers["x-api-key"] = "your-api-key"
let (response, httpResponse) = getComments(
httpClient = client,
tenantId = "your-tenant-id",
options = GetCommentsOptions(
urlId: "your-url-id",
direction: SortDirections.DESC
)
)
if httpResponse.code == Http200:
if response.isSome:
let resp = response.get()
if resp.comments.isSome:
echo "Found ", resp.comments.get().len, " comments"
Примечания 
Идентификаторы трансляций
Вы увидите, что в некоторых вызовах API нужно передать broadcastId. Когда вы получаете события, вы получите этот ID обратно, так что вы сможете игнорировать событие, если планируете оптимистично применять изменения на клиенте
(что, вероятно, стоит сделать, поскольку это обеспечивает лучший пользовательский опыт). Передайте здесь UUID. ID должен быть достаточно уникальным, чтобы не появляться дважды в одной сессии браузера.
SSO (Единый вход)
Примеры SSO приведены ниже.
Использование SSO 
Простой SSO
import fastcomments/sso
let user = newSimpleSSOUserData(
userId = "user-123",
email = "user@example.com",
avatar = "https://example.com/avatar.jpg"
)
let sso = newSimple(simpleUserData = user)
let token = sso.createToken()
echo "SSO Token: ", token
Безопасный SSO
import fastcomments/sso
let user = newSecureSSOUserData(
userId = "user-123",
email = "user@example.com",
username = "johndoe",
avatar = "https://example.com/avatar.jpg"
)
let apiKey = "your-api-key"
let sso = newSecure(apiKey = apiKey, secureUserData = user)
let token = sso.createToken()
echo "Secure SSO Token: ", token
Документация FastComments 
Документация для API‑конечных точек
All URIs are relative to https://fastcomments.com
| Класс | Метод | HTTP запрос | Описание |
|---|---|---|---|
| DefaultApi | addDomainConfig | POST /api/v1/domain-configs | |
| DefaultApi | addHashTag | POST /api/v1/hash-tags | |
| DefaultApi | addHashTagsBulk | POST /api/v1/hash-tags/bulk | |
| DefaultApi | addPage | POST /api/v1/pages | |
| DefaultApi | addSSOUser | POST /api/v1/sso-users | |
| DefaultApi | aggregate | POST /api/v1/aggregate | Агрегирует документы, группируя их (если указано groupBy) и применяя несколько операций. Поддерживаются различные операции (например, sum, countDistinct, avg и т.д.). |
| DefaultApi | aggregateQuestionResults | GET /api/v1/question-results-aggregation | |
| DefaultApi | blockUserFromComment | POST /api/v1/comments/{id}/block | |
| DefaultApi | bulkAggregateQuestionResults | POST /api/v1/question-results-aggregation/bulk | |
| DefaultApi | changeTicketState | PATCH /api/v1/tickets/{id}/state | |
| DefaultApi | combineCommentsWithQuestionResults | GET /api/v1/question-results-aggregation/combine/comments | |
| DefaultApi | createEmailTemplate | POST /api/v1/email-templates | |
| DefaultApi | createFeedPost | POST /api/v1/feed-posts | |
| DefaultApi | createModerator | POST /api/v1/moderators | |
| DefaultApi | createQuestionConfig | POST /api/v1/question-configs | |
| DefaultApi | createQuestionResult | POST /api/v1/question-results | |
| DefaultApi | createSubscription | POST /api/v1/subscriptions | |
| DefaultApi | createTenant | POST /api/v1/tenants | |
| DefaultApi | createTenantPackage | POST /api/v1/tenant-packages | |
| DefaultApi | createTenantUser | POST /api/v1/tenant-users | |
| DefaultApi | createTicket | POST /api/v1/tickets | |
| DefaultApi | createUserBadge | POST /api/v1/user-badges | |
| DefaultApi | createVote | POST /api/v1/votes | |
| DefaultApi | deleteComment | DELETE /api/v1/comments/{id} | |
| DefaultApi | deleteDomainConfig | DELETE /api/v1/domain-configs/{domain} | |
| DefaultApi | deleteEmailTemplate | DELETE /api/v1/email-templates/{id} | |
| DefaultApi | deleteEmailTemplateRenderError | DELETE /api/v1/email-templates/{id}/render-errors/{errorId} | |
| DefaultApi | deleteHashTag | DELETE /api/v1/hash-tags/{tag} | |
| DefaultApi | deleteModerator | DELETE /api/v1/moderators/{id} | |
| DefaultApi | deleteNotificationCount | DELETE /api/v1/notification-count/{id} | |
| DefaultApi | deletePage | DELETE /api/v1/pages/{id} | |
| DefaultApi | deletePendingWebhookEvent | DELETE /api/v1/pending-webhook-events/{id} | |
| DefaultApi | deleteQuestionConfig | DELETE /api/v1/question-configs/{id} | |
| DefaultApi | deleteQuestionResult | DELETE /api/v1/question-results/{id} | |
| DefaultApi | deleteSSOUser | DELETE /api/v1/sso-users/{id} | |
| DefaultApi | deleteSubscription | DELETE /api/v1/subscriptions/{id} | |
| DefaultApi | deleteTenant | DELETE /api/v1/tenants/{id} | |
| DefaultApi | deleteTenantPackage | DELETE /api/v1/tenant-packages/{id} | |
| DefaultApi | deleteTenantUser | DELETE /api/v1/tenant-users/{id} | |
| DefaultApi | deleteUserBadge | DELETE /api/v1/user-badges/{id} | |
| DefaultApi | deleteVote | DELETE /api/v1/votes/{id} | |
| DefaultApi | flagComment | POST /api/v1/comments/{id}/flag | |
| DefaultApi | getAuditLogs | GET /api/v1/audit-logs | |
| DefaultApi | getCachedNotificationCount | GET /api/v1/notification-count/{id} | |
| DefaultApi | getComment | GET /api/v1/comments/{id} | |
| DefaultApi | getComments | GET /api/v1/comments | |
| DefaultApi | getDomainConfig | GET /api/v1/domain-configs/{domain} | |
| DefaultApi | getDomainConfigs | GET /api/v1/domain-configs | |
| DefaultApi | getEmailTemplate | GET /api/v1/email-templates/{id} | |
| DefaultApi | getEmailTemplateDefinitions | GET /api/v1/email-templates/definitions | |
| DefaultApi | getEmailTemplateRenderErrors | GET /api/v1/email-templates/{id}/render-errors | |
| DefaultApi | getEmailTemplates | GET /api/v1/email-templates | |
| DefaultApi | getFeedPosts | GET /api/v1/feed-posts | req tenantId afterId |
| DefaultApi | getHashTags | GET /api/v1/hash-tags | |
| DefaultApi | getModerator | GET /api/v1/moderators/{id} | |
| DefaultApi | getModerators | GET /api/v1/moderators | |
| DefaultApi | getNotificationCount | GET /api/v1/notifications/count | |
| DefaultApi | getNotifications | GET /api/v1/notifications | |
| DefaultApi | getPageByURLId | GET /api/v1/pages/by-url-id | |
| DefaultApi | getPages | GET /api/v1/pages | |
| DefaultApi | getPendingWebhookEventCount | GET /api/v1/pending-webhook-events/count | |
| DefaultApi | getPendingWebhookEvents | GET /api/v1/pending-webhook-events | |
| DefaultApi | getQuestionConfig | GET /api/v1/question-configs/{id} | |
| DefaultApi | getQuestionConfigs | GET /api/v1/question-configs | |
| DefaultApi | getQuestionResult | GET /api/v1/question-results/{id} | |
| DefaultApi | getQuestionResults | GET /api/v1/question-results | |
| DefaultApi | getSSOUserByEmail | GET /api/v1/sso-users/by-email/{email} | |
| DefaultApi | getSSOUserById | GET /api/v1/sso-users/by-id/{id} | |
| DefaultApi | getSSOUsers | GET /api/v1/sso-users | |
| DefaultApi | getSubscriptions | GET /api/v1/subscriptions | |
| DefaultApi | getTenant | GET /api/v1/tenants/{id} | |
| DefaultApi | getTenantDailyUsages | GET /api/v1/tenant-daily-usage | |
| DefaultApi | getTenantPackage | GET /api/v1/tenant-packages/{id} | |
| DefaultApi | getTenantPackages | GET /api/v1/tenant-packages | |
| DefaultApi | getTenantUser | GET /api/v1/tenant-users/{id} | |
| DefaultApi | getTenantUsers | GET /api/v1/tenant-users | |
| DefaultApi | getTenants | GET /api/v1/tenants | |
| DefaultApi | getTicket | GET /api/v1/tickets/{id} | |
| DefaultApi | getTickets | GET /api/v1/tickets | |
| DefaultApi | getUser | GET /api/v1/users/{id} | |
| DefaultApi | getUserBadge | GET /api/v1/user-badges/{id} | |
| DefaultApi | getUserBadgeProgressById | GET /api/v1/user-badge-progress/{id} | |
| DefaultApi | getUserBadgeProgressByUserId | GET /api/v1/user-badge-progress/user/{userId} | |
| DefaultApi | getUserBadgeProgressList | GET /api/v1/user-badge-progress | |
| DefaultApi | getUserBadges | GET /api/v1/user-badges | |
| DefaultApi | getVotes | GET /api/v1/votes | |
| DefaultApi | getVotesForUser | GET /api/v1/votes/for-user | |
| DefaultApi | patchDomainConfig | PATCH /api/v1/domain-configs/{domainToUpdate} | |
| DefaultApi | patchHashTag | PATCH /api/v1/hash-tags/{tag} | |
| DefaultApi | patchPage | PATCH /api/v1/pages/{id} | |
| DefaultApi | patchSSOUser | PATCH /api/v1/sso-users/{id} | |
| DefaultApi | putDomainConfig | PUT /api/v1/domain-configs/{domainToUpdate} | |
| DefaultApi | putSSOUser | PUT /api/v1/sso-users/{id} | |
| DefaultApi | renderEmailTemplate | POST /api/v1/email-templates/render | |
| DefaultApi | replaceTenantPackage | PUT /api/v1/tenant-packages/{id} | |
| DefaultApi | replaceTenantUser | PUT /api/v1/tenant-users/{id} | |
| DefaultApi | saveComment | POST /api/v1/comments | |
| DefaultApi | saveCommentsBulk | POST /api/v1/comments/bulk | |
| DefaultApi | sendInvite | POST /api/v1/moderators/{id}/send-invite | |
| DefaultApi | sendLoginLink | POST /api/v1/tenant-users/{id}/send-login-link | |
| DefaultApi | unBlockUserFromComment | POST /api/v1/comments/{id}/un-block | |
| DefaultApi | unFlagComment | POST /api/v1/comments/{id}/un-flag | |
| DefaultApi | updateComment | PATCH /api/v1/comments/{id} | |
| DefaultApi | updateEmailTemplate | PATCH /api/v1/email-templates/{id} | |
| DefaultApi | updateFeedPost | PATCH /api/v1/feed-posts/{id} | |
| DefaultApi | updateModerator | PATCH /api/v1/moderators/{id} | |
| DefaultApi | updateNotification | PATCH /api/v1/notifications/{id} | |
| DefaultApi | updateQuestionConfig | PATCH /api/v1/question-configs/{id} | |
| DefaultApi | updateQuestionResult | PATCH /api/v1/question-results/{id} | |
| DefaultApi | updateSubscription | PATCH /api/v1/subscriptions/{id} | |
| DefaultApi | updateTenant | PATCH /api/v1/tenants/{id} | |
| DefaultApi | updateTenantPackage | PATCH /api/v1/tenant-packages/{id} | |
| DefaultApi | updateTenantUser | PATCH /api/v1/tenant-users/{id} | |
| DefaultApi | updateUserBadge | PUT /api/v1/user-badges/{id} | |
| ModerationApi | deleteModerationVote | DELETE /auth/my-account/moderate-comments/mod_api/vote/{commentId}/{voteId} | |
| ModerationApi | getApiComments | GET /auth/my-account/moderate-comments/mod_api/api/comments | |
| ModerationApi | getApiExportStatus | GET /auth/my-account/moderate-comments/mod_api/api/export/status | |
| ModerationApi | getApiIds | GET /auth/my-account/moderate-comments/mod_api/api/ids | |
| ModerationApi | getBanUsersFromComment | GET /auth/my-account/moderate-comments/mod_api/ban-users/from-comment/{commentId} | |
| ModerationApi | getCommentBanStatus | GET /auth/my-account/moderate-comments/mod_api/get-comment-ban-status/{commentId} | |
| ModerationApi | getCommentChildren | GET /auth/my-account/moderate-comments/mod_api/comment-children/{commentId} | |
| ModerationApi | getCount | GET /auth/my-account/moderate-comments/mod_api/count | |
| ModerationApi | getCounts | GET /auth/my-account/moderate-comments/banned-users/mod_api/counts | |
| ModerationApi | getLogs | GET /auth/my-account/moderate-comments/mod_api/logs/{commentId} | |
| ModerationApi | getManualBadges | GET /auth/my-account/moderate-comments/mod_api/get-manual-badges | |
| ModerationApi | getManualBadgesForUser | GET /auth/my-account/moderate-comments/mod_api/get-manual-badges-for-user | |
| ModerationApi | getModerationComment | GET /auth/my-account/moderate-comments/mod_api/comment/{commentId} | |
| ModerationApi | getModerationCommentText | GET /auth/my-account/moderate-comments/mod_api/get-comment-text/{commentId} | |
| ModerationApi | getPreBanSummary | GET /auth/my-account/moderate-comments/mod_api/pre-ban-summary/{commentId} | |
| ModerationApi | getSearchCommentsSummary | GET /auth/my-account/moderate-comments/mod_api/search/comments/summary | |
| ModerationApi | getSearchPages | GET /auth/my-account/moderate-comments/mod_api/search/pages | |
| ModerationApi | getSearchSites | GET /auth/my-account/moderate-comments/mod_api/search/sites | |
| ModerationApi | getSearchSuggest | GET /auth/my-account/moderate-comments/mod_api/search/suggest | |
| ModerationApi | getSearchUsers | GET /auth/my-account/moderate-comments/mod_api/search/users | |
| ModerationApi | getTrustFactor | GET /auth/my-account/moderate-comments/mod_api/get-trust-factor | |
| ModerationApi | getUserBanPreference | GET /auth/my-account/moderate-comments/mod_api/user-ban-preference | |
| ModerationApi | getUserInternalProfile | GET /auth/my-account/moderate-comments/mod_api/get-user-internal-profile | |
| ModerationApi | postAdjustCommentVotes | POST /auth/my-account/moderate-comments/mod_api/adjust-comment-votes/{commentId} | |
| ModerationApi | postApiExport | POST /auth/my-account/moderate-comments/mod_api/api/export | |
| ModerationApi | postBanUserFromComment | POST /auth/my-account/moderate-comments/mod_api/ban-user/from-comment/{commentId} | |
| ModerationApi | postBanUserUndo | POST /auth/my-account/moderate-comments/mod_api/ban-user/undo | |
| ModerationApi | postBulkPreBanSummary | POST /auth/my-account/moderate-comments/mod_api/bulk-pre-ban-summary | |
| ModerationApi | postCommentsByIds | POST /auth/my-account/moderate-comments/mod_api/comments-by-ids | |
| ModerationApi | postFlagComment | POST /auth/my-account/moderate-comments/mod_api/flag-comment/{commentId} | |
| ModerationApi | postRemoveComment | POST /auth/my-account/moderate-comments/mod_api/remove-comment/{commentId} | |
| ModerationApi | postRestoreDeletedComment | POST /auth/my-account/moderate-comments/mod_api/restore-deleted-comment/{commentId} | |
| ModerationApi | postSetCommentApprovalStatus | POST /auth/my-account/moderate-comments/mod_api/set-comment-approval-status/{commentId} | |
| ModerationApi | postSetCommentReviewStatus | POST /auth/my-account/moderate-comments/mod_api/set-comment-review-status/{commentId} | |
| ModerationApi | postSetCommentSpamStatus | POST /auth/my-account/moderate-comments/mod_api/set-comment-spam-status/{commentId} | |
| ModerationApi | postSetCommentText | POST /auth/my-account/moderate-comments/mod_api/set-comment-text/{commentId} | |
| ModerationApi | postUnFlagComment | POST /auth/my-account/moderate-comments/mod_api/un-flag-comment/{commentId} | |
| ModerationApi | postVote | POST /auth/my-account/moderate-comments/mod_api/vote/{commentId} | |
| ModerationApi | putAwardBadge | PUT /auth/my-account/moderate-comments/mod_api/award-badge | |
| ModerationApi | putCloseThread | PUT /auth/my-account/moderate-comments/mod_api/close-thread | |
| ModerationApi | putRemoveBadge | PUT /auth/my-account/moderate-comments/mod_api/remove-badge | |
| ModerationApi | putReopenThread | PUT /auth/my-account/moderate-comments/mod_api/reopen-thread | |
| ModerationApi | setTrustFactor | PUT /auth/my-account/moderate-comments/mod_api/set-trust-factor | |
| PublicApi | blockFromCommentPublic | POST /block-from-comment/{commentId} | |
| PublicApi | checkedCommentsForBlocked | GET /check-blocked-comments | |
| PublicApi | createCommentPublic | POST /comments/{tenantId} | |
| PublicApi | createFeedPostPublic | POST /feed-posts/{tenantId} | |
| PublicApi | createV1PageReact | POST /page-reacts/v1/likes/{tenantId} | |
| PublicApi | createV2PageReact | POST /page-reacts/v2/{tenantId} | |
| PublicApi | deleteCommentPublic | DELETE /comments/{tenantId}/{commentId} | |
| PublicApi | deleteCommentVote | DELETE /comments/{tenantId}/{commentId}/vote/{voteId} | |
| PublicApi | deleteFeedPostPublic | DELETE /feed-posts/{tenantId}/{postId} | |
| PublicApi | deleteV1PageReact | DELETE /page-reacts/v1/likes/{tenantId} | |
| PublicApi | deleteV2PageReact | DELETE /page-reacts/v2/{tenantId} | |
| PublicApi | flagCommentPublic | POST /flag-comment/{commentId} | |
| PublicApi | getCommentText | GET /comments/{tenantId}/{commentId}/text | |
| PublicApi | getCommentVoteUserNames | GET /comments/{tenantId}/{commentId}/votes | |
| PublicApi | getCommentsForUser | GET /comments-for-user | |
| PublicApi | getCommentsPublic | GET /comments/{tenantId} | req tenantId urlId |
| PublicApi | getEventLog | GET /event-log/{tenantId} | req tenantId urlId userIdWS |
| PublicApi | getFeedPostsPublic | GET /feed-posts/{tenantId} | req tenantId afterId |
| PublicApi | getFeedPostsStats | GET /feed-posts/{tenantId}/stats | |
| PublicApi | getGifLarge | GET /gifs/get-large/{tenantId} | |
| PublicApi | getGifsSearch | GET /gifs/search/{tenantId} | |
| PublicApi | getGifsTrending | GET /gifs/trending/{tenantId} | |
| PublicApi | getGlobalEventLog | GET /event-log/global/{tenantId} | req tenantId urlId userIdWS |
| PublicApi | getOfflineUsers | GET /pages/{tenantId}/users/offline | Прошлые комментаторы на странице, которые сейчас НЕ онлайн. Отсортировано по displayName. Используйте это после исчерпания /users/online для отображения раздела "Members". Пагинация курсором по commenterName: сервер проходит частичный индекс {tenantId, urlId, commenterName} от afterName вперёд через $gt, без стоимости $skip. |
| PublicApi | getOnlineUsers | GET /pages/{tenantId}/users/online | Текущие онлайн зрители страницы: люди, чья websocket‑сессия подписана на страницу прямо сейчас. Возвращает anonCount + totalCount (подписчики по всей комнате, включая анонимных зрителей, которых мы не перечисляем). |
| PublicApi | getPagesPublic | GET /pages/{tenantId} | Список страниц для арендатора. Используется десктоп‑клиентом FChat для заполнения списка комнат. Требует, чтобы enableFChat был true в разрешённой пользовательской конфигурации для каждой страницы. Страницы, требующие SSO, фильтруются в соответствии с групповым доступом запрашивающего пользователя. |
| PublicApi | getTranslations | GET /translations/{namespace}/{component} | |
| PublicApi | getUserNotificationCount | GET /user-notifications/get-count | |
| PublicApi | getUserNotifications | GET /user-notifications | |
| PublicApi | getUserPresenceStatuses | GET /user-presence-status | |
| PublicApi | getUserReactsPublic | GET /feed-posts/{tenantId}/user-reacts | |
| PublicApi | getUsersInfo | GET /pages/{tenantId}/users/info | Bulk user info for a tenant. Given userIds, return display info from User / SSOUser. Used by the comment widget to enrich users that just appeared via a presence event. No page context: privacy is enforced uniformly (private profiles are masked). |
| PublicApi | getV1PageLikes | GET /page-reacts/v1/likes/{tenantId} | |
| PublicApi | getV2PageReactUsers | GET /page-reacts/v2/{tenantId}/list | |
| PublicApi | getV2PageReacts | GET /page-reacts/v2/{tenantId} | |
| PublicApi | lockComment | POST /comments/{tenantId}/{commentId}/lock | |
| PublicApi | logoutPublic | PUT /auth/logout | |
| PublicApi | pinComment | POST /comments/{tenantId}/{commentId}/pin | |
| PublicApi | reactFeedPostPublic | POST /feed-posts/{tenantId}/react/{postId} | |
| PublicApi | resetUserNotificationCount | POST /user-notifications/reset-count | |
| PublicApi | resetUserNotifications | POST /user-notifications/reset | |
| PublicApi | searchUsers | GET /user-search/{tenantId} | |
| PublicApi | setCommentText | POST /comments/{tenantId}/{commentId}/update-text | |
| PublicApi | unBlockCommentPublic | DELETE /block-from-comment/{commentId} | |
| PublicApi | unLockComment | POST /comments/{tenantId}/{commentId}/unlock | |
| PublicApi | unPinComment | POST /comments/{tenantId}/{commentId}/unpin | |
| PublicApi | updateFeedPostPublic | PUT /feed-posts/{tenantId}/{postId} | |
| PublicApi | updateUserNotificationCommentSubscriptionStatus | POST /user-notifications/{notificationId}/mark-opted/{optedInOrOut} | Включить или отключить уведомления для конкретного комментария. |
| PublicApi | updateUserNotificationPageSubscriptionStatus | POST /user-notifications/set-subscription-state/{subscribedOrUnsubscribed} | Включить или отключить уведомления для страницы. Когда пользователи подписаны на страницу, создаются уведомления о новых корневых комментариях, а также |
| PublicApi | updateUserNotificationStatus | POST /user-notifications/{notificationId}/mark/{newStatus} | |
| PublicApi | uploadImage | POST /upload-image/{tenantId} | Загрузка и изменение размера изображения |
| PublicApi | voteComment | POST /comments/{tenantId}/{commentId}/vote |
Документация для моделей
- APIAuditLog
- APIBanUserChangeLog
- APIBanUserChangedValues
- APIBannedUser
- APIBannedUserWithMultiMatchInfo
- APIComment
- APICommentBase
- APICommentBase_meta
- APICommentCommonBannedUser
- APICreateUserBadgeResponse
- APIDomainConfiguration
- APIEmptyResponse
- APIEmptySuccessResponse
- APIError
- APIGetCommentResponse
- APIGetCommentsResponse
- APIGetUserBadgeProgressListResponse
- APIGetUserBadgeProgressResponse
- APIGetUserBadgeResponse
- APIGetUserBadgesResponse
- APIModerateGetUserBanPreferencesResponse
- APIModerateUserBanPreferences
- APIPage
- APISSOUser
- APISaveCommentResponse
- APIStatus
- APITenant
- APITenantDailyUsage
- APITicket
- APITicketDetail
- APITicketFile
- APIUserSubscription
- AddDomainConfigParams
- AddDomainConfigResponse
- AddDomainConfigResponse_anyOf
- AddPageAPIResponse
- AddSSOUserAPIResponse
- AdjustCommentVotesParams
- AdjustVotesResponse
- AggregateQuestionResultsResponse
- AggregateResponse
- AggregateTimeBucket
- AggregationAPIError
- AggregationItem
- AggregationOpType
- AggregationOperation
- AggregationRequest
- AggregationRequest_sort
- AggregationResponse
- AggregationResponse_stats
- AggregationValue
- AwardUserBadgeResponse
- BanUserFromCommentResult
- BanUserUndoParams
- BannedUserMatch
- BannedUserMatchType
- BannedUserMatch_matchedOnValue
- BillingInfo
- BlockFromCommentParams
- BlockSuccess
- BuildModerationFilterParams
- BuildModerationFilterResponse
- BulkAggregateQuestionItem
- BulkAggregateQuestionResultsRequest
- [BulkAggregateQuestionResultsResponse](https://
aggregate 
Агрегирует документы, группируя их (если указан параметр groupBy), и применяя несколько операций.
Поддерживаются различные операции (например, sum, countDistinct, avg и т.д.).
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| aggregationRequest | AggregationRequest | Нет | |
| options | AggregateOptions | Нет |
Ответ
Возвращает: Option[AggregateResponse]
Пример

getAuditLogs 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| options | GetAuditLogsOptions | No |
Ответ
Возвращает: Option[GetAuditLogsResponse]
Пример

logoutPublic 
Ответ
Возвращает: Option[APIEmptyResponse]
Пример

blockFromCommentPublic 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| commentId | string | Да | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | Нет | |
| sso | string = "" | Нет |
Ответ
Возвращает: Option[BlockSuccess]
Пример

unBlockCommentPublic 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | No | |
| sso | string = "" | No |
Ответ
Возвращает: Option[UnblockSuccess]
Пример

checkedCommentsForBlocked 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| commentIds | string | Нет | |
| sso | string = "" | Нет |
Ответ
Возвращает: Option[CheckBlockedCommentsResponse]
Пример

blockUserFromComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| id | string | Нет | |
| blockFromCommentParams | BlockFromCommentParams | Нет | |
| options | BlockUserFromCommentOptions | Нет |
Ответ
Возвращает: Option[BlockSuccess]
Пример

createCommentPublic 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| broadcastId | string | No | |
| commentData | CommentData | No | |
| options | CreateCommentPublicOptions | No |
Ответ
Возвращает: Option[SaveCommentsResponseWithPresence]
Пример

deleteComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| id | string | Нет | |
| options | DeleteCommentOptions | Нет |
Ответ
Возвращает: Option[DeleteCommentResult]
Пример

deleteCommentPublic 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| commentId | string | Да | |
| broadcastId | string | Нет | |
| options | DeleteCommentPublicOptions | Нет |
Ответ
Возвращает: Option[PublicAPIDeleteCommentResponse]
Пример

deleteCommentVote 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| commentId | string | Да | |
| voteId | string | Нет | |
| urlId | string | Да | |
| broadcastId | string | Нет | |
| options | DeleteCommentVoteOptions | Нет |
Ответ
Возвращает: Option[VoteDeleteResponse]
Пример

flagComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| id | string | Нет | |
| options | FlagCommentOptions | Нет |
Ответ
Возвращает: Option[FlagCommentResponse]
Пример

getComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| id | string | Нет |
Ответ
Возвращает: Option[APIGetCommentResponse]
Пример

getComments 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| options | GetCommentsOptions | Нет |
Ответ
Возвращает: Option[APIGetCommentsResponse]
Пример

getCommentsPublic 
req tenantId urlId
Параметры
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Да | |
| urlId | string | Да | |
| options | GetCommentsPublicOptions | Нет |
Ответ
Возвращает: Option[GetCommentsResponseWithPresencePublicComment]
Пример

getCommentText 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| commentId | string | Да | |
| options | GetCommentTextOptions | Нет |
Ответ
Возвращает: Option[PublicAPIGetCommentTextResponse]
Пример

getCommentVoteUserNames 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| dir | int | No | |
| sso | string = "" | No |
Ответ
Возвращает: Option[GetCommentVoteUserNamesSuccessResponse]
Пример

lockComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| sso | string = "" | No |
Ответ
Возвращает: Option[APIEmptyResponse]
Пример

pinComment 
Параметры
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Да | |
| commentId | string | Да | |
| broadcastId | string | Нет | |
| sso | string = "" | Нет |
Ответ
Возвращает: Option[ChangeCommentPinStatusResponse]
Пример

saveComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| createCommentParams | CreateCommentParams | No | |
| options | SaveCommentOptions | No |
Ответ
Возвращает: Option[APISaveCommentResponse]
Пример

saveCommentsBulk 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| createCommentParams | seq[CreateCommentParams] | Нет | |
| options | SaveCommentsBulkOptions): (Option[seq[SaveCommentsBulkResponse]] | Нет | |
| id | string | Нет | |
| fromName | string | Нет |
Ответ
Возвращает: Option[APIEmptyResponse]
Пример

setCommentText 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| commentTextUpdateRequest | CommentTextUpdateRequest | No | |
| options | SetCommentTextOptions | No |
Ответ
Возвращает: Option[PublicAPISetCommentTextResponse]
Пример

unBlockUserFromComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| unBlockFromCommentParams | UnBlockFromCommentParams | No | |
| options | UnBlockUserFromCommentOptions | No |
Ответ
Возвращает: Option[UnblockSuccess]
Пример

unFlagComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| options | UnFlagCommentOptions | No |
Ответ
Возвращает: Option[FlagCommentResponse]
Пример

unLockComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| sso | string = "" | No |
Ответ
Возвращает: Option[APIEmptyResponse]
Пример

unPinComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| commentId | string | Да | |
| broadcastId | string | Нет | |
| sso | string = "" | Нет |
Ответ
Возвращает: Option[ChangeCommentPinStatusResponse]
Пример

updateComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| updatableCommentParams | UpdatableCommentParams | No | |
| options | UpdateCommentOptions | No |
Ответ
Возвращает: Option[APIEmptyResponse]
Пример

voteComment 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| urlId | string | Yes | |
| broadcastId | string | No | |
| voteBodyParams | VoteBodyParams | No | |
| options | VoteCommentOptions | No |
Ответ
Возвращает: Option[VoteResponse]
Пример

getCommentsForUser 
Parameters
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| options | GetCommentsForUserOptions | Нет |
Ответ
Возвращает: Option[GetCommentsForUserResponse]
Пример

addDomainConfig 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| addDomainConfigParams | AddDomainConfigParams | Нет |
Ответ
Возвращает: Option[AddDomainConfigResponse]
Пример

deleteDomainConfig 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| domain | string | No |
Ответ
Возвращает: Option[DeleteDomainConfigResponse]
Пример

getDomainConfig 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| domain | string | Нет |
Ответ
Возвращает: Option[GetDomainConfigResponse]
Пример

getDomainConfigs 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да |
Ответ
Возвращает: Option[GetDomainConfigsResponse]
Пример

patchDomainConfig 
Параметры
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| domainToUpdate | string | No | |
| patchDomainConfigParams | PatchDomainConfigParams | No |
Ответ
Возвращает: Option[PatchDomainConfigResponse]
Пример

putDomainConfig 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| domainToUpdate | string | No | |
| updateDomainConfigParams | UpdateDomainConfigParams | No |
Ответ
Возвращает: Option[PutDomainConfigResponse]
Пример

createEmailTemplate 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| createEmailTemplateBody | CreateEmailTemplateBody | Нет |
Ответ
Возвращает: Option[CreateEmailTemplateResponse]
Пример

deleteEmailTemplate 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No |
Ответ
Возвращает: Option[APIEmptyResponse]
Пример

deleteEmailTemplateRenderError 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| id | string | Нет | |
| errorId | string | Нет |
Ответ
Returns: Option[APIEmptyResponse]
Пример

getEmailTemplate 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Да | |
| id | string | Нет |
Response
Возвращает: Option[GetEmailTemplateResponse]
Пример

getEmailTemplateDefinitions 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да |
Ответ
Возвращает: Option[GetEmailTemplateDefinitionsResponse]
Пример

getEmailTemplateRenderErrors 
Parameters
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| skip | float64 | No |
Response
Возвращает: Option[GetEmailTemplateRenderErrorsResponse]
Пример

getEmailTemplates 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| skip | float64 | No |
Ответ
Возвращает: Option[GetEmailTemplatesResponse]
Пример

renderEmailTemplate 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| renderEmailTemplateBody | RenderEmailTemplateBody | Нет | |
| locale | string = "" | Нет |
Ответ
Возвращает: Option[RenderEmailTemplateResponse]
Пример

updateEmailTemplate 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| id | string | Нет | |
| updateEmailTemplateBody | UpdateEmailTemplateBody | Нет |
Ответ
Возвращает: Option[APIEmptyResponse]
Пример

getEventLog 
req tenantId urlId userIdWS
Параметры
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| userIdWS | string | No | |
| startTime | int64 | No | |
| endTime | int64 | No |
Ответ
Возвращает: Option[GetEventLogResponse]
Пример

getGlobalEventLog 
req tenantId urlId userIdWS
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| userIdWS | string | No | |
| startTime | int64 | No | |
| endTime | int64 | No |
Ответ
Возвращает: Option[GetEventLogResponse]
Пример

createFeedPost 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| createFeedPostParams | CreateFeedPostParams | Нет | |
| options | CreateFeedPostOptions | Нет |
Ответ
Возвращает: Option[CreateFeedPostsResponse]
Пример

createFeedPostPublic 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| createFeedPostParams | CreateFeedPostParams | Нет | |
| options | CreateFeedPostPublicOptions | Нет |
Ответ
Возвращает: Option[CreateFeedPostResponse]
Пример

deleteFeedPostPublic 
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| postId | string | No | |
| options | DeleteFeedPostPublicOptions | No |
Ответ
Возвращает: Option[DeleteFeedPostPublicResponse]
Пример

getFeedPosts 
req tenantId afterId
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| options | GetFeedPostsOptions | Нет |
Ответ
Возвращает: Option[GetFeedPostsResponse]
Пример

getFeedPostsPublic 
req tenantId afterId
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Да | |
| options | GetFeedPostsPublicOptions | Нет |
Ответ
Возвращает: Option[PublicFeedPostsResponse]
Пример

getFeedPostsStats 
Параметры
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postIds | seq[string] | No | |
| sso | string = "" | No |
Ответ
Возвращает: Option[FeedPostsStatsResponse]
Пример
