
Taal 🇳🇱 Nederlands
API-bronnen
Aggregaties
Auditlogs
Reacties
E-mailsjablonen
Hashtags
Moderators
Aantal meldingen
Meldingen
Pagina's
Wachtende webhook-gebeurtenissen
SSO-gebruikers
Abonnementen
Dagelijks gebruik per tenant
Tenants
Tenantpakketten
Tenantgebruikers
Gebruikers
Stemmen
Domeinconfiguraties
Vraagconfiguraties
Vraagresultaten
Vraagresultatenaggregatie
Gebruikersbadges
Voortgang gebruikersbadge
De FastComments API
FastComments biedt een API voor het werken met veel resources. Bouw integraties met ons platform, of bouw zelfs je eigen clients!
In deze documentatie vindt u alle door de API ondersteunde resources, gedocumenteerd met hun request- en response-typen.
Voor Enterprise-klanten wordt alle API-toegang vastgelegd in het Audit Log.
Gegenereerde SDK's
FastComments genereert nu een API-specificatie uit onze code (dit is nog niet compleet, maar bevat veel API's).
We hebben nu ook SDK's voor populaire talen:
- fastcomments-cpp
- fastcomments-go
- fastcomments-java
- fastcomments-sdk-js
- fastcomments-nim
- fastcomments-php
- fastcomments-php-sso
- fastcomments-python
- fastcomments-ruby
- fastcomments-rust
- fastcomments-swift
Authenticatie
De API wordt geauthenticeerd door uw API-sleutel als X-API-KEY header of API_KEY queryparameter mee te sturen. U heeft ook uw tenantId nodig om API-aanroepen te doen. Deze kan worden opgehaald vanaf dezelfde pagina als uw API-sleutel.
Beveiligingsnotitie
Deze routes zijn bedoeld om vanaf een server te worden aangeroepen. ROEP ZE NIET vanuit een browser. Als u dat doet, maakt u uw API-sleutel openbaar - dit geeft volledige toegang tot uw account aan iedereen die de broncode van een pagina kan bekijken!
Authenticatieoptie één - Headers
- Header:
X-API-KEY - Header:
X-TENANT-ID
Authenticatieoptie twee - Query-parameters
- Query Param:
API_KEY - Query Param:
tenantId
API-bronnen 
Gebruik van resources
Het ophalen van gegevens van de API wordt als gebruik op uw account gerekend.
Elke resource vermeldt wat dat gebruik is in zijn eigen sectie.
Sommige resources kosten meer om te leveren dan andere. Elk endpoint heeft een vaste kosten in credits per API-aanroep. Voor sommige endpoints varieert het aantal credits op basis van de opties en de grootte van de respons.
Het API-gebruik is te controleren op de Factureringsanalyse-pagina en wordt elk paar minuten bijgewerkt.
Opmerking!
We raden aan eerst de Pages-documentatie te lezen, om verwarring te beperken bij het bepalen welke waarden je moet doorgeven voor urlId in de Comment API.
Aggregeer uw gegevens 
Deze API aggregeert documenten door ze te groeperen (als groupBy is opgegeven) en meerdere bewerkingen toe te passen. Verschillende bewerkingen (bijv. sum, countDistinct, avg, enz.) worden ondersteund.
De kosten zijn variabel. Elke 500 gescande objecten kost 1 API-credit.
Het maximale geheugenverbruik dat standaard per API-aanroep is toegestaan is 64MB, en standaard mag u slechts één aggregatie tegelijk laten draaien. Als u meerdere aggregaties gelijktijdig indient, worden deze in de wachtrij geplaatst en uitgevoerd in de volgorde van indiening. In afwachting zijnde aggregaties wachten maximaal 60 seconden, daarna loopt het verzoek time-out. Individuele aggregaties kunnen tot 5 minuten draaien.
Als u beheerde tenants heeft, kunt u alle onderliggende tenant-resources in één aanroep aggregeren door de query-parameter parentTenantId door te geven.
Voorbeelden
Voorbeeld: Unieke waarden tellen


Voorbeeld: Aantal unieke waarden

Antwoord:

Voorbeeld: Som van waarden van meerdere velden

Antwoord:

Voorbeeld: Gemiddelde waarden van meerdere velden

Antwoord:

Voorbeeld: Min/Max waarden van meerdere velden

Antwoord:

Voorbeeld: Unieke waarden tellen voor meerdere velden

Antwoord:

Voorbeeld: Query aanmaken

Antwoord:

Voorbeeld: Aantal opmerkingen in afwachting van beoordeling

Antwoord:

Voorbeeld: Opsplitsing van goedgekeurde, beoordeelde en spam-opmerkingen

Antwoord:

Structuren


De volgende resources kunnen worden geaggregeerd:
- AffiliateEvent
- AnonymousVote
- BannedUser
- BatchJob
- BlockedUser
- Comment
- CommentDeleted
- CommentIdToSyncOutbound
- CommentScheduled
- CommentSyncLog
- CustomConfig
- CustomEmailTemplateRenderError
- EmailToSend
- EventLogEntry
- ImportedCommentScheduled
- ModerationGroup
- Moderator
- Page
- PageReact
- PendingVote
- QuestionResult
- SSOUser
- SentEmail
- SpamEvent
- Tenant
- TenantAuditLog
- TenantBadge
- TenantDailyUsage
- TenantInvoiceHistory
- TenantPackage
- User
- UserBadge
- UserBadgeProgress
- UserNotification
- UserSubscription
- UserUsage
- Vote
Auditlogstructuur 
Een AuditLog is een object dat een geaudit evenement vertegenwoordigt voor huurders die toegang hebben tot deze functie.
De structuur voor het AuditLog-object is als volgt:

Het auditlogboek is onveranderlijk. Het kan ook niet handmatig worden geschreven. FastComments.com bepaalt alleen wanneer er naar het auditlogboek wordt geschreven. U kunt er echter wel uit lezen via deze API.
Gebeurtenissen in het auditlogboek vervallen na twee jaar.
GET /api/v1/audit-logs 
Deze API gebruikt paginering, geleverd door de parameters skip, before en after. AuditLogs worden geretourneerd in pagina's van 1000, geordend op when en id.
Het ophalen van elke 1000 logs kost 10 credits.
Standaard ontvangt u een lijst met de nieuwste items eerst. Op deze manier kunt u beginnen met pollen met skip=0, en pagineren totdat u het laatste record vindt dat u hebt geconsumeerd.
Als alternatief kunt u sorteren op oudste-eerst en pagineren totdat er geen records meer zijn.
Sorteren kan worden gedaan door order in te stellen op ASC of DESC. De standaard is ASC.
Zoeken op datum is mogelijk via before en after als tijdstempels met milliseconden. before en after zijn NIET inclusief.



Reactiestructuur 
Een Comment object stelt een opmerking voor die door een gebruiker is achtergelaten.
De relatie tussen ouder- en kindreacties wordt gedefinieerd via parentId.
De structuur van het Comment-object is als volgt:

Sommige van deze velden zijn gemarkeerd als READONLY - deze worden door de API geretourneerd maar kunnen niet worden ingesteld.
Structuur van de opmerkingstekst
Opmerkingen worden geschreven in een FastComments-variant van markdown, wat gewoon markdown is plus traditionele bbcode-stijl tags voor afbeeldingen, zoals [img]path[/img].
Tekst wordt in twee velden opgeslagen. De tekst die de gebruiker invoerde wordt ongewijzigd opgeslagen in het veld comment. Dit wordt gerenderd en opgeslagen in het veld commentHTML.
De toegestane HTML-tags zijn b, u, i, strike, pre, span, code, img, a, strong, ul, ol, li, and br.
Het wordt aangeraden de HTML te renderen, aangezien het een zeer kleine subset van HTML is, het bouwen van een renderer is vrij eenvoudig. Er zijn bijvoorbeeld meerdere libraries voor React Native en Flutter die hierbij kunnen helpen.
Je kunt ervoor kiezen de niet-genormaliseerde waarde van het veld comment te renderen. Een voorbeeldparser vind je hier..
De voorbeeldparser kan ook aangepast worden om met HTML te werken en de HTML-tags om te zetten naar de verwachte elementen voor rendering op jouw platform.
Tagging
Wanneer gebruikers in een opmerking worden getagd, wordt de informatie opgeslagen in een lijst genaamd mentions. Elk object in die lijst heeft de volgende structuur.
Run 
HashTags
Wanneer hashtags worden gebruikt en succesvol geparseerd, wordt de informatie opgeslagen in een lijst genaamd hashTags. Elk object in die lijst heeft de volgende structuur. Hashtags kunnen ook handmatig aan de hashTags-array van een opmerking worden toegevoegd voor query-doeleinden, als retain is ingesteld.
Run 
GET /api/v1/comments 
Deze API wordt gebruikt om reacties op te halen voor weergave aan een gebruiker. Bijvoorbeeld filtert hij automatisch niet-goedgekeurde of spamreacties eruit.
Paginering
Paginering kan op een van twee manieren worden gedaan, afhankelijk van prestatie-eisen en gebruiksgeval:
- Snelste: Precalculated Pagination:
- Dit is hoe FastComments werkt wanneer u onze vooraf gebouwde widgets en clients gebruikt.
- Het klikken op "next" verhoogt eenvoudigweg het paginanummer.
- U kunt dit zien als opgehaald via een key-value store.
- Definieer op deze manier eenvoudig een
page-parameter beginnend bij0en een sorteerrichting alsdirection. - Paginagroottes kunnen worden aangepast via aanpassingsregels.
- Meest flexibel: Flexible Pagination:
- Op deze manier kunt u aangepaste
limit- enskip-parameters definiëren. Geef geenpagedoor. - Sorteerrichting
directionwordt ook ondersteund. limitis het totale aantal dat wordt geretourneerd nadatskipis toegepast.- Voorbeeld: stel
skip = 200, limit = 100wanneerpage size = 100enpage = 2.
- Voorbeeld: stel
- Kindreacties tellen nog steeds mee in de paginering. U kunt dit omzeilen met de optie
asTree.- U kunt kinderen pagineren via
limitChildrenenskipChildren. - U kunt de diepte van de teruggegeven threads beperken via
maxTreeDepth.
- U kunt kinderen pagineren via
- Op deze manier kunt u aangepaste
Threads
- Wanneer u
Precalculated Paginationgebruikt, worden reacties gegroepeerd per pagina en beïnvloeden reacties in threads de gehele pagina.- Op deze manier kunnen threads op de client worden bepaald op basis van
parentId. - Bijvoorbeeld, bij een pagina met één topniveau-reactie en 29 antwoorden, en het instellen van
page=0in de API - krijgt u alleen de topniveau-reactie en de 29 kinderen. - Voorbeeldafbeelding die meerdere pagina's illustreert.
- Op deze manier kunnen threads op de client worden bepaald op basis van
- Wanneer u
Flexible Paginationgebruikt, kunt u eenparentId-parameter definiëren.- Stel deze in op null om alleen topniveau-reacties te krijgen.
- Om vervolgens threads te bekijken, roept u de API opnieuw aan en geeft u
parentIddoor. - Een gebruikelijke oplossing is om een API-aanroep te doen voor de topniveau-reacties en vervolgens parallelle API-aanroepen te doen om reacties op te halen voor de kinderen van elke reactie.
- NIEUW sinds feb 2023! Ophalen als een boom met
&asTree=true.- U kunt dit zien als
Flexible Pagination as a Tree. - Alleen de topniveau-reacties tellen mee in de paginering.
- Stel
parentId=nullin om de boom bij de root te starten (u moetparentIdinstellen). - Stel
skipenlimitin voor paginering. - Stel
asTreein optrue. - De credits-kosten nemen toe met
2x, omdat onze backend in dit scenario veel meer werk moet doen. - Stel
maxTreeDepth,limitChildrenenskipChildrenin naar wens.
- U kunt dit zien als
Bomen uitgelegd
Wanneer u asTree gebruikt, kan het moeilijk zijn om over paginering na te denken. Hier is een handige afbeelding:
Reacties ophalen in de context van een gebruiker
De /comments API kan in twee contexten worden gebruikt, voor verschillende gebruiksgevallen:
- Voor het retourneren van reacties gesorteerd en gelabeld met informatie voor het bouwen van uw eigen client.
- Gebruik in dit geval een queryparameter
contextUserId.
- Gebruik in dit geval een queryparameter
- Voor het ophalen van reacties vanaf uw backend voor aangepaste integraties.
- Het platform zal standaard naar dit terugvallen zonder
contextUserId.
- Het platform zal standaard naar dit terugvallen zonder




Reacties als boom ophalen
Het is mogelijk om reacties terug te krijgen als een boom, waarbij alleen de topniveau-reacties meetellen voor de paginering.

Wilt u alleen de topniveau-reacties en de directe kinderen ophalen? Hier is één manier:

Echter, in uw UI moet u misschien weten of u op elke reactie een knop "toon reacties" moet weergeven. Bij het ophalen van reacties via een boom is er een hasChildren-eigenschap toegevoegd aan reacties wanneer van toepassing.
Reacties als boom ophalen, zoeken op hashtag
Het is mogelijk om op hashtag te zoeken met de API, over uw gehele tenant (niet beperkt tot één pagina of urlId).
In dit voorbeeld laten we urlId weg en zoeken we op meerdere hashtags. De API retourneert alleen reacties die alle gevraagde hashtags bevatten.

Alle verzoekparameters

De respons

Handige tips
URL ID
Waarschijnlijk wilt u de Comment-API gebruiken met de parameter urlId. U kunt eerst de Pages-API aanroepen om te zien hoe de voor u beschikbare urlId-waarden eruitzien.
Anonieme acties
Voor anoniem reageren wilt u waarschijnlijk anonUserId doorgeven bij het ophalen van reacties, en bij het uitvoeren van markeringen en blokkeringen.
(!) Dit is vereist voor veel app stores omdat gebruikers in staat moeten zijn user-generated content die ze zien te markeren, zelfs als ze niet zijn ingelogd. Het niet doen hiervan kan ertoe leiden dat uw app uit genoemde store wordt verwijderd.
Reacties worden niet geretourneerd
Controleer of uw reacties zijn goedgekeurd en geen spam zijn.
GET /api/v1/comments/:id 
Deze API biedt de mogelijkheid om een enkele reactie op te halen op basis van id.



POST /api/v1/comments 
Dit API-eindpunt biedt de mogelijkheid om reacties te maken.
Veelvoorkomende gebruikssituaties zijn aangepaste UIs, integraties of imports.
Opmerkingen:
- Deze API kan het reactiewidget "live" bijwerken indien gewenst (dit verhoogt de
creditsCostvan1naar2). - Deze API maakt automatisch gebruikersobjecten in ons systeem aan als een e-mailadres wordt opgegeven.
- Poging om twee reacties op te slaan met verschillende e-mails, maar dezelfde gebruikersnaam, resulteert in een fout voor de tweede reactie.
- Als u
parentIdopgeeft, en een kindreactie heeftnotificationSentForParentals false, zullen wij meldingen voor de ouderreactie verzenden. Dit gebeurt elk uur (we groeperen de meldingen om het aantal verzonden e-mails te verminderen). - Als u welkomst-e-mails wilt verzenden bij het aanmaken van gebruikers, of e-mails voor reactie-verificatie, zet
sendEmailsoptruein de queryparameters. - Reacties die via deze API worden gemaakt verschijnen in de Analytics- en Moderation-pagina's van de beheerapp.
- "ongepaste woorden" blijven nog steeds gemaskeerd in de namen van reageerders en de reactietekst als de instelling is ingeschakeld.
- Reacties gemaakt via deze API kunnen desgewenst nog steeds op spam worden gecontroleerd.
- Configuraties zoals maximale reactielengte, indien geconfigureerd via de Customization Rule-beheerpagina, zijn hier van toepassing.
De minimale gegevens die vereist zijn om te verzenden en die in het reactiewidget worden weergegeven, zijn als volgt:

Een realistischer verzoek kan er als volgt uitzien:



PATCH /api/v1/comments/:id 
Dit API-eindpunt biedt de mogelijkheid om één reactie bij te werken.
Opmerkingen:
- Deze API kan de reactie-widget "live" bijwerken indien gewenst (dit verhoogt de basis
creditsCostvan1naar2).- Dit kan het migreren van reacties tussen pagina's "live" maken (door
urlIdte wijzigen). - Migraties kosten aanvullend
2credits omdat pagina's vooraf worden berekend en dit CPU-intensief is.
- Dit kan het migreren van reacties tussen pagina's "live" maken (door
- In tegenstelling tot de create API zal deze API GEEN gebruikersobjecten automatisch aanmaken in ons systeem als er een e‑mail wordt opgegeven.
- Reacties die via deze API worden bijgewerkt, kunnen indien gewenst nog steeds op spam worden gecontroleerd.
- Configuratie zoals maximale reactielengte, indien geconfigureerd via de Customization Rule admin page, is hier van toepassing.
- Om gebruikers toe te staan hun reactietekst bij te werken, kunt u eenvoudig
commentin de request body opgeven. Wij genereren dan de resulterendecommentHTML.- Als u zowel
commentalscommentHTMLdefinieert, zullen wij de HTML niet automatisch genereren. - Als de gebruiker mentions of hashtags toevoegt in de nieuwe tekst, wordt dit nog steeds verwerkt zoals bij de
POSTAPI.
- Als u zowel
- Wanneer u
commenterEmailop een reactie bijwerkt, is het het beste ookuserIdop te geven. Anders moet u ervoor zorgen dat de gebruiker met dit e‑mailadres tot uw tenant behoort, anders mislukt het verzoek.



