FastComments.com

FastComments C++ SDK

Dette er den officielle C++ SDK til FastComments.

Officiel C++ SDK til FastComments API'en

Repository

Se på GitHub


Krav Internal Link

  • C++17 eller nyere
  • CMake 3.14 eller nyere
  • OpenSSL
  • C++ REST SDK (cpprestsdk)
  • Boost
  • Google Test (downloades automatisk til testning)

Installation Internal Link

Installer afhængigheder

sudo apt install libcpprest-dev libboost-all-dev

Byg fra kildekode

mkdir build
cd build
cmake ..
make

Installation

sudo make install

Biblioteksindhold

Dette bibliotek indeholder den genererede API-klient og SSO‑værktøjerne, som gør arbejdet med API'en lettere.

Offentlige vs sikrede API'er

For API‑klienten er der tre klasser, DefaultApi, PublicApi og ModerationApi. DefaultApi indeholder metoder, der kræver din API‑nøgle, og PublicApi indeholder
metoder, der kan kaldes direkte fra en browser/mobil enhed/osv uden godkendelse. ModerationApi leverer en omfattende suite af live og hurtige moderations‑API'er. Hver ModerationApi‑metode accepterer en sso‑parameter og kan godkendes via SSO eller en FastComments.com sessions‑cookie.

Noter Internal Link

Broadcast-id'er

Du vil se, at du skal sende en broadcastId i nogle API-opkald. Når du modtager events, får du dette ID tilbage, så du kan ignorere eventet, hvis du planlægger at anvende ændringer optimistisk på klienten (hvilket du sandsynligvis vil gøre, da det giver den bedste oplevelse). Send en UUID her. ID'et bør være unikt nok til ikke at forekomme to gange i en browser-session.

SSO (Single Sign-On)

For SSO-eksempler, se nedenfor.

Brug af SSO Internal Link


Simpel 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;
}

Sikker 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

Aggregere dokumenter ved at gruppere dem (hvis groupBy er angivet) og anvende flere operationer.
Forskellige operationer (f.eks. sum, countDistinct, avg osv.) understøttes.

Parameters

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
aggregationRequestAggregationRequestJa
optionsconst AggregateOptions&Ja

Response

Returnerer: AggregateResponse

Example

aggreger Eksempel
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 // behandl svar
19 } catch (const std::exception& e) {
20 // håndter fejl
21 }
22 });
23

getAuditLogs Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetAuditLogsOptions&Ja

Svar

Returnerer: GetAuditLogsResponse

Eksempel

getAuditLogs Eksempel
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 // brug svar
13 } catch (const std::exception& e) {
14 // håndter fejl
15 }
16});
17

logoutPublic Internal Link

Svar

Returnerer: APIEmptyResponse

Eksempel

logoutPublic Eksempel
Copy Copy
1
2api->logoutPublic()
3 .then([](std::shared_ptr<APIEmptyResponse> /*respons*/) {
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

Svar

Returnerer: BlockSuccess

Eksempel

blockFromCommentPublic Eksempel
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, sso)
9 .then([](std::shared_ptr<BlockSuccess> result){
10 auto successCopy = std::make_shared<BlockSuccess>(*result);
11 });
12

unBlockCommentPublic Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

Svar

Returnerer: UnblockSuccess

Eksempel

unBlockCommentPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdsstringYes
ssostringNo

Svar

Returnerer: CheckBlockedCommentsResponse

Eksempel

checkedCommentsForBlocked Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
blockFromCommentParamsBlockFromCommentParamsYes
optionsconst BlockUserFromCommentOptions&Yes

Svar

Returnerer: BlockSuccess

Eksempel

blockUserFromComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
broadcastIdstringJa
commentDataCommentDataJa
optionsconst CreateCommentPublicOptions&Ja

Respons

Returnerer: SaveCommentsResponseWithPresence

Eksempel

createCommentPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
optionsconst DeleteCommentOptions&Ja

Svar

Returnerer: DeleteCommentResult

Eksempel

deleteComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
optionsconst DeleteCommentPublicOptions&Ja

Svar

Returnerer: PublicAPIDeleteCommentResponse

Eksempel

deleteCommentPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
voteIdstringJa
urlIdstringJa
broadcastIdstringJa
optionsconst DeleteCommentVoteOptions&Ja

Svar

Returnerer: VoteDeleteResponse

Eksempel

deleteCommentVote Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
optionsconst FlagCommentOptions&Yes

Svar

Returnerer: FlagCommentResponse

Eksempel

flagComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: APIGetCommentResponse

Eksempel

getComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetCommentsOptions&Ja

Svar

Returnerer: APIGetCommentsResponse

Eksempel

getComments Eksempel
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 // brug svaret efter behov
12 } catch (const std::exception& e) {
13 // håndtér fejl
14 }
15});
16

getCommentsPublic Internal Link

req tenantId urlId

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
optionsconst GetCommentsPublicOptions&Ja

Svar

Returnerer: GetCommentsResponseWithPresence_PublicComment_

Eksempel

getCommentsPublic Eksempel
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

Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
optionsconst GetCommentTextOptions&Yes

Svar

Returnerer: PublicAPIGetCommentTextResponse

Eksempel

getCommentText Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
dirint32_tYes
ssostringNo

Svar

Returnerer: GetCommentVoteUserNamesSuccessResponse

Eksempel

getCommentVoteUserNames Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNej

Respons

Returnerer: APIEmptyResponse

Eksempel

lockComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNej

Svar

Returnerer: ChangeCommentPinStatusResponse

Eksempel

pinComment Eksempel
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, sio)
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createCommentParamsCreateCommentParamsJa
optionsconst SaveCommentOptions&Ja

Svar

Returnerer: APISaveCommentResponse

Eksempel

saveComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
commentTextUpdateRequestCommentTextUpdateRequestYes
optionsconst SetCommentTextOptions&Yes

Svar

Returnerer: PublicAPISetCommentTextResponse

Eksempel

setCommentText Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
unBlockFromCommentParamsUnBlockFromCommentParamsJa
optionsconst UnBlockUserFromCommentOptions&Ja

Svar

Returnerer: UnblockSuccess

Eksempel

unBlockUserFromComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
optionsconst UnFlagCommentOptions&Ja

Svar

Returnerer: FlagCommentResponse

Eksempel

unFlagComment Eksempel
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 // behandl status om nødvendigt
9 }
10 })
11 .then([](pplx::task<void> previous) {
12 try {
13 previous.get();
14 } catch (const std::exception& e) {
15 // håndter fejl
16 }
17 });
18

unLockComment Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Svar

Returnerer: APIEmptyResponse

Eksempel

unLockComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Svar

Returnerer: ChangeCommentPinStatusResponse

Eksempel

unPinComment Eksempel
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

Parametre

NavnTypeObligatoriskBeskrivelse
tenantIdstringYes
idstringYes
updatableCommentParamsUpdatableCommentParamsYes
optionsconst UpdateCommentOptions&Yes

Svar

Returnerer: APIEmptyResponse

Eksempel

updateComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
urlIdstringYes
broadcastIdstringYes
voteBodyParamsVoteBodyParamsYes
optionsconst VoteCommentOptions&Yes

Respons

Returnerer: VoteResponse

Eksempel

voteComment Eksempel
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 // behandl svar
19 } catch (const std::exception&) {
20 }
21 });
22

getCommentsForUser Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
optionsconst GetCommentsForUserOptions&Ja

Svar

Returnerer: GetCommentsForUserResponse

Eksempel

getCommentsForUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
addDomainConfigParamsAddDomainConfigParamsJa

Svar

Returnerer: AddDomainConfigResponse

Eksempel

addDomainConfig Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
domainstringYes

Svar

Returns: DeleteDomainConfigResponse

Eksempel

deleteDomainConfig Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
domainstringYes

Svar

Returnerer: GetDomainConfigResponse

Eksempel

getDomainConfig Eksempel
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 // håndter aktiveret moderation
12 }
13 if (theme) {
14 // brug tema værdi
15 }
16 })
17 .wait();
18

getDomainConfigs Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes

Svar

Returnerer: GetDomainConfigsResponse

Eksempel

getDomainConfigs Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
domainToUpdatestringYes
patchDomainConfigParamsPatchDomainConfigParamsYes

Svar

Returnerer: PatchDomainConfigResponse

Eksempel

patchDomainConfig Eksempel
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 // håndtering af succes
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception& e) { /* fejlbehandling */ }
15 });
16

putDomainConfig Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
domainToUpdatestringYes
updateDomainConfigParamsUpdateDomainConfigParamsYes

Svar

Returnerer: PutDomainConfigResponse

Eksempel

putDomainConfig Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createEmailTemplateBodyCreateEmailTemplateBodyYes

Svar

Returnerer: CreateEmailTemplateResponse

Eksempel

createEmailTemplate Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes

Svar

Returnerer: APIEmptyResponse

Eksempel

deleteEmailTemplate Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
errorIdstringJa

Svar

Returnerer: APIEmptyResponse

Eksempel

deleteEmailTemplateRenderError Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: GetEmailTemplateResponse

Eksempel

getEmailTemplate Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa

Svar

Returnerer: GetEmailTemplateDefinitionsResponse

Eksempel

Eksempel på getEmailTemplateDefinitions
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
skipdoubleNej

Svar

Returnerer: GetEmailTemplateRenderErrorsResponse

Eksempel

getEmailTemplateRenderErrors Eksempel
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 // Brug svaret efter behov
11 } catch (const std::exception& ex) {
12 // Håndter fejl
13 }
14 });
15

getEmailTemplates Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
skipdoubleNej

Svar

Returnerer: GetEmailTemplatesResponse

Eksempel

getEmailTemplates Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
renderEmailTemplateBodyRenderEmailTemplateBodyJa
localestringNej

Svar

Returnerer: RenderEmailTemplateResponse

Eksempel

renderEmailTemplate Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateEmailTemplateBodyUpdateEmailTemplateBodyJa

Respons

Returnerer: APIEmptyResponse

Eksempel

updateEmailTemplate Eksempel
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 // succesbehandling
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception &) { /* fejlbehandling */ }
14 });
15

getEventLog Internal Link

req tenantId urlId userIdWS

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
userIdWSstringJa
startTimeint64_tJa
endTimeint64_tNej

Svar

Returnerer: GetEventLogResponse

Eksempel

getEventLog Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
userIdWSstringJa
startTimeint64_tJa
endTimeint64_tNej

Svar

Returnerer: GetEventLogResponse

Eksempel

getGlobalEventLog Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
optionsconst CreateFeedPostOptions&Yes

Svar

Returnerer: CreateFeedPostsResponse

Eksempel

createFeedPost Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createFeedPostParamsCreateFeedPostParamsJa
optionsconst CreateFeedPostPublicOptions&Ja

Svar

Returnerer: CreateFeedPostResponse

Eksempel

createFeedPostPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
postIdstringJa
optionsconst DeleteFeedPostPublicOptions&Ja

Svar

Returnerer: DeleteFeedPostPublicResponse

Eksempel

deleteFeedPostPublic Eksempel
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 // succeslogik
8 }
9 });
10

getFeedPosts Internal Link

req tenantId afterId

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetFeedPostsOptions&Ja

Svar

Returnerer: GetFeedPostsResponse

Eksempel

getFeedPosts Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetFeedPostsPublicOptions&Ja

Svar

Returnerer: PublicFeedPostsResponse

Eksempel

getFeedPostsPublic Eksempel
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 // Brug den behandlede som nødvendig
11 }catch(const std::exception&){
12 // Håndter fejl
13 }
14});
15

getFeedPostsStats Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
postIdsvector<stringYes
ssostringNo

Svar

Returnerer: FeedPostsStatsResponse

Eksempel

getFeedPostsStats Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringJa
optionsconst GetUserReactsPublicOptions&Ja

Svar

Returnerer: UserReactsResponse

Eksempel

getUserReactsPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
postIdstringJa
reactBodyParamsReactBodyParamsJa
optionsconst ReactFeedPostPublicOptions&Ja

Svar

Returnerer: ReactFeedPostResponse

Eksempel

reactFeedPostPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
feedPostFeedPostJa

Svar

Returnerer: APIEmptyResponse

Eksempel

updateFeedPost Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
postIdstringYes
updateFeedPostParamsUpdateFeedPostParamsYes
optionsconst UpdateFeedPostPublicOptions&Yes

Svar

Returnerer: CreateFeedPostResponse

Eksempel

updateFeedPostPublic Eksempel
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

Parametre

NavnTypeObligatoriskBeskrivelse
tenantIdstringJa
commentIdstringJa
isFlaggedboolJa
ssostringNej

Response

Returnerer: APIEmptyResponse

Eksempel

flagCommentPublic Eksempel
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

Parametre

NavnTypeObligatoriskBeskrivelse
tenantIdstringJa
largeInternalURLSanitizedstringJa

Svar

Returnerer: GifGetLargeResponse

Eksempel

getGifLarge Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
searchstringYes
optionsconst GetGifsSearchOptions&Yes

Svar

Returnerer: GetGifsSearchResponse

Eksempel

getGifsSearch Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetGifsTrendingOptions&Ja

Respons

Returnerer: GetGifsTrendingResponse

Eksempel

getGifsTrending Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createHashTagBodyCreateHashTagBodyYes

Svar

Returnerer: CreateHashTagResponse

Eksempel

addHashTag Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
bulkCreateHashTagsBodyBulkCreateHashTagsBodyJa

Svar

Returnerer: BulkCreateHashTagsResponse

Eksempel

addHashTagsBulk Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
tagstringYes
deleteHashTagRequestBodyDeleteHashTagRequestBodyYes

Svar

Returnerer: APIEmptyResponse

Eksempel

deleteHashTag Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
pagedoubleNo

Svar

Returnerer: GetHashTagsResponse

Eksempel

getHashTags Eksempel
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 // brug svar
10 } catch (const std::exception&) {
11 // håndter fejl
12 }
13});
14

patchHashTag Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
tagstringYes
updateHashTagBodyUpdateHashTagBodyYes

Svar

Returnerer: UpdateHashTagResponse

Eksempel

patchHashTag Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
voteIdstringYes
optionsconst DeleteModerationVoteOptions&Yes

Respons

Returnerer: VoteDeleteResponse

Eksempel

deleteModerationVote Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetApiCommentsOptions&Ja

Svar

Returnerer: ModerationAPIGetCommentsResponse

Eksempel

getApiComments Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetApiExportStatusOptions&Ja

Svar

Returnerer: ModerationExportStatusResponse

Eksempel

getApiExportStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetApiIdsOptions&Ja

Respons

Returnerer: ModerationAPIGetCommentIdsResponse

Eksempel

getApiIds Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
ssostringNej

Svar

Returnerer: GetBannedUsersFromCommentResponse

Eksempel

getBanUsersFromComment eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
ssostringNej

Svar

Returnerer: GetCommentBanStatusResponse

Eksempel

getCommentBanStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
ssostringNo

Svar

Returnerer: ModerationAPIChildCommentsResponse

Eksempel

getCommentChildren Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetCountOptions&Ja

Svar

Returnerer: ModerationAPICountCommentsResponse

Eksempel

getCount Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
ssostringNej

Svar

Returnerer: GetBannedUsersCountResponse

Eksempel

getCounts Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
ssostringNo

Svar

Returnerer: ModerationAPIGetLogsResponse

Eksempel

getLogs Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
ssostringNo

Svar

Returnerer: GetTenantManualBadgesResponse

Eksempel

getManualBadges Eksempel
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 // behandl respons, f.eks. response->badgeList
10 } catch (const std::exception& ex) {
11 // håndter fejl
12 }
13 });
14

getManualBadgesForUser Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetManualBadgesForUserOptions&Ja

Svar

Returnerer: GetUserManualBadgesResponse

Eksempel

getManualBadgesForUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
optionsconst GetModerationCommentOptions&Ja

Svar

Returnerer: ModerationAPICommentResponse

Eksempel

getModerationComment Eksempel
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 // Behandl svaret efter behov
12 } catch (const std::exception& ex) {
13 // Håndter fejl
14 }
15 });
16

getModerationCommentText Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
ssostringNej

Svar

Returnerer: GetCommentTextResponse

Eksempel

getModerationCommentText Eksempel
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

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
optionsconst GetPreBanSummaryOptions&Ja

Response

Returnerer: PreBanSummary

Eksempel

getPreBanSummary Eksempel
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 // behandle opsummering
12 } catch (const std::exception&) {
13 // håndter fejl
14 }
15 });
16

getSearchCommentsSummary Internal Link

Parametre

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetSearchCommentsSummaryOptions&Yes

Respons

Returnerer: ModerationCommentSearchResponse

Eksempel

getSearchCommentsSummary Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetSearchPagesOptions&Ja

Svar

Returnerer: ModerationPageSearchResponse

Eksempel

getSearchPages Eksempel
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 // brug svar
12 } catch (const std::exception& e) {
13 // håndter fejl
14 }
15 });
16

getSearchSites Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst GetSearchSitesOptions&Yes

Svar

Returnerer: ModerationSiteSearchResponse

Eksempel

getSearchSites Eksempel
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 // behandlingslogik
14 }
15 } catch (const std::exception&) {
16 // fejlhåndtering
17 }
18 });
19

getSearchSuggest Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetSearchSuggestOptions&Ja

Svar

Returnerer: ModerationSuggestResponse

Eksempel

getSearchSuggest Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetSearchUsersOptions&Ja

Svar

Returnerer: ModerationUserSearchResponse

Eksempel

getSearchUsers Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst GetTrustFactorOptions&Yes

Svar

Returnerer: GetUserTrustFactorResponse

Eksempel

getTrustFactor Eksempel
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


Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
ssostringNej

Svar

Returnerer: APIModerateGetUserBanPreferencesResponse

Eksempel

getUserBanPreference Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst GetUserInternalProfileOptions&Yes

Svar

Returnerer: GetUserInternalProfileResponse

Eksempel

getUserInternalProfile Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
adjustCommentVotesParamsAdjustCommentVotesParamsJa
optionsconst PostAdjustCommentVotesOptions&Ja

Response

Returnerer: AdjustVotesResponse

Eksempel

postAdjustCommentVotes Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst PostApiExportOptions&Ja

Svar

Returnerer: ModerationExportResponse

Eksempel

postApiExport Eksempel
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 // håndter vellykket eksportrespons
13 }
14 })
15 .wait();
16

postBanUserFromComment Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
optionsconst PostBanUserFromCommentOptions&Ja

Respons

Returnerer: BanUserFromCommentResult

Eksempel

postBanUserFromComment Eksempel
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 // result handling
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception& e) { /* error handling */ }
14 });
15

postBanUserUndo Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
banUserUndoParamsBanUserUndoParamsYes
ssostringNo

Svar

Returnerer: APIEmptyResponse

Eksempel

postBanUserUndo Eksempel
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 // handle success
10});
11

postBulkPreBanSummary Internal Link

Parametre

NameTypeRequiredDescription
tenantIdstringJa
bulkPreBanParamsBulkPreBanParamsJa
optionsconst PostBulkPreBanSummaryOptions&Ja

Svar

Returnerer: BulkPreBanSummary

Eksempel

postBulkPreBanSummary Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentsByIdsParamsCommentsByIdsParamsYes
ssostringNo

Svar

Returnerer: ModerationAPIChildCommentsResponse

Eksempel

postCommentsByIds Eksempel
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, sso).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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
optionsconst PostFlagCommentOptions&Yes

Svar

Returnerer: APIEmptyResponse

Eksempel

postFlagComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
optionsconst PostRemoveCommentOptions&Ja

Svar

Returnerer: PostRemoveCommentApiResponse

Eksempel

postRemoveComment Eksempel
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 // Behandl svar
11 } catch (const std::exception& ex) {
12 // Håndter fejl
13 }
14 });
15

postRestoreDeletedComment Internal Link

Parametre

NavnTypeObligatoriskBeskrivelse
tenantIdstringYes
commentIdstringYes
optionsconst PostRestoreDeletedCommentOptions&Yes

Svar

Returnerer: APIEmptyResponse

Eksempel

postRestoreDeletedComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
optionsconst PostSetCommentApprovalStatusOptions&Ja

Respons

Returnerer: SetCommentApprovedResponse

Eksempel

postSetCommentApprovalStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
optionsconst PostSetCommentReviewStatusOptions&Ja

Svar

Returnerer: APIEmptyResponse

Eksempel

postSetCommentReviewStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
optionsconst PostSetCommentSpamStatusOptions&Yes

Svar

Returnerer: APIEmptyResponse

Eksempel

postSetCommentSpamStatus Eksempel
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

Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
setCommentTextParamsSetCommentTextParamsJa
optionsconst PostSetCommentTextOptions&Ja

Svar

Returnerer: SetCommentTextResponse

Eksempel

postSetCommentText Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
optionsconst PostUnFlagCommentOptions&Ja

Respons

Returnerer: APIEmptyResponse

Eksempel

postUnFlagComment Eksempel
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 // behandling kan udføres her
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch (const std::exception&) {}
12 });
13

postVote Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
optionsconst PostVoteOptions&Ja

Svar

Returnerer: VoteResponse

Eksempel

postVote Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
badgeIdstringJa
optionsconst PutAwardBadgeOptions&Ja

Svar

Returnerer: AwardUserBadgeResponse

Eksempel

putAwardBadge Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
ssostringNej

Response

Returnerer: APIEmptyResponse

Eksempel

putCloseThread Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
badgeIdstringJa
optionsconst PutRemoveBadgeOptions&Ja

Svar

Returnerer: RemoveUserBadgeResponse

Eksempel

putRemoveBadge Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
ssostringNej

Svar

Returnerer: APIEmptyResponse

Eksempel

putReopenThread Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst SetTrustFactorOptions&Yes

Svar

Returnerer: SetUserTrustFactorResponse

Eksempel

setTrustFactor Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createModeratorBodyCreateModeratorBodyJa

Svar

Returnerer: CreateModeratorResponse

Eksempel

createModerator Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
sendEmailstringNej

Svar

Returnerer: APIEmptyResponse

Eksempel

deleteModerator Eksempel
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 // håndter succes
8 });
9

getModerator Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: GetModeratorResponse

Eksempel

getModerator Eksempel
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

Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringJa
skipdoubleNej

Svar

Returnerer: GetModeratorsResponse

Eksempel

getModerators Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
fromNamestringYes

Respons

Returnerer: APIEmptyResponse

Eksempel

sendInvite Eksempel
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 // håndter vellykket invitation
9});
10

updateModerator Internal Link

Parameters

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
updateModeratorBodyUpdateModeratorBodyYes

Response

Returnerer: APIEmptyResponse

Example

updateModerator Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: APIEmptyResponse

Eksempel

deleteNotificationCount Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes

Svar

Returnerer: GetCachedNotificationCountResponse

Eksempel

getCachedNotificationCount Eksempel
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 // behandl svar
10 } catch (const std::exception&) {
11 // håndter fejl
12 }
13 });
14

getNotificationCount Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst GetNotificationCountOptions&Yes

Svar

Returnerer: GetNotificationCountResponse

Eksempel

getNotificationCount Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst GetNotificationsOptions&Yes

Svar

Returnerer: GetNotificationsResponse

Eksempel

getNotifications Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateNotificationBodyUpdateNotificationBodyJa
userIdstringNej

Svar

Returnerer: APIEmptyResponse

Eksempel

updateNotification Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
titlestringNej

Svar

Returnerer: CreateV1PageReact

Eksempel

createV1PageReact Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
idstringJa
titlestringNej

Svar

Returnerer: CreateV1PageReact

Eksempel

createV2PageReact Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes

Svar

Returnerer: CreateV1PageReact

Eksempel

deleteV1PageReact Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
idstringYes

Svar

Returnerer: CreateV1PageReact

Eksempel

deleteV2PageReact Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes

Response

Returnerer: GetV1PageLikes

Eksempel

getV1PageLikes Eksempel
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

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes

Response

Returnerer: GetV2PageReacts

Example

getV2PageReacts Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes
idstringYes

Svar

Returnerer: GetV2PageReactUsersResponse

Eksempel

getV2PageReactUsers Eksempel
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 // Brug responsen efter behov
10 }catch(const std::exception&){
11 // Håndter fejl
12 }
13});
14

addPage Internal Link

Parametre

NameTypeRequiredDescription
tenantIdstringYes
createAPIPageDataCreateAPIPageDataYes

Svar

Returnerer: AddPageAPIResponse

Eksempel

addPage Eksempel
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 // håndter succesfuld tilføjelse
11 } else {
12 // håndter fejl
13 }
14 });
15

deletePage Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes

Svar

Returnerer: DeletePageAPIResponse

Eksempel

deletePage Eksempel
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 // behandl svar efter behov
10 } catch (const std::exception& ex) {
11 // håndter fejl
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

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
optionsconst GetOfflineUsersOptions&Yes

Response

Returns: PageUsersOfflineResponse

Example

getOfflineUsers Eksempel
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

Aktuelt-online seere af en side: personer, hvis websocket‑session er abonneret på siden lige nu.
Returnerer anonCount + totalCount (rum‑bred abonnenter, inklusive anonyme seere, som vi ikke tæller).

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
optionsconst GetOnlineUsersOptions&Ja

Svar

Returnerer: PageUsersOnlineResponse

Eksempel

getOnlineUsers Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa

Svar

Returnerer: GetPageByURLIdAPIResponse

Eksempel

getPageByURLId Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes

Svar

Returnerer: GetPagesAPIResponse

Eksempel

getPages Eksempel
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

List sider for en lejer. Bruges af FChat‑desktopklienten til at udfylde sin rumliste.
Kræver enableFChat at være sand på den løste brugerdefinerede konfiguration for hver side.
Sider, der kræver SSO, filtreres i forhold til den anmodende brugers gruppeadgang.

Parameters

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetPagesPublicOptions&Ja

Response

Returns: GetPublicPagesResponse

Example

getPagesPublic Eksempel
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 // behandle svar om nødvendigt
10 }catch(const std::exception&){
11 // håndter fejl om nødvendigt
12 }
13});
14

getUsersInfo Internal Link

Bulk brugerinfo for en lejer. Givet userIds returneres visningsinfo fra User / SSOUser.
Brugt af kommentarfunktionen til at berige brugere, der netop er dukket op via en tilstedeværelseshændelse.
Ingen sidekontekst: privatliv håndhæves ensartet (private profiler maskeres).

Parameters

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idsstringYes

Response

Returns: PageUsersInfoResponse

Example

getUsersInfo Eksempel
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 // behandl svar
10 }catch(const std::exception&){
11 // håndtér fejl
12 }
13});
14

patchPage Internal Link

Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringJa
idstringJa
updateAPIPageDataUpdateAPIPageDataJa

Svar

Returnerer: PatchPageAPIResponse

Eksempel

patchPage Eksempel
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 // håndter succes
11 }
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception&) {}
15 });
16

deletePendingWebhookEvent Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: APIEmptyResponse

Eksempel

deletePendingWebhookEvent Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst GetPendingWebhookEventCountOptions&Yes

Svar

Returnerer: GetPendingWebhookEventCountResponse

Eksempel

getPendingWebhookEventCount Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst GetPendingWebhookEventsOptions&Yes

Svar

Returnerer: GetPendingWebhookEventsResponse

Eksempel

getPendingWebhookEvents Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createQuestionConfigBodyCreateQuestionConfigBodyYes

Svar

Returnerer: CreateQuestionConfigResponse

Eksempel

createQuestionConfig Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes

Svar

Returnerer: APIEmptyResponse

Eksempel

deleteQuestionConfig Eksempel
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 // håndter vellykket sletning
8 })
9 .then([](pplx::task<void> t) {
10 try {
11 t.get();
12 } catch (const std::exception&) {
13 // håndter fejl
14 }
15 });
16

getQuestionConfig Internal Link

Parametre

NavnTypeObligatoriskBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: GetQuestionConfigResponse

Eksempel

getQuestionConfig Eksempel
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 // Brug svaret efter behov
10 } catch (const std::exception&) {
11 // Håndter fejl
12 }
13 });
14

getQuestionConfigs Internal Link

Parametre

NavnTypeObligatoriskBeskrivelse
tenantIdstringJa
skipdoubleNej

Svar

Returnerer: GetQuestionConfigsResponse

Eksempel

getQuestionConfigs Eksempel
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

Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringJa
idstringJa
updateQuestionConfigBodyUpdateQuestionConfigBodyJa

Respons

Returnerer: APIEmptyResponse

Eksempel

updateQuestionConfig Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createQuestionResultBodyCreateQuestionResultBodyJa

Svar

Returnerer: CreateQuestionResultResponse

Eksempel

createQuestionResult Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes

Svar

Returnerer: APIEmptyResponse

Eksempel

deleteQuestionResult Eksempel
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 // succesbehandling
14 }
15 catch ( const std::exception& e )
16 {
17 // fejlhåndtering
18 }
19 } );
20}
21

getQuestionResult Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: GetQuestionResultResponse

Eksempel

getQuestionResult Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst GetQuestionResultsOptions&Yes

Svar

Returnerer: GetQuestionResultsResponse

Eksempel

getQuestionResults Eksempel
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 // håndter svar
10 });
11

updateQuestionResult Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateQuestionResultBodyUpdateQuestionResultBodyJa

Svar

Returnerer: APIEmptyResponse

Eksempel

updateQuestionResult Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst AggregateQuestionResultsOptions&Yes

Svar

Returnerer: AggregateQuestionResultsResponse

Eksempel

aggregateQuestionResults Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringJa
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestJa
forceRecalculateboolNej

Svar

Returnerer: BulkAggregateQuestionResultsResponse

Eksempel

bulkAggregateQuestionResults Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst CombineCommentsWithQuestionResultsOptions&Ja

Respons

Returnerer: CombineQuestionResultsWithCommentsResponse

Eksempel

combineCommentsWithQuestionResults Eksempel
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 // Brug den kombinerede efter behov
12 }catch(const std::exception&){
13 }
14 });
15

addSSOUser Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createAPISSOUserDataCreateAPISSOUserDataYes

Svar

Returnerer: AddSSOUserAPIResponse

Eksempel

addSSOUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
optionsconst DeleteSSOUserOptions&Ja

Svar

Returnerer: DeleteSSOUserAPIResponse

Eksempel

deleteSSOUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
emailstringYes

Svar

Returnerer: GetSSOUserByEmailAPIResponse

Eksempel

getSSOUserByEmail Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Svar

Returnerer: GetSSOUserByIdAPIResponse

Eksempel

getSSOUserById Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
skipint32_tNej

Svar

Returnerer: GetSSOUsersResponse

Eksempel

getSSOUsers Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateAPISSOUserDataUpdateAPISSOUserDataJa
updateCommentsboolNej

Svar

Returnerer: PatchSSOUserAPIResponse

Eksempel

patchSSOUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateAPISSOUserDataUpdateAPISSOUserDataJa
updateCommentsboolNej

Respons

Returnerer: PutSSOUserAPIResponse

Eksempel

putSSOUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataYes

Respons

Returnerer: CreateSubscriptionAPIResponse

Eksempel

createSubscription Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
userIdstringNej

Svar

Returnerer: DeleteSubscriptionAPIResponse

Eksempel

deleteSubscription Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
userIdstringNo

Respons

Returnerer: GetSubscriptionsAPIResponse

Eksempel

getSubscriptions Eksempel
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 // behandl svar
10 } catch (const std::exception& e) {
11 // håndter fejl
12 }
13 }
14);
15

updateSubscription Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataJa
userIdstringNej

Svar

Returnerer: UpdateSubscriptionAPIResponse

Eksempel

updateSubscription Eksempel
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


Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetTenantDailyUsagesOptions&Ja

Svar

Returnerer: GetTenantDailyUsagesResponse

Eksempel

getTenantDailyUsages Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createTenantPackageBodyCreateTenantPackageBodyYes

Svar

Returnerer: CreateTenantPackageResponse

Eksempel

createTenantPackage Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returns: APIEmptyResponse

Eksempel

deleteTenantPackage Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes

Svar

Returnerer: GetTenantPackageResponse

Eksempel

getTenantPackage Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
skipdoubleNo

Respons

Returns: GetTenantPackagesResponse

Eksempel

getTenantPackages Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
replaceTenantPackageBodyReplaceTenantPackageBodyJa

Svar

Returnerer: APIEmptyResponse

Eksempel

replaceTenantPackage Eksempel
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

Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringYes
idstringYes
updateTenantPackageBodyUpdateTenantPackageBodyYes

Svar

Returnerer: APIEmptyResponse

Eksempel

updateTenantPackage Eksempel
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 // håndtering af succes
14 } catch (const std::exception& ex) {
15 // håndtering af fejl
16 }
17 });
18

createTenantUser Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createTenantUserBodyCreateTenantUserBodyJa

Svar

Returnerer: CreateTenantUserResponse

Eksempel

createTenantUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
optionsconst DeleteTenantUserOptions&Ja

Svar

Returnerer: APIEmptyResponse

Eksempel

deleteTenantUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Respons

Returnerer: GetTenantUserResponse

Eksempel

getTenantUser Eksempel
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 // Brug svaret efter behov
9 } catch (const std::exception&) {
10 // Fejlhåndtering
11 }
12 });
13

getTenantUsers Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
skipdoubleNej

Svar

Returnerer: GetTenantUsersResponse

Eksempel

getTenantUsers Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
replaceTenantUserBodyReplaceTenantUserBodyYes
updateCommentsstringNo

Svar

Returnerer: APIEmptyResponse

Eksempel

replaceTenantUser Eksempel
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

Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringJa
idstringJa
redirectURLstringNej

Svar

Returnerer: APIEmptyResponse

Eksempel

sendLoginLink Eksempel
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

Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringYes
idstringYes
updateTenantUserBodyUpdateTenantUserBodyYes
updateCommentsstringNo

Svar

Returnerer: APIEmptyResponse

Eksempel

updateTenantUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createTenantBodyCreateTenantBodyYes

Svar

Returnerer: CreateTenantResponse

Eksempel

createTenant Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
surestringNej

Svar

Returnerer: APIEmptyResponse

Eksempel

deleteTenant Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes

Svar

Returnerer: GetTenantResponse

Eksempel

getTenant Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetTenantsOptions&Yes

Svar

Returnerer: GetTenantsResponse

Eksempel

getTenants Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateTenantBodyUpdateTenantBodyJa

Svar

Returnerer: APIEmptyResponse

Eksempel

updateTenant Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
userIdstringJa
idstringJa
changeTicketStateBodyChangeTicketStateBodyJa

Svar

Returnerer: ChangeTicketStateResponse

Eksempel

changeTicketState Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
userIdstringJa
createTicketBodyCreateTicketBodyJa

Svar

Returnerer: CreateTicketResponse

Eksempel

createTicket Eksempel
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 // Brug svaret efter behov
13 }catch(const std::exception&){
14 // Håndter fejl
15 }
16});
17

getTicket Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
userIdstringNo

Svar

Returnerer: GetTicketResponse

Eksempel

getTicket Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst GetTicketsOptions&Yes

Svar

Returnerer: GetTicketsResponse

Eksempel

getTickets Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
r_namespacestringYes
componentstringYes
optionsconst GetTranslationsOptions&Yes

Svar

Returnerer: GetTranslationsResponse

Eksempel

Eksempel på getTranslations
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 og ændre størrelse på et billede

Parameters

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
fileHttpContentJa
optionsconst UploadImageOptions&Ja

Response

Returnerer: UploadImageResponse

Example

uploadImage Eksempel
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

Parametre

NavnTypeObligatoriskBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: APIGetUserBadgeProgressResponse

Eksempel

getUserBadgeProgressById Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
userIdstringYes

Svar

Returnerer: APIGetUserBadgeProgressResponse

Eksempel

getUserBadgeProgressByUserId Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetUserBadgeProgressListOptions&Yes

Svar

Returnerer: APIGetUserBadgeProgressListResponse

Eksempel

getUserBadgeProgressList Eksempel
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 // process badge
12 }
13 });
14

createUserBadge Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createUserBadgeParamsCreateUserBadgeParamsJa

Respons

Returnerer: APICreateUserBadgeResponse

Eksempel

createUserBadge Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Svar

Returnerer: APIEmptySuccessResponse

Eksempel

deleteUserBadge Eksempel
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

Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: APIGetUserBadgeResponse

Eksempel

getUserBadge Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst GetUserBadgesOptions&Ja

Svar

Returnerer: APIGetUserBadgesResponse

Eksempel

getUserBadges Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
updateUserBadgeParamsUpdateUserBadgeParamsYes

Svar

Returnerer: APIEmptySuccessResponse

Eksempel

updateUserBadge Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
ssostringNej

Svar

Returnerer: GetUserNotificationCountResponse

Eksempel

getUserNotificationCount Eksempel
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 // brug resp efter behov
8 }catch(const std::exception&){
9 // håndter fejl
10 }
11});
12

getUserNotifications Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
optionsconst GetUserNotificationsOptions&Yes

Svar

Returnerer: GetMyNotificationsResponse

Eksempel

Eksempel på getUserNotifications
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
ssostringNej

Svar

Returnerer: ResetUserNotificationsResponse

Eksempel

resetUserNotificationCount Eksempel
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

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
optionsconst ResetUserNotificationsOptions&Ja

Response

Returnerer: ResetUserNotificationsResponse

Example

resetUserNotifications Eksempel
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

Aktiver eller deaktiver meddelelser for en specifik kommentar.

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
notificationIdstringYes
optedInOrOutstringYes
commentIdstringYes
ssostringNo

Respons

Returns: UpdateUserNotificationCommentSubscriptionStatusResponse

Eksempel

updateUserNotificationCommentSubscriptionStatus Eksempel
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 eller deaktiver meddelelser for en side. Når brugere er abonneret på en side, oprettes meddelelser for nye rodkommentarer, og også

Parameters

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes
urlstringYes
pageTitlestringYes
subscribedOrUnsubscribedstringYes
ssostringNo

Response

Returnerer: UpdateUserNotificationPageSubscriptionStatusResponse

Example

updateUserNotificationPageSubscriptionStatus Eksempel
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 // process resp if needed
12 });
13

updateUserNotificationStatus Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
notificationIdstringJa
newStatusstringJa
ssostringNej

Respons

Returnerer: UpdateUserNotificationStatusResponse

Eksempel

updateUserNotificationStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdWSstringJa
userIdsstringJa

Svar

Returnerer: GetUserPresenceStatusesResponse

Eksempel

getUserPresenceStatuses Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
optionsconst SearchUsersOptions&Ja

Svar

Returnerer: SearchUsersResult

Eksempel

searchUsers Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: GetUserResponse

Eksempel

getUser Eksempel
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 // behandl svar efter behov
14 } catch (const std::exception&) {
15 // håndter fejl
16 }
17 });
18

createVote Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
directionstringYes
optionsconst CreateVoteOptions&Yes

Svar

Returnerer: VoteResponse

Eksempel

createVote Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
editKeystringNej

Svar

Returnerer: VoteDeleteResponse

Eksempel

deleteVote Eksempel
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 // Behandl svar efter behov
10 } catch (const std::exception&) {
11 // Håndter fejl
12 }
13});
14

getVotes Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes

Respons

Returnerer: GetVotesResponse

Eksempel

getVotes Eksempel
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 // fejlhåndtering
12 }
13});
14

getVotesForUser Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes
optionsconst GetVotesForUserOptions&Yes

Svar

Returnerer: GetVotesForUserResponse

Eksempel

getVotesForUser Eksempel
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

Brug for hjælp?

Hvis du oplever problemer eller har spørgsmål om C++ SDK, så:

Bidrag

Bidrag er velkomne! Besøg venligst GitHub-repositoriet for retningslinjer for bidrag.