
Idioma 🇪🇸 Español
Documentación
Primeros pasos
Referencia de API
Uso
Agregación
Registros de auditoría
Autenticación
Bloquear por comentario
Comprobar comentarios bloqueados
Comentarios
Comentarios del usuario
Configuraciones de dominio
Plantillas de correo
Registro de eventos
Publicaciones del feed
Marcar comentario
Gifs
Hashtags
Moderación
Moderadores
Recuento de notificaciones
Notificaciones
Reacciones de página
Páginas
Eventos webhook pendientes
Configuraciones de preguntas
Resultados de preguntas
Agregación de resultados de preguntas
Usuarios SSO
Suscripciones
Uso diario del inquilino
Paquetes del inquilino
Usuarios del inquilino
Inquilinos
Tickets
Traducciones
Subir imagen
Progreso de insignias de usuario
Insignias de usuario
Notificaciones del usuario
Estado de presencia del usuario
Búsqueda de usuarios
Usuarios
Votos
SDK de FastComments para Nim
Este es el SDK oficial de Nim para FastComments.
SDK oficial de Nim para la API de FastComments
Repositorio
Instalación 
Usando Nimble
nimble install fastcomments
Compilando desde el código fuente
nimble build
Contenido de la biblioteca
Esta biblioteca contiene el cliente API generado y las utilidades SSO para facilitar el trabajo con la API.
APIs públicas vs seguras
Para el cliente API, existen tres módulos API, api_default, api_public y api_moderation. El módulo api_default contiene métodos que requieren tu clave API, y api_public contiene llamadas API que pueden realizarse directamente desde un navegador/dispositivo móvil/etc. sin autenticación. El módulo api_moderation contiene métodos para el panel de moderador.
El módulo api_moderation ofrece una amplia suite de APIs de moderación en tiempo real y rápidas. Cada método api_moderation acepta un parámetro sso y puede autenticarse mediante SSO o una cookie de sesión de FastComments.com.
Inicio rápido 
Uso de APIs autenticadas (DefaultAPI)
Importante: Los puntos finales autenticados requieren que tu clave API se establezca en el encabezado 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"
# Realizar llamadas a la API autenticada.
# Los parámetros requeridos (y el cuerpo de la solicitud) son posicionales; los opcionales
# los parámetros se pasan mediante el objeto de opciones de la operación.
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"
Uso de APIs públicas (PublicAPI)
Los puntos finales públicos no requieren autenticación:
import httpclient
import fastcomments
import fastcomments/apis/api_public
let client = newHttpClient()
# Realizar llamadas a la API pública.
# tenantId y urlId son requeridos (posicionales); todo lo demás es opcional.
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"
Uso de APIs de moderación (ModerationAPI)
Los puntos finales de moderación impulsan el panel de moderador y se autentican con un token SSO para el moderador activo:
import httpclient
import fastcomments
import fastcomments/apis/api_moderation
let client = newHttpClient()
# Listar comentarios en el panel de moderación.
# Esta operación no tiene parámetros requeridos, por lo que todo es opcional.
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"
Problemas comunes
- Error de autenticación 401: Asegúrate de establecer el encabezado
x-api-keyen tu HttpClient antes de realizar solicitudes a DefaultAPI:client.headers["x-api-key"] = "your-api-key" - Clase API incorrecta: Usa
api_defaultpara solicitudes autenticadas del lado del servidor,api_publicpara solicitudes del lado del cliente/públicas, yapi_moderationpara solicitudes del panel de moderador.
Realizar llamadas API 
Todos los métodos API en este SDK devuelven tuplas de (Option[ResponseType], Response). El primer elemento contiene la respuesta analizada si tiene éxito, y el segundo elemento es la respuesta HTTP cruda.
Los parámetros obligatorios y el cuerpo de la solicitud se pasan posicionalmente. Los parámetros opcionales restantes se recopilan en un único objeto Api<Operation>Options, que es el último argumento. Las operaciones sin parámetros opcionales no usan objeto de opciones.
Ejemplo: Obtención de Comentarios
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"
Notas 
IDs de transmisión
Verás que debes pasar un broadcastId en algunas llamadas a la API. Cuando recibas eventos, obtendrás este ID de vuelta, para que sepas ignorar el evento si planeas aplicar cambios optimistamente en el cliente
(lo cual probablemente querrás hacer ya que ofrece la mejor experiencia). Pasa un UUID aquí. El ID debe ser lo suficientemente único como para no ocurrir dos veces en una sesión del navegador.
SSO (Inicio de sesión único)
Para ejemplos de SSO, consulta más abajo.
Uso de SSO 
SSO simple
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 seguro
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
Documentación de fastcomments 
Documentación de los endpoints de API
Todas las URIs son relativas a https://fastcomments.com
| Clase | Método | Solicitud HTTP | Descripción |
|---|---|---|---|
| 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 | Agrupa documentos mediante agrupación (si se proporciona groupBy) y aplica múltiples operaciones. Se admiten diferentes operaciones (p. ej., sum, countDistinct, avg, etc.). |
| 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 | Usuarios que comentaron previamente en la página y que NO están actualmente en línea. Ordenados por displayName. Usa esto después de agotar /users/online para renderizar una sección de "Miembros". Paginación por cursor en commenterName: el servidor recorre el índice parcial {tenantId, urlId, commenterName} desde afterName hacia adelante mediante $gt, sin costo $skip. |
| PublicApi | getOnlineUsers | GET /pages/{tenantId}/users/online | Visores actualmente en línea de una página: personas cuya sesión websocket está suscrita a la página en este momento. Devuelve anonCount + totalCount (suscriptores de toda la sala, incluidos los espectadores anónimos que no enumeramos). |
| PublicApi | getPagesPublic | GET /pages/{tenantId} | Lista las páginas de un tenant. Utilizado por el cliente de escritorio FChat para poblar su lista de salas. Requiere que enableFChat sea true en la configuración personalizada resuelta de cada página. Las páginas que requieren SSO se filtran según el acceso de grupo del usuario solicitante. |
| 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 | Información masiva de usuarios para un tenant. Dado userIds, devuelve información de visualización de User / SSOUser. Utilizado por el widget de comentarios para enriquecer usuarios que acaban de aparecer vía evento de presencia. Sin contexto de página: la privacidad se aplica uniformemente (los perfiles privados se enmascaran). |
| 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} | Habilita o deshabilita notificaciones para un comentario específico. |
| PublicApi | updateUserNotificationPageSubscriptionStatus | POST /user-notifications/set-subscription-state/{subscribedOrUnsubscribed} | Habilita o deshabilita notificaciones para una página. Cuando los usuarios están suscritos a una página, se crean notificaciones para nuevos comentarios raíz, y también |
| PublicApi | updateUserNotificationStatus | POST /user-notifications/{notificationId}/mark/{newStatus} | |
| PublicApi | uploadImage | POST /upload-image/{tenantId} | Carga y redimensiona una imagen |
| PublicApi | voteComment | POST /comments/{tenantId}/{commentId}/vote |
Documentación de los modelos
- 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](https://github.com/FastComments/fastcomments-nim/blob/master/docs/Models/BulkCreateHashTagsResponse_results_inner.md
aggregate 
Aggrega documentos agrupándolos (si se proporciona groupBy) y aplicando múltiples operaciones.
Se admiten diferentes operaciones (p. ej., sum, countDistinct, avg, etc.).
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| aggregationRequest | AggregationRequest | No | |
| options | AggregateOptions | No |
Respuesta
Devuelve: Option[AggregateResponse]
Ejemplo

getAuditLogs 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| options | GetAuditLogsOptions | No |
Respuesta
Devuelve: Option[GetAuditLogsResponse]
Ejemplo

logoutPublic 
Respuesta
Devuelve: Option[APIEmptyResponse]
Ejemplo

blockFromCommentPublic 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | No | |
| sso | string = "" | No |
Respuesta
Devuelve: Option[BlockSuccess]
Ejemplo

unBlockCommentPublic 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| commentId | string | Sí | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | No | |
| sso | string = "" | No |
Respuesta
Devuelve: Option[UnblockSuccess]
Ejemplo

checkedCommentsForBlocked 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| commentIds | string | No | |
| sso | string = "" | No |
Respuesta
Devuelve: Option[CheckBlockedCommentsResponse]
Ejemplo

blockUserFromComment 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| id | string | No | |
| blockFromCommentParams | BlockFromCommentParams | No | |
| options | BlockUserFromCommentOptions | No |
Respuesta
Devuelve: Option[BlockSuccess]
Ejemplo

createCommentPublic 
Parameters
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| urlId | string | Sí | |
| broadcastId | string | No | |
| commentData | CommentData | No | |
| options | CreateCommentPublicOptions | No |
Response
Devuelve: Option[SaveCommentsResponseWithPresence]
Ejemplo

deleteComment 
Parámetros
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| options | DeleteCommentOptions | No |
Respuesta
Devuelve: Option[DeleteCommentResult]
Ejemplo

deleteCommentPublic 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| options | DeleteCommentPublicOptions | No |
Respuesta
Devuelve: Option[PublicAPIDeleteCommentResponse]
Ejemplo

deleteCommentVote 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| voteId | string | No | |
| urlId | string | Yes | |
| broadcastId | string | No | |
| options | DeleteCommentVoteOptions | No |
Respuesta
Devuelve: Option[VoteDeleteResponse]
Ejemplo

flagComment 
Parámetros
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Sí | |
| id | string | No | |
| options | FlagCommentOptions | No |
Respuesta
Devuelve: Option[FlagCommentResponse]
Ejemplo

getComment 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No |
Respuesta
Devuelve: Option[APIGetCommentResponse]
Ejemplo

getComments 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| options | GetCommentsOptions | No |
Respuesta
Devuelve: Option[APIGetCommentsResponse]
Ejemplo

getCommentsPublic 
req tenantId urlId
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| urlId | string | Sí | |
| options | GetCommentsPublicOptions | No |
Respuesta
Devuelve: Option[GetCommentsResponseWithPresencePublicComment]
Ejemplo

getCommentText 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| commentId | string | Sí | |
| options | GetCommentTextOptions | No |
Respuesta
Devuelve: Option[PublicAPIGetCommentTextResponse]
Ejemplo

getCommentVoteUserNames 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| commentId | string | Sí | |
| dir | int | No | |
| sso | string = "" | No |
Respuesta
Devuelve: Option[GetCommentVoteUserNamesSuccessResponse]
Ejemplo

lockComment 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| commentId | string | Sí | |
| broadcastId | string | No | |
| sso | string = "" | No |
Respuesta
Devuelve: Option[APIEmptyResponse]
Ejemplo

pinComment 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| commentId | string | Sí | |
| broadcastId | string | No | |
| sso | string = "" | No |
Respuesta
Devuelve: Option[ChangeCommentPinStatusResponse]
Ejemplo

saveComment 
Parameters
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| createCommentParams | CreateCommentParams | No | |
| options | SaveCommentOptions | No |
Response
Devuelve: Option[APISaveCommentResponse]
Example

saveCommentsBulk 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| createCommentParams | seq[CreateCommentParams] | No | |
| options | SaveCommentsBulkOptions): (Option[seq[SaveCommentsBulkResponse]] | No | |
| id | string | No | |
| fromName | string | No |
Respuesta
Devuelve: Option[APIEmptyResponse]
Ejemplo

setCommentText 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| commentId | string | Sí | |
| broadcastId | string | No | |
| commentTextUpdateRequest | CommentTextUpdateRequest | No | |
| options | SetCommentTextOptions | No |
Respuesta
Returns: Option[PublicAPISetCommentTextResponse]
Ejemplo

unBlockUserFromComment 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| id | string | No | |
| unBlockFromCommentParams | UnBlockFromCommentParams | No | |
| options | UnBlockUserFromCommentOptions | No |
Respuesta
Devuelve: Option[UnblockSuccess]
Ejemplo

unFlagComment 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| id | string | No | |
| options | UnFlagCommentOptions | No |
Respuesta
Devuelve: Option[FlagCommentResponse]
Ejemplo

unLockComment 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| sso | string = "" | No |
Respuesta
Returns: Option[APIEmptyResponse]
Ejemplo

unPinComment 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| commentId | string | Sí | |
| broadcastId | string | No | |
| sso | string = "" | No |
Respuesta
Devuelve: Option[ChangeCommentPinStatusResponse]
Ejemplo

updateComment 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| id | string | No | |
| updatableCommentParams | UpdatableCommentParams | No | |
| options | UpdateCommentOptions | No |
Respuesta
Devuelve: Option[APIEmptyResponse]
Ejemplo

voteComment 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| commentId | string | Sí | |
| urlId | string | Sí | |
| broadcastId | string | No | |
| voteBodyParams | VoteBodyParams | No | |
| options | VoteCommentOptions | No |
Respuesta
Devuelve: Option[VoteResponse]
Ejemplo

getCommentsForUser 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| options | GetCommentsForUserOptions | No |
Respuesta
Devuelve: Option[GetCommentsForUserResponse]
Ejemplo

addDomainConfig 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| addDomainConfigParams | AddDomainConfigParams | No |
Respuesta
Devuelve: Option[AddDomainConfigResponse]
Ejemplo

deleteDomainConfig 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| domain | string | No |
Respuesta
Devuelve: Option[DeleteDomainConfigResponse]
Ejemplo

getDomainConfig 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| domain | string | No |
Respuesta
Devuelve: Option[GetDomainConfigResponse]
Ejemplo

getDomainConfigs 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí |
Respuesta
Devuelve: Option[GetDomainConfigsResponse]
Ejemplo

patchDomainConfig 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| domainToUpdate | string | No | |
| patchDomainConfigParams | PatchDomainConfigParams | No |
Respuesta
Devuelve: Option[PatchDomainConfigResponse]
Ejemplo

putDomainConfig 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| domainToUpdate | string | No | |
| updateDomainConfigParams | UpdateDomainConfigParams | No |
Respuesta
Devuelve: Option[PutDomainConfigResponse]
Ejemplo

createEmailTemplate 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| createEmailTemplateBody | CreateEmailTemplateBody | No |
Respuesta
Devuelve: Option[CreateEmailTemplateResponse]
Ejemplo

deleteEmailTemplate 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| id | string | No |
Respuesta
Devuelve: Option[APIEmptyResponse]
Ejemplo

deleteEmailTemplateRenderError 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| id | string | No | |
| errorId | string | No |
Respuesta
Devuelve: Option[APIEmptyResponse]
Ejemplo

getEmailTemplate 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| id | string | No |
Respuesta
Devuelve: Option[GetEmailTemplateResponse]
Ejemplo

getEmailTemplateDefinitions 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí |
Respuesta
Devuelve: Option[GetEmailTemplateDefinitionsResponse]
Ejemplo

getEmailTemplateRenderErrors 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| skip | float64 | No |
Respuesta
Devuelve: Option[GetEmailTemplateRenderErrorsResponse]
Ejemplo

getEmailTemplates 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| skip | float64 | No |
Respuesta
Devuelve: Option[GetEmailTemplatesResponse]
Ejemplo

renderEmailTemplate 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| renderEmailTemplateBody | RenderEmailTemplateBody | No | |
| locale | string = "" | No |
Respuesta
Devuelve: Option[RenderEmailTemplateResponse]
Ejemplo

updateEmailTemplate 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| id | string | No | |
| updateEmailTemplateBody | UpdateEmailTemplateBody | No |
Respuesta
Devuelve: Option[APIEmptyResponse]
Ejemplo

getEventLog 
req tenantId urlId userIdWS
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| userIdWS | string | No | |
| startTime | int64 | No | |
| endTime | int64 | No |
Respuesta
Devuelve: Option[GetEventLogResponse]
Ejemplo

getGlobalEventLog 
req tenantId urlId userIdWS
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| urlId | string | Sí | |
| userIdWS | string | No | |
| startTime | int64 | No | |
| endTime | int64 | No |
Respuesta
Devuelve: Option[GetEventLogResponse]
Ejemplo

createFeedPost 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| createFeedPostParams | CreateFeedPostParams | No | |
| options | CreateFeedPostOptions | No |
Respuesta
Devuelve: Option[CreateFeedPostsResponse]
Ejemplo

createFeedPostPublic 
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Yes | |
| createFeedPostParams | CreateFeedPostParams | No | |
| options | CreateFeedPostPublicOptions | No |
Respuesta
Devuelve: Option[CreateFeedPostResponse]
Ejemplo

deleteFeedPostPublic 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| postId | string | No | |
| options | DeleteFeedPostPublicOptions | No |
Respuesta
Devuelve: Option[DeleteFeedPostPublicResponse]
Ejemplo

getFeedPosts 
req tenantId afterId
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| options | GetFeedPostsOptions | No |
Respuesta
Devuelve: Option[GetFeedPostsResponse]
Ejemplo

getFeedPostsPublic 
req tenantId afterId
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| options | GetFeedPostsPublicOptions | No |
Respuesta
Devuelve: Option[PublicFeedPostsResponse]
Ejemplo

getFeedPostsStats 
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| tenantId | string | Sí | |
| postIds | seq[string] | No | |
| sso | string = "" | No |
Respuesta
Devuelve: Option[FeedPostsStatsResponse]
Ejemplo