DELETE /api/v1/comments/:id 
Deze API-endpoint biedt de mogelijkheid om een reactie te verwijderen.
Opmerkingen:
- Deze API kan, indien gewenst, de comment-widget "live" bijwerken (dit verhoogt
creditsCostvan1naar2). - Deze API verwijdert alle onderliggende reacties.



POST /api/v1/comments/:id/flag 
Deze API-endpoint biedt de mogelijkheid om een opmerking voor een specifieke gebruiker te markeren.
Opmerkingen:
- Deze oproep moet altijd worden gedaan in de context van een gebruiker. De gebruiker kan een FastComments.com-gebruiker, SSO-gebruiker of Tenant-gebruiker zijn.
- Als er een drempel is ingesteld waarbij een opmerking bij voldoende flags wordt verborgen, wordt de opmerking meteen automatisch verborgen nadat het gedefinieerde aantal flags is bereikt.
- Nadat de opmerking automatisch is afgekeurd (verborgen), kan deze alleen opnieuw worden goedgekeurd door een beheerder of moderator. Het verwijderen van de vlag zal de opmerking niet opnieuw goedkeuren.

Voor anoniem flaggen moeten we een anonUserId opgeven. Dit kan een ID zijn die de anonieme sessie vertegenwoordigt, of een willekeurige UUID.
Dit stelt ons in staat om het markeren en demarkeren van opmerkingen te ondersteunen, zelfs als een gebruiker niet is ingelogd. Op deze manier kan de opmerking als
gemarkeerd worden weergegeven wanneer opmerkingen worden opgehaald met dezelfde anonUserId.



POST /api/v1/comments/:id/un-flag 
Dit API-eindpunt maakt het mogelijk om de vlag van een reactie voor een specifieke gebruiker te verwijderen.
Opmerkingen:
- Deze oproep moet altijd worden gedaan in de context van een gebruiker. De gebruiker kan een FastComments.com User, SSO User, or Tenant User zijn.
- Nadat een reactie automatisch is afgekeurd (verborgen) - kan de reactie alleen opnieuw worden goedgekeurd door een beheerder of moderator. Het verwijderen van de vlag zal de reactie niet opnieuw goedkeuren.

Voor anoniem vlaggen moeten we een anonUserId opgeven. Dit kan een ID zijn die de anonieme sessie vertegenwoordigt, of een willekeurige UUID.



POST /api/v1/comments/:id/block 
Dit API-eindpunt biedt de mogelijkheid om een gebruiker te blokkeren die een bepaalde opmerking heeft geschreven. Het ondersteunt blokkeren van opmerkingen geschreven door FastComments.com-gebruikers, SSO-gebruikers en tenantgebruikers.
Het ondersteunt een body-parameter commentIdsToCheck om te controleren of andere mogelijk zichtbare opmerkingen op de client geblokkeerd of gedeblokkeerd moeten worden nadat deze actie is uitgevoerd.
Notities:
- Deze oproep moet altijd worden uitgevoerd in de context van een gebruiker. De gebruiker kan een FastComments.com-gebruiker, een SSO-gebruiker of een tenantgebruiker zijn.
- Het
userIdin het verzoek is de gebruiker die de blokkering uitvoert. Bijvoorbeeld:User AwilUser Bblokkeren. GeefuserId=User Aen de comment-id dieUser Bschreef. - Volledig anonieme opmerkingen (geen user id, geen e-mail) kunnen niet worden geblokkeerd en er wordt een fout geretourneerd.

Voor anonieme blokkering moeten we een anonUserId opgeven. Dit kan een ID zijn die de anonieme sessie vertegenwoordigt, of een willekeurige UUID.
Dit stelt ons in staat om opmerkingen te blokkeren, zelfs als een gebruiker niet is ingelogd, door de opmerkingen op te halen met hetzelfde anonUserId.



POST /api/v1/comments/:id/un-block 
Deze API-endpoint biedt de mogelijkheid om een gebruiker die een bepaalde reactie schreef te deblokkeren. Het ondersteunt het deblokkeren van reacties geschreven door FastComments.com Users, SSO Users, and Tenant Users.
Het ondersteunt een body-parameter commentIdsToCheck om te controleren of andere mogelijk zichtbare reacties in de client na deze actie geblokkeerd of gedeblokkeerd moeten worden.
Notes:
- Deze oproep moet altijd worden gedaan in de context van een gebruiker. De gebruiker kan een FastComments.com User, SSO User, or Tenant User zijn.
- The
userIdin the request is the user that is die het deblokkeren uitvoert. For example:User AwilUser Bdeblokkeren. PassuserId=User Aand the comment id thatUser Bwrote. - Completely anonymous comments (no user id, no email) cannot be blocked and an error will be returned.




E-mailsjabloonstructuur 
Een EmailTemplate-object vertegenwoordigt de configuratie voor een aangepast e-mailsjabloon voor een tenant.
Het systeem selecteert het e-mailsjabloon dat gebruikt wordt via:
- Het type-identifier, dit noemen we
emailTemplateId. Dit zijn constanten. - De
domain. We proberen eerst een sjabloon te vinden voor de domain waaraan het gerelateerde object (zoals eenComment) is gekoppeld, en als er geen overeenkomst wordt gevonden zullen we proberen een sjabloon te vinden waarbij domain null of*is.
De structuur van het EmailTemplate-object is als volgt:

Opmerkingen
- Je kunt de geldige
emailTemplateId-waarden verkrijgen via het/definitions-endpoint. - Het
/definitions-endpoint bevat ook de standaardvertalingen en testgegevens. - Sjablonen slaan niet op als de structuur of testgegevens ongeldig zijn.
GET /api/v1/email-templates/:id 
Individuele EmailTemplates kunnen worden opgehaald met hun bijbehorende id (NIET emailTemplateId).



GET /api/v1/email-templates 
Deze API gebruikt paginering, geleverd door de queryparameter page. EmailTemplates worden geretourneerd in pagina's van 100, gesorteerd op createdAt en vervolgens id.



PATCH /api/v1/email-templates/:id 
Dit API-eindpunt biedt de mogelijkheid om een e-mailtemplate bij te werken door alleen de id en de attributen die bijgewerkt moeten worden op te geven.
Houd er rekening mee dat alle validaties die gelden bij het aanmaken van een template ook van toepassing zijn, bijvoorbeeld:
- De template moet renderen. Dit wordt bij elke update gecontroleerd.
- Er mogen geen dubbele templates voor hetzelfde domein bestaan (anders wordt er één stilzwijgend genegeerd).



POST /api/v1/email-templates 
Dit API-endpoint biedt de mogelijkheid om e-mailsjablonen te maken.
Opmerkingen:
- Je kunt niet meerdere sjablonen hebben met dezelfde
emailTemplateIdvoor hetzelfde domein. - Maar je kunt wel een wildcard-sjabloon hebben (
domain=*) en een domeinspecifiek sjabloon voor dezelfdeemailTemplateId. - Het opgeven van
domainis alleen relevant als je meerdere domeinen hebt, of specifieke sjablonen wilt gebruiken voor testen (domainingesteld oplocalhostetc). - Als je
domainopgeeft, moet dit overeenkomen met eenDomainConfig. Bij een fout wordt een lijst met geldige domeinen verstrekt. - De sjabloonsyntaxis is EJS en wordt gerenderd met een timeout van 500ms. P99 voor renderen is <5ms, dus als je de 500ms bereikt is er iets mis.
- Je sjabloon moet renderen met de opgegeven
testDataom op te slaan. Renderfouten worden samengevoegd en gerapporteerd op het dashboard (binnenkort via de API beschikbaar).
De minimale gegevens die nodig zijn om een sjabloon toe te voegen, zijn als volgt:

Je wilt mogelijk per site sjablonen hebben, in dat geval definieer je domain:



POST /api/v1/email-templates/render 
Dit API-eindpunt maakt het mogelijk e-mailsjablonen te bekijken.



DELETE /api/v1/email-templates/:id 
Deze route verwijdert een enkele EmailTemplate op basis van id.



Hashtagstructuur 
Een HashTag object vertegenwoordigt een tag die door een gebruiker kan worden achtergelaten. HashTags kunnen worden gebruikt om naar een extern stuk inhoud te linken of om gerelateerde opmerkingen met elkaar te verbinden.
De structuur van het HashTag object is als volgt:

Opmerkingen:
- In sommige API endpoints zie je dat de hashtag in de URL wordt gebruikt. Vergeet niet waarden te URI-encoderen. Bijvoorbeeld,
#moet in plaats daarvan worden weergegeven als%23. - Sommige van deze velden zijn gemarkeerd als
READONLY- deze worden door de API geretourneerd maar kunnen niet worden ingesteld.
GET /api/v1/hash-tags 
Deze API gebruikt paginering, geleverd door de queryparameter page. HashTags worden geretourneerd in pagina's van 100, gesorteerd op tag.



PATCH /api/v1/hash-tags/:tag 
Deze route biedt de mogelijkheid om een enkele HashTag bij te werken.



POST /api/v1/hash-tags 
Deze route biedt de mogelijkheid om een enkele HashTag toe te voegen.



POST /api/v1/hash-tags/bulk 
Deze route biedt de mogelijkheid om tot 100 HashTag-objecten tegelijk toe te voegen.



DELETE /api/v1/hash-tags/:tag 
Deze route verwijdert een HashTag op basis van de opgegeven tag.
Houd er rekening mee dat, tenzij automatische creatie van HashTag is uitgeschakeld, hashtags opnieuw kunnen worden aangemaakt wanneer een gebruiker de hashtag opgeeft bij het plaatsen van een reactie.



Moderatorstructuur 
Een Moderator-object vertegenwoordigt de configuratie voor een moderator.
Er zijn drie typen moderators:
- Beheerdersgebruikers die de
isCommentModeratorAdminflag hebben. - SSO-gebruikers met de
isCommentModeratorAdminflag. - Gewone commentatoren, of FastComments.com-gebruikers, die worden uitgenodigd als Moderators.
De Moderator-structuur wordt gebruikt om de moderatiestatus van use case 3 weer te geven.
Als u een gebruiker via de API wilt uitnodigen om moderator te worden, gebruik dan de Moderator API door een Moderator aan te maken en ze te inviting.
Als de gebruiker geen FastComments.com-account heeft, helpt de uitnodigings-e-mail hen bij het opzetten. Als ze al een account hebben, krijgen ze moderatietoegang tot uw tenant en zal het userId van het Moderator-object worden bijgewerkt om naar hun gebruiker te verwijzen. U zult geen API-toegang tot hun gebruiker hebben, omdat deze in dat geval van henzelf is en wordt beheerd door FastComments.com.
Als u volledige beheer over het account van de gebruiker nodig heeft, raden we aan ofwel SSO te gebruiken, of ze toe te voegen als een Tenant-gebruiker en vervolgens een Moderator-object toe te voegen om hun statistieken bij te houden.
De Moderator-structuur kan worden gebruikt als een mechanisme voor statistiekregistratie voor use cases 1 en 2. Nadat u de gebruiker hebt aangemaakt, voegt u een Moderator-object toe met hun userId gedefinieerd en hun statistieken worden bijgehouden op de Pagina voor comment-moderatoren.
De structuur van het Moderator-object is als volgt:

GET /api/v1/moderators/:id 
Deze route retourneert een enkele moderator op basis van het id.



GET /api/v1/moderators 
Deze API gebruikt paginering via de queryparameter skip. Moderators worden geretourneerd in pagina's van 100, gesorteerd op createdAt en id.
De kosten zijn gebaseerd op het aantal geretourneerde moderators; het kost 1 credit per 10 geretourneerde moderators.



PATCH /api/v1/moderators/:id 
Dit API-eindpunt biedt de mogelijkheid om een Moderator bij te werken via id.
Het bijwerken van een Moderator kent de volgende beperkingen:
- De volgende waarden mogen niet worden opgegeven bij het bijwerken van een
Moderator:acceptedInvitemarkReviewedCountdeletedCountmarkedSpamCountapprovedCounteditedCountbannedCountverificationIdcreatedAt
- Als een
userIdis opgegeven, moet die gebruiker bestaan. - Als een
userIdis opgegeven, moet deze behoren tot dezelfdetenantIddie in de queryparameters is opgegeven. - Twee moderators in dezelfde tenant kunnen niet worden toegevoegd met hetzelfde
email. - U mag de
tenantIddie aan eenModeratoris gekoppeld niet wijzigen.



POST /api/v1/moderators 
Deze route biedt de mogelijkheid om één Moderator toe te voegen.
Het aanmaken van een Moderator heeft de volgende beperkingen:
- Een
nameenemailmoeten altijd worden opgegeven. EenuserIdis optioneel. - De volgende waarden mogen niet worden opgegeven bij het aanmaken van een
Moderator:acceptedInvitemarkReviewedCountdeletedCountmarkedSpamCountapprovedCounteditedCountbannedCountverificationIdcreatedAt
- Wanneer een
userIdis opgegeven, moet die gebruiker bestaan. - Wanneer een
userIdis opgegeven, moet die tot dezelfdetenantIdbehoren die in de queryparameters is opgegeven. - Twee moderators binnen dezelfde tenant kunnen niet worden toegevoegd met hetzelfde
email.
We kunnen een Moderator aanmaken voor een gebruiker waarvan we alleen het e-mailadres kennen:

Of we kunnen een Moderator aanmaken voor een gebruiker die tot onze tenant behoort, om hun moderatiestatistieken bij te houden:



POST /api/v1/moderators/:id/send-invite 
Deze route biedt de mogelijkheid om één Moderator uit te nodigen.
De volgende beperkingen gelden om een uitnodigingsmail naar een Moderator te sturen:
- De
Moderatormoet al bestaan. - De
fromNamemag niet langer zijn dan100 characters.
Opmerkingen:
- Als een gebruiker met het opgegeven e-mailadres al bestaat, wordt hij uitgenodigd om de opmerkingen van uw tenant te modereren.
- Als een gebruiker met het opgegeven e-mailadres niet bestaat, leidt de uitnodigingslink die persoon door het aanmaken van een account.
- De uitnodiging verloopt na
30 days.
We kunnen een Moderator aanmaken voor een gebruiker waarvan we alleen het e-mailadres kennen:

Dit zal een e-mail sturen zoals Bob at TenantName is inviting you to be a moderator...


DELETE /api/v1/moderators/:id 
Deze route biedt het verwijderen van een Moderator op basis van het id.



Structuur aantal meldingen 
Een NotificationCount object vertegenwoordigt het aantal ongelezen meldingen en metadata voor een gebruiker.
Als er geen ongelezen meldingen zijn, bestaat er geen NotificationCount voor de gebruiker.
NotificationCount-objecten worden automatisch aangemaakt en kunnen niet via de API worden gemaakt. Ze verlopen ook na één jaar.
U kunt het aantal ongelezen meldingen van een gebruiker wissen door hun NotificationCount te verwijderen.
De structuur van het NotificationCount-object is als volgt:

GET /api/v1/notification-count/:user_id 
Deze route retourneert een enkele NotificationCount op basis van user id. Bij SSO staat de user id in het formaat <tenant id>:<user id>.
Als er geen ongelezen meldingen zijn, zal er geen NotificationCount zijn - u krijgt dan een 404.
Dit verschilt van notifications/count doordat het veel sneller is, maar geen filtering toestaat.



DELETE /api/v1/notification-count/:user_id 
Deze route verwijdert een enkele NotificationCount op basis van gebruikers-id. Bij SSO heeft de gebruikers-id het formaat <tenant id>:<user id>.
Dit wist de ongelezen meldingtelling van de gebruiker (het rode bel-icoon in de reactie-widget vervaagt en het aantal verdwijnt).



Notificatiestructuur 
Een Notification object vertegenwoordigt een notificatie voor een gebruiker.
Notification objects worden automatisch aangemaakt en kunnen niet via de API worden aangemaakt. Ze verlopen ook na één jaar.
Notificaties kunnen niet worden verwijderd. Ze kunnen echter wel worden bijgewerkt om viewed op false te zetten, en je kunt zoeken op viewed.
Een gebruiker kan zich ook afmelden voor notificaties voor een specifiek comment door optedOut in de notificatie op true te zetten. Je kunt je weer aanmelden door het op false te zetten.
Er zijn verschillende notificatie-types - controleer relatedObjectType en type.
De manieren waarop notificaties worden aangemaakt zijn vrij flexibel en kunnen door veel scenario's worden getriggerd (zie NotificationType).
Op dit moment impliceert het bestaan van een Notification niet noodzakelijk dat er een e-mail is of zou moeten worden verzonden. In plaats daarvan worden de notificaties gebruikt voor de notificatiefeed en gerelateerde integraties.
De structuur voor het Notification object is als volgt:

GET /api/v1/notifications 
Deze route retourneert maximaal 30 Notification objecten, gesorteerd op createdAt, nieuwste eerst.
U kunt filteren op userId. Bij SSO is de gebruikers-id in het formaat <tenant id>:<user id>.



GET /api/v1/notifications/count 
Deze route retourneert een object met het aantal meldingen onder de parameter count.
Het is trager dan /notification-count/ en kost twee keer zoveel credits, maar maakt filteren op meer dimensies mogelijk.
Je kunt filteren op dezelfde parameters als de /notifications endpoint, zoals userId. Bij SSO heeft de gebruikers-id het formaat <tenant id>:<user id>.




PATCH /api/v1/notifications/:id 
Dit API-eindpunt maakt het mogelijk om een Notification bij id bij te werken.
Het bijwerken van een Notification heeft de volgende beperkingen:
- Je kunt alleen de volgende velden bijwerken:
viewedoptedOut



Pagina-structuur 
Een Page-object vertegenwoordigt de pagina waartoe veel opmerkingen kunnen behoren. Deze relatie wordt gedefinieerd door
urlId.
Een Page slaat informatie op zoals de paginatitel, het aantal opmerkingen en urlId.
De structuur voor het Page-object is als volgt:

GET /api/v1/pages 
Je kunt momenteel alleen alle pagina's ophalen (of een enkele pagina via /by-url-id) die aan je account zijn gekoppeld. Als je fijnmaziger zoeken wilt, neem contact met ons op.



Handige tip
De Comment API vereist een urlId. Je kunt eerst de Pages API aanroepen om te zien hoe de voor jou beschikbare urlId-waarden eruitzien.
GET /api/v1/pages/by-url-id 
Individuele pagina's kunnen worden opgehaald met hun bijbehorende urlId. Dit kan handig zijn om paginatitels of het aantal reacties op te zoeken.



Handige tip
Vergeet niet waarden zoals de urlId te URI-encoderen.
PATCH /api/v1/pages/:id 
Deze route biedt de mogelijkheid om een enkele Page bij te werken. De bijbehorende reacties worden bijgewerkt.



Opmerking
Sommige parameters in het Page-object worden automatisch bijgewerkt. Dit zijn de aantallen en de title-attributen. Aantallen kunnen niet via de API worden bijgewerkt omdat het berekende waarden zijn. De pagina title kan via de API worden ingesteld, maar wordt overschreven als de reactiewidget wordt gebruikt op een pagina met dezelfde urlId en een andere paginatitel.
POST /api/v1/pages 
Dit API-eindpunt maakt het mogelijk om pagina's aan te maken.
Een veelvoorkomend gebruiksgeval is toegangscontrole.
Opmerkingen:
- Als je op een comment-thread hebt gereageerd, of de API hebt aangeroepen om een
Commentte maken, heb je al eenPage-object aangemaakt! Je kunt proberen het op te halen via de/by-url-idPage-route, door hetzelfdeurlIddoor te geven dat aan de commentaar-widget is doorgegeven. - De
Page-structuur bevat enkele berekende waarden. Momenteel zijn ditcommentCountenrootCommentCount. Deze worden automatisch gevuld en kunnen niet door de API worden ingesteld. Pogingen daartoe zullen ertoe leiden dat de API een fout teruggeeft.



DELETE /api/v1/pages/:id 
Deze route verwijdert een enkele pagina op basis van het id.
Let op dat interactie met de reactie-widget voor een pagina met hetzelfde urlId de Page naadloos opnieuw zal aanmaken.



Structuur wachtende webhook-gebeurtenis 
Een PendingWebhookEvent-object vertegenwoordigt een webhook-event in de wachtrij dat nog in behandeling is.
PendingWebhookEvent-objecten worden automatisch aangemaakt en kunnen niet handmatig via de API worden aangemaakt. Ze verlopen ook na één jaar.
Ze kunnen worden verwijderd, wat de taak uit de wachtrij verwijdert.
Er zijn verschillende eventtypes - controleer eventType (OutboundSyncEventType) en type (OutboundSyncType).
Een veelvoorkomend gebruik van deze API is het implementeren van aangepaste monitoring. U wilt mogelijk periodiek het /count-endpoint aanroepen om het openstaande aantal voor bepaalde filters op te vragen.
De structuur van het PendingWebhookEvent-object is als volgt:

GET /api/v1/pending-webhook-events 
Deze route retourneert een lijst met openstaande webhook-events onder de parameter pendingWebhookEvents.
Deze API gebruikt paginering, geleverd door de skip parameter. PendingWebhookEvents worden geretourneerd in pagina's van 100, gesorteerd op createdAt met de nieuwste eerst.



GET /api/v1/pending-webhook-events/count 
Deze route retourneert een object dat het aantal in behandeling zijnde webhook-events bevat onder de parameter count.
Je kunt filteren op dezelfde parameters als het /pending-webhook-events eindpunt



DELETE /api/v1/pending-webhook-events/:id 
Deze route maakt het mogelijk om een enkele PendingWebhookEvent te verwijderen.
Als u een bulkverwijdering moet uitvoeren, roept u de GET-API aan met paginering en roept u vervolgens deze API opeenvolgend aan.



Structuur SSO-gebruiker 
FastComments biedt een eenvoudig te gebruiken SSO-oplossing. Het bijwerken van de informatie van een gebruiker met de HMAC-gebaseerde integratie is zo eenvoudig als de gebruiker de pagina laten laden met een bijgewerkte payload.
Het kan echter wenselijk zijn om een gebruiker buiten dat proces te beheren, om de consistentie van uw applicatie te verbeteren.
De SSO User API biedt een manier om CRUD-bewerkingen uit te voeren op objecten die we SSOUsers noemen. Deze objecten verschillen van reguliere Users en worden apart gehouden voor typeveiligheid.
De structuur van het SSOUser-object is als volgt:

Facturering voor SSO-gebruikers
SSO-gebruikers worden anders gefactureerd afhankelijk van hun permissievlaggen:
- Reguliere SSO-gebruikers: Gebruikers zonder admin- of moderatorrechten worden gefactureerd als reguliere SSO-gebruikers
- SSO-beheerders: Gebruikers met de
isAccountOwnerofisAdminAdminvlaggen worden apart gefactureerd als SSO-beheerders (zelfde tarief als reguliere tenantbeheerders) - SSO-moderators: Gebruikers met de
isCommentModeratorAdminvlag worden apart gefactureerd als SSO-moderators (zelfde tarief als reguliere moderators)
Belangrijk: Om dubbele facturatie te voorkomen, dedupliceert het systeem automatisch SSO-gebruikers ten opzichte van reguliere tenantgebruikers en moderators op basis van e-mailadres. Als een SSO-gebruiker hetzelfde e-mailadres heeft als een reguliere tenantgebruiker of moderator, zullen ze niet twee keer gefactureerd worden.
Toegangscontrole
Gebruikers kunnen in groepen worden ingedeeld. Hiervoor is het veld groupIds bedoeld, en het is optioneel.
@Vermeldingen
Standaard zal @mentions username gebruiken om naar andere SSO-gebruikers te zoeken wanneer het @-teken wordt getypt. Als displayName wordt gebruikt, zullen resultaten die overeenkomen met username worden genegeerd wanneer er een match is voor displayName, en zullen de @mention-zoekresultaten displayName gebruiken.
Abonnementen
Met FastComments kunnen gebruikers zich abonneren op een pagina door op het belpictogram in de commentaarwidget te klikken en op Abonneren te klikken.
Bij een reguliere gebruiker sturen we ze notificatie-e-mails op basis van hun notificatie-instellingen.
Bij SSO-gebruikers hebben we dit opgesplitst voor achterwaartse compatibiliteit. Gebruikers zullen deze extra abonnementsmeldingen alleen ontvangen als u optedInSubscriptionNotifications op true zet.
Badges
U kunt badges toewijzen aan SSO-gebruikers met de eigenschap badgeConfig. Badges zijn visuele indicatoren die naast de naam van een gebruiker bij reacties verschijnen.
badgeIds- Een array met badge-IDs om aan de gebruiker toe te wijzen. Deze moeten geldige badge-IDs zijn die in uw FastComments-account zijn aangemaakt. Beperkt tot 30 badges.override- Als true worden alle bestaande badges die bij reacties worden weergegeven vervangen door de opgegeven badges. Als false of weggelaten, worden de opgegeven badges toegevoegd aan eventuele bestaande badges.update- Als true worden de weergave-eigenschappen van badges bij elke login van de gebruiker bijgewerkt vanuit de tenantconfiguratie.
GET /api/v1/sso-users 
Deze route retourneert SSO-gebruikers in pagina's van 100. Paginering wordt geregeld met de parameter skip. Gebruikers worden gesorteerd op hun signUpDate en id.



GET /api/v1/sso-users/by-id/:id 
Deze route retourneert een enkele SSO-gebruiker op basis van hun id.



GET /api/v1/sso-users/by-email/:email 
Deze route retourneert een enkele SSO-gebruiker op basis van hun e-mailadres.



PATCH /api/v1/sso-users/:id 
Deze route biedt de mogelijkheid om een enkele SSO-gebruiker bij te werken.



POST /api/v1/sso-users 
Deze route maakt het mogelijk één SSO-gebruiker aan te maken.
Als u probeert twee gebruikers met hetzelfde ID aan te maken, resulteert dat in een fout.

In dit voorbeeld specificeren we groupIds voor toegangscontrole, maar dit is optioneel.


Integratie-opmerking
Door de API doorgegeven gegevens kunnen worden overschreven door simpelweg een andere SSO User HMAC-payload mee te geven. Als u bijvoorbeeld een gebruikersnaam instelt via de API, maar bij het SSO-proces bij het laden van de pagina een andere opgeeft, zullen wij hun gebruikersnaam automatisch bijwerken.
We zullen gebruikersparameters in deze flow niet bijwerken tenzij u ze expliciet opgeeft of ze op null zet (niet undefined).
PUT /api/v1/sso-users/:id 
Deze route biedt de mogelijkheid om een enkele SSO-gebruiker bij te werken.

In dit voorbeeld geven we groupIds op voor toegangscontrole, maar dit is optioneel.


DELETE /api/v1/sso-users/:id 
Deze route verzorgt het verwijderen van een enkele SSO-gebruiker op basis van hun id.
Let op: het opnieuw laden van de commentaarwidget met een payload voor deze gebruiker zal de gebruiker eenvoudig en naadloos opnieuw aanmaken.
Het verwijderen van de opmerkingen van de gebruiker is mogelijk via de queryparameter deleteComments. Let op: als dit true is:
- Alle opmerkingen van de gebruiker worden live verwijderd.
- Alle child (nu verweesde) opmerkingen worden verwijderd of geanonimiseerd op basis van de paginaconfiguratie die aan elke opmerking is gekoppeld. Bijvoorbeeld, als de thread deletion mode "anonymize" is, blijven de antwoorden staan en worden de opmerkingen van de gebruiker geanonimiseerd. Dit geldt alleen wanneer
commentDeleteModeRemoveis (de standaardwaarde). - De
creditsCostwordt2.
Geanonimiseerde opmerkingen
U kunt de opmerkingen van de gebruiker behouden maar eenvoudigweg anonimiseren door commentDeleteMode=1 in te stellen.
Als de opmerkingen van de gebruiker geanonimiseerd worden, worden de volgende waarden op null gezet:
- commenterName
- commenterEmail
- avatarSrc
- userId
- anonUserId
- mentions
- badgesisDeleted en isDeletedUser worden op true gezet.
Bij het renderen gebruikt de commentaarwidget DELETED_USER_PLACEHOLDER (standaard: "[deleted]") voor de naam van de gebruiker en DELETED_CONTENT_PLACEHOLDER voor de opmerking. Deze kunnen aangepast worden via de UI voor widgetaanpassing.
Voorbeelden



Abonnementsstructuur 
Een Subscription-object vertegenwoordigt een abonnement voor een gebruiker.
Subscription-objecten worden aangemaakt wanneer een gebruiker op de meldingsbel in de reactie-widget klikt en op "Abonneer op deze pagina" klikt.
Abonnementen kunnen ook via de API worden aangemaakt.
Het hebben van een Subscription-object zorgt ervoor dat er Notification-objecten worden gegenereerd en e-mails worden verzonden wanneer er nieuwe reacties worden geplaatst op de root van de bijbehorende pagina waarvoor de Subscription geldt. Het verzenden van e-mails hangt af van het type gebruiker. Voor reguliere gebruikers is dit afhankelijk van optedInNotifications. Voor SSO-gebruikers is dit afhankelijk van optedInSubscriptionNotifications. Let op dat sommige applicaties mogelijk niet het concept van een via het web toegankelijke pagina hebben; in dat geval stelt u eenvoudig urlId in op de id van het item waarop u zich abonneert (dezelfde waarde voor urlId die u aan de reactie-widget zou doorgeven).
De structuur van het Subscription-object is als volgt:

GET /api/v1/subscriptions/:id 
Deze route retourneert maximaal 30 Subscription-objecten, gesorteerd op createdAt, van nieuw naar oud.
Je kunt filteren op userId. Bij SSO is de gebruikers-id in het formaat <tenant id>:<user id>.



POST /api/v1/subscriptions 
Deze API-endpoint maakt het mogelijk een Subscription te creëren. Let op dat een gebruiker slechts één subscription per pagina mag hebben, omdat meer overbodig is, en proberen
meer dan één subscription voor dezelfde gebruiker voor dezelfde pagina aan te maken zal resulteren in een fout.
Het aanmaken van een subscription resulteert in het aanmaken van Notification-objecten wanneer een nieuwe comment op de root van de geabonneerde urlId wordt geplaatst (wanneer comment parentId null is).



DELETE /api/v1/subscriptions/:id 
Deze route verwijdert een enkel Subscription-object op basis van id.



Structuur dagelijks gebruik tenant 
Een TenantDailyUsage object represents the usage for a tenant on a given day. If there was no activity for a given tenant on a given
day, that day will not have a TenantDailyUsage object.
The TenantDailyUsage object is not real time and may be minutes behind actual usage.
The structure for the TenantDailyUsage object is as follows:

GET /api/v1/tenant-daily-usage 
Deze route maakt het mogelijk om het gebruik van een tenant te doorzoeken op jaar, maand en dag. Er kunnen maximaal 365 objecten worden geretourneerd, en de kosten zijn 1 API-credit per 10 objecten.
Response-objecten worden gesorteerd op de datum waarop ze zijn aangemaakt (de oudste eerst).



Tenantstructuur 
De Tenant definieert een FastComments.com-klant. Ze kunnen via de API worden aangemaakt door tenants met white-labeling toegang. White-labeled tenants kunnen geen andere white-labeled tenants aanmaken (er is slechts één niveau van nesting toegestaan).
De structuur voor het Tenant-object is als volgt:

GET /api/v1/tenants/:id 
Deze route retourneert een enkele Tenant op basis van id.



GET /api/v1/tenants 
Deze API retourneert tenants die door uw tenant worden beheerd.
Paginering wordt verzorgd door de queryparameter skip. Tenants worden geretourneerd in pagina's van 100, gesorteerd op signUpDate en id.
De kosten zijn gebaseerd op het aantal geretourneerde tenants; het kost 1 credit per 10 geretourneerde tenants.

U kunt meta-parameters definiëren op de Tenant-objecten en zoeken naar overeenkomende tenants. Bijvoorbeeld, voor de sleutel someKey en de meta-waarde some-value, kunnen we
een JSON-object met deze sleutel/waarde maken en vervolgens URI-encoden als queryparameter om te filteren:



POST /api/v1/tenants 
Deze route biedt de mogelijkheid om een enkele Tenant toe te voegen.
Het aanmaken van een Tenant kent de volgende beperkingen:
- Een
nameis verplicht. domainConfigurationis verplicht.- De volgende waarden mogen niet worden meegegeven bij het aanmaken van een
Tenant:hasFlexPricinglastBillingIssueReminderDateflexLastBilledAmount
- De
signUpDatemag niet in de toekomst liggen. - De
namemag niet langer zijn dan200 characters. - De
emailmag niet langer zijn dan300 characters. - De
emailmoet uniek zijn over alle FastComments.com tenants. - U mag geen tenants aanmaken als de parent tenant geen geldige
TenantPackageheeft gedefinieerd.- Als uw tenant via FastComments.com is aangemaakt, zou dit geen probleem moeten zijn.
- U mag niet meer tenants aanmaken dan gedefinieerd onder
maxWhiteLabeledTenantsin uw package. - U moet de queryparameter
tenantIdopgeven, dit is de id van uwparent tenantmet white labeling ingeschakeld.
We kunnen een Tenant aanmaken met slechts een paar parameters:



PATCH /api/v1/tenants/:id 
Dit API-eindpunt maakt het mogelijk een Tenant op basis van id bij te werken.
Het bijwerken van een Tenant heeft de volgende beperkingen:
- De volgende waarden mogen niet worden bijgewerkt:
hasFlexPricinglastBillingIssueReminderDateflexLastBilledAmountmanagedByTenantId
- De
signUpDatemag niet in de toekomst liggen. - De
namemag niet langer zijn dan200 characters. - De
emailmag niet langer zijn dan300 characters. - De
emailmoet uniek zijn voor alle tenants van FastComments.com. - Wanneer
billingInfoValidoptruewordt gezet, moetbillingInfoin hetzelfde verzoek worden meegegeven. - U mag de
packageIddie aan uw eigen tenant is gekoppeld niet bijwerken. - U mag de
paymentFrequencydie aan uw eigen tenant is gekoppeld niet bijwerken.



DELETE /api/v1/tenants/:id 
Deze route zorgt voor het verwijderen van een Tenant en alle bijbehorende gegevens (gebruikers, reacties, etc.) op basis van id.
De volgende beperkingen gelden bij het verwijderen van tenants:
- De tenant moet van uzelf zijn, of een white-labeled tenant die u beheert.
- De queryparameter
suremoet optrueworden gezet.



Structuur tenantpakket 
De TenantPackage definieert pakketinformatie die beschikbaar is voor een Tenant. Een tenant kan meerdere pakketten beschikbaar hebben, maar slechts
één tegelijk in gebruik.
Een Tenant kan niet voor producten worden gebruikt totdat zijn packageId naar een geldige TenantPackage verwijst.
Er zijn twee soorten TenantPackage-objecten:
- Pakketten met vaste prijs - waarbij
hasFlexPricingfalse is. - Flexibele prijsstelling - waarbij
hasFlexPricingtrue is.
In beide gevallen worden limieten gedefinieerd op het account dat het pakket gebruikt, maar bij Flex wordt de tenant een basisprijs in rekening gebracht plus
wat ze gebruikt hebben, gedefinieerd door de flex* parameters.
Een tenant kan meerdere tenant-pakketten hebben en kan het pakket zelf wijzigen vanaf de Pagina met facturatiegegevens.
Als u zelf de facturering voor tenants afhandelt, moet u nog steeds voor elke tenant een pakket definiëren om hun limieten vast te leggen. Stel eenvoudig billingHandledExternally in op true op de Tenant en zij
zullen hun facturatiegegevens of actieve pakket niet zelf kunnen wijzigen.
U mag geen pakketten aanmaken met hogere limieten dan de bovenliggende tenant.
De structuur van het TenantPackage-object is als volgt:

GET /api/v1/tenant-packages/:id 
Deze route retourneert een enkel Tenant Package op basis van id.



GET /api/v1/tenant-packages 
Deze API gebruikt paginering, geleverd via de queryparameter skip. TenantPackages worden in pagina's van 100 teruggegeven, gesorteerd op createdAt en id.
De kosten zijn gebaseerd op het aantal geretourneerde tenant packages: 1 credit per 10 tenant packages.



POST /api/v1/tenant-packages 
Deze route biedt de mogelijkheid om een enkele TenantPackage toe te voegen.
Het aanmaken van een TenantPackage kent de volgende beperkingen:
- De volgende parameters zijn verplicht:
nametenantIdmonthlyCostUSD- Can be null.yearlyCostUSD- Can be null.maxMonthlyPageLoadsmaxMonthlyAPICreditsmaxMonthlyCommentsmaxConcurrentUsersmaxTenantUsersmaxSSOUsersmaxModeratorsmaxDomainshasDebrandingforWhoTextfeatureTaglineshasFlexPricing- If true, then allflex*parameters are required.
- De
namemag niet langer zijn dan50 characters. - Elk
forWhoTextitem mag niet langer zijn dan200 characters. - Elk
featureTaglinesitem mag niet langer zijn dan100 characters. - De
TenantPackagemoet "kleiner" zijn dan de parent tenant. Bijvoorbeeld, allemax*parameters moeten lagere waarden hebben dan de parent tenant. - Een white-labeled tenant mag maximaal vijf pakketten hebben.
- Alleen tenants met toegang tot white labeling mogen een
TenantPackageaanmaken. - Je mag geen pakketten toevoegen aan je eigen tenant. :)
We kunnen een TenantPackage als volgt aanmaken:



PATCH /api/v1/tenant-packages/:id 
Deze API-endpoint biedt de mogelijkheid om een TenantPackage op basis van id bij te werken.
Het bijwerken van een TenantPackage kent de volgende beperkingen:
- Als u
hasFlexPricingop true zet, dan zijn alleflex*-parameters vereist in datzelfde verzoek. - De
namemag niet langer zijn dan50 characters. - Elk
forWhoText-item mag niet langer zijn dan200 characters. - Elk
featureTaglines-item mag niet langer zijn dan100 characters. - De
TenantPackagemoet "kleiner" zijn dan de bovenliggende tenant. Bijvoorbeeld moeten allemax*-parameters lagere waarden hebben dan de bovenliggende tenant. - U mag de
tenantIddie aan eenTenantPackageis gekoppeld niet wijzigen.



DELETE /api/v1/tenant-packages/:id 
Deze route verzorgt het verwijderen van een TenantPackage op basis van het id.
U mag geen TenantPackage verwijderen die in gebruik is (de packageId van een tenant verwijst naar het pakket). Werk eerst de Tenant bij.



Structuur tenantgebruiker 
De TenantUser definieert een User die wordt beheerd door een specifieke tenant. Hun account staat volledig onder controle van de tenant waarmee ze zijn geassocieerd, en hun account kan worden bijgewerkt of verwijderd via de UI of de API.
Tenantgebruikers kunnen beheerders zijn met alle rechten en toegang tot de Tenant, of ze kunnen beperkt zijn tot specifieke rechten om opmerkingen te modereren, toegang te krijgen tot API-sleutels, enz.
De structuur voor het TenantUser-object is als volgt:

GET /api/v1/tenant-users/:id 
Deze route retourneert een enkele TenantUser op basis van id.



GET /api/v1/tenant-users 
Deze API gebruikt paginering, geleverd door de skip queryparameter. TenantUsers worden geretourneerd in pagina's van 100, gesorteerd op signUpDate, username en id.
De kosten zijn gebaseerd op het aantal TenantUsers dat wordt geretourneerd; de kosten zijn 1 credit per 10 geretourneerde TenantUsers.



POST /api/v1/tenant-users 
Deze route biedt de mogelijkheid om één TenantUser toe te voegen.
Het aanmaken van een TenantUser heeft de volgende beperkingen:
- Een
usernameis verplicht. - Een
emailis verplicht. - De
signUpDatemag niet in de toekomst liggen. - De
localemoet voorkomen in de lijst met Ondersteunde Locales. - De
usernamemoet uniek zijn op heel FastComments.com. Als dit een probleem is, raden we aan in plaats daarvan SSO te gebruiken. - De
emailmoet uniek zijn op heel FastComments.com. Als dit een probleem is, raden we aan in plaats daarvan SSO te gebruiken. - U mag niet meer tenant users aanmaken dan gedefinieerd onder
maxTenantUsersin uw pakket.
We kunnen een TenantUser als volgt aanmaken



POST /api/v1/tenant-users/:id/send-login-link 
Deze route biedt de mogelijkheid om een aanmeldlink te verzenden naar een enkele TenantUser.
Handig bij het batchgewijs aanmaken van gebruikers, zodat je ze niet hoeft uit te leggen hoe ze kunnen inloggen op FastComments.com. Dit stuurt hen eenvoudig een "magische link" om in te loggen die vervalt na 30 days.
De volgende beperkingen gelden voor het verzenden van een aanmeldlink naar een TenantUser:
- De
TenantUsermoet al bestaan. - Je moet toegang hebben om de
Tenantte beheren waartoe deTenantUserbehoort.
We kunnen een aanmeldlink naar een TenantUser verzenden als volgt:

Dit zal een e-mail sturen zoals Bob at TenantName is inviting you to be a moderator...


PATCH /api/v1/tenant-users/:id 
Deze route biedt de mogelijkheid om een enkele TenantUser bij te werken.
Het bijwerken van een TenantUser heeft de volgende beperkingen:
- De
signUpDatemag niet in de toekomst liggen. - De
localemoet in de lijst van Ondersteunde locales staan. - De
usernamemoet uniek zijn op heel FastComments.com. Als dit een probleem is, raden we aan in plaats daarvan SSO te gebruiken. - De
emailmoet uniek zijn op heel FastComments.com. Als dit een probleem is, raden we aan in plaats daarvan SSO te gebruiken. - U kunt de
tenantIdvan een gebruiker niet bijwerken.
We kunnen een TenantUser als volgt aanmaken



DELETE /api/v1/tenant-users/:id 
Deze route maakt het mogelijk om een TenantUser te verwijderen op basis van id.
Het is mogelijk om de opmerkingen van de gebruiker te verwijderen via de queryparameter deleteComments. Let op dat wanneer dit waar is:
- Alle opmerkingen van de gebruiker worden direct verwijderd.
- Alle child (nu wees) opmerkingen worden verwijderd of geanonimiseerd op basis van de pagina-configuratie die aan elke opmerking is gekoppeld. Bijvoorbeeld, als thread deletion mode "anonymize" is, blijven reacties behouden en worden de opmerkingen van de gebruiker geanonimiseerd. Dit geldt alleen wanneer
commentDeleteModeRemoveis (de standaardwaarde). - De
creditsCostwordt2.
Geanonimiseerde opmerkingen
U kunt de opmerkingen van de gebruiker behouden maar eenvoudigweg anonimiseren door commentDeleteMode=1 in te stellen.
Als de opmerkingen van de gebruiker geanonimiseerd worden, worden de volgende waarden op null gezet:
- commenterName
- commenterEmail
- avatarSrc
- userId
- anonUserId
- mentions
- badgesisDeleted en isDeletedUser worden ingesteld op true.
Bij weergave zal de comment-widget DELETED_USER_PLACEHOLDER (standaard: "[deleted]") gebruiken voor de naam van de gebruiker en DELETED_CONTENT_PLACEHOLDER voor de opmerking. Deze kunnen worden aangepast via de Widget Customization UI.
Voorbeelden



Gebruikersstructuur 
User is een object dat het meest voorkomende gemeenschappelijke kenmerk van alle gebruikers vertegenwoordigt.
Houd er rekening mee dat we bij FastComments verschillende gebruikssituaties voor gebruikers hebben:
- Secure SSO
- Simple SSO
- Tenant Users (For example: Administrators)
- Commenters
Deze API is voor Commenters en gebruikers die via Simple SSO zijn aangemaakt. In feite kan elke gebruiker die via uw site is aangemaakt via deze API worden benaderd. Tenant Users kunnen ook op deze manier worden opgehaald, maar u krijgt meer informatie door te werken met de /tenant-users/ API.
Gebruik voor Secure SSO de /sso-users/ API.
U kunt deze soorten gebruikers niet bijwerken. Ze hebben hun account via uw site aangemaakt, dus we bieden beperkte alleen-lezen toegang, maar u kunt geen wijzigingen aanbrengen. Als u dit soort flow wilt hebben, moet u Secure SSO instellen.
De structuur van het User-object is als volgt:

GET /api/v1/users/:id 
Deze route retourneert een enkele gebruiker op basis van id.



Stemstructuur 
Een Vote-object vertegenwoordigt een door een gebruiker achtergelaten stem.
De relatie tussen reacties en stemmen wordt gedefinieerd via commentId.
De structuur voor het Vote-object is als volgt:

GET /api/v1/votes 
Stemmen moeten worden opgehaald via urlId.
Soorten stemmen
Er zijn drie soorten stemmen:
- Geauthenticeerde stemmen, die worden toegepast op de bijbehorende opmerking. Je kunt deze via deze API aanmaken.
- Geauthenticeerde stemmen, die in afwachting zijn van verificatie, en dus nog niet op de opmerking worden toegepast. Deze worden aangemaakt wanneer een gebruiker het FastComments.com inloggen om te stemmen-mechanisme gebruikt.
- Anonieme stemmen, die worden toegepast op de bijbehorende opmerking. Deze worden aangemaakt samen met anoniem reageren.
Deze worden in afzonderlijke lijsten in de API teruggegeven om verwarring te verminderen.



Opmerkingen over anonieme stemmen
Let op dat anonieme stemmen die via deze API zijn aangemaakt, verschijnen in de lijst appliedAuthorizedVotes. Ze worden als geautoriseerd beschouwd omdat ze via de API met een API key zijn aangemaakt.
De structuur appliedAnonymousVotes is voor stemmen die zijn aangemaakt zonder e-mail, API key, enz.
GET /api/v1/votes/for-user 
Maakt het mogelijk om stemmen op te halen die een gebruiker heeft achtergelaten voor een bepaalde urlId. Vereist een userId dat een FastComments.com- of een SSO User-account kan zijn.
Dit is handig als je wilt laten zien of een gebruiker op een reactie heeft gestemd. Wanneer je reacties ophaalt, roep je simpelweg deze API tegelijkertijd aan voor de gebruiker met dezelfde urlId.
Als je anoniem stemmen gebruikt, geef je in plaats daarvan anonUserId mee.


Let op dat anonieme stemmen zullen verschijnen in de appliedAuthorizedVotes lijst. Ze worden als geautoriseerd beschouwd omdat ze via de API met een API key zijn aangemaakt.


POST /api/v1/votes 
Deze route biedt de mogelijkheid om één geautoriseerde Vote toe te voegen. Votes kunnen up (+1) of down (-1) zijn.




Creating Anonymous Votes
Anonieme stemmen kunnen worden aangemaakt door anonUserId in de queryparameters te zetten in plaats van userId.
Deze id hoeft nergens overeen te komen met een gebruikersobject (vandaar anoniem). Het is simpelweg een identificator voor de sessie, zodat je stemmen opnieuw kunt ophalen in dezelfde sessie, om te controleren of op een reactie is gestemd.
Als je niet zoiets hebt als "anonymous sessions" zoals FastComments - je kunt dit eenvoudig instellen op een willekeurige ID, zoals een UUID (hoewel we kleinere identificatoren waarderen om ruimte te besparen).
Other Notes
- Deze API houdt zich aan tenant-niveau instellingen. Bijvoorbeeld, als je stemmen uitschakelt voor een bepaalde pagina, en je probeert via de API een stem aan te maken, zal dit falen met foutcode
voting-disabled. - Deze API is standaard actief.
- Deze API zal de
votesvan de overeenkomstigeCommentbijwerken.
DELETE /api/v1/votes/:id 
Deze route biedt de mogelijkheid om een enkele Vote te verwijderen.



Opmerkingen:
- Deze API respecteert instellingen op tenant-niveau. Bijvoorbeeld, als je stemmen uitschakelt voor een bepaalde pagina en je via de API probeert een stem te maken, zal dit mislukken met foutcode
voting-disabled. - Deze API is standaard actief.
- Deze API zal de
votesvan de overeenkomstigeCommentbijwerken.
Structuur domeinconfiguratie 
Een DomainConfig-object vertegenwoordigt de configuratie voor een domein van een tenant.
De structuur voor het DomainConfig-object is als volgt:


Voor authenticatie
Domeinconfiguratie wordt gebruikt om te bepalen welke sites de FastComments-widget voor uw account kunnen hosten. Dit is een basale vorm van authenticatie, wat betekent dat het toevoegen of verwijderen van domeinconfiguraties de beschikbaarheid van uw FastComments-installatie in productie kan beïnvloeden.
Verwijder of werk de domain-eigenschap van een Domain Config voor een domein dat momenteel in gebruik is niet bij, tenzij het de bedoeling is dat dat domein wordt uitgeschakeld.
Dit heeft hetzelfde gedrag als het verwijderen van een domein via /auth/my-account/configure-domains.
Let ook op dat het verwijderen van een domein uit de My Domains-interface alle overeenkomstige configuratie voor dat domein verwijdert die mogelijk via deze interface is toegevoegd.
Voor e-mailaanpassing
De afmeldlink in de e-mailvoettekst en de één-klik-afmelden-functie die door veel e-mailclients wordt aangeboden, kunnen via deze API worden geconfigureerd door respectievelijk footerUnsubscribeURL en emailHeaders te definiëren.
Voor DKIM
Nadat u uw DKIM DNS-records hebt gedefinieerd, werkt u eenvoudig de DomainConfig bij met uw DKIM-configuratie met behulp van de opgegeven structuur.
GET /api/v1/domain-configs 
Deze API maakt het mogelijk om alle DomainConfig objecten voor een tenant op te halen.



GET /api/v1/domain-configs/:domain 
Individuele DomainConfigs kunnen worden opgehaald via hun overeenkomstige domain.



POST /api/v1/domain-configs 
Dit API-eindpunt biedt de mogelijkheid om domeinconfiguraties aan te maken.
Het toevoegen van een configuratie voor een domein machtigt dat domein voor het FastComments-account.
Veelvoorkomende gebruikssituaties voor deze API zijn de initiële installatie, wanneer veel domeinen toegevoegd moeten worden, of aangepaste configuratie voor het verzenden van e-mails.



PATCH /api/v1/domain-configs/:domain 
Dit API-eindpunt biedt de mogelijkheid om een domeinconfiguratie bij te werken door alleen het domein en het attribuut dat moet worden bijgewerkt op te geven.



PUT /api/v1/domain-configs/:domain 
Dit API-eindpunt biedt de mogelijkheid om een domeinconfiguratie te vervangen.



DELETE /api/v1/domain-configs/:domain 
Deze route biedt het verwijderen van een enkele DomainConfig op basis van id.
- Opmerking: Het verwijderen van een
DomainConfigzal dat domein niet langer machtigen om FastComments te gebruiken. - Opmerking: Het opnieuw toevoegen van een domein via de UI zal het object opnieuw aanmaken (met alleen
domainingevuld).



Structuur vraagconfiguratie 
FastComments biedt een manier om vragen te maken en de resultaten ervan te aggregeren. Een voorbeeld van een vraag (hierna aangeduid als QuestionConfig) kan een sterrenbeoordeling, een schuifregelaar of een NPS-vraag zijn (bepaald via type).
Vraaggegevens kunnen individueel, gezamenlijk, over de tijd, in totaal, per pagina, enzovoort worden geaggregeerd.
Het framework bevat alle mogelijkheden die nodig zijn om client-side widgets (met uw server voor deze API), beheerdersdashboards en rapportagetools te bouwen.
Eerst moeten we een QuestionConfig definiëren. De structuur is als volgt:

GET /api/v1/question-configs 
Deze route retourneert tot 100 QuestionConfig-objecten tegelijk, gepagineerd. De kosten zijn 1 per 100 objecten. Ze worden
gesorteerd op oplopende vraagtekst (veld question).



GET /api/v1/question-configs/:id 
Deze route retourneert een enkele QuestionConfig op basis van zijn id.



POST /api/v1/question-configs 
Dit API-endpoint biedt de mogelijkheid om een QuestionConfig aan te maken.



PATCH /api/v1/question-configs/:id 
Deze route biedt de mogelijkheid om één QuestionConfig bij te werken.
De volgende structuur geeft alle waarden weer die gewijzigd kunnen worden:




DELETE /api/v1/question-configs/:id 
Deze route verwijdert een QuestionConfig op basis van id.
Dit verwijdert alle bijbehorende vraagresultaten (maar niet de reacties). Dit maakt deel uit van de hoge creditkosten.



Structuur vraagresultaat 
Om resultaten voor vragen op te slaan, maakt u een QuestionResult. U kunt vervolgens vraagresultaten aggregeren, en ook
ze aan opmerkingen koppelen voor rapportagedoeleinden.

GET /api/v1/question-results 
Deze route retourneert maximaal 1000 QuestionResults objecten tegelijk, gepagineerd. De kosten zijn 1 per 100 objecten. Ze worden
gesorteerd op createdAt, oplopend. Je kunt filteren op verschillende parameters.



GET /api/v1/question-results/:id 
Deze route retourneert een enkele QuestionResult met zijn id.



POST /api/v1/question-results 
Dit API-eindpunt biedt de mogelijkheid om een QuestionResult aan te maken.



PATCH /api/v1/question-results/:id 
Deze route biedt de mogelijkheid om één QuestionResult bij te werken.
De volgende structuur geeft alle waarden weer die gewijzigd kunnen worden:




DELETE /api/v1/question-results/:id 
Deze route zorgt voor het verwijderen van een QuestionResult op basis van id.



GET /api/v1/question-results-aggregate 
Hier vindt de aggregatie van resultaten plaats.
De structuur van het aggregatieantwoord is als volgt:

Hier zijn de queryparameters die beschikbaar zijn voor aggregatie:

Hier is een voorbeeldverzoek:

Voorbeeldantwoord:


Prestatieopmerkingen
- Bij een cache-miss duren aggregaties doorgaans vijf seconden per miljoen resultaten.
- In andere gevallen zijn verzoeken constant qua tijd.
Cache- en kostenopmerkingen
- Wanneer
forceRecalculateis opgegeven, zijn de kosten altijd10, in plaats van de normale2. - Als de cache verloopt en de gegevens opnieuw worden berekend, blijven de kosten een constante
2alsforceRecalculateniet is opgegeven. De cache verloopt afhankelijk van de grootte van de geaggregeerde dataset (kan variëren tussen 30 seconden en 5 minuten). - Dit is om het gebruik van de cache te stimuleren.
GET /api/v1/question-results-aggregate/combine/comments 
Dit is waar de combinatie van resultaten met reacties plaatsvindt. Handig voor het maken van een grafiek met "recente positieve en negatieve reacties" voor een product, bijvoorbeeld.
Je kunt zoeken via een bereik van waarden (inclusief), één of meer vragen, en op een begindatum (inclusief).
De response-structuur is als volgt:

Hier zijn de queryparameters die beschikbaar zijn voor aggregatie:

Hier is een voorbeeldverzoek:

Voorbeeldresponse:


Caching- en kostenopmerkingen
- Wanneer
forceRecalculateis opgegeven, zijn de kosten altijd10, in plaats van de normale2. - Als de cache verloopt en de gegevens opnieuw worden berekend, blijven de kosten constant
2wanneerforceRecalculateniet is opgegeven. - Dit is bedoeld om het gebruik van de cache te stimuleren.
Structuur gebruikersbadge 
UserBadge is een object dat een badge voorstelt die aan een gebruiker is toegewezen in het FastComments-systeem.
Badges kunnen automatisch aan gebruikers worden toegekend op basis van hun activiteit (zoals aantal reacties, reactietijd, veteranenstatus) of handmatig door sitebeheerders.
De structuur van het UserBadge-object is als volgt:

GET /api/v1/user-badges 
Deze endpoint stelt je in staat gebruikersbadges op te halen op basis van verschillende criteria.
Voorbeeldverzoek:
Run 
Je kunt verschillende queryparameters toevoegen om de resultaten te filteren:
userId- Haal badges op voor een specifieke gebruikerbadgeId- Haal instanties van een specifieke badge optype- Filter op badgetype (0=CommentCount, 1=CommentUpVotes, 2=CommentReplies, etc. Zie de UserBadge-structuur voor de volledige lijst)displayedOnComments- Filter op of de badge wordt getoond bij reacties (true/false)limit- Maximaal aantal badges om terug te geven (standaard 30, max 200)skip- Aantal badges om over te slaan (voor paginering)
Voorbeeldantwoord:

Mogelijke foutreacties:


GET /api/v1/user-badges/:id 
Dit eindpunt stelt u in staat een specifieke gebruikersbadge op te halen op basis van het unieke ID.
Voorbeeldverzoek:
Run 
Voorbeeldrespons:

Mogelijke foutmeldingen:


POST /api/v1/user-badges 
Deze endpoint stelt u in staat een nieuwe toewijzing van een gebruikersbadge aan te maken.
Voorbeeldverzoek:
Run 
De request-body moet de volgende parameters bevatten:
userId(verplicht) - De ID van de gebruiker aan wie de badge moet worden toegewezenbadgeId(verplicht) - De ID van de te toewijzen badgedisplayedOnComments(optioneel) - Of de badge moet worden weergegeven bij de opmerkingen van de gebruiker (standaard: true)
Belangrijke opmerkingen:
- De badge moet bestaan en ingeschakeld zijn in de badgecatalogus van uw tenant
- U kunt alleen badges toewijzen aan gebruikers die tot uw tenant behoren of op uw site hebben gereageerd
Voorbeeldrespons:

Mogelijke foutmeldingen:





PUT /api/v1/user-badges/:id 
Deze endpoint stelt u in staat om een toewijzing van een gebruikersbadge bij te werken.
Momenteel is de enige eigenschap die kan worden bijgewerkt displayedOnComments, die bepaalt of de badge wordt weergegeven bij de reacties van de gebruiker.
Voorbeeldverzoek:
Run 
Voorbeeldantwoord:

Mogelijke foutreacties:



DELETE /api/v1/user-badges/:id 
Deze endpoint stelt je in staat een toewijzing van een gebruikersbadge te verwijderen.
Voorbeeldverzoek:
Run 
Voorbeeldantwoord:

Mogelijke foutantwoorden:



Structuur voortgang gebruikersbadge 
UserBadgeProgress is een object dat de voortgang van een gebruiker bijhoudt naar het verdienen van verschillende badges in het FastComments-systeem.
Deze bijhouding helpt bepalen wanneer gebruikers automatisch badges moeten ontvangen op basis van hun activiteit en deelname in uw community.
De structuur van het UserBadgeProgress-object is als volgt:

GET /api/v1/user-badge-progress 
Met deze endpoint kunt u voortgangsgegevens van gebruikersbadges ophalen op basis van verschillende criteria.
Voorbeeldverzoek:
Run 
U kunt verschillende queryparameters toevoegen om de resultaten te filteren:
userId- Haal voortgang op voor een specifieke gebruikerlimit- Maximum aantal records om te retourneren (standaard 30, max 200)skip- Aantal records om over te slaan (voor paginering)
Voorbeeldantwoord:

Mogelijke foutreacties:


GET /api/v1/user-badge-progress/:id 
Dit eindpunt stelt u in staat om een specifiek voortgangsrecord van een gebruikersbadge op te halen met behulp van het unieke ID.
Voorbeeldaanvraag:
Run 
Voorbeeldrespons:

Mogelijke foutreacties:


GET /api/v1/user-badge-progress/user/:userId 
Dit eindpunt stelt je in staat het badge-voortgangsrecord van een gebruiker op te halen op basis van hun user ID.
Voorbeeldverzoek:
Run 
Voorbeeldrespons:

Mogelijke foutreacties:



Tot slot
We hopen dat je onze API-documentatie grondig en gemakkelijk te begrijpen hebt gevonden. Als je hiaten vindt, laat het ons hieronder weten.