
Язык 🇺🇦 Русский (Украина)
Документация
Начало работы
Справочник API
Использование
Агрегация
Журналы аудита
Аутентификация
Блокировка из комментария
Проверка заблокированных комментариев
Комментарии
Комментарии пользователя
Конфигурации домена
Шаблоны электронной почты
Журнал событий
Посты в ленте
Жалоба на комментарий
Гифки
Хэштеги
Модерация
Модераторы
Счетчик уведомлений
Уведомления
Реакции страницы
Страницы
Ожидающие события вебхука
Конфигурации вопросов
Результаты вопросов
Агрегация результатов вопросов
Пользователи SSO
Подписки
Ежедневное использование арендатора
Пакеты арендатора
Пользователи арендатора
Арендаторы
Тикеты
Переводы
Загрузка изображения
Прогресс значков пользователя
Значки пользователя
Уведомления пользователя
Статусы присутствия пользователя
Поиск пользователей
Пользователи
Голоса
FastComments Nim SDK
Это официальный SDK на Nim для FastComments.
Официальный SDK на Nim для API FastComments
Репозиторий
Установка 
Использование Nimble
nimble install fastcomments
Сборка из исходников
nimble build
Содержимое библиотеки
Эта библиотека содержит сгенерированный клиент API и утилиты SSO, упрощающие работу с API.
Публичные и защищённые API
Для клиента API существует три модуля API, api_default, api_public и api_moderation. api_default содержит методы, требующие ваш API‑ключ, а api_public содержит api calls
that can be made directly from a browser/mobile device/etc without authentication. Модуль api_moderation содержит методы для панели модератора.
api_moderation предоставляет обширный набор живых и быстрых API модерации. Каждый метод api_moderation принимает параметр sso и может аутентифицироваться через SSO или cookie сеанса FastComments.com.
Быстрый старт 
Using Authenticated APIs (DefaultAPI)
Important: Authenticated endpoints require your API key to be set as the x-api-key header.
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"
# Выполняйте аутентифицированные API вызовы.
# Обязательные параметры (и тело запроса) передаются позиционно; необязательные
# параметры передаются через объект опций операции.
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()
# Выполняйте публичные API вызовы.
# tenantId и urlId обязательны (позиционно); всё остальное необязательно.
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()
# Получить список комментариев на панели модерации.
# Эта операция не имеет обязательных параметров, поэтому все параметры необязательны.
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 
All 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"
Примечания 
Идентификаторы Broadcast
Вы увидите, что в некоторых вызовах 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
Все URI являются относительными к 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, чтобы отобразить раздел «Участники». Пагинация курсором по 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 | Массовая информация о пользователях для арендатора. По заданным userIds возвращается отображаемая информация из User / SSOUser. Используется виджетом комментариев для обогащения данных о пользователях, только что появившихся через событие presence. Без контекста страницы: конфиденциальность применяется одинаково (приватные профили маскируются). |
| 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
- BulkCreateHashTagsBody
- BulkCreateHashTagsBody_tags_inner
- BulkCreateHashTagsResponse
- BulkCreateHashTagsResponse_results_inner
- BulkPreBanParams
- BulkPreBanSummary
- ChangeCommentPinStatusResponse
- ChangeTicketStateBody
- ChangeTicketStateResponse
- CheckBlockedCommentsResponse
- CombineQuestionResultsWithCommentsResponse
- CommentData
- CommentHTMLRenderingMode
- [CommentLogData](https://github.com/FastComments/fastcomments-nim/blob/master/docs/Models/CommentLogData
aggregate 
Aggregates documents by grouping them (if groupBy is provided) and applying multiple operations. Different operations (e.g. sum, countDistinct, avg, etc.) are supported.
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| tenantId | string | Yes | |
| aggregationRequest | AggregationRequest | No | |
| options | AggregateOptions | No |
Ответ
Возвращает: Option[AggregateResponse]
Пример

getAuditLogs 
Параметри
| Назва | Тип | Обов’язковий | Опис |
|---|---|---|---|
| tenantId | string | Так | |
| options | GetAuditLogsOptions | Ні |
Відповідь
Повертає: 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 | Yes | |
| id | string | No | |
| blockFromCommentParams | BlockFromCommentParams | No | |
| options | BlockUserFromCommentOptions | No |
Відповідь
Повертає: Option[BlockSuccess]
Приклад

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

deleteComment 
Параметры
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Да | |
| id | string | Нет | |
| options | DeleteCommentOptions | Нет |
Ответ
Возвращает: Option[DeleteCommentResult]
Пример

deleteCommentPublic 
Параметры
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| options | DeleteCommentPublicOptions | No |
Ответ
Возвращает: 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 | Yes | |
| options | GetCommentsOptions | No |
Ответ
Возвращает: Option[APIGetCommentsResponse]
Пример

getCommentsPublic 
req
tenantId
urlId
Параметри
| Назва | Тип | Обов’язково | Опис |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| options | GetCommentsPublicOptions | No |
Відповідь
Повертає: Option[GetCommentsResponseWithPresencePublicComment]
Приклад

getCommentText 
Параметри
| Назва | Тип | Обов'язковий | Опис |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| options | GetCommentTextOptions | No |
Відповідь
Повертає: 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 
Параметри
| Назва | Тип | Обов’язковий | Опис |
|---|---|---|---|
| tenantId | string | Так | |
| commentId | string | Так | |
| broadcastId | string | Ні | |
| sso | string = "" | Ні |
Відповідь
Повертає: Option[ChangeCommentPinStatusResponse]
Приклад

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

saveCommentsBulk 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Так | |
| createCommentParams | seq[CreateCommentParams] | Ні | |
| options | SaveCommentsBulkOptions): (Option[seq[SaveCommentsBulkResponse]] | Ні | |
| id | string | Ні | |
| fromName | string | Ні |
Response
Повертає: Option[APIEmptyResponse]
Example

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 | Да | |
| id | string | Нет | |
| options | UnFlagCommentOptions | Нет |
Ответ
Возвращает: Option[FlagCommentResponse]
Пример

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

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

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

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

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

addDomainConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| addDomainConfigParams | AddDomainConfigParams | No |
Response
Возвращает: Option[AddDomainConfigResponse]
Пример

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

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

getDomainConfigs 
Параметри
| Назва | Тип | Обов’язково | Опис |
|---|---|---|---|
| tenantId | string | Yes |
Відповідь
Повертає: Option[GetDomainConfigsResponse]
Приклад

patchDomainConfig 
Параметри
| Ім'я | Тип | Обов'язково | Опис |
|---|---|---|---|
| tenantId | string | Так | |
| domainToUpdate | string | Ні | |
| patchDomainConfigParams | PatchDomainConfigParams | Ні |
Відповідь
Повертає: 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 
Параметры
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| errorId | string | No |
Ответ
Возвращает: Option[APIEmptyResponse]
Пример

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

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

getEmailTemplateRenderErrors 
Параметри
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Так | |
| id | string | Ні | |
| skip | float64 | Ні |
Відповідь
Повертає: Option[GetEmailTemplateRenderErrorsResponse]
Приклад

getEmailTemplates 
Параметри
| Назва | Тип | Обов’язковий | Опис |
|---|---|---|---|
| tenantId | string | Yes | |
| skip | float64 | No |
Відповідь
Повертає: Option[GetEmailTemplatesResponse]
Приклад

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

updateEmailTemplate 
Параметри
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| updateEmailTemplateBody | UpdateEmailTemplateBody | No |
Відповідь
Повертає: Option[APIEmptyResponse]
Приклад

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

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

createFeedPost 
Параметри
| Назва | Тип | Обов’язково | Опис |
|---|---|---|---|
| tenantId | string | Yes | |
| createFeedPostParams | CreateFeedPostParams | No | |
| options | CreateFeedPostOptions | No |
Відповідь
Повертає: Option[CreateFeedPostsResponse]
Приклад

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

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

getFeedPosts 
req tenantId afterId
Параметри
| Назва | Тип | Обов'язково | Опис |
|---|---|---|---|
| tenantId | string | Так | |
| options | GetFeedPostsOptions | Ні |
Відповідь
Повертає: Option[GetFeedPostsResponse]
Приклад

getFeedPostsPublic 
req tenantId afterId
Параметры
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Да | |
| options | GetFeedPostsPublicOptions | Нет |
Ответ
Возвращает: Option[PublicFeedPostsResponse]
Пример

getFeedPostsStats 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postIds | seq[string] | No | |
| sso | string = "" | No |
Response
Возвращает: Option[FeedPostsStatsResponse]
Example
