FastComments.com

FastComments C++ SDK


Dit is de officiële C++ SDK voor FastComments.

Officiële C++ SDK voor de FastComments API

Repository

Bekijk op GitHub


Vereisten Internal Link

  • C++17 of nieuwer
  • CMake 3.14 of nieuwer
  • OpenSSL
  • C++ REST SDK (cpprestsdk)
  • Boost
  • Google Test (wordt automatisch gedownload voor tests)

Installatie Internal Link

Installeer afhankelijkheden

sudo apt install libcpprest-dev libboost-all-dev

Bouwen vanuit bron

mkdir build
cd build
cmake ..
make

Installeren

sudo make install

Bibliotheekinhoud

Deze bibliotheek bevat de gegenereerde API-client en de SSO-hulpmiddelen om het werken met de API gemakkelijker te maken.

Publieke versus beveiligde API's

Voor de API-client zijn er drie klassen, DefaultApi, PublicApi en ModerationApi. De DefaultApi bevat methoden die uw API-sleutel vereisen, en PublicApi bevat
methoden die rechtstreeks vanaf een browser/mobiel apparaat/etc. kunnen worden aangeroepen zonder authenticatie. De ModerationApi biedt een uitgebreide reeks van live en snelle moderatie-API's. Elke ModerationApi-methode accepteert een sso-parameter en kan authenticeren via SSO of een FastComments.com sessiecookie.

Notities Internal Link

Broadcast-id's

Je zult zien dat je in sommige API-aanroepen een broadcastId moet meegeven. Wanneer je gebeurtenissen ontvangt, krijg je dit ID terug, zodat je het evenement kunt negeren als je van plan bent wijzigingen optimistisch aan de client toe te passen (wat je waarschijnlijk wilt doen omdat het de beste ervaring biedt). Geef hier een UUID door. Het ID moet uniek genoeg zijn om niet twee keer in een browsersessie voor te komen.

SSO (Single Sign-On)

Zie hieronder voor SSO-voorbeelden.

SSO-gebruik Internal Link


Eenvoudige SSO

#include <fastcomments/sso/fastcomments_sso.hpp>
#include <iostream>

using namespace fastcomments::sso;

int main() {
    SimpleSSOUserData user("user-123", "user@example.com", "https://example.com/avatar.jpg");
    FastCommentsSSO sso = FastCommentsSSO::newSimple(user);
    std::string token = sso.createToken();

    std::cout << "SSO Token: " << token << std::endl;
    return 0;
}

Beveiligde SSO

#include <fastcomments/sso/fastcomments_sso.hpp>
#include <iostream>

using namespace fastcomments::sso;

int main() {
    SecureSSOUserData user("user-123", "user@example.com", "johndoe", "https://example.com/avatar.jpg");

    std::string apiKey = "your-api-key";
    FastCommentsSSO sso = FastCommentsSSO::newSecure(apiKey, user);
    std::string token = sso.createToken();

    std::cout << "Secure SSO Token: " << token << std::endl;
    return 0;
}

aggregate Internal Link

Aggregates documents by grouping them (if groupBy is provided) and applying multiple operations. Different operations (e.g. sum, countDistinct, avg, etc.) are supported.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
aggregationRequestAggregationRequestYes
optionsconst AggregateOptions&Yes

Response

Returns: AggregateResponse

Voorbeeld

aggregatie Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3
4AggregationRequest aggregationRequest;
5aggregationRequest.setMetric(U("commentCount"));
6aggregationRequest.setStartDate(U("2023-01-01T00:00:00Z"));
7aggregationRequest.setEndDate(U("2023-12-31T23:59:59Z"));
8aggregationRequest.setFilters({ U("status:approved") });
9
10AggregateOptions options;
11options.limit = boost::optional<int>(100);
12options.includeMetadata = boost::optional<bool>(true);
13
14api->aggregate(tenantId, aggregationRequest, options)
15 .then([](pplx::task<std::shared_ptr<AggregateResponse>> task) {
16 try {
17 auto response = task.get();
18 // verwerk respons
19 } catch (const std::exception& e) {
20 // afhandelen fout
21 }
22 });
23

getAuditLogs Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetAuditLogsOptions&Ja

Respons

Retourneert: GetAuditLogsResponse

Voorbeeld

getAuditLogs Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3
4GetAuditLogsOptions options;
5options.startDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-01T00:00:00Z"), utility::datetime::RFC_1123));
6options.endDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-31T23:59:59Z"), utility::datetime::RFC_1123));
7options.limit = boost::optional<int>(100);
8
9api->getAuditLogs(tenantId, options).then([](pplx::task<std::shared_ptr<GetAuditLogsResponse>> t) {
10 try {
11 auto response = t.get();
12 // gebruik response
13 } catch (const std::exception& e) {
14 // verwerk fout
15 }
16});
17

logoutPublic Internal Link


Respons

Retourneert: APIEmptyResponse

Voorbeeld

logoutPublic Voorbeeld
Copy Copy
1
2api->logoutPublic()
3 .then([](std::shared_ptr<APIEmptyResponse> /*resp*/) {
4 std::cout << "Logout successful\n";
5 })
6 .then([](pplx::task<void> t) {
7 try {
8 t.get();
9 } catch (const std::exception& e) {
10 std::cerr << "Logout failed: " << e.what() << std::endl;
11 }
12 });
13

blockFromCommentPublic Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
publicBlockFromCommentParamsPublicBlockFromCommentParamsJa
ssostringNee

Respons

Retourneert: BlockSuccess

Voorbeeld

blockFromCommentPublic Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-987654");
4PublicBlockFromCommentParams blockParams;
5blockParams.reason = utility::conversions::to_string_t("spam");
6blockParams.durationHours = 24;
7boost::optional<utility::string_t> sso = utility::conversions::to_string_t("sso-token-abc123");
8api->blockFromCommentPublic(tenantId, commentId, blockParams, sno)
9 .then([](std::shared_ptr<BlockSuccess> result){
10 auto successCopy = std::make_shared<BlockSuccess>(*result);
11 });
12

unBlockCommentPublic Internal Link


Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
publicBlockFromCommentParamsPublicBlockFromCommentParamsJa
ssostringNee

Respons

Retourneert: UnblockSuccess

Voorbeeld

unBlockCommentPublic Voorbeeld
Copy Copy
1
2auto blockParams = PublicBlockFromCommentParams();
3blockParams.reason = U("spam");
4api->unBlockCommentPublic(
5 U("my-tenant-123"),
6 U("comment-789"),
7 blockParams,
8 boost::optional<utility::string_t>(U("sso-token-abc"))
9).then([](std::shared_ptr<UnblockSuccess> result){ });
10

checkedCommentsForBlocked Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
commentIdsstringYes
ssostringNo

Respons

Retourneert: CheckBlockedCommentsResponse

Voorbeeld

checkedCommentsForBlocked voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto commentIds = U("cmt-001,cmt-002");
4boost::optional<utility::string_t> sso = U("user@example.com");
5
6api->checkedCommentsForBlocked(tenantId, commentIds, sso).then([](std::shared_ptr<CheckBlockedCommentsResponse> resp){
7 (void)resp;
8});
9

blockUserFromComment Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
blockFromCommentParamsBlockFromCommentParamsYes
optionsconst BlockUserFromCommentOptions&Yes

Respons

Retourneert: BlockSuccess

Voorbeeld

blockUserFromComment Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-789");
4BlockFromCommentParams params;
5params.reason = utility::conversions::to_string_t("Inappropriate content");
6params.durationDays = boost::optional<int>(30);
7BlockUserFromCommentOptions options;
8options.notifyUser = boost::optional<bool>(true);
9
10api->blockUserFromComment(tenantId, commentId, params, options)
11 .then([](std::shared_ptr<BlockSuccess> result){ })
12 .then([](pplx::task<void> t){ try { t.get(); } catch (const std::exception&) { } });
13

createCommentPublic Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
broadcastIdstringYes
commentDataCommentDataYes
optionsconst CreateCommentPublicOptions&Yes

Response

Retourneert: SaveCommentsResponseWithPresence

Example

createCommentPublic Voorbeeld
Copy Copy
1
2auto comment = CommentData();
3comment.body = U("This is a test comment");
4comment.authorName = U("John Doe");
5comment.authorEmail = U("john.doe@example.com");
6
7CreateCommentPublicOptions opts;
8opts.replyToCommentId = boost::optional<utility::string_t>(U("parent-123"));
9
10api->createCommentPublic(
11 U("my-tenant-123"),
12 U("article-456"),
13 U("broadcast-789"),
14 comment,
15 opts).then([](std::shared_ptr<SaveCommentsResponseWithPresence> res){
16 auto commentId = res->commentId;
17 });
18

deleteComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
optionsconst DeleteCommentOptions&Ja

Respons

Retourneert: DeleteCommentResult

Voorbeeld

deleteComment Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-789");
4DeleteCommentOptions options;
5options.reason = boost::optional<utility::string_t>(utility::conversions::to_string_t("Inappropriate content"));
6options.force = boost::optional<bool>(true);
7api->deleteComment(tenantId, commentId, options).then([](pplx::task<std::shared_ptr<DeleteCommentResult>> task){
8 try{
9 auto result = task.get();
10 }catch(const std::exception&){
11 }
12});
13

deleteCommentPublic Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
optionsconst DeleteCommentPublicOptions&Yes

Respons

Retourneert: PublicAPIDeleteCommentResponse

Voorbeeld

deleteCommentPublic Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto commentId = utility::string_t(U("comment-456"));
4auto broadcastId = utility::string_t(U("broadcast-789"));
5DeleteCommentPublicOptions options;
6options.force = boost::optional<bool>(true);
7options.reason = boost::optional<utility::string_t>(U("Inappropriate content"));
8api->deleteCommentPublic(tenantId, commentId, broadcastId, options)
9 .then([](pplx::task<std::shared_ptr<PublicAPIDeleteCommentResponse>> t){
10 try{
11 auto resp = t.get();
12 }catch(const std::exception& e){
13 }
14 });
15

deleteCommentVote Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
voteIdstringJa
urlIdstringJa
broadcastIdstringJa
optionsconst DeleteCommentVoteOptions&Ja

Response

Retourneert: VoteDeleteResponse

Voorbeeld

deleteCommentVote Voorbeeld
Copy Copy
1
2auto options = DeleteCommentVoteOptions{};
3options.reason = boost::optional<utility::string_t>(U("spam"));
4options.adminOverride = boost::optional<bool>(true);
5
6api->deleteCommentVote(
7 U("my-tenant-123"),
8 U("cmt-456789"),
9 U("vote-987"),
10 U("url-abc123"),
11 U("broadcast-001"),
12 options
13).then([](std::shared_ptr<VoteDeleteResponse> resp){
14 if (resp) {
15 std::cout << "Deleted vote, code: " << resp->code << std::endl;
16 }
17});
18

flagComment Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
idstringYes
optionsconst FlagCommentOptions&Yes

Respons

Returns: FlagCommentResponse

Voorbeeld

flagComment Voorbeeld
Copy Copy
1
2auto opts = std::make_shared<FlagCommentOptions>();
3opts->reason = utility::conversions::to_string_t("spam");
4opts->note = boost::optional<utility::string_t>(utility::conversions::to_string_t("User posted duplicate links"));
5
6api->flagComment(utility::conversions::to_string_t("my-tenant-123"),
7 utility::conversions::to_string_t("comment-456"),
8 *opts)
9 .then([](pplx::task<std::shared_ptr<FlagCommentResponse>> t) {
10 auto resp = t.get();
11 });
12

getComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: APIGetCommentResponse

Voorbeeld

getComment Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-456");
4boost::optional<int> maxDepth = boost::none;
5api->getComment(tenantId, commentId).then([](pplx::task<std::shared_ptr<APIGetCommentResponse>> t){
6 try{
7 auto resp = t.get();
8 }catch(const std::exception&){
9 }
10});
11

getComments Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst GetCommentsOptions&Ja

Respons

Retourneert: APIGetCommentsResponse

Voorbeeld

getComments voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetCommentsOptions options;
4options.page = 1;
5options.limit = 50;
6options.sort = U("newest");
7options.authorEmail = boost::optional<utility::string_t>(U("user@example.com"));
8api->getComments(tenantId, options).then([](pplx::task<std::shared_ptr<APIGetCommentsResponse>> task) {
9 try {
10 auto response = task.get();
11 // gebruik de response indien nodig
12 } catch (const std::exception& e) {
13 // verwerk de fout
14 }
15});
16

getCommentsPublic Internal Link


req tenantId urlId

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
optionsconst GetCommentsPublicOptions&Ja

Respons

Retourneert: GetCommentsResponseWithPresence_PublicComment_

Voorbeeld

getCommentsPublic Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto urlId = U("article-456");
4GetCommentsPublicOptions opts;
5opts.pageSize = 20;
6opts.includeDeleted = false;
7api->getCommentsPublic(tenantId, urlId, opts).then([](std::shared_ptr<GetCommentsResponseWithPresence_PublicComment_> resp) {
8 (void)resp;
9});
10

getCommentText Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
optionsconst GetCommentTextOptions&Ja

Response

Retourneert: PublicAPIGetCommentTextResponse

Example

getCommentText Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4auto options = std::make_shared<GetCommentTextOptions>();
5options->language = boost::optional<utility::string_t>(U("en"));
6options->includeDeleted = boost::optional<bool>(false);
7api->getCommentText(tenantId, commentId, *options).then([](pplx::task<std::shared_ptr<PublicAPIGetCommentTextResponse>> task){
8 try{
9 auto response = task.get();
10 (void)response;
11 }catch(...){}
12});
13

getCommentVoteUserNames Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
dirint32_tJa
ssostringNee

Respons

Retourneert: GetCommentVoteUserNamesSuccessResponse

Voorbeeld

getCommentVoteUserNames Voorbeeld
Copy Copy
1
2auto task = api->getCommentVoteUserNames(
3 utility::conversions::to_string_t("my-tenant-123"),
4 utility::conversions::to_string_t("comment-456"),
5 static_cast<int32_t>(1),
6 boost::optional<utility::string_t>(utility::conversions::to_string_t("sso-token"))
7).then([](pplx::task<std::shared_ptr<GetCommentVoteUserNamesSuccessResponse>> t){
8 try{
9 auto response = t.get();
10 }catch(const std::exception&){ }
11});
12

lockComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNee

Respons

Retourneert: APIEmptyResponse

Voorbeeld

lockComment Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-987");
4auto broadcastId = utility::conversions::to_string_t("broadcast-654");
5boost::optional<utility::string_t> sso = utility::conversions::to_string_t("sso-token-xyz");
6
7api->lockComment(tenantId, commentId, broadcastId, sso).then([](pplx::task<std::shared_ptr<APIEmptyResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){
11 }
12});
13

pinComment Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNee

Response

Retourneert: ChangeCommentPinStatusResponse

Voorbeeld

pinComment Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("comment-456");
4utility::string_t broadcastId = U("broadcast-789");
5boost::optional<utility::string_t> sso = U("sso-token-abc");
6
7api->pinComment(tenantId, commentId, broadcastId, sso)
8 .then([](pplx::task<std::shared_ptr<ChangeCommentPinStatusResponse>> task) {
9 try {
10 auto response = task.get();
11 } catch (const std::exception&) {
12 }
13 });
14

saveComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createCommentParamsCreateCommentParamsJa
optionsconst SaveCommentOptions&Ja

Response

Retourneert: APISaveCommentResponse

Voorbeeld

saveComment Voorbeeld
Copy Copy
1
2CreateCommentParams commentParams;
3commentParams.body = utility::string_t(U("Great article!"));
4commentParams.author = utility::string_t(U("jane.doe@example.com"));
5commentParams.parentId = boost::optional<utility::string_t>(utility::string_t(U("parent-789")));
6
7SaveCommentOptions options;
8options.preview = boost::optional<bool>(false);
9
10api->saveComment(utility::string_t(U("my-tenant-123")), commentParams, options)
11 .then([](std::shared_ptr<APISaveCommentResponse> response) {
12 auto commentId = response->commentId;
13 });
14

setCommentText Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
commentTextUpdateRequestCommentTextUpdateRequestYes
optionsconst SetCommentTextOptions&Yes

Respons

Retourneert: PublicAPISetCommentTextResponse

Voorbeeld

setCommentText Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto commentId = U("cmt-456");
4auto broadcastId = U("brd-789");
5
6CommentTextUpdateRequest updateReq;
7updateReq.text = U("Updated comment content");
8updateReq.isEdited = boost::make_optional(true);
9
10SetCommentTextOptions opts;
11opts.notifySubscribers = boost::make_optional(true);
12
13api->setCommentText(tenantId, commentId, broadcastId, updateReq, opts)
14 .then([](std::shared_ptr<PublicAPISetCommentTextResponse> resp) {
15 });
16

unBlockUserFromComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
unBlockFromCommentParamsUnBlockFromCommentParamsJa
optionsconst UnBlockUserFromCommentOptions&Ja

Response

Retourneert: UnblockSuccess

Voorbeeld

unBlockUserFromComment Voorbeeld
Copy Copy
1
2auto params = std::make_shared<UnBlockFromCommentParams>();
3params->commentId = U("cmt-12345");
4params->reason = U("resolved");
5UnBlockUserFromCommentOptions opts;
6opts.notifyUser = boost::optional<bool>(true);
7api->unBlockUserFromComment(U("my-tenant-123"), U("user-456"), *params, opts)
8 .then([](pplx::task<std::shared_ptr<UnblockSuccess>> t){
9 try{
10 auto result = t.get();
11 }catch(...){}
12 });
13

unFlagComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
optionsconst UnFlagCommentOptions&Ja

Respons

Retourneert: FlagCommentResponse

Voorbeeld

unFlagComment voorbeeld
Copy Copy
1
2auto options = UnFlagCommentOptions{};
3options.reason = boost::optional<utility::string_t>(U("Resolved by moderator"));
4api->unFlagComment(U("my-tenant-123"), U("comment-456"), options)
5 .then([](std::shared_ptr<FlagCommentResponse> response) {
6 if (response) {
7 auto status = response->status;
8 // verwerk status indien nodig
9 }
10 })
11 .then([](pplx::task<void> previous) {
12 try {
13 previous.get();
14 } catch (const std::exception& e) {
15 // verwerk fout
16 }
17 });
18

unLockComment Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Respons

Retourneert: APIEmptyResponse

Voorbeeld

unLockComment Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456789");
4auto broadcastId = utility::conversions::to_string_t("broadcast-001");
5boost::optional<utility::string_t> sso = utility::conversions::to_string_t("john.doe@example.com");
6
7api->unLockComment(tenantId, commentId, broadcastId, sso).then([](pplx::task<std::shared_ptr<APIEmptyResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12});
13

unPinComment Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNee

Respons

Retourneert: ChangeCommentPinStatusResponse

Voorbeeld

unPinComment Voorbeeld
Copy Copy
1
2auto task = api->unPinComment(
3 utility::conversions::to_string_t("my-tenant-123"),
4 utility::conversions::to_string_t("cmt-456789"),
5 utility::conversions::to_string_t("broadcast-001"),
6 boost::optional<utility::string_t>(utility::conversions::to_string_t("user@example.com"))
7);
8task.then([](std::shared_ptr<ChangeCommentPinStatusResponse> resp){
9 auto result = std::make_shared<ChangeCommentPinStatusResponse>(*resp);
10});
11

updateComment Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updatableCommentParamsUpdatableCommentParamsJa
optionsconst UpdateCommentOptions&Ja

Respons

Retourneert: APIEmptyResponse

Voorbeeld

updateComment Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t("my-tenant-123");
3auto commentId = utility::string_t("cmt-789");
4UpdatableCommentParams updatable;
5updatable.body = utility::string_t("Edited comment content");
6updatable.isSpam = boost::optional<bool>(false);
7UpdateCommentOptions options;
8options.notify = boost::optional<bool>(true);
9api->updateComment(tenantId, commentId, updatable, options)
10 .then([](std::shared_ptr<APIEmptyResponse>) {})
11 .then([](pplx::task<void> t) { try { t.get(); } catch(const std::exception&) {} });
12

voteComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
urlIdstringJa
broadcastIdstringJa
voteBodyParamsVoteBodyParamsJa
optionsconst VoteCommentOptions&Ja

Response

Retourneert: VoteResponse

Voorbeeld

voteComment Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-7890");
4auto urlId = utility::conversions::to_string_t("article-456");
5auto broadcastId = utility::conversions::to_string_t("broadcast-321");
6
7VoteBodyParams voteParams;
8voteParams.upvote = true;
9voteParams.note = boost::optional<utility::string_t>(utility::conversions::to_string_t("Great insight"));
10
11VoteCommentOptions options;
12options.dryRun = boost::optional<bool>(false);
13
14api->voteComment(tenantId, commentId, urlId, broadcastId, voteParams, options)
15 .then([](pplx::task<std::shared_ptr<VoteResponse>> t) {
16 try {
17 auto response = t.get();
18 // verwerk respons
19 } catch (const std::exception&) {
20 }
21 });
22

getCommentsForUser Internal Link

Parameters

NameTypeRequiredDescription
optionsconst GetCommentsForUserOptions&Yes

Respons

Retourneert: GetCommentsForUserResponse

Voorbeeld

getCommentsForUser Voorbeeld
Copy Copy
1
2auto options = GetCommentsForUserOptions{
3 utility::conversions::to_string_t("my-tenant-123"),
4 utility::conversions::to_string_t("user@example.com"),
5 boost::optional<int>(50),
6 boost::optional<utility::string_t>(utility::conversions::to_string_t("next-page-token"))
7};
8
9api->getCommentsForUser(options).then([](pplx::task<std::shared_ptr<GetCommentsForUserResponse>> task){
10 try{
11 auto response = task.get();
12 }catch(const std::exception&){}
13});
14

addDomainConfig Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
addDomainConfigParamsAddDomainConfigParamsJa

Respons

Retourneert: AddDomainConfigResponse

Voorbeeld

addDomainConfig Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3AddDomainConfigParams params;
4params.domain = U("example.com");
5params.adminEmail = U("admin@example.com");
6params.notes = boost::optional<utility::string_t>(U("Primary domain"));
7api->addDomainConfig(tenantId, params).then([](pplx::task<std::shared_ptr<AddDomainConfigResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){
11 }
12});
13

deleteDomainConfig Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
domainstringYes

Respons

Retourneert: DeleteDomainConfigResponse

Voorbeeld

deleteDomainConfig Voorbeeld
Copy Copy
1
2boost::optional<utility::string_t> optTenant = U("my-tenant-123");
3boost::optional<utility::string_t> optDomain = U("example.com");
4
5api->deleteDomainConfig(optTenant.value(), optDomain.value())
6 .then([](pplx::task<std::shared_ptr<DeleteDomainConfigResponse>> task) {
7 try {
8 auto response = task.get();
9 } catch (const std::exception&) {
10 }
11 });
12

getDomainConfig Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
domainstringJa

Respons

Retourneert: GetDomainConfigResponse

Voorbeeld

getDomainConfig Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t domain = U("myblog.example.com");
4
5api->getDomainConfig(tenantId, domain)
6 .then([](std::shared_ptr<GetDomainConfigResponse> response) {
7 if (!response) return;
8 boost::optional<bool> moderationEnabled = response->moderationEnabled;
9 boost::optional<std::string> theme = response->theme;
10 if (moderationEnabled && *moderationEnabled) {
11 // verwerk ingeschakelde moderatie
12 }
13 if (theme) {
14 // gebruik themawaarde
15 }
16 })
17 .wait();
18

getDomainConfigs Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa

Respons

Retourneert: GetDomainConfigsResponse

Voorbeeld

getDomainConfigs Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> optionalTenant = tenantId;
4api->getDomainConfigs(optionalTenant.value())
5 .then([](std::shared_ptr<GetDomainConfigsResponse> response) {
6 auto domains = response->getDomainList();
7 for (const auto& d : domains) {
8 std::cout << d << std::endl;
9 }
10 });
11

patchDomainConfig Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
domainToUpdatestringYes
patchDomainConfigParamsPatchDomainConfigParamsYes

Respons

Retourneert: PatchDomainConfigResponse

Voorbeeld

patchDomainConfig Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto domainToUpdate = utility::conversions::to_string_t("example.com");
4PatchDomainConfigParams patchDomainConfigParams;
5patchDomainConfigParams.enableComments = boost::optional<bool>(true);
6patchDomainConfigParams.moderationLevel = boost::optional<int>(2);
7patchDomainConfigParams.customHeader = boost::optional<utility::string_t>(utility::conversions::to_string_t("X-Custom-Header"));
8
9api->patchDomainConfig(tenantId, domainToUpdate, patchDomainConfigParams)
10 .then([](std::shared_ptr<PatchDomainConfigResponse> resp) {
11 // succesafhandeling
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception& e) { /* foutafhandeling */ }
15 });
16

putDomainConfig Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
domainToUpdatestringYes
updateDomainConfigParamsUpdateDomainConfigParamsYes

Respons

Retourneert: PutDomainConfigResponse

Voorbeeld

putDomainConfig Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t domainToUpdate = U("example.com");
4UpdateDomainConfigParams updateParams;
5updateParams.enableComments = true;
6updateParams.moderationLevel = boost::optional<int>(2);
7updateParams.customCss = boost::optional<utility::string_t>(U(".fc-comment{color:red;}"));
8api->putDomainConfig(tenantId, domainToUpdate, updateParams)
9 .then([](std::shared_ptr<PutDomainConfigResponse> resp) {
10 });
11

createEmailTemplate Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createEmailTemplateBodyCreateEmailTemplateBodyJa

Respons

Retourneert: CreateEmailTemplateResponse

Voorbeeld

createEmailTemplate Voorbeeld
Copy Copy
1
2auto body = std::make_shared<CreateEmailTemplateBody>();
3body->subject = utility::string_t("Welcome Email");
4body->htmlContent = utility::string_t("<h1>Welcome!</h1><p>Thanks for joining.</p>");
5body->fromEmail = utility::string_t("no-reply@myapp.com");
6body->replyTo = boost::optional<utility::string_t>(utility::string_t("support@myapp.com"));
7body->cc = boost::none;
8api->createEmailTemplate(utility::string_t("my-tenant-123"), *body)
9 .then([](std::shared_ptr<CreateEmailTemplateResponse> resp) {
10 std::cout << "Created template ID: " << resp->id << std::endl;
11 });
12

deleteEmailTemplate Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa

Response

Retourneert: APIEmptyResponse

Voorbeeld

deleteEmailTemplate Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto templateId = utility::conversions::to_string_t("welcome-email-template");
4boost::optional<utility::string_t> optTenantId = tenantId;
5boost::optional<utility::string_t> optTemplateId = templateId;
6api->deleteEmailTemplate(optTenantId.value(), optTemplateId.value())
7 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> t) {
8 try { t.get(); }
9 catch (const std::exception&) {}
10 });
11

deleteEmailTemplateRenderError Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
errorIdstringJa

Response

Retourneert: APIEmptyResponse

Example

deleteEmailTemplateRenderError Voorbeeld
Copy Copy
1
2boost::optional<utility::string_t> optTemplateId = utility::conversions::to_string_t("template-456");
3api->deleteEmailTemplateRenderError(
4 utility::conversions::to_string_t("my-tenant-123"),
5 *optTemplateId,
6 utility::conversions::to_string_t("error-789"))
7 .then([](std::shared_ptr<APIEmptyResponse>) {})
8 .then([](pplx::task<void> t) {
9 try { t.get(); } catch (...) {}
10 });
11

getEmailTemplate Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Response

Retourneert: GetEmailTemplateResponse

Example

Voorbeeld getEmailTemplate
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto templateId = utility::conversions::to_string_t("welcome-email");
4boost::optional<utility::string_t> language = utility::conversions::to_string_t("en-US");
5
6api->getEmailTemplate(tenantId, templateId)
7 .then([=](pplx::task<std::shared_ptr<GetEmailTemplateResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12 });
13

getEmailTemplateDefinitions Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa

Respons

Retourneert: GetEmailTemplateDefinitionsResponse

Voorbeeld

getEmailTemplateDefinitions Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3api->getEmailTemplateDefinitions(tenantId).then([](pplx::task<std::shared_ptr<GetEmailTemplateDefinitionsResponse>> t) {
4 try {
5 auto resp = t.get();
6 boost::optional<utility::string_t> tmplName = resp ? resp->templateName : boost::none;
7 if (tmplName) {
8 std::cout << *tmplName << std::endl;
9 }
10 } catch (const std::exception& e) {
11 std::cerr << e.what() << std::endl;
12 }
13});
14

getEmailTemplateRenderErrors Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
skipdoubleNee

Respons

Retourneert: GetEmailTemplateRenderErrorsResponse

Example

getEmailTemplateRenderErrors Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("email-template-789");
4boost::optional<double> skip = 20.0;
5
6api->getEmailTemplateRenderErrors(tenantId, id, skip)
7 .then([](pplx::task<std::shared_ptr<GetEmailTemplateRenderErrorsResponse>> task) {
8 try {
9 auto response = task.get();
10 // Gebruik respons naar behoefte
11 } catch (const std::exception& ex) {
12 // Verwerk fout
13 }
14 });
15

getEmailTemplates Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
skipdoubleNee

Response

Retour: GetEmailTemplatesResponse

Voorbeeld

getEmailTemplates Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<double> skip = 10.0;
4api->getEmailTemplates(tenantId, skip)
5 .then([](std::shared_ptr<GetEmailTemplatesResponse> resp) {
6 (void)resp;
7 });
8

renderEmailTemplate Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
renderEmailTemplateBodyRenderEmailTemplateBodyJa
localestringNee

Response

Retourneert: RenderEmailTemplateResponse

Voorbeeld

renderEmailTemplate Voorbeeld
Copy Copy
1
2auto body = RenderEmailTemplateBody();
3body.templateId = U("welcome-email");
4body.recipientEmail = U("user@example.com");
5boost::optional<utility::string_t> locale = U("en-US");
6
7api->renderEmailTemplate(U("my-tenant-123"), body, locale)
8 .then([](std::shared_ptr<RenderEmailTemplateResponse> resp) {
9 std::cout << "Email template rendered successfully\n";
10 });
11

updateEmailTemplate Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
updateEmailTemplateBodyUpdateEmailTemplateBodyJa

Response

Retourneert: APIEmptyResponse

Voorbeeld

updateEmailTemplate Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t templateId = U("welcome-email");
4UpdateEmailTemplateBody body;
5body.subject = U("Welcome to Our Platform");
6body.content = U("<p>Hello \{{userName}}, welcome aboard!</p>");
7body.isActive = boost::optional<bool>(true);
8api->updateEmailTemplate(tenantId, templateId, body)
9 .then([](std::shared_ptr<APIEmptyResponse> response) {
10 // succesafhandeling
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception &) { /* foutafhandeling */ }
14 });
15

getEventLog Internal Link


req tenantId urlId userIdWS

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
userIdWSstringYes
startTimeint64_tYes
endTimeint64_tNo

Respons

Retourneert: GetEventLogResponse

Voorbeeld

getEventLog Voorbeeld
Copy Copy
1
2auto startTime = int64_t(1622505600);
3boost::optional<int64_t> endTime = int64_t(1622592000);
4api->getEventLog(U("my-tenant-123"), U("article-456"), U("user@example.com"), startTime, endTime)
5 .then([](std::shared_ptr<GetEventLogResponse> response){
6 auto copy = std::make_shared<GetEventLogResponse>(*response);
7 (void)copy;
8 });
9

getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
userIdWSstringYes
startTimeint64_tYes
endTimeint64_tNo

Respons

Retourneert: GetEventLogResponse

Voorbeeld

getGlobalEventLog Voorbeeld
Copy Copy
1
2api->getGlobalEventLog(
3 U("my-tenant-123"),
4 U("article-456"),
5 U("user@example.com"),
6 1622505600,
7 boost::optional<int64_t>(1625097600)
8).then([](std::shared_ptr<GetEventLogResponse> resp) {
9 (void)resp;
10});
11

createFeedPost Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createFeedPostParamsCreateFeedPostParamsJa
optionsconst CreateFeedPostOptions&Ja

Respons

Retourneert: CreateFeedPostsResponse

Voorbeeld

createFeedPost Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3CreateFeedPostParams postParams;
4postParams.content = utility::conversions::to_string_t("Excited to join FastComments!");
5postParams.authorEmail = utility::conversions::to_string_t("user@example.com");
6postParams.title = utility::conversions::to_string_t("My First Post");
7postParams.tags = boost::optional<std::vector<utility::string_t>>({ utility::conversions::to_string_t("intro") });
8
9CreateFeedPostOptions options;
10options.notifyFollowers = boost::optional<bool>(true);
11options.scheduledAt = boost::optional<utility::datetime>(utility::datetime::utc_now());
12
13api->createFeedPost(tenantId, postParams, options).then([](std::shared_ptr<CreateFeedPostsResponse> resp) {
14 auto postId = resp->postId;
15});
16

createFeedPostPublic Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createFeedPostParamsCreateFeedPostParamsJa
optionsconst CreateFeedPostPublicOptions&Ja

Respons

Retourneert: CreateFeedPostResponse

Voorbeeld

createFeedPostPublic Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3
4CreateFeedPostParams params;
5params.title = U("Introducing Our New Feature");
6params.content = U("We are excited to announce the release of our latest update.");
7params.authorEmail = boost::optional<utility::string_t>(U("user@example.com"));
8params.tags = boost::optional<std::vector<utility::string_t>>({U("announcement"), U("release")});
9
10CreateFeedPostPublicOptions options;
11
12api->createFeedPostPublic(tenantId, params, options)
13 .then([](std::shared_ptr<CreateFeedPostResponse> resp) {
14 if (resp) {
15 std::wcout << U("Post created with ID: ") << resp->postId << std::endl;
16 }
17 });
18

deleteFeedPostPublic Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
postIdstringJa
optionsconst DeleteFeedPostPublicOptions&Ja

Respons

Retourneert: DeleteFeedPostPublicResponse

Voorbeeld

deleteFeedPostPublic Voorbeeld
Copy Copy
1
2auto opts = std::make_shared<DeleteFeedPostPublicOptions>();
3opts->reason = boost::optional<utility::string_t>(U("Inappropriate content"));
4api->deleteFeedPostPublic(U("my-tenant-123"), U("post-789"), *opts)
5 .then([](std::shared_ptr<DeleteFeedPostPublicResponse> resp) {
6 if (resp && resp->isSuccess()) {
7 // succeslogica
8 }
9 });
10

getFeedPosts Internal Link

req tenantId afterId

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst GetFeedPostsOptions&Ja

Respons

Retourneert: GetFeedPostsResponse

Voorbeeld

getFeedPosts Voorbeeld
Copy Copy
1
2auto opts = std::make_shared<GetFeedPostsOptions>();
3opts->maxResults = boost::optional<int>(50);
4opts->cursor = boost::optional<utility::string_t>(U("next-cursor"));
5api->getFeedPosts(U("my-tenant-123"), *opts).then([](std::shared_ptr<GetFeedPostsResponse> resp) {
6 auto count = resp->posts.size();
7});
8

getFeedPostsPublic Internal Link

req tenantId afterId

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst GetFeedPostsPublicOptions&Ja

Respons

Retourneert: PublicFeedPostsResponse

Voorbeeld

getFeedPostsPublic Voorbeeld
Copy Copy
1
2auto options = GetFeedPostsPublicOptions{};
3options.limit = boost::optional<int>{20};
4options.before = boost::optional<utility::string_t>{U("2023-01-01T00:00:00Z")};
5
6api->getFeedPostsPublic(U("my-tenant-123"), options).then([](pplx::task<std::shared_ptr<PublicFeedPostsResponse>> task){
7 try{
8 auto response = task.get();
9 auto processed = std::make_shared<PublicFeedPostsResponse>(*response);
10 // Gebruik processed indien nodig
11 }catch(const std::exception&){
12 // Fout afhandelen
13 }
14});
15

getFeedPostsStats Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
postIdsvector<stringJa
ssostringNee

Respons

Retourneert: FeedPostsStatsResponse

Voorbeeld

Voorbeeld getFeedPostsStats
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3std::vector<utility::string_t> postIds = {
4 utility::conversions::to_string_t("post-001"),
5 utility::conversions::to_string_t("post-002")
6};
7boost::optional<utility::string_t> sso = utility::conversions::to_string_t("user@example.com");
8
9api->getFeedPostsStats(tenantId, postIds, sso)
10 .then([](std::shared_ptr<FeedPostsStatsResponse> response) {
11 (void)response;
12 });
13

getUserReactsPublic Internal Link


Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetUserReactsPublicOptions&Ja

Reactie

Retourneert: UserReactsResponse

Voorbeeld

getUserReactsPublic Voorbeeld
Copy Copy
1
2auto options = GetUserReactsPublicOptions{};
3options.userId = boost::optional<utility::string_t>(U("user@example.com"));
4options.limit = boost::optional<int>(50);
5api->getUserReactsPublic(U("my-tenant-123"), options).then([](pplx::task<std::shared_ptr<UserReactsResponse>> t){
6 auto response = t.get();
7});
8

reactFeedPostPublic Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
postIdstringJa
reactBodyParamsReactBodyParamsJa
optionsconst ReactFeedPostPublicOptions&Ja

Respons

Retourneert: ReactFeedPostResponse

Voorbeeld

reactFeedPostPublic Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto postId = utility::conversions::to_string_t("post-987");
4ReactBodyParams reactBody;
5reactBody.reaction = utility::conversions::to_string_t("love");
6reactBody.userId = utility::conversions::to_string_t("user@example.com");
7ReactFeedPostPublicOptions options;
8options.metadata = boost::optional<utility::string_t>(utility::conversions::to_string_t("mobile"));
9api->reactFeedPostPublic(tenantId, postId, reactBody, options)
10 .then([](std::shared_ptr<ReactFeedPostResponse> resp) {
11 });
12

updateFeedPost Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
feedPostFeedPostJa

Respons

Retourneert: APIEmptyResponse

Voorbeeld

updateFeedPost Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U"my-tenant-123";
3utility::string_t postId = U"post-456";
4
5FeedPost feedPost;
6feedPost.title = U"Breaking News";
7feedPost.content = U"Details of the update go here.";
8feedPost.imageUrl = boost::optional<utility::string_t>(U"https://example.com/image.jpg");
9
10api->updateFeedPost(tenantId, postId, feedPost)
11 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> task) {
12 try {
13 auto response = task.get();
14 } catch (const std::exception& ex) {
15 }
16 });
17

updateFeedPostPublic Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
postIdstringJa
updateFeedPostParamsUpdateFeedPostParamsJa
optionsconst UpdateFeedPostPublicOptions&Ja

Response

Retourneert: CreateFeedPostResponse

Voorbeeld

updateFeedPostPublic Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t postId = U("post-456");
4UpdateFeedPostParams params;
5params.title = boost::optional<utility::string_t>(U("Updated Title"));
6params.body = boost::optional<utility::string_t>(U("Updated content of the post."));
7UpdateFeedPostPublicOptions options;
8options.notifyFollowers = boost::optional<bool>(true);
9api->updateFeedPostPublic(tenantId, postId, params, options)
10 .then([](std::shared_ptr<CreateFeedPostResponse> resp) {
11 auto result = resp;
12 });
13

flagCommentPublic Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
commentIdstringYes
isFlaggedboolYes
ssostringNo

Respons

Retourneert: APIEmptyResponse

Voorbeeld

flagCommentPublic Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456789");
4bool isFlagged = true;
5boost::optional<utility::string_t> sso = utility::conversions::to_string_t("sso-token-abc");
6
7api->flagCommentPublic(tenantId, commentId, isFlagged, sso)
8 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> t){
9 try{
10 auto resp = t.get();
11 }catch(const std::exception&){
12 }
13 });
14

getGifLarge Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
largeInternalURLSanitizedstringJa

Response

Retourneert: GifGetLargeResponse

Example

getGifLarge Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto largeUrl = utility::conversions::to_string_t("https://cdn.example.com/gifs/large/abc123.gif");
4
5api->getGifLarge(tenantId, largeUrl)
6 .then([&](std::shared_ptr<GifGetLargeResponse> resp) {
7 boost::optional<utility::string_t> maybeUrl;
8 if (resp && resp->url) {
9 maybeUrl = resp->url;
10 }
11 if (maybeUrl) {
12 std::wcout << *maybeUrl << std::endl;
13 }
14 });
15

getGifsSearch Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
searchstringYes
optionsconst GetGifsSearchOptions&Yes

Respons

Retourneert: GetGifsSearchResponse

Voorbeeld

getGifsSearch Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto search = U("funny cats");
4GetGifsSearchOptions options;
5options.limit = boost::optional<int>(10);
6options.rating = boost::optional<utility::string_t>(U("pg"));
7api->getGifsSearch(tenantId, search, options).then([](pplx::task<std::shared_ptr<GetGifsSearchResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){
11 }
12});
13

getGifsTrending Internal Link

Parameters

NaamTypeVereistOmschrijving
tenantIdstringJa
optionsconst GetGifsTrendingOptions&Ja

Respons

Retourneert: GetGifsTrendingResponse

Voorbeeld

getGifsTrending Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetGifsTrendingOptions options;
4options.limit = 10;
5options.rating = boost::optional<utility::string_t>(U("G"));
6api->getGifsTrending(tenantId, options).then([](std::shared_ptr<GetGifsTrendingResponse> response) {
7 for (const auto& gif : response->gifs) {
8 auto url = gif.url;
9 }
10});
11

addHashTag Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createHashTagBodyCreateHashTagBodyJa

Response

Retourneert: CreateHashTagResponse

Example

addHashTag Voorbeeld
Copy Copy
1
2CreateHashTagBody request;
3request.tag = utility::conversions::to_string_t("feature-request");
4request.description = utility::conversions::to_string_t("Requests for new features");
5request.relatedUrl = boost::optional<utility::string_t>(utility::conversions::to_string_t("https://example.com/feature-request"));
6
7api->addHashTag(utility::conversions::to_string_t("my-tenant-123"), request)
8 .then([](std::shared_ptr<CreateHashTagResponse> resp) {
9 (void)resp;
10 });
11

addHashTagsBulk Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
bulkCreateHashTagsBodyBulkCreateHashTagsBodyYes

Response

Retourneert: BulkCreateHashTagsResponse

Voorbeeld

addHashTagsBulk Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3BulkCreateHashTagsBody bulkBody;
4bulkBody.tags = { utility::string_t(U("announcement")), utility::string_t(U("feature-request")) };
5bulkBody.description = boost::optional<utility::string_t>(U("Bulk tag creation"));
6api->addHashTagsBulk(tenantId, bulkBody).then([](pplx::task<std::shared_ptr<BulkCreateHashTagsResponse>> task){
7 try{
8 auto resp = task.get();
9 }catch(const std::exception&){
10 }
11});
12

deleteHashTag Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
tagstringYes
deleteHashTagRequestBodyDeleteHashTagRequestBodyYes

Respons

Retourneert: APIEmptyResponse

Voorbeeld

deleteHashTag Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-001");
3auto tag = utility::conversions::to_string_t("news");
4DeleteHashTagRequestBody requestBody;
5requestBody.userId = utility::conversions::to_string_t("user-42");
6requestBody.reason = boost::optional<utility::string_t>(utility::conversions::to_string_t("User request"));
7api->deleteHashTag(tenantId, tag, requestBody)
8 .then([](std::shared_ptr<APIEmptyResponse> resp) {
9 });
10

getHashTags Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
pagedoubleNee

Respons

Retourneert: GetHashTagsResponse

Voorbeeld

getHashTags voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<double> page = 2.0;
4
5api->getHashTags(tenantId, page).then([](pplx::task<std::shared_ptr<GetHashTagsResponse>> task) {
6 try {
7 auto resultPtr = task.get();
8 auto response = std::make_shared<GetHashTagsResponse>(*resultPtr);
9 // gebruik response
10 } catch (const std::exception&) {
11 // fout afhandelen
12 }
13});
14

patchHashTag Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
tagstringYes
updateHashTagBodyUpdateHashTagBodyYes

Respons

Retourneert: UpdateHashTagResponse

Voorbeeld

patchHashTag Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t tag = U("important");
4auto body = std::make_shared<UpdateHashTagBody>();
5body->name = U("important-updated");
6body->description = boost::optional<utility::string_t>(U("Updated description"));
7api->patchHashTag(tenantId, tag, *body)
8 .then([](pplx::task<std::shared_ptr<UpdateHashTagResponse>> t){
9 try{
10 auto response = t.get();
11 std::cout << "Updated tag ID: " << response->id << std::endl;
12 }catch(const std::exception& e){
13 std::cerr << "Patch failed: " << e.what() << std::endl;
14 }
15 });
16

deleteModerationVote Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
voteIdstringJa
optionsconst DeleteModerationVoteOptions&Ja

Respons

Retourneert: VoteDeleteResponse

Voorbeeld

deleteModerationVote Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-abc123");
4auto voteId = utility::conversions::to_string_t("vote-xyz789");
5DeleteModerationVoteOptions opts;
6opts.reason = utility::conversions::to_string_t("Offensive language");
7opts.hardDelete = boost::optional<bool>(true);
8api->deleteModerationVote(tenantId, commentId, voteId, opts)
9 .then([](std::shared_ptr<VoteDeleteResponse> resp){});
10

getApiComments Internal Link

Parameters

NaamTypeVereistOmschrijving
tenantIdstringJa
optionsconst GetApiCommentsOptions&Ja

Respons

Retourneert: ModerationAPIGetCommentsResponse

Voorbeeld

Voorbeeld getApiComments
Copy Copy
1
2auto options = GetApiCommentsOptions{};
3options.page = boost::make_optional(2);
4options.authorEmail = boost::make_optional<utility::string_t>(U("user@example.com"));
5options.includeDeleted = boost::make_optional(false);
6
7api->getApiComments(U("my-tenant-123"), options).then([](pplx::task<std::shared_ptr<ModerationAPIGetCommentsResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){
11 }
12});
13

getApiExportStatus Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetApiExportStatusOptions&Ja

Response

Returns: ModerationExportStatusResponse

Example

getApiExportStatus Voorbeeld
Copy Copy
1
2auto opts = GetApiExportStatusOptions{};
3opts.exportId = boost::make_optional<utility::string_t>(U("export-456"));
4api->getApiExportStatus(U("my-tenant-123"), opts)
5 .then([](pplx::task<std::shared_ptr<ModerationExportStatusResponse>> t){
6 try{
7 auto status = t.get();
8 }catch(const std::exception&){
9 }
10 });
11

getApiIds Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetApiIdsOptions&Ja

Respons

Retourneert: ModerationAPIGetCommentIdsResponse

Voorbeeld

Voorbeeld getApiIds
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetApiIdsOptions options;
4options.limit = boost::optional<int>(100);
5options.cursor = boost::optional<utility::string_t>(U("next-page-token"));
6api->getApiIds(tenantId, options).then([](pplx::task<std::shared_ptr<ModerationAPIGetCommentIdsResponse>> t){
7 try{
8 auto response = t.get();
9 auto ids = response->commentIds;
10 }catch(const std::exception&){
11 }
12});
13

getBanUsersFromComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
ssostringNee

Respons

Retourneert: GetBannedUsersFromCommentResponse

Voorbeeld

getBanUsersFromComment Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto commentId = utility::string_t(U("comment-456"));
4boost::optional<utility::string_t> sso = boost::make_optional(utility::string_t(U("sso-token-abc")));
5
6api->getBanUsersFromComment(tenantId, commentId, sso).then([](pplx::task<std::shared_ptr<GetBannedUsersFromCommentResponse>> task) {
7 try {
8 auto response = task.get();
9 } catch (const std::exception&) {
10 }
11});
12

getCommentBanStatus Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
ssostringNee

Respons

Retourneert: GetCommentBanStatusResponse

Voorbeeld

getCommentBanStatus Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U"my-tenant-123");
3auto commentId = utility::string_t(U"comment-456");
4boost::optional<utility::string_t> sso = utility::string_t(U"user@example.com");
5
6api->getCommentBanStatus(tenantId, commentId, sso).then([](pplx::task<std::shared_ptr<GetCommentBanStatusResponse>> t){
7 try{
8 auto response = t.get();
9 }catch(const std::exception&){ }
10});
11

getCommentChildren Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
ssostringNee

Respons

Retourneert: ModerationAPIChildCommentsResponse

Voorbeeld

getCommentChildren Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("comment-456");
4boost::optional<utility::string_t> sso = U("sso-token-abc");
5
6api->getCommentChildren(tenantId, commentId, sso)
7 .then([](pplx::task<std::shared_ptr<ModerationAPIChildCommentsResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12 });
13

getCount Internal Link


Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst GetCountOptions&Ja

Respons

Retourneert: ModerationAPICountCommentsResponse

Voorbeeld

getCount Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetCountOptions options;
4options.userEmail = boost::optional<utility::string_t>(U("user@example.com"));
5options.maxResults = boost::optional<int>(100);
6api->getCount(tenantId, options).then([](pplx::task<std::shared_ptr<ModerationAPICountCommentsResponse>> task){
7 try{
8 auto resp = task.get();
9 auto copy = std::make_shared<ModerationAPICountCommentsResponse>(*resp);
10 std::cout << "Count: " << copy->count << std::endl;
11 }catch(const std::exception& e){
12 std::cerr << "Error: " << e.what() << std::endl;
13 }
14});
15

getCounts Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
ssostringNo

Respons

Retourneert: GetBannedUsersCountResponse

Voorbeeld

getCounts voorbeeld
Copy Copy
1
2api->getCounts(
3 utility::conversions::to_string_t("my-tenant-123"),
4 boost::optional<utility::string_t>(utility::conversions::to_string_t("john.doe@example.com"))
5).then([](pplx::task<std::shared_ptr<GetBannedUsersCountResponse>> t){
6 try{
7 auto response = t.get();
8 }catch(const std::exception&){
9 }
10});
11

getLogs Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
ssostringNee

Respons

Retourneert: ModerationAPIGetLogsResponse

Voorbeeld

getLogs Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("comment-456");
4boost::optional<utility::string_t> sso = U("sso-token-abc");
5
6api->getLogs(tenantId, commentId, sso).then([](pplx::task<std::shared_ptr<ModerationAPIGetLogsResponse>> t){
7 try{
8 auto response = t.get();
9 }catch(...){
10 }
11});
12

getManualBadges Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
ssostringNee

Response

Retourneert: GetTenantManualBadgesResponse

Voorbeeld

getManualBadges Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> sso = boost::make_optional(U("user@example.com"));
4
5api->getManualBadges(tenantId, sso)
6 .then([](pplx::task<std::shared_ptr<GetTenantManualBadgesResponse>> t) {
7 try {
8 auto response = t.get();
9 // verwerk reactie, bijv., response->badgeList
10 } catch (const std::exception& ex) {
11 // verwerk fout
12 }
13 });
14

getManualBadgesForUser Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetManualBadgesForUserOptions&Ja

Respons

Retourneert: GetUserManualBadgesResponse

Voorbeeld

getManualBadgesForUser Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetManualBadgesForUserOptions options;
4options.userEmail = boost::optional<utility::string_t>(U("user@example.com"));
5options.includeInactive = boost::optional<bool>(true);
6api->getManualBadgesForUser(tenantId, options).then([](pplx::task<std::shared_ptr<GetUserManualBadgesResponse>> task){
7 try{
8 auto response = task.get();
9 }catch(const std::exception&){
10 }
11});
12

getModerationComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
optionsconst GetModerationCommentOptions&Ja

Respons

Retourneert: ModerationAPICommentResponse

Voorbeeld

getModerationComment Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-456");
4GetModerationCommentOptions options;
5options.includeDeleted = boost::optional<bool>(true);
6options.locale = boost::optional<utility::string_t>(utility::conversions::to_string_t("en-US"));
7api->getModerationComment(tenantId, commentId, options)
8 .then([](pplx::task<std::shared_ptr<ModerationAPICommentResponse>> task) {
9 try {
10 auto response = task.get();
11 // Verwerk de respons naar behoefte
12 } catch (const std::exception& ex) {
13 // Fout afhandelen
14 }
15 });
16

getModerationCommentText Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
commentIdstringYes
ssostringNo

Respons

Retourneert: GetCommentTextResponse

Voorbeeld

getModerationCommentText Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-987654");
4boost::optional<utility::string_t> sso = U("sso-token-abc");
5
6api->getModerationCommentText(tenantId, commentId, sso)
7 .then([](pplx::task<std::shared_ptr<GetCommentTextResponse>> t) {
8 try {
9 auto resp = t.get();
10 auto text = std::make_shared<std::string>(resp->commentText);
11 } catch (const std::exception&) {
12 }
13 });
14

getPreBanSummary Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
commentIdstringYes
optionsconst GetPreBanSummaryOptions&Yes

Response

Retourneert: PreBanSummary

Voorbeeld

getPreBanSummary Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456789");
4GetPreBanSummaryOptions options;
5options.locale = boost::optional<utility::string_t>{utility::conversions::to_string_t("en-US")};
6
7api->getPreBanSummary(tenantId, commentId, options)
8 .then([](pplx::task<std::shared_ptr<PreBanSummary>> t) {
9 try {
10 auto summary = t.get();
11 // verwerk samenvatting
12 } catch (const std::exception&) {
13 // behandel fout
14 }
15 });
16

getSearchCommentsSummary Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst GetSearchCommentsSummaryOptions&Ja

Respons

Retourneert: ModerationCommentSearchResponse

Voorbeeld

getSearchCommentsSummary Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto options = std::make_shared<GetSearchCommentsSummaryOptions>();
4options->query = utility::conversions::to_string_t("spam");
5options->pageSize = boost::optional<int>(50);
6options->pageNumber = boost::optional<int>(1);
7options->fromDate = boost::none;
8api->getSearchCommentsSummary(tenantId, *options).then([](pplx::task<std::shared_ptr<ModerationCommentSearchResponse>> task){
9 try{
10 auto response = task.get();
11 }catch(const std::exception&){
12 }
13});
14

getSearchPages Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetSearchPagesOptions&Ja

Reactie

Retourneert: ModerationPageSearchResponse

Voorbeeld

Voorbeeld getSearchPages
Copy Copy
1
2GetSearchPagesOptions options;
3options.pageNumber = boost::optional<int>(1);
4options.pageSize = boost::optional<int>(50);
5options.searchTerm = boost::optional<utility::string_t>(U("spam"));
6
7api->getSearchPages(U("my-tenant-123"), options)
8 .then([](pplx::task<std::shared_ptr<ModerationPageSearchResponse>> task) {
9 try {
10 auto response = task.get();
11 // gebruik response
12 } catch (const std::exception& e) {
13 // verwerk fout
14 }
15 });
16

getSearchSites Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
optionsconst GetSearchSitesOptions&Yes

Response

Retourneert: ModerationSiteSearchResponse

Voorbeeld

Voorbeeld getSearchSites
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3GetSearchSitesOptions options;
4options.query = boost::make_optional(utility::string_t(U("example query")));
5options.limit = boost::make_optional(25);
6
7api->getSearchSites(tenantId, options)
8 .then([](pplx::task<std::shared_ptr<ModerationSiteSearchResponse>> t) {
9 try {
10 auto response = t.get();
11 auto respPtr = std::make_shared<ModerationSiteSearchResponse>(*response);
12 for (const auto& site : respPtr->sites) {
13 // verwerkingslogica
14 }
15 } catch (const std::exception&) {
16 // foutafhandeling
17 }
18 });
19

getSearchSuggest Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst GetSearchSuggestOptions&Ja

Respons

Returns: ModerationSuggestResponse

Voorbeeld

getSearchSuggest Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetSearchSuggestOptions opts;
4opts.query = U("search term");
5opts.limit = boost::optional<int>(5);
6opts.includeInactive = boost::optional<bool>(false);
7api->getSearchSuggest(tenantId, opts).then([](pplx::task<std::shared_ptr<ModerationSuggestResponse>> t){
8 try{
9 auto resp = t.get();
10 }catch(const std::exception&){ }
11}).wait();
12

getSearchUsers Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetSearchUsersOptions&Ja

Respons

Retourneert: ModerationUserSearchResponse

Voorbeeld

getSearchUsers voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3GetSearchUsersOptions opts;
4opts.query = utility::string_t(U("john.doe@example.com"));
5opts.page = boost::optional<int>(1);
6opts.pageSize = boost::optional<int>(20);
7
8api->getSearchUsers(tenantId, opts)
9 .then([](std::shared_ptr<ModerationUserSearchResponse> resp) {
10 for (const auto& user : resp->users) {
11 std::wcout << user.id << L" - " << user.email << std::endl;
12 }
13 });
14

getTrustFactor Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst GetTrustFactorOptions&Ja

Response

Retourneert: GetUserTrustFactorResponse

Example

getTrustFactor Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3GetTrustFactorOptions options;
4options.userEmail = boost::optional<utility::string_t>(U("user@example.com"));
5options.ipAddress = boost::optional<utility::string_t>(U("203.0.113.42"));
6api->getTrustFactor(tenantId, options).then([](std::shared_ptr<GetUserTrustFactorResponse> resp) {
7 if (resp) {
8 std::cout << "Trust factor: " << resp->trustFactor << std::endl;
9 }
10});
11

getUserBanPreference Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
ssostringNee

Respons

Retourneert: APIModerateGetUserBanPreferencesResponse

Voorbeeld

Voorbeeld getUserBanPreference
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
4
5api->getUserBanPreference(tenantId, sso)
6 .then([](pplx::task<std::shared_ptr<APIModerateGetUserBanPreferencesResponse>> t) {
7 try {
8 auto resp = t.get();
9 } catch (const std::exception&) {
10 }
11 });
12

getUserInternalProfile Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetUserInternalProfileOptions&Yes

Reactie

Retourneert: GetUserInternalProfileResponse

Voorbeeld

getUserInternalProfile Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetUserInternalProfileOptions options;
4options.email = boost::optional<utility::string_t>(U("user@example.com"));
5options.includeDetails = boost::optional<bool>(true);
6
7api->getUserInternalProfile(tenantId, options)
8 .then([](std::shared_ptr<GetUserInternalProfileResponse> response) {
9 if (response) {
10 auto name = response->displayName;
11 auto id = response->userId;
12 }
13 });
14

postAdjustCommentVotes Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
adjustCommentVotesParamsAdjustCommentVotesParamsJa
optionsconst PostAdjustCommentVotesOptions&Ja

Respons

Retourneert: AdjustVotesResponse

Voorbeeld

postAdjustCommentVotes Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456789");
4AdjustCommentVotesParams params;
5params.voteDelta = 1;
6params.userIdentifier = utility::conversions::to_string_t("user@example.com");
7params.reason = boost::optional<utility::string_t>(utility::conversions::to_string_t("Helpful"));
8PostAdjustCommentVotesOptions opts;
9opts.timeout = boost::optional<int>(30);
10api->postAdjustCommentVotes(tenantId, commentId, params, opts).then([](pplx::task<std::shared_ptr<AdjustVotesResponse>> t){
11 try{
12 auto resp = t.get();
13 }catch(const std::exception& e){
14 }
15});
16

postApiExport Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst PostApiExportOptions&Ja

Respons

Retourneert: ModerationExportResponse

Voorbeeld

postApiExport Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3PostApiExportOptions options;
4options.format = utility::string_t(U("json"));
5options.email = utility::string_t(U("reports@example.com"));
6options.startDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-01T00:00:00Z")));
7options.endDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-31T23:59:59Z")));
8
9api->postApiExport(tenantId, options)
10 .then([](std::shared_ptr<ModerationExportResponse> response) {
11 if (response) {
12 // verwerk succesvolle exportrespons
13 }
14 })
15 .wait();
16

postBanUserFromComment Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
optionsconst PostBanUserFromCommentOptions&Ja

Respons

Retourneert: BanUserFromCommentResult

Voorbeeld

postBanUserFromComment Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("comment-456789");
4PostBanUserFromCommentOptions options;
5options.reason = boost::optional<utility::string_t>(U("spam"));
6options.durationDays = boost::optional<int>(30);
7
8api->postBanUserFromComment(tenantId, commentId, options)
9 .then([](std::shared_ptr<BanUserFromCommentResult> result) {
10 // resultaatverwerking
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception& e) { /* foutafhandeling */ }
14 });
15

postBanUserUndo Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
banUserUndoParamsBanUserUndoParamsJa
ssostringNee

Respons

Retourneert: APIEmptyResponse

Voorbeeld

postBanUserUndo voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3BanUserUndoParams banParams;
4banParams.userId = utility::string_t(U("user-567"));
5banParams.reason = utility::string_t(U("reinstated"));
6boost::optional<utility::string_t> sso = utility::string_t(U("sso-token-abc"));
7
8api->postBanUserUndo(tenantId, banParams, sso).then([](std::shared_ptr<APIEmptyResponse> resp){
9 // verwerk succes
10});
11

postBulkPreBanSummary Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
bulkPreBanParamsBulkPreBanParamsJa
optionsconst PostBulkPreBanSummaryOptions&Ja

Respons

Retourneert: BulkPreBanSummary

Voorbeeld

postBulkPreBanSummary Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3BulkPreBanParams bulkPreBanParams;
4bulkPreBanParams.emails = {
5 utility::conversions::to_string_t("spam1@example.com"),
6 utility::conversions::to_string_t("spam2@example.com")
7};
8bulkPreBanParams.reason = utility::conversions::to_string_t("spam");
9PostBulkPreBanSummaryOptions options;
10options.requestId = boost::optional<utility::string_t>(utility::conversions::to_string_t("req-456"));
11api->postBulkPreBanSummary(tenantId, bulkPreBanParams, options)
12 .then([](std::shared_ptr<BulkPreBanSummary> result) {
13 (void)result;
14 });
15

postCommentsByIds Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentsByIdsParamsCommentsByIdsParamsJa
ssostringNee

Respons

Retourneert: ModerationAPIChildCommentsResponse

Voorbeeld

postCommentsByIds Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3CommentsByIdsParams params;
4params.commentIds = {U("cmt-001"), U("cmt-002")};
5boost::optional<utility::string_t> sso = U("sso-token-abc");
6api->postCommentsByIds(tenantId, params, sss).then([](pplx::task<std::shared_ptr<ModerationAPIChildCommentsResponse>> t){
7 try{
8 auto resp = t.get();
9 auto copy = std::make_shared<ModerationAPIChildCommentsResponse>(*resp);
10 }catch(const std::exception&){ }
11});
12

postFlagComment Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
commentIdstringYes
optionsconst PostFlagCommentOptions&Yes

Response

Retourneert: APIEmptyResponse

Example

postFlagComment Voorbeeld
Copy Copy
1
2PostFlagCommentOptions options;
3options.reason = boost::optional<utility::string_t>(U("spam"));
4options.reportedBy = boost::optional<utility::string_t>(U("moderator@example.com"));
5
6api->postFlagComment(U("my-tenant-123"), U("comment-456"), options)
7 .then([](std::shared_ptr<APIEmptyResponse> resp){
8 (void)resp;
9 })
10 .then([](pplx::task<void> t){
11 try{
12 t.get();
13 }catch(const std::exception&){
14 }
15 });
16

postRemoveComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
optionsconst PostRemoveCommentOptions&Ja

Respons

Retourneert: PostRemoveCommentApiResponse

Voorbeeld

postRemoveComment Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto commentId = utility::string_t(U("cmt-456789"));
4PostRemoveCommentOptions options;
5options.permanent = boost::optional<bool>(true);
6api->postRemoveComment(tenantId, commentId, options)
7 .then([](pplx::task<std::shared_ptr<PostRemoveCommentApiResponse>> task) {
8 try {
9 auto response = task.get();
10 // Process response
11 } catch (const std::exception& ex) {
12 // Handle error
13 }
14 });
15

postRestoreDeletedComment Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
commentIdstringYes
optionsconst PostRestoreDeletedCommentOptions&Yes

Respons

Retourneert: APIEmptyResponse

Voorbeeld

postRestoreDeletedComment Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-987654");
4PostRestoreDeletedCommentOptions options;
5options.reason = boost::optional<utility::string_t>(U("Restoring after accidental delete"));
6options.notifyUser = boost::optional<bool>(true);
7api->postRestoreDeletedComment(tenantId, commentId, options)
8 .then([](std::shared_ptr<APIEmptyResponse> resp){
9 });
10

postSetCommentApprovalStatus Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
optionsconst PostSetCommentApprovalStatusOptions&Ja

Response

Retourneert: SetCommentApprovedResponse

Example

postSetCommentApprovalStatus Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-abc123");
4auto options = std::make_shared<PostSetCommentApprovalStatusOptions>();
5options->approved = boost::optional<bool>(true);
6options->reason = boost::optional<utility::string_t>(utility::conversions::to_string_t("Inappropriate content"));
7api->postSetCommentApprovalStatus(tenantId, commentId, *options)
8 .then([](pplx::task<std::shared_ptr<SetCommentApprovedResponse>> task) {
9 try {
10 auto response = task.get();
11 } catch (const std::exception& ex) {
12 }
13 });
14

postSetCommentReviewStatus Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
optionsconst PostSetCommentReviewStatusOptions&Ja

Respons

Retourneert: APIEmptyResponse

Voorbeeld

postSetCommentReviewStatus Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456789");
4PostSetCommentReviewStatusOptions opts;
5opts.status = utility::conversions::to_string_t("approved");
6opts.note = boost::optional<utility::string_t>(utility::conversions::to_string_t("Looks good"));
7api->postSetCommentReviewStatus(tenantId, commentId, opts)
8 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> t){
9 try{
10 auto resp = t.get();
11 }catch(const std::exception& e){
12 }
13 });
14

postSetCommentSpamStatus Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
optionsconst PostSetCommentSpamStatusOptions&Ja

Respons

Retourneert: APIEmptyResponse

Voorbeeld

postSetCommentSpamStatus Voorbeeld
Copy Copy
1
2auto options = PostSetCommentSpamStatusOptions{};
3options.isSpam = true;
4options.reason = boost::optional<utility::string_t>{U"User reported spam"};
5
6api->postSetCommentSpamStatus(U("my-tenant-123"), U("comment-789"), options)
7 .then([](std::shared_ptr<APIEmptyResponse> resp) {
8 auto copy = std::make_shared<APIEmptyResponse>(*resp);
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch(const std::exception&) {}
12 });
13

postSetCommentText Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
setCommentTextParamsSetCommentTextParamsJa
optionsconst PostSetCommentTextOptions&Ja

Response

Retourneert: SetCommentTextResponse

Voorbeeld

postSetCommentText Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto commentId = U("comment-456");
4SetCommentTextParams params;
5params.text = U("Revised comment content");
6PostSetCommentTextOptions options;
7options.requestId = boost::optional<utility::string_t>(U("req-987"));
8api->postSetCommentText(tenantId, commentId, params, options)
9 .then([](std::shared_ptr<SetCommentTextResponse> resp) {
10 auto updatedId = resp->commentId;
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception&) {}
14 });
15

postUnFlagComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
optionsconst PostUnFlagCommentOptions&Ja

Antwoord

Retourneert: APIEmptyResponse

Voorbeeld

postUnFlagComment voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4PostUnFlagCommentOptions opts;
5opts.notifyUser = boost::optional<bool>(true);
6api->postUnFlagComment(tenantId, commentId, opts)
7 .then([](std::shared_ptr<APIEmptyResponse> resp) {
8 // verwerking kan hier worden gedaan
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch (const std::exception&) {}
12 });
13

postVote Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
optionsconst PostVoteOptions&Yes

Respons

Retourneert: VoteResponse

Voorbeeld

postVote Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4PostVoteOptions options;
5options.upvote = boost::make_optional(true);
6options.reason = boost::make_optional<std::string>("Inappropriate content");
7api->postVote(tenantId, commentId, options)
8 .then([](pplx::task<std::shared_ptr<VoteResponse>> t) {
9 try {
10 auto resp = t.get();
11 auto count = resp->voteCount;
12 } catch (const std::exception& e) {
13 }
14 });
15

putAwardBadge Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
badgeIdstringJa
optionsconst PutAwardBadgeOptions&Ja

Respons

Retourneert: AwardUserBadgeResponse

Voorbeeld

putAwardBadge Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto badgeId = utility::conversions::to_string_t("badge-456");
4PutAwardBadgeOptions opts;
5opts.userId = utility::conversions::to_string_t("user-42");
6opts.note = boost::optional<utility::string_t>(utility::conversions::to_string_t("Excellent comment"));
7api->putAwardBadge(tenantId, badgeId, opts).then([](pplx::task<std::shared_ptr<AwardUserBadgeResponse>> t){
8 try{
9 auto resp = t.get();
10 auto respCopy = std::make_shared<AwardUserBadgeResponse>(*resp);
11 }catch(const std::exception& e){
12 }
13});
14

putCloseThread Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
ssostringNee

Respons

Retourneert: APIEmptyResponse

Voorbeeld

putCloseThread voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-4321"));
3auto urlId = utility::string_t(U("article-9876"));
4boost::optional<utility::string_t> sso = boost::make_optional<utility::string_t>(U("user@example.com"));
5
6api->putCloseThread(tenantId, urlId, sso).then([](pplx::task<std::shared_ptr<APIEmptyResponse>> task){
7 try{
8 auto response = task.get();
9 }catch(const std::exception&){
10 }
11});
12

putRemoveBadge Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
badgeIdstringJa
optionsconst PutRemoveBadgeOptions&Ja

Respons

Retourneert: RemoveUserBadgeResponse

Voorbeeld

putRemoveBadge Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t badgeId = U("badge-abc-456");
4PutRemoveBadgeOptions options;
5options.reason = boost::optional<utility::string_t>(U("Spamming"));
6api->putRemoveBadge(tenantId, badgeId, options).then([](std::shared_ptr<RemoveUserBadgeResponse> resp) {
7 (void)resp;
8});
9

putReopenThread Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa
ssostringNee

Response

Retourneert: APIEmptyResponse

Voorbeeld

putReopenThread Voorbeeld
Copy Copy
1
2api->putReopenThread(utility::string_t(U("my-tenant-123")), utility::string_t(U("thread-456")), boost::make_optional<utility::string_t>(U("user@example.com")))
3 .then([](std::shared_ptr<APIEmptyResponse> result){
4 std::cout << "Thread reopened" << std::endl;
5 });
6

setTrustFactor Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst SetTrustFactorOptions&Ja

Response

Retourneert: SetUserTrustFactorResponse

Example

setTrustFactor voorbeeld
Copy Copy
1
2SetTrustFactorOptions opts;
3opts.userId = utility::conversions::to_string_t("user@example.com");
4opts.trustFactor = 8;
5opts.reason = boost::optional<utility::string_t>(utility::conversions::to_string_t("Spam check passed"));
6api->setTrustFactor(utility::conversions::to_string_t("my-tenant-123"), opts)
7 .then([](pplx::task<std::shared_ptr<SetUserTrustFactorResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12 });
13

createModerator Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createModeratorBodyCreateModeratorBodyJa

Respons

Retourneert: CreateModeratorResponse

Voorbeeld

createModerator Voorbeeld
Copy Copy
1
2CreateModeratorBody moderatorBody;
3moderatorBody.email = utility::conversions::to_string_t("moderator@example.com");
4moderatorBody.name = utility::conversions::to_string_t("John Moderator");
5moderatorBody.notes = boost::optional<utility::string_t>(utility::conversions::to_string_t("Community moderator"));
6api->createModerator(utility::conversions::to_string_t("my-tenant-123"), moderatorBody)
7 .then([](std::shared_ptr<CreateModeratorResponse> resp) {});
8

deleteModerator Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
sendEmailstringNee

Respons

Retourneert: APIEmptyResponse

Voorbeeld

deleteModerator voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto moderatorId = utility::conversions::to_string_t("mod-456");
4boost::optional<utility::string_t> sendEmail = utility::conversions::to_string_t("admin@example.com");
5api->deleteModerator(tenantId, moderatorId, sendEmail)
6 .then([](std::shared_ptr<APIEmptyResponse> resp) {
7 // afhandelen succes
8 });
9

getModerator Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetModeratorResponse

Voorbeeld

getModerator Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto moderatorId = utility::string_t(U("moderator-789"));
4api->getModerator(tenantId, moderatorId)
5 .then([](pplx::task<std::shared_ptr<GetModeratorResponse>> t) {
6 try {
7 auto response = t.get();
8 } catch (const std::exception&) {
9 }
10 });
11

getModerators Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
skipdoubleNee

Response

Retourneert: GetModeratorsResponse

Example

getModerators Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<double> skip = 10.0;
4api->getModerators(tenantId, skip).then([](pplx::task<std::shared_ptr<GetModeratorsResponse>> t){
5 auto response = t.get();
6});
7

sendInvite Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
idstringYes
fromNamestringYes

Respons

Retourneert: APIEmptyResponse

Voorbeeld

sendInvite Voorbeeld
Copy Copy
1
2boost::optional<utility::string_t> cc = utility::conversions::to_string_t("cc@example.com");
3api->sendInvite(
4 utility::conversions::to_string_t("my-tenant-123"),
5 utility::conversions::to_string_t("invitee@example.com"),
6 utility::conversions::to_string_t("John Doe")
7).then([](std::shared_ptr<APIEmptyResponse> resp) {
8 // verwerk succesvolle uitnodiging
9});
10

updateModerator Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
idstringYes
updateModeratorBodyUpdateModeratorBodyYes

Respons

Retourneert: APIEmptyResponse

Voorbeeld

updateModerator voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto moderatorId = utility::conversions::to_string_t("mod-789");
4UpdateModeratorBody body;
5body.email = utility::conversions::to_string_t("moderator@example.com");
6body.isActive = true;
7body.notes = boost::optional<utility::string_t>(utility::conversions::to_string_t("Senior moderator"));
8api->updateModerator(tenantId, moderatorId, body)
9 .then([](std::shared_ptr<APIEmptyResponse>) {})
10 .then([](pplx::task<void> t) { try { t.get(); } catch (const std::exception&) {} });
11

deleteNotificationCount Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Response

Retourneert: APIEmptyResponse

Example

deleteNotificationCount Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto notificationId = utility::conversions::to_string_t("notif-789");
4
5api->deleteNotificationCount(tenantId, notificationId)
6 .then([](std::shared_ptr<APIEmptyResponse> resp) {})
7 .then([](pplx::task<void> t) { try { t.get(); } catch (const std::exception&) {} });
8

getCachedNotificationCount Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetCachedNotificationCountResponse

Voorbeeld

getCachedNotificationCount Voorbeeld
Copy Copy
1
2auto tenantId = boost::optional<utility::string_t>(utility::conversions::to_string_t("my-tenant-123"));
3auto userId = boost::optional<utility::string_t>(utility::conversions::to_string_t("user-456"));
4
5api->getCachedNotificationCount(tenantId.value(), userId.value())
6 .then([](pplx::task<std::shared_ptr<GetCachedNotificationCountResponse>> task) {
7 try {
8 auto response = task.get();
9 // verwerk reactie
10 } catch (const std::exception&) {
11 // verwerk fout
12 }
13 });
14

getNotificationCount Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst GetNotificationCountOptions&Ja

Response

Retourneert: GetNotificationCountResponse

Example

getNotificationCount Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3GetNotificationCountOptions options;
4options.filter = boost::optional<utility::string_t>(U("unread"));
5options.maxCount = boost::optional<int>(10);
6api->getNotificationCount(tenantId, options)
7 .then([](pplx::task<std::shared_ptr<GetNotificationCountResponse>> t) {
8 try {
9 auto response = t.get();
10 } catch (const std::exception& ex) {
11 }
12 });
13

getNotifications Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetNotificationsOptions&Ja

Respons

Retourneert: GetNotificationsResponse

Voorbeeld

getNotifications Voorbeeld
Copy Copy
1
2GetNotificationsOptions options;
3options.limit = 20;
4options.after = U("cursor-123");
5api->getNotifications(U("my-tenant-123"), options)
6 .then([](std::shared_ptr<GetNotificationsResponse> resp) {
7 (void)resp;
8 });
9

updateNotification Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
updateNotificationBodyUpdateNotificationBodyJa
userIdstringNee

Response

Returns: APIEmptyResponse

Example

updateNotification Voorbeeld
Copy Copy
1
2auto updateBody = std::make_shared<UpdateNotificationBody>();
3updateBody->title = utility::conversions::to_string_t("System Maintenance");
4updateBody->message = utility::conversions::to_string_t("Scheduled downtime at 02:00 UTC.");
5api->updateNotification(
6 utility::conversions::to_string_t("my-tenant-123"),
7 utility::conversions::to_string_t("notif-456"),
8 updateBody,
9 boost::optional<utility::string_t>(utility::conversions::to_string_t("admin-user"))
10).then([](std::shared_ptr<APIEmptyResponse>){});
11

createV1PageReact Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
titlestringNee

Respons

Retourneert: CreateV1PageReact

Voorbeeld

createV1PageReact Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto urlId = utility::string_t(U("https://example.com/articles/789"));
4boost::optional<utility::string_t> title = utility::string_t(U("Understanding Async C++"));
5api->createV1PageReact(tenantId, urlId, title).then([](pplx::task<std::shared_ptr<CreateV1PageReact>> task) {
6 try {
7 auto response = task.get();
8 } catch (const std::exception&) {
9 }
10});
11

createV2PageReact Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa
idstringJa
titlestringNee

Respons

Retourneert: CreateV1PageReact

Voorbeeld

createV2PageReact Voorbeeld
Copy Copy
1
2api->createV2PageReact(
3 utility::string_t(U("my-tenant-789")),
4 utility::string_t(U("https://example.com/articles/12345")),
5 utility::string_t(U("user-42")),
6 boost::optional<utility::string_t>(U("Helpful"))
7).then([](pplx::task<std::shared_ptr<CreateV1PageReact>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){ }
11});
12

deleteV1PageReact Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa

Respons

Returns: CreateV1PageReact

Voorbeeld

deleteV1PageReact Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto urlId = utility::conversions::to_string_t("page-abc-456");
4api->deleteV1PageReact(tenantId, urlId).then([](pplx::task<std::shared_ptr<CreateV1PageReact>> task){
5 try{
6 auto response = task.get();
7 boost::optional<std::shared_ptr<CreateV1PageReact>> optResponse = response;
8 }catch(...){
9 }
10});
11

deleteV2PageReact Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa
idstringJa

Respons

Retourneert: CreateV1PageReact

Voorbeeld

deleteV2PageReact Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto urlId = utility::conversions::to_string_t("page-456");
4auto reactId = utility::conversions::to_string_t("react-789");
5boost::optional<utility::string_t> correlationId = utility::conversions::to_string_t("corr-001");
6
7api->deleteV2PageReact(tenantId, urlId, reactId)
8 .then([](pplx::task<std::shared_ptr<CreateV1PageReact>> t) {
9 auto result = t.get();
10 });
11

getV1PageLikes Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa

Respons

Retourneert: GetV1PageLikes

Voorbeeld

getV1PageLikes Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto urlId = utility::conversions::to_string_t("article-789");
4boost::optional<utility::string_t> filter;
5
6api->getV1PageLikes(tenantId, urlId).then([=](pplx::task<std::shared_ptr<GetV1PageLikes>> task){
7 try{
8 auto raw = task.get();
9 auto likes = std::make_shared<GetV1PageLikes>(*raw);
10 auto total = likes->totalLikes;
11 }catch(...){
12 }
13});
14

getV2PageReacts Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa

Response

Retourneert: GetV2PageReacts

Example

Voorbeeld getV2PageReacts
Copy Copy
1
2auto tenantId = utility::string_t("my-tenant-123");
3auto urlId = utility::string_t("https://example.com/article/42");
4boost::optional<utility::string_t> locale = utility::string_t("en-US");
5api->getV2PageReacts(tenantId, urlId)
6 .then([locale](std::shared_ptr<GetV2PageReacts> reacts){
7 if (locale) {}
8 })
9 .then([](pplx::task<void> t){
10 try { t.get(); } catch (...) {}
11 });
12

getV2PageReactUsers Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
idstringJa

Response

Retourneert: GetV2PageReactUsersResponse

Example

Voorbeeld getV2PageReactUsers
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto urlId = utility::conversions::to_string_t("page-456");
4auto id = utility::conversions::to_string_t("react-789");
5boost::optional<utility::string_t> maybeFilter;
6api->getV2PageReactUsers(tenantId, urlId, id).then([](pplx::task<std::shared_ptr<GetV2PageReactUsersResponse>> task){
7 try{
8 auto response = task.get();
9 // Gebruik de response indien nodig
10 }catch(const std::exception&){
11 // Fout afhandelen
12 }
13});
14

addPage Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createAPIPageDataCreateAPIPageDataJa

Respons

Retourneert: AddPageAPIResponse

Voorbeeld

addPage Voorbeeld
Copy Copy
1
2auto createData = CreateAPIPageData{};
3createData.title = utility::string_t(U("Welcome Page"));
4createData.url = utility::string_t(U("https://example.com/welcome"));
5createData.description = boost::optional<utility::string_t>(utility::string_t(U("Landing page for new users")));
6
7api->addPage(utility::string_t(U("my-tenant-123")), createData)
8 .then([](std::shared_ptr<AddPageAPIResponse> response) {
9 if (response && response->success) {
10 // verwerk succesvolle toevoeging
11 } else {
12 // verwerk fout
13 }
14 });
15

deletePage Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: DeletePageAPIResponse

Voorbeeld

deletePage Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto pageId = utility::conversions::to_string_t("page-456");
4
5api->deletePage(tenantId, pageId)
6 .then([](pplx::task<std::shared_ptr<DeletePageAPIResponse>> t) {
7 try {
8 auto response = t.get();
9 // verwerk de respons indien nodig
10 } catch (const std::exception& ex) {
11 // behandel fout
12 }
13 });
14

getOfflineUsers Internal Link

Past commenters on the page who are NOT currently online. Sorted by displayName.
Use this after exhausting /users/online to render a "Members" section.
Cursor pagination on commenterName: server walks the partial {tenantId, urlId, commenterName}
index from afterName forward via $gt, no $skip cost.

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
optionsconst GetOfflineUsersOptions&Ja

Respons

Retourneert: PageUsersOfflineResponse

Voorbeeld

getOfflineUsers Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("page-456");
4GetOfflineUsersOptions options;
5options.limit = boost::optional<int>(50);
6options.includeDetails = boost::optional<bool>(true);
7
8api->getOfflineUsers(tenantId, urlId, options)
9 .then([](pplx::task<std::shared_ptr<PageUsersOfflineResponse>> t) {
10 try {
11 auto response = t.get();
12 } catch (const std::exception&) {
13 }
14 });
15

getOnlineUsers Internal Link

Momenteel online kijkers van een pagina: mensen waarvan de websocket‑sessie op dit moment op de pagina geabonneerd is.
Retourneert anonCount + totalCount (abonnees in de hele ruimte, inclusief anonieme kijkers die we niet opsommen).

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa
optionsconst GetOnlineUsersOptions&Ja

Response

Retourneert: PageUsersOnlineResponse

Voorbeeld

Voorbeeld getOnlineUsers
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("article-456");
4auto options = std::make_shared<GetOnlineUsersOptions>();
5options->maxResults = boost::optional<int>(100);
6options->includeInactive = boost::optional<bool>(false);
7api->getOnlineUsers(tenantId, urlId, *options).then([](pplx::task<std::shared_ptr<PageUsersOnlineResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){
11 }
12});
13

getPageByURLId Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa

Respons

Retourneert: GetPageByURLIdAPIResponse

Voorbeeld

getPageByURLId Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto urlId = utility::conversions::to_string_t("page-456");
4boost::optional<utility::string_t> correlationId = boost::make_optional(utility::conversions::to_string_t("corr-789"));
5
6api->getPageByURLId(tenantId, urlId)
7 .then([correlationId](pplx::task<std::shared_ptr<GetPageByURLIdAPIResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12 });
13

getPages Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa

Respons

Retourneert: GetPagesAPIResponse

Voorbeeld

getPages Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3api->getPages(tenantId)
4 .then([](pplx::task<std::shared_ptr<GetPagesAPIResponse>> task) {
5 try {
6 auto response = task.get();
7 boost::optional<utility::string_t> nextCursor = response->nextCursor;
8 } catch (const std::exception&) {
9 }
10 });
11

getPagesPublic Internal Link

Lijst pagina’s voor een tenant. Wordt gebruikt door de FChat‑desktopclient om zijn kamerlijst te vullen. Vereist enableFChat om true te zijn in de opgeloste aangepaste configuratie voor elke pagina. Pagina’s die SSO vereisen, worden gefilterd op basis van de groepsrechten van de aanvragende gebruiker.

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst GetPagesPublicOptions&Ja

Respons

Retourneert: GetPublicPagesResponse

Voorbeeld

getPagesPublic Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetPagesPublicOptions options;
4options.limit = boost::optional<int>(50);
5options.cursor = boost::optional<utility::string_t>(U("cursor-token"));
6api->getPagesPublic(tenantId, options).then([](pplx::task<std::shared_ptr<GetPublicPagesResponse>> task){
7 try{
8 auto response = task.get();
9 // process response if needed
10 }catch(const std::exception&){
11 // handle error if needed
12 }
13});
14

getUsersInfo Internal Link

Bulk gebruikersinfo voor een tenant. Gegeven userIds, retourneer weergave‑info van User / SSOUser.
Gebruikt door de commentaarwidget om gebruikers die net verschenen via een presence‑event te verrijken.
Geen paginacontext: privacy wordt uniform afgedwongen (privéprofielen worden gemaskeerd).

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idsstringJa

Response

Retourneert: PageUsersInfoResponse

Voorbeeld

getUsersInfo Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t ids = U("alice@example.com,bob@example.com");
4boost::optional<utility::string_t> locale = boost::make_optional(U("en-US"));
5
6api->getUsersInfo(tenantId, ids).then([](pplx::task<std::shared_ptr<PageUsersInfoResponse>> t){
7 try{
8 auto response = t.get();
9 // process response
10 }catch(const std::exception&){
11 // handle error
12 }
13});
14

patchPage Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateAPIPageDataUpdateAPIPageDataJa

Response

Retourneert: PatchPageAPIResponse

Example

patchPage Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t pageId = U("page-789");
4UpdateAPIPageData update;
5update.title = boost::optional<utility::string_t>(U("Updated Page Title"));
6update.metadata = boost::optional<utility::string_t>(U("{\"author\":\"jane.doe@example.com\"}"));
7api->patchPage(tenantId, pageId, update)
8 .then([](std::shared_ptr<PatchPageAPIResponse> response) {
9 if (response && response->isSuccess) {
10 // afhandelen succes
11 }
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception&) {}
15 });
16

deletePendingWebhookEvent Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa

Response

Retourneert: APIEmptyResponse

Example

deletePendingWebhookEvent Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto eventId = utility::conversions::to_string_t("event-987654");
4boost::optional<utility::string_t> optTenant = tenantId;
5
6api->deletePendingWebhookEvent(optTenant.value(), eventId)
7 .then([](std::shared_ptr<APIEmptyResponse> resp) {
8 (void)resp;
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch (const std::exception& e) { }
12 });
13

getPendingWebhookEventCount Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst GetPendingWebhookEventCountOptions&Ja

Reactie

Retourneert: GetPendingWebhookEventCountResponse

Voorbeeld

getPendingWebhookEventCount Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3GetPendingWebhookEventCountOptions opts;
4opts.filter = boost::optional<utility::string_t>(utility::conversions::to_string_t("active"));
5api->getPendingWebhookEventCount(tenantId, opts)
6 .then([](std::shared_ptr<GetPendingWebhookEventCountResponse> resp){
7 auto count = resp->getCount();
8 });
9

getPendingWebhookEvents Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
optionsconst GetPendingWebhookEventsOptions&Yes

Response

Retourneert: GetPendingWebhookEventsResponse

Voorbeeld

getPendingWebhookEvents voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3GetPendingWebhookEventsOptions opts;
4opts.pageSize = boost::optional<int>(100);
5opts.startAfter = boost::optional<utility::string_t>(U("event-abc-456"));
6api->getPendingWebhookEvents(tenantId, opts)
7 .then([](pplx::task<std::shared_ptr<GetPendingWebhookEventsResponse>> task) {
8 try {
9 auto resp = task.get();
10 auto copy = std::make_shared<GetPendingWebhookEventsResponse>(*resp);
11 } catch (const std::exception&) {}
12 });
13

createQuestionConfig Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createQuestionConfigBodyCreateQuestionConfigBodyJa

Respons

Retourneert: CreateQuestionConfigResponse

Voorbeeld

createQuestionConfig Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3CreateQuestionConfigBody configBody;
4configBody.question = utility::string_t(U("How satisfied are you with our service?"));
5configBody.required = true;
6configBody.defaultAnswer = boost::optional<utility::string_t>(utility::string_t(U("Very satisfied")));
7api->createQuestionConfig(tenantId, configBody).then([](pplx::task<std::shared_ptr<CreateQuestionConfigResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){}
11});
12

deleteQuestionConfig Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Returns: APIEmptyResponse

Voorbeeld

deleteQuestionConfig Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto configId = utility::conversions::to_string_t("question-config-456");
4
5api->deleteQuestionConfig(tenantId, configId)
6 .then([](std::shared_ptr<APIEmptyResponse> resp) {
7 // verwerk succesvolle verwijdering
8 })
9 .then([](pplx::task<void> t) {
10 try {
11 t.get();
12 } catch (const std::exception&) {
13 // verwerk fout
14 }
15 });
16

getQuestionConfig Internal Link


Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Respons

Retourneert: GetQuestionConfigResponse

Voorbeeld

getQuestionConfig Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto questionId = utility::conversions::to_string_t("question-456");
4
5api->getQuestionConfig(tenantId, questionId)
6 .then([](pplx::task<std::shared_ptr<GetQuestionConfigResponse>> task) {
7 try {
8 auto response = task.get();
9 // Gebruik de respons indien nodig
10 } catch (const std::exception&) {
11 // Fout afhandelen
12 }
13 });
14

getQuestionConfigs Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
skipdoubleNee

Respons

Retourneert: GetQuestionConfigsResponse

Voorbeeld

getQuestionConfigs Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<double> skip = 10.0;
4api->getQuestionConfigs(tenantId, skip).then([](std::shared_ptr<GetQuestionConfigsResponse> resp){
5 auto config = std::make_shared<GetQuestionConfigsResponse>(*resp);
6});
7

updateQuestionConfig Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
idstringYes
updateQuestionConfigBodyUpdateQuestionConfigBodyYes

Reactie

Retourneert: APIEmptyResponse

Voorbeeld

updateQuestionConfig Voorbeeld
Copy Copy
1
2UpdateQuestionConfigBody updateBody;
3updateBody.enabled = true;
4updateBody.maxResponses = boost::optional<int>{10};
5updateBody.notes = boost::optional<utility::string_t>{U("Config updated via SDK")};
6
7api->updateQuestionConfig(U("my-tenant-123"), U("config-789"), updateBody)
8 .then([](std::shared_ptr<APIEmptyResponse> resp) {
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch (const std::exception&) {}
12 });
13

createQuestionResult Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createQuestionResultBodyCreateQuestionResultBodyJa

Response

Retourneert: CreateQuestionResultResponse

Voorbeeld

createQuestionResult Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3CreateQuestionResultBody body;
4body.questionId = U("question-456");
5body.result = U("approved");
6body.comment = boost::optional<utility::string_t>(U("Looks good"));
7api->createQuestionResult(tenantId, body)
8 .then([=](pplx::task<std::shared_ptr<CreateQuestionResultResponse>> t) {
9 try {
10 auto resp = t.get();
11 } catch (const std::exception&) {
12 }
13 });
14

deleteQuestionResult Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: APIEmptyResponse

Voorbeeld

deleteQuestionResult Voorbeeld
Copy Copy
1
2boost::optional<utility::string_t> optTenant = utility::conversions::to_string_t( "my-tenant-123" );
3utility::string_t questionId = utility::conversions::to_string_t( "question-456" );
4
5if ( optTenant )
6{
7 api->deleteQuestionResult( *optTenant, questionId )
8 .then( []( pplx::task<std::shared_ptr<APIEmptyResponse>> t )
9 {
10 try
11 {
12 auto resp = t.get();
13 // succesafhandeling
14 }
15 catch ( const std::exception& e )
16 {
17 // foutafhandeling
18 }
19 } );
20}
21

getQuestionResult Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Response

Retourneert: GetQuestionResultResponse

Example

Voorbeeld getQuestionResult
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto questionId = utility::string_t(U("question-789"));
4boost::optional<utility::string_t> optionalParam = boost::none;
5
6api->getQuestionResult(tenantId, questionId)
7 .then([](pplx::task<std::shared_ptr<GetQuestionResultResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12 });
13

getQuestionResults Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
optionsconst GetQuestionResultsOptions&Yes

Response

Retourneert: GetQuestionResultsResponse

Voorbeeld

getQuestionResults Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetQuestionResultsOptions options;
4options.questionId = boost::optional<utility::string_t>(U("question-456"));
5options.includeDeleted = boost::optional<bool>(false);
6api->getQuestionResults(tenantId, options)
7 .then([](pplx::task<std::shared_ptr<GetQuestionResultsResponse>> t) {
8 auto response = t.get();
9 // handle response
10 });
11

updateQuestionResult Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
updateQuestionResultBodyUpdateQuestionResultBodyJa

Reactie

Retourneert: APIEmptyResponse

Voorbeeld

updateQuestionResult Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto questionId = utility::string_t(U("question-456"));
4UpdateQuestionResultBody body;
5body.result = U("approved");
6body.note = boost::optional<utility::string_t>(U("Reviewed by admin"));
7api->updateQuestionResult(tenantId, questionId, body)
8 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> t) {
9 try {
10 auto respPtr = std::make_shared<APIEmptyResponse>(*t.get());
11 } catch (const std::exception&) {
12 }
13 });
14

aggregateQuestionResults Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst AggregateQuestionResultsOptions&Ja

Respons

Retourneert: AggregateQuestionResultsResponse

Voorbeeld

aggregateQuestionResults Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3AggregateQuestionResultsOptions opts;
4opts.questionId = utility::conversions::to_string_t("question-789");
5opts.startDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-01T00:00:00Z"), utility::datetime::ISO_8601));
6opts.endDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-31T23:59:59Z"), utility::datetime::ISO_8601));
7api->aggregateQuestionResults(tenantId, opts)
8 .then([](std::shared_ptr<AggregateQuestionResultsResponse> resp) {
9 static_cast<void>(resp);
10 });
11

bulkAggregateQuestionResults Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestJa
forceRecalculateboolNee

Respons

Retourneert: BulkAggregateQuestionResultsResponse

Voorbeeld

bulkAggregateQuestionResults Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3BulkAggregateQuestionResultsRequest request;
4request.questionIds = {
5 utility::conversions::to_string_t("q123"),
6 utility::conversions::to_string_t("q456")
7};
8request.startDate = utility::datetime::from_string(U("2023-01-01T00:00:00Z"));
9request.endDate = utility::datetime::from_string(U("2023-01-31T23:59:59Z"));
10boost::optional<bool> forceRecalc = true;
11api->bulkAggregateQuestionResults(tenantId, request, forceRecalc)
12 .then([](pplx::task<std::shared_ptr<BulkAggregateQuestionResultsResponse>> t) {
13 auto resp = t.get();
14 });
15

combineCommentsWithQuestionResults Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst CombineCommentsWithQuestionResultsOptions&Ja

Respons

Retourneert: CombineQuestionResultsWithCommentsResponse

Voorbeeld

combineCommentsWithQuestionResults voorbeeld
Copy Copy
1
2utility::string_t tenantId = utility::string_t("my-tenant-123");
3CombineCommentsWithQuestionResultsOptions options;
4options.questionId = utility::string_t("question-789");
5options.maxComments = boost::optional<int>(50);
6api->combineCommentsWithQuestionResults(tenantId, options).then(
7 [](pplx::task<std::shared_ptr<CombineQuestionResultsWithCommentsResponse>> task){
8 try{
9 auto respPtr = task.get();
10 auto combined = std::make_shared<CombineQuestionResultsWithCommentsResponse>(*respPtr);
11 // Gebruik combined zoals nodig
12 }catch(const std::exception&){
13 }
14 });
15

addSSOUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
createAPISSOUserDataCreateAPISSOUserDataYes

Response

Retourneert: AddSSOUserAPIResponse

Voorbeeld

addSSOUser Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3CreateAPISSOUserData createAPISSOUserData;
4createAPISSOUserData.email = utility::conversions::to_string_t("john.doe@example.com");
5createAPISSOUserData.externalId = utility::conversions::to_string_t("ext-9876");
6createAPISSOUserData.firstName = boost::optional<utility::string_t>(utility::conversions::to_string_t("John"));
7createAPISSOUserData.lastName = boost::optional<utility::string_t>(utility::conversions::to_string_t("Doe"));
8api->addSSOUser(tenantId, createAPISSOUserData)
9 .then([](std::shared_ptr<AddSSOUserAPIResponse> resp) {
10 });
11

deleteSSOUser Internal Link


Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
optionsconst DeleteSSOUserOptions&Ja

Respons

Retourneert: DeleteSSOUserAPIResponse

Voorbeeld

deleteSSOUser Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto userId = U("user-456");
4DeleteSSOUserOptions options;
5options.dryRun = boost::optional<bool>(true);
6api->deleteSSOUser(tenantId, userId, options).then([](std::shared_ptr<DeleteSSOUserAPIResponse> resp) {
7 if (resp) {
8 (void)resp;
9 }
10});
11

getSSOUserByEmail Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
emailstringJa

Response

Retourneert: GetSSOUserByEmailAPIResponse

Voorbeeld

Voorbeeld getSSOUserByEmail
Copy Copy
1
2auto correlationId = boost::optional<utility::string_t>(utility::conversions::to_string_t("corr-001"));
3
4api->getSSOUserByEmail(
5 utility::conversions::to_string_t("my-tenant-123"),
6 utility::conversions::to_string_t("user@example.com")
7).then([](pplx::task<std::shared_ptr<GetSSOUserByEmailAPIResponse>> t) {
8 try {
9 auto response = t.get();
10 } catch (const std::exception&) {
11 }
12});
13

getSSOUserById Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Response

Retourneert: GetSSOUserByIdAPIResponse

Example

getSSOUserById Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto ssoUserId = U("user-789");
4api->getSSOUserById(tenantId, ssoUserId)
5 .then([](std::shared_ptr<GetSSOUserByIdAPIResponse> resp) {
6 boost::optional<utility::string_t> email;
7 if (resp && resp->email) email = resp->email;
8 if (email) {
9 auto e = *email;
10 }
11 });
12

getSSOUsers Internal Link


Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
skipint32_tNee

Response

Retourneert: GetSSOUsersResponse

Voorbeeld

getSSOUsers Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<int32_t> skip = 25;
4api->getSSOUsers(tenantId, skip).then([](pplx::task<std::shared_ptr<GetSSOUsersResponse>> t) {
5 try {
6 auto response = t.get();
7 } catch (const std::exception&) {
8 }
9});
10

patchSSOUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
updateAPISSOUserDataUpdateAPISSOUserDataJa
updateCommentsboolNee

Respons

Retourneert: PatchSSOUserAPIResponse

Voorbeeld

patchSSOUser Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t userId = U("user-456");
4UpdateAPISSOUserData updateData;
5updateData.email = U("jane.doe@example.com");
6updateData.displayName = U("Jane Doe");
7boost::optional<bool> updateComments = true;
8
9api->patchSSOUser(tenantId, userId, updateData, updateComments)
10 .then([](pplx::task<std::shared_ptr<PatchSSOUserAPIResponse>> t){
11 try{
12 auto resp = t.get();
13 (void)resp;
14 }catch(const std::exception&){
15 }
16 });
17

putSSOUser Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateAPISSOUserDataUpdateAPISSOUserDataJa
updateCommentsboolNee

Reactie

Retourneert: PutSSOUserAPIResponse

Voorbeeld

putSSOUser Voorbeeld
Copy Copy
1
2UpdateAPISSOUserData userData;
3userData.email = utility::conversions::to_string_t("alice@example.com");
4userData.first_name = utility::conversions::to_string_t("Alice");
5userData.last_name = utility::conversions::to_string_t("Smith");
6userData.role = utility::conversions::to_string_t("moderator");
7
8api->putSSOUser(
9 utility::conversions::to_string_t("my-tenant-123"),
10 utility::conversions::to_string_t("alice.smith"),
11 userData,
12 boost::optional<bool>(true)
13).then([](pplx::task<std::shared_ptr<PutSSOUserAPIResponse>> t) {
14 auto response = t.get();
15});
16

createSubscription Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataJa

Response

Retourneert: CreateSubscriptionAPIResponse

Voorbeeld

createSubscription Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3CreateAPIUserSubscriptionData subscriptionData;
4subscriptionData.email = U("user@example.com");
5subscriptionData.planId = U("premium-plan");
6subscriptionData.couponCode = boost::optional<utility::string_t>(U("WELCOME10"));
7api->createSubscription(tenantId, subscriptionData)
8 .then([](pplx::task<std::shared_ptr<CreateSubscriptionAPIResponse>> task) {
9 try {
10 auto response = task.get();
11 } catch (const std::exception&) {
12 }
13 });
14

deleteSubscription Internal Link


Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
userIdstringNee

Respons

Retourneert: DeleteSubscriptionAPIResponse

Voorbeeld

deleteSubscription Voorbeeld
Copy Copy
1
2api->deleteSubscription(utility::string_t(U("my-tenant-123")), utility::string_t(U("sub-456")), boost::optional<utility::string_t>(utility::string_t(U("user@example.com"))))
3 .then([](std::shared_ptr<DeleteSubscriptionAPIResponse> resp){
4 if (resp) {
5 }
6 });
7

getSubscriptions Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
userIdstringNee

Response

Retourneert: GetSubscriptionsAPIResponse

Voorbeeld

getSubscriptions Voorbeeld
Copy Copy
1
2auto tenant = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<utility::string_t> user = utility::conversions::to_string_t("user@example.com");
4
5api->getSubscriptions(tenant, user).then(
6 [](pplx::task<std::shared_ptr<GetSubscriptionsAPIResponse>> t) {
7 try {
8 auto response = t.get();
9 // verwerk respons
10 } catch (const std::exception& e) {
11 // verwerk fout
12 }
13 }
14);
15

updateSubscription Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataJa
userIdstringNee

Respons

Retourneert: UpdateSubscriptionAPIResponse

Voorbeeld

updateSubscription Voorbeeld
Copy Copy
1
2UpdateAPIUserSubscriptionData subscriptionData;
3subscriptionData.plan = utility::conversions::to_string_t("premium");
4subscriptionData.active = true;
5
6api->updateSubscription(
7 utility::conversions::to_string_t("my-tenant-123"),
8 utility::conversions::to_string_t("sub-987654"),
9 subscriptionData,
10 boost::optional<utility::string_t>(utility::conversions::to_string_t("admin-user-456"))
11).then([](std::shared_ptr<UpdateSubscriptionAPIResponse> response){
12 bool ok = response && response->isSuccess;
13 (void)ok;
14});
15

getTenantDailyUsages Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetTenantDailyUsagesOptions&Ja

Response

Retourneert: GetTenantDailyUsagesResponse

Voorbeeld

Voorbeeld van getTenantDailyUsages
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetTenantDailyUsagesOptions opts;
4opts.startDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-01T00:00:00Z")));
5opts.endDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-31T23:59:59Z")));
6api->getTenantDailyUsages(tenantId, opts).then([](std::shared_ptr<GetTenantDailyUsagesResponse> resp){
7 auto result = std::make_shared<GetTenantDailyUsagesResponse>(*resp);
8}).wait();
9

createTenantPackage Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createTenantPackageBodyCreateTenantPackageBodyJa

Respons

Retourneert: CreateTenantPackageResponse

Voorbeeld

createTenantPackage Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3CreateTenantPackageBody body;
4body.name = utility::conversions::to_string_t("Pro Plan");
5body.maxUsers = 100;
6body.expiryDate = boost::optional<utility::datetime>(utility::datetime::utc_now() + std::chrono::hours(24 * 30));
7body.notes = boost::none;
8api->createTenantPackage(tenantId, body).then([](pplx::task<std::shared_ptr<CreateTenantPackageResponse>> t){
9 try{
10 auto resp = t.get();
11 }catch(const std::exception&){
12 }
13});
14

deleteTenantPackage Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: APIEmptyResponse

Voorbeeld

deleteTenantPackage Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto packageId = utility::conversions::to_string_t("pkg-456");
4boost::optional<utility::string_t> optTenant = tenantId;
5boost::optional<utility::string_t> optPackage = packageId;
6api->deleteTenantPackage(optTenant.value(), optPackage.value())
7 .then([](std::shared_ptr<APIEmptyResponse>){ })
8 .then([](pplx::task<void> t){ try{ t.get(); }catch(const std::exception&){ } });
9

getTenantPackage Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Respons

Retourneert: GetTenantPackageResponse

Voorbeeld

getTenantPackage Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto packageId = U("pkg-456");
4api->getTenantPackage(tenantId, packageId).then([](pplx::task<std::shared_ptr<GetTenantPackageResponse>> task){
5 try{
6 auto resp = task.get();
7 auto result = std::make_shared<GetTenantPackageResponse>(*resp);
8 }catch(...){}
9});
10

getTenantPackages Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
skipdoubleNee

Respons

Retourneert: GetTenantPackagesResponse

Voorbeeld

getTenantPackages Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<double> skip = 20.0;
4api->getTenantPackages(tenantId, skip)
5 .then([](std::shared_ptr<GetTenantPackagesResponse> resp) {
6 (void)resp;
7 });
8

replaceTenantPackage Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
replaceTenantPackageBodyReplaceTenantPackageBodyJa

Respons

Retourneert: APIEmptyResponse

Voorbeeld

replaceTenantPackage Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto pkgId = utility::conversions::to_string_t("pkg-456");
4ReplaceTenantPackageBody body;
5body.planId = utility::conversions::to_string_t("enterprise");
6body.notes = boost::optional<utility::string_t>(utility::conversions::to_string_t("Upgrade request"));
7api->replaceTenantPackage(tenantId, pkgId, body)
8 .then([](std::shared_ptr<APIEmptyResponse>) { })
9 .then([](pplx::task<void> t) {
10 try { t.get(); } catch (const std::exception&) { }
11 });
12

updateTenantPackage Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateTenantPackageBodyUpdateTenantPackageBodyJa

Respons

Retourneert: APIEmptyResponse

Voorbeeld

updateTenantPackage Voorbeeld
Copy Copy
1
2auto body = std::make_shared<UpdateTenantPackageBody>();
3body->packageId = utility::conversions::to_string_t("premium-plan");
4body->expirationDate = utility::conversions::to_string_t("2025-12-31");
5body->notes = boost::optional<utility::string_t>(utility::conversions::to_string_t("Upgraded package"));
6
7api->updateTenantPackage(utility::conversions::to_string_t("my-tenant-123"),
8 utility::conversions::to_string_t("pkg-456"),
9 body)
10 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> task) {
11 try {
12 auto response = task.get();
13 // succesafhandeling
14 } catch (const std::exception& ex) {
15 // foutafhandeling
16 }
17 });
18

createTenantUser Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
createTenantUserBodyCreateTenantUserBodyYes

Respons

Retourneert: CreateTenantUserResponse

Voorbeeld

createTenantUser Voorbeeld
Copy Copy
1
2auto body = CreateTenantUserBody{};
3body.email = utility::conversions::to_string_t("newuser@example.com");
4body.firstName = utility::conversions::to_string_t("Alice");
5body.lastName = utility::conversions::to_string_t("Smith");
6body.role = boost::optional<utility::string_t>(utility::conversions::to_string_t("moderator"));
7
8api->createTenantUser(utility::conversions::to_string_t("my-tenant-123"), body)
9 .then([](pplx::task<std::shared_ptr<CreateTenantUserResponse>> task) {
10 try {
11 auto response = task.get();
12 } catch (const std::exception&) {
13 }
14 });
15

deleteTenantUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
optionsconst DeleteTenantUserOptions&Ja

Respons

Retourneert: APIEmptyResponse

Voorbeeld

deleteTenantUser Voorbeeld
Copy Copy
1
2DeleteTenantUserOptions options;
3options.reason = boost::optional<utility::string_t>(U("User requested deletion"));
4
5api->deleteTenantUser(U("my-tenant-123"), U("user@example.com"), options)
6 .then([](std::shared_ptr<APIEmptyResponse> resp){
7 (void)resp;
8 });
9

getTenantUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetTenantUserResponse

Voorbeeld

getTenantUser Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("user@example.com");
4api->getTenantUser(tenantId, userId)
5 .then([](pplx::task<std::shared_ptr<GetTenantUserResponse>> task) {
6 try {
7 auto response = task.get();
8 // Gebruik de response indien nodig
9 } catch (const std::exception&) {
10 // Foutafhandeling
11 }
12 });
13

getTenantUsers Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringJa
skipdoubleNee

Respons

Retourneert: GetTenantUsersResponse

Voorbeeld

getTenantUsers Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<double> skip = 10;
4
5api->getTenantUsers(tenantId, skip).then([](pplx::task<std::shared_ptr<GetTenantUsersResponse>> t){
6 try {
7 auto resp = t.get();
8 } catch (const std::exception&) {
9 }
10});
11

replaceTenantUser Internal Link


Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
replaceTenantUserBodyReplaceTenantUserBodyJa
updateCommentsstringNee

Respons

Retourneert: APIEmptyResponse

Voorbeeld

replaceTenantUser Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto userId = utility::string_t(U("john.doe@example.com"));
4ReplaceTenantUserBody replaceBody;
5replaceBody.email = utility::string_t(U("john.doe@example.com"));
6replaceBody.role = utility::string_t(U("admin"));
7boost::optional<utility::string_t> updateComments = utility::string_t(U("Promoted to admin"));
8api->replaceTenantUser(tenantId, userId, replaceBody, updateComments)
9 .then([](std::shared_ptr<APIEmptyResponse> resp){ });
10

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
redirectURLstringNee

Response

Retourneert: APIEmptyResponse

Example

sendLoginLink Voorbeeld
Copy Copy
1
2api->sendLoginLink(
3 U("my-tenant-123"),
4 U("user@example.com"),
5 boost::make_optional(U("https://myapp.com/auth/callback"))
6).then([](std::shared_ptr<APIEmptyResponse> resp) {
7});
8

updateTenantUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
updateTenantUserBodyUpdateTenantUserBodyJa
updateCommentsstringNee

Respons

Retourneert: APIEmptyResponse

Voorbeeld

updateTenantUser Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t userId = U("user-456");
4UpdateTenantUserBody body;
5body.email = U("john.doe@example.com");
6body.role = U("admin");
7boost::optional<utility::string_t> updateComments = U("Promoted to admin");
8
9api->updateTenantUser(tenantId, userId, body, updateComments)
10 .then([](std::shared_ptr<APIEmptyResponse>){ });
11

createTenant Internal Link


Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
createTenantBodyCreateTenantBodyYes

Respons

Retourneert: CreateTenantResponse

Voorbeeld

createTenant Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3CreateTenantBody body;
4body.setName(utility::conversions::to_string_t("Acme Corp"));
5body.setAdminEmail(utility::conversions::to_string_t("admin@acme.com"));
6body.setPlan(utility::conversions::to_string_t("enterprise"));
7body.setDescription(boost::optional<utility::string_t>(utility::conversions::to_string_t("Primary tenant for Acme")));
8
9api->createTenant(tenantId, body).then([](pplx::task<std::shared_ptr<CreateTenantResponse>> t){
10 auto resp = t.get();
11});
12

deleteTenant Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
surestringNee

Respons

Retourneert: APIEmptyResponse

Voorbeeld

deleteTenant Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("user@example.com");
4boost::optional<utility::string_t> sure = utility::conversions::to_string_t("true");
5api->deleteTenant(tenantId, userId, sure)
6 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> t){
7 try{
8 auto resp = t.get();
9 auto result = std::make_shared<APIEmptyResponse>(*resp);
10 }catch(const std::exception&){})
11

getTenant Internal Link


Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetTenantResponse

Voorbeeld

getTenant Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto id = utility::conversions::to_string_t("tenant-admin-456");
4boost::optional<utility::string_t> includeDetails = utility::conversions::to_string_t("full");
5api->getTenant(tenantId, id)
6 .then([](std::shared_ptr<GetTenantResponse> resp) {
7 if (resp) {
8 std::wcout << resp->toString() << std::endl;
9 }
10 });
11

getTenants Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetTenantsOptions&Ja

Respons

Retourneert: GetTenantsResponse

Voorbeeld

getTenants Voorbeeld
Copy Copy
1
2GetTenantsOptions options;
3options.includeDeleted = boost::make_optional(false);
4options.searchTerm = boost::make_optional(utility::string_t(U("enterprise")));
5
6api->getTenants(utility::string_t(U("my-tenant-123")), options)
7 .then([](std::shared_ptr<GetTenantsResponse> response) {
8 })
9 .then([](pplx::task<void> t){ try{ t.get(); }catch(...){} });
10

updateTenant Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
updateTenantBodyUpdateTenantBodyJa

Response

Retourneert: APIEmptyResponse

Voorbeeld

updateTenant Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto recordId = utility::string_t(U("tenant-456"));
4UpdateTenantBody body;
5body.name = boost::optional<utility::string_t>(U("Acme Corp"));
6body.contactEmail = boost::optional<utility::string_t>(U("admin@acme.com"));
7api->updateTenant(tenantId, recordId, body).then([](std::shared_ptr<APIEmptyResponse> resp) {
8 auto log = std::make_shared<utility::string_t>(U("Tenant update succeeded"));
9 (void)resp;
10 (void)log;
11});
12

changeTicketState Internal Link


Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
userIdstringJa
idstringJa
changeTicketStateBodyChangeTicketStateBodyJa

Respons

Retourneert: ChangeTicketStateResponse

Voorbeeld

changeTicketState Voorbeeld
Copy Copy
1
2auto body = std::make_shared<ChangeTicketStateBody>();
3body->state = U("closed");
4body->comment = boost::optional<utility::string_t>(U("Ticket resolved"));
5api->changeTicketState(U("my-tenant-123"), U("user@example.com"), U("ticket-456"), *body)
6 .then([](std::shared_ptr<ChangeTicketStateResponse>) {});
7

createTicket Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
userIdstringJa
createTicketBodyCreateTicketBodyJa

Respons

Retourneert: CreateTicketResponse

Voorbeeld

createTicket Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("john.doe@example.com");
4CreateTicketBody ticketBody;
5ticketBody.setSubject(utility::conversions::to_string_t("Login Issue"));
6ticketBody.setDescription(utility::conversions::to_string_t("Cannot log in after password reset."));
7boost::optional<int> priority = 2;
8ticketBody.setPriority(priority);
9api->createTicket(tenantId, userId, ticketBody).then([](pplx::task<std::shared_ptr<CreateTicketResponse>> task){
10 try{
11 auto response = task.get();
12 // Gebruik de respons naar behoefte
13 }catch(const std::exception&){
14 // Fout afhandelen
15 }
16});
17

getTicket Internal Link

Parameters

NaamTypeVerplichtOmschrijving
tenantIdstringJa
idstringJa
userIdstringNee

Respons

Retourneert: GetTicketResponse

Voorbeeld

getTicket Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t ticketId = U("ticket-789");
4boost::optional<utility::string_t> userId = U("alice@example.com");
5api->getTicket(tenantId, ticketId, userId).then([](pplx::task<std::shared_ptr<GetTicketResponse>> task){
6 try{
7 auto resp = task.get();
8 }catch(const std::exception&){
9 }
10});
11

getTickets Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringJa
optionsconst GetTicketsOptions&Ja

Response

Returns: GetTicketsResponse

Example

getTickets Voorbeeld
Copy Copy
1
2auto options = GetTicketsOptions{};
3options.page = boost::optional<int>(1);
4options.status = boost::optional<utility::string_t>(U("open"));
5api->getTickets(U("my-tenant-123"), options).then([](pplx::task<std::shared_ptr<GetTicketsResponse>> task) {
6 try {
7 auto response = task.get();
8 auto responseCopy = std::make_shared<GetTicketsResponse>(*response);
9 } catch (const std::exception&) {
10 }
11});
12

getTranslations Internal Link

Parameters

NaamTypeVerplichtBeschrijving
r_namespacestringJa
componentstringJa
optionsconst GetTranslationsOptions&Ja

Respons

Retourneert: GetTranslationsResponse

Voorbeeld

getTranslations Voorbeeld
Copy Copy
1
2utility::string_t ns = U("my-tenant-123");
3utility::string_t comp = U("comments");
4auto optsPtr = std::make_shared<GetTranslationsOptions>();
5optsPtr->language = boost::make_optional(U("en"));
6optsPtr->fallback = boost::none;
7api->getTranslations(ns, comp, *optsPtr)
8 .then([](pplx::task<std::shared_ptr<GetTranslationsResponse>> t) {
9 try {
10 auto resp = t.get();
11 } catch (const std::exception& e) {
12 }
13 });
14

uploadImage Internal Link

Upload en schaaf een afbeelding

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
fileHttpContentJa
optionsconst UploadImageOptions&Ja

Response

Retourneert: UploadImageResponse

Example

uploadImage Voorbeeld
Copy Copy
1
2auto fileStream = concurrency::streams::fstream::open_istream(U("avatar.png"), std::ios::in).get();
3HttpContent file(fileStream, U("image/png"));
4UploadImageOptions options;
5options.description = boost::optional<utility::string_t>(U("Profile picture"));
6options.width = boost::optional<int>(256);
7options.height = boost::optional<int>(256);
8api->uploadImage(U("my-tenant-123"), file, options).then([](pplx::task<std::shared_ptr<UploadImageResponse>> t){
9 auto resp = t.get();
10});
11

getUserBadgeProgressById Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
idstringYes

Respons

Retourneert: APIGetUserBadgeProgressResponse

Voorbeeld

getUserBadgeProgressById Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto userId = U("user-456");
4api->getUserBadgeProgressById(tenantId, userId)
5 .then([=](pplx::task<std::shared_ptr<APIGetUserBadgeProgressResponse>> t){
6 try{
7 auto resp = t.get();
8 boost::optional<std::shared_ptr<APIGetUserBadgeProgressResponse>> optResp = resp;
9 if(optResp){}
10 }catch(const std::exception&){}
11 });
12

getUserBadgeProgressByUserId Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
userIdstringYes

Reactie

Retourneert: APIGetUserBadgeProgressResponse

Voorbeeld

getUserBadgeProgressByUserId Voorbeeld
Copy Copy
1
2boost::optional<std::shared_ptr<APIGetUserBadgeProgressResponse>> responseOpt;
3api->getUserBadgeProgressByUserId(
4 utility::conversions::to_string_t("my-tenant-123"),
5 utility::conversions::to_string_t("user@example.com"))
6 .then([&responseOpt](pplx::task<std::shared_ptr<APIGetUserBadgeProgressResponse>> t) {
7 try {
8 responseOpt = t.get();
9 } catch (...) {
10 responseOpt = boost::none;
11 }
12 });
13

getUserBadgeProgressList Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetUserBadgeProgressListOptions&Ja

Antwoord

Retourneert: APIGetUserBadgeProgressListResponse

Voorbeeld

getUserBadgeProgressList Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetUserBadgeProgressListOptions options;
4options.userId = U("user@example.com");
5options.page = boost::optional<int>(1);
6options.pageSize = boost::optional<int>(20);
7api->getUserBadgeProgressList(tenantId, options)
8 .then([](std::shared_ptr<APIGetUserBadgeProgressListResponse> resp) {
9 if (!resp) return;
10 for (const auto& badge : resp->badges) {
11 // badge verwerken
12 }
13 });
14

createUserBadge Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createUserBadgeParamsCreateUserBadgeParamsJa

Respons

Retourneert: APICreateUserBadgeResponse

Voorbeeld

createUserBadge Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3CreateUserBadgeParams badgeParams;
4badgeParams.userEmail = U("user@example.com");
5badgeParams.badgeCode = U("gold");
6badgeParams.expirationDate = boost::optional<utility::datetime>(utility::datetime::utc_now() + utility::datetime::from_seconds(2592000));
7api->createUserBadge(tenantId, badgeParams).then([](std::shared_ptr<APICreateUserBadgeResponse> resp){
8 if (resp && resp->success) {
9 auto result = std::make_shared<APICreateUserBadgeResponse>(*resp);
10 }
11});
12

deleteUserBadge Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
idstringYes

Respons

Retourneert: APIEmptySuccessResponse

Voorbeeld

deleteUserBadge Voorbeeld
Copy Copy
1
2auto tenantId = boost::optional<utility::string_t>(U("my-tenant-123"));
3auto badgeId = utility::string_t(U("badge-789"));
4api->deleteUserBadge(tenantId.value(), badgeId)
5 .then([](std::shared_ptr<APIEmptySuccessResponse> resp){
6 auto copy = std::make_shared<APIEmptySuccessResponse>(*resp);
7 })
8 .then([](pplx::task<void> t){
9 try{ t.get(); } catch(const std::exception&){ }
10 });
11

getUserBadge Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Response

Retourneert: APIGetUserBadgeResponse

Voorbeeld

getUserBadge Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t userId = U("user-456");
4api->getUserBadge(tenantId, userId).then([](pplx::task<std::shared_ptr<APIGetUserBadgeResponse>> t){
5 try{
6 auto resp = t.get();
7 boost::optional<std::string> badgeUrl = resp->badge_url ? boost::optional<std::string>(*resp->badge_url) : boost::none;
8 }catch(const std::exception&){
9 }
10});
11

getUserBadges Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
optionsconst GetUserBadgesOptions&Ja

Respons

Retourneert: APIGetUserBadgesResponse

Voorbeeld

getUserBadges Voorbeeld
Copy Copy
1
2GetUserBadgesOptions opts;
3opts.userId = boost::make_optional(U("user@example.com"));
4opts.includeExpired = boost::make_optional(false);
5
6api->getUserBadges(U("my-tenant-123"), opts)
7 .then([](pplx::task<std::shared_ptr<APIGetUserBadgesResponse>> t) {
8 try {
9 auto response = t.get();
10 } catch (const std::exception&) {
11 }
12 });
13

updateUserBadge Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
updateUserBadgeParamsUpdateUserBadgeParamsJa

Respons

Retourneert: APIEmptySuccessResponse

Voorbeeld

updateUserBadge Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("user@example.com");
4UpdateUserBadgeParams params;
5params.badgeId = utility::conversions::to_string_t("vip-badge");
6params.expiration = boost::optional<utility::datetime>(utility::datetime::from_string(U("2024-12-31T23:59:59Z")));
7api->updateUserBadge(tenantId, userId, params)
8 .then([](std::shared_ptr<APIEmptySuccessResponse> resp){
9 std::cout << "Badge updated successfully\n";
10 })
11 .catch([](std::exception const& e){
12 std::cerr << "Error updating badge: " << e.what() << "\n";
13 });
14

getUserNotificationCount Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
ssostringNee

Respons

Retourneert: GetUserNotificationCountResponse

Voorbeeld

Voorbeeld getUserNotificationCount
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<utility::string_t> sso = utility::conversions::to_string_t("user@example.com");
4api->getUserNotificationCount(tenantId, sso).then([](pplx::task<std::shared_ptr<GetUserNotificationCountResponse>> t){
5 try{
6 auto resp = t.get();
7 // gebruik resp indien nodig
8 }catch(const std::exception&){
9 // verwerk fout
10 }
11});
12

getUserNotifications Internal Link


Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst GetUserNotificationsOptions&Ja

Respons

Retourneert: GetMyNotificationsResponse

Voorbeeld

getUserNotifications Voorbeeld
Copy Copy
1
2utility::string_t tenantId = utility::string_t("my-tenant-123");
3GetUserNotificationsOptions options;
4options.limit = boost::optional<int>(20);
5options.unreadOnly = boost::optional<bool>(true);
6api->getUserNotifications(tenantId, options)
7 .then([](pplx::task<std::shared_ptr<GetMyNotificationsResponse>> task){
8 auto resp = task.get();
9 auto notifications = std::make_shared<GetMyNotificationsResponse>(*resp);
10 });
11

resetUserNotificationCount Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
ssostringNee

Response

Retourneert: ResetUserNotificationsResponse

Example

resetUserNotificationCount Voorbeeld
Copy Copy
1
2auto resetTask = api->resetUserNotificationCount(
3 U("my-tenant-123"),
4 boost::optional<utility::string_t>(U("user@example.com"))
5).then([](std::shared_ptr<ResetUserNotificationsResponse> resp){
6});
7

resetUserNotifications Internal Link


Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
optionsconst ResetUserNotificationsOptions&Ja

Respons

Retourneert: ResetUserNotificationsResponse

Voorbeeld

resetUserNotifications Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3ResetUserNotificationsOptions options;
4options.email = boost::optional<utility::string_t>(U("user@example.com"));
5api->resetUserNotifications(tenantId, options)
6 .then([](std::shared_ptr<ResetUserNotificationsResponse> resp) {
7 // Process response
8 });
9

updateUserNotificationCommentSubscriptionStatus Internal Link

Schakel meldingen in of uit voor een specifiek commentaar.

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
notificationIdstringYes
optedInOrOutstringYes
commentIdstringYes
ssostringNo

Response

Retourneert: UpdateUserNotificationCommentSubscriptionStatusResponse

Example

Voorbeeld van updateUserNotificationCommentSubscriptionStatus
Copy Copy
1
2auto updateTask = api->updateUserNotificationCommentSubscriptionStatus(
3 utility::conversions::to_string_t("my-tenant-123"),
4 utility::conversions::to_string_t("notif-456"),
5 utility::conversions::to_string_t("optedIn"),
6 utility::conversions::to_string_t("comment-789"),
7 boost::optional<utility::string_t>(utility::conversions::to_string_t("sso-token-abc"))
8).then([](std::shared_ptr<UpdateUserNotificationCommentSubscriptionStatusResponse> resp){
9 (void)resp;
10});
11

updateUserNotificationPageSubscriptionStatus Internal Link

Enable of schakel meldingen voor een pagina in of uit. Wanneer gebruikers zich op een pagina abonneren, worden meldingen aangemaakt voor nieuwe hoofdreacties, en ook

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
urlstringJa
pageTitlestringJa
subscribedOrUnsubscribedstringJa
ssostringNee

Respons

Returns: UpdateUserNotificationPageSubscriptionStatusResponse

Voorbeeld

updateUserNotificationPageSubscriptionStatus Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("page-456");
4utility::string_t url = U("https://example.com/articles/awesome-article");
5utility::string_t pageTitle = U("Awesome Article");
6utility::string_t subscription = U("subscribed");
7boost::optional<utility::string_t> sso = boost::make_optional<utility::string_t>(U("sso-token-789"));
8
9api->updateUserNotificationPageSubscriptionStatus(tenantId, urlId, url, pageTitle, subscription, sso)
10 .then([](std::shared_ptr<UpdateUserNotificationPageSubscriptionStatusResponse> resp) {
11 // verwerk resp indien nodig
12 });
13

updateUserNotificationStatus Internal Link


Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
notificationIdstringJa
newStatusstringJa
ssostringNee

Respons

Retourneert: UpdateUserNotificationStatusResponse

Voorbeeld

updateUserNotificationStatus Voorbeeld
Copy Copy
1
2api->updateUserNotificationStatus(
3 U("my-tenant-123"),
4 U("notif-456"),
5 U("read"),
6 boost::optional<utility::string_t>(U("sso-token-abc"))
7).then([](std::shared_ptr<UpdateUserNotificationStatusResponse> resp) {
8}).wait();
9

getUserPresenceStatuses Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdWSstringJa
userIdsstringJa

Respons

Retourneert: GetUserPresenceStatusesResponse

Voorbeeld

getUserPresenceStatuses Voorbeeld
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto urlIdWS = U("article-789");
4auto userIds = U("alice@example.com,bob@example.com");
5boost::optional<utility::string_t> optionalFilter = boost::none;
6api->getUserPresenceStatuses(tenantId, urlIdWS, userIds)
7 .then([](pplx::task<std::shared_ptr<GetUserPresenceStatusesResponse>> t){
8 try{
9 auto response = t.get();
10 }catch(...){
11 }
12 });
13

searchUsers Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa
optionsconst SearchUsersOptions&Ja

Respons

Retourneert: SearchUsersResult

Voorbeeld

searchUsers Voorbeeld
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("article-456");
4SearchUsersOptions options;
5options.query = U("john.doe@example.com");
6options.page = boost::optional<int>(1);
7options.pageSize = boost::optional<int>(20);
8api->searchUsers(tenantId, urlId, options).then([](pplx::task<std::shared_ptr<SearchUsersResult>> task){
9 try{
10 auto result = task.get();
11 }catch(const std::exception&){}
12});
13

getUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetUserResponse

Voorbeeld

getUser Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("user-789");
4boost::optional<utility::string_t> optTag = boost::none;
5
6api->getUser(tenantId, userId)
7 .then([=](pplx::task<std::shared_ptr<GetUserResponse>> task) {
8 try {
9 auto response = task.get();
10 if (!response) {
11 response = std::make_shared<GetUserResponse>();
12 }
13 // verwerk reactie indien nodig
14 } catch (const std::exception&) {
15 // behandel fout
16 }
17 });
18

createVote Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
commentIdstringYes
directionstringYes
optionsconst CreateVoteOptions&Yes

Response

Retourneert: VoteResponse

Voorbeeld

createVote Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456");
4auto direction = utility::conversions::to_string_t("up");
5auto optionsPtr = std::make_shared<CreateVoteOptions>();
6optionsPtr->userId = utility::conversions::to_string_t("user-789");
7optionsPtr->ipAddress = boost::optional<utility::string_t>(utility::conversions::to_string_t("192.168.1.100"));
8api->createVote(tenantId, commentId, direction, *optionsPtr)
9 .then([](std::shared_ptr<VoteResponse> resp){});
10

deleteVote Internal Link


Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
idstringYes
editKeystringNo

Respons

Retourneert: VoteDeleteResponse

Voorbeeld

deleteVote Voorbeeld
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto voteId = utility::conversions::to_string_t("vote-9876");
4boost::optional<utility::string_t> editKey = utility::conversions::to_string_t("edit-abc123");
5
6api->deleteVote(tenantId, voteId, editKey).then([](pplx::task<std::shared_ptr<VoteDeleteResponse>> task) {
7 try {
8 auto response = task.get();
9 // Verwerk de respons indien nodig
10 } catch (const std::exception&) {
11 // Fout afhandelen
12 }
13});
14
---

getVotes Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes

Respons

Retourneert: GetVotesResponse

Voorbeeld

getVotes Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto urlId = utility::string_t(U("article-456"));
4boost::optional<utility::string_t> extraHeader = boost::none;
5
6api->getVotes(tenantId, urlId).then([=](pplx::task<std::shared_ptr<GetVotesResponse>> task) {
7 try {
8 auto original = task.get();
9 auto response = std::make_shared<GetVotesResponse>(*original);
10 } catch (...) {
11 // foutafhandeling
12 }
13});
14

getVotesForUser Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
optionsconst GetVotesForUserOptions&Ja

Respons

Retourneert: GetVotesForUserResponse

Voorbeeld

getVotesForUser Voorbeeld
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto urlId = utility::string_t(U("post-456"));
4GetVotesForUserOptions options;
5options.page = boost::optional<int>(2);
6options.pageSize = boost::optional<int>(50);
7api->getVotesForUser(tenantId, urlId, options).then([](std::shared_ptr<GetVotesForUserResponse> response) {
8 if (response) {
9 // handle response, e.g., iterate votes
10 }
11});
12

Hulp nodig?

Als u problemen ondervindt of vragen heeft over de C++ SDK, doe dan het volgende:

Bijdragen

Bijdragen zijn welkom! Bezoek de GitHub repository voor richtlijnen voor bijdragen.