FastComments.com

FastComments C++ SDK


Dies ist das offizielle C++-SDK für FastComments.

Offizielles C++-SDK für die FastComments-API

Repository

Auf GitHub ansehen


Voraussetzungen Internal Link


  • C++17 oder später
  • CMake 3.14 oder später
  • OpenSSL
  • C++ REST SDK (cpprestsdk)
  • Boost
  • Google Test (wird automatisch für Tests heruntergeladen)

Installation Internal Link

Install Dependencies

sudo apt install libcpprest-dev libboost-all-dev

Building from Source

mkdir build
cd build
cmake ..
make

Installing

sudo make install

Library Contents

This library contains the generated API client and the SSO utilities to make working with the API easier.

Public vs Secured APIs

For the API client, there are three classes, DefaultApi, PublicApi, and ModerationApi. The DefaultApi contains methods that require your API key, and PublicApi contains methods that can be made directly from a browser/mobile device/etc without authentication. The ModerationApi provides an extensive suite of live and fast moderation APIs. Every ModerationApi method accepts an sso parameter and can authenticate via SSO or a FastComments.com session cookie.

Hinweise Internal Link

Broadcast-IDs

Sie werden feststellen, dass Sie in einigen API-Aufrufen ein broadcastId übergeben sollen. Wenn Sie Ereignisse empfangen, erhalten Sie diese ID zurück, sodass Sie das Ereignis ignorieren können, wenn Sie vorhaben, Änderungen auf dem Client optimistisch anzuwenden (was Sie wahrscheinlich tun möchten, da es die beste Benutzererfahrung bietet). Übergeben Sie hier eine UUID. Die ID sollte ausreichend eindeutig sein, damit sie nicht zweimal in einer Browsersitzung auftritt.

SSO (Einmalanmeldung)

Beispiele für SSO finden Sie unten.

SSO-Nutzung Internal Link

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

Sicheres 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

Aggregiert Dokumente, indem sie (falls groupBy angegeben ist) gruppiert und mehrere Operationen angewendet werden. Verschiedene Operationen (z. B. sum, countDistinct, avg usw.) werden unterstützt.

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
aggregationRequestAggregationRequestJa
optionsconst AggregateOptions&Ja

Antwort

Rückgabe: AggregateResponse

Beispiel

Aggregationsbeispiel
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 // Antwort verarbeiten
19 } catch (const std::exception& e) {
20 // Fehler behandeln
21 }
22 });
23

getAuditLogs Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
optionsconst GetAuditLogsOptions&Yes

Antwort

Rückgabe: GetAuditLogsResponse

Beispiel

getAuditLogs Beispiel
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 // Antwort verwenden
13 } catch (const std::exception& e) {
14 // Fehler behandeln
15 }
16});
17

logoutPublic Internal Link

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

blockFromCommentPublic Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

Antwort

Rückgabe: BlockSuccess

Beispiel

blockFromCommentPublic Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
publicBlockFromCommentParamsPublicBlockFromCommentParamsJa
ssostringNein

Antwort

Rückgabe: UnblockSuccess

Beispiel

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

checkedCommentsForBlocked Internal Link


Parameters

NameTypErforderlichBeschreibung
tenantIdstringYes
commentIdsstringYes
ssostringNo

Response

Rückgabe: CheckBlockedCommentsResponse

Example

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
blockFromCommentParamsBlockFromCommentParamsJa
optionsconst BlockUserFromCommentOptions&Ja

Antwort

Rückgabe: BlockSuccess

Beispiel

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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
broadcastIdstringJa
commentDataCommentDataJa
optionsconst CreateCommentPublicOptions&Ja

Antwort

Rückgabe: SaveCommentsResponseWithPresence

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
optionsconst DeleteCommentOptions&Ja

Antwort

Rückgabe: DeleteCommentResult

Beispiel

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

Parameter

NameTypeErforderlichBeschreibung
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
optionsconst DeleteCommentPublicOptions&Yes

Antwort

Rückgabe: PublicAPIDeleteCommentResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
commentIdstringYes
voteIdstringYes
urlIdstringYes
broadcastIdstringYes
optionsconst DeleteCommentVoteOptions&Yes

Antwort

Rückgabe: VoteDeleteResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes
optionsconst FlagCommentOptions&Yes

Antwort

Rückgabe: FlagCommentResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: APIGetCommentResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
optionsconst GetCommentsOptions&Yes

Antwort

Rückgabe: APIGetCommentsResponse

Beispiel

getComments Beispiel
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 // Antwort nach Bedarf verwenden
12 } catch (const std::exception& e) {
13 // Fehler behandeln
14 }
15});
16

getCommentsPublic Internal Link

req tenantId urlId

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
optionsconst GetCommentsPublicOptions&Ja

Antwort

Rückgabe: GetCommentsResponseWithPresence_PublicComment_

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
optionsconst GetCommentTextOptions&Ja

Antwort

Rückgabe: PublicAPIGetCommentTextResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
dirint32_tJa
ssostringNein

Antwort

Rückgabe: GetCommentVoteUserNamesSuccessResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Antwort

Rückgabe: ChangeCommentPinStatusResponse

Beispiel

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

saveComment Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
createCommentParamsCreateCommentParamsYes
optionsconst SaveCommentOptions&Yes

Antwort

Rückgabewert: APISaveCommentResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
commentTextUpdateRequestCommentTextUpdateRequestJa
optionsconst SetCommentTextOptions&Ja

Antwort

Returns: PublicAPISetCommentTextResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
unBlockFromCommentParamsUnBlockFromCommentParamsJa
optionsconst UnBlockUserFromCommentOptions&Ja

Antwort

Rückgabe: UnblockSuccess

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
idstringJa
optionsconst UnFlagCommentOptions&Ja

Antwort

Rückgabe: FlagCommentResponse

Beispiel

unFlagComment Beispiel
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 // Status bei Bedarf verarbeiten
9 }
10 })
11 .then([](pplx::task<void> previous) {
12 try {
13 previous.get();
14 } catch (const std::exception& e) {
15 // Fehler behandeln
16 }
17 });
18

unLockComment Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNein

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNein

Antwort

Rückgabe: ChangeCommentPinStatusResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes
updatableCommentParamsUpdatableCommentParamsYes
optionsconst UpdateCommentOptions&Yes

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
urlIdstringJa
broadcastIdstringJa
voteBodyParamsVoteBodyParamsJa
optionsconst VoteCommentOptions&Ja

Antwort

Rückgabe: VoteResponse

Beispiel

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

getCommentsForUser Internal Link

Parameter

NameTypErforderlichBeschreibung
optionsconst GetCommentsForUserOptions&Ja

Antwort

Rückgabe: GetCommentsForUserResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
addDomainConfigParamsAddDomainConfigParamsJa

Antwort

Rückgabe: AddDomainConfigResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
domainstringJa

Antwort

Rückgabe: DeleteDomainConfigResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
domainstringJa

Antwort

Rückgabe: GetDomainConfigResponse

Beispiel

getDomainConfig Beispiel
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 // aktivierte Moderation verarbeiten
12 }
13 if (theme) {
14 // Themenwert verwenden
15 }
16 })
17 .wait();
18

getDomainConfigs Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa

Antwort

Rückgabe: GetDomainConfigsResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
domainToUpdatestringJa
patchDomainConfigParamsPatchDomainConfigParamsJa

Antwort

Rückgabe: PatchDomainConfigResponse

Beispiel

patchDomainConfig Beispiel
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 // Erfolgsbehandlung
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception& e) { /* Fehlerbehandlung */ }
15 });
16

putDomainConfig Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
domainToUpdatestringJa
updateDomainConfigParamsUpdateDomainConfigParamsJa

Antwort

Rückgabe: PutDomainConfigResponse

Beispiel

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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createEmailTemplateBodyCreateEmailTemplateBodyJa

Antwort

Rückgabe: CreateEmailTemplateResponse

Beispiel

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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
errorIdstringJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
idstringJa

Antwort

Rückgabe: GetEmailTemplateResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa

Antwort

Rückgabe: GetEmailTemplateDefinitionsResponse

Beispiel

getEmailTemplateDefinitions Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
skipdoubleNein

Antwort

Rückgabe: GetEmailTemplateRenderErrorsResponse

Beispiel

getEmailTemplateRenderErrors Beispiel
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 // Verwenden Sie die Antwort nach Bedarf
11 } catch (const std::exception& ex) {
12 // Fehler behandeln
13 }
14 });
15

getEmailTemplates Internal Link

Parameter

NameTypeRequiredDescription
tenantIdstringJa
skipdoubleNein

Antwort

Rückgabe: GetEmailTemplatesResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
renderEmailTemplateBodyRenderEmailTemplateBodyJa
localestringNein

Antwort

Rückgabe: RenderEmailTemplateResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
updateEmailTemplateBodyUpdateEmailTemplateBodyJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

getEventLog Internal Link

req tenantId urlId userIdWS

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
userIdWSstringJa
startTimeint64_tJa
endTimeint64_tNein

Antwort

Returns: GetEventLogResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
userIdWSstringJa
startTimeint64_tJa
endTimeint64_tNein

Antwort

Rückgabe: GetEventLogResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
optionsconst CreateFeedPostOptions&Yes

Antwort

Rückgabe: CreateFeedPostsResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createFeedPostParamsCreateFeedPostParamsJa
optionsconst CreateFeedPostPublicOptions&Ja

Antwort

Rückgabe: CreateFeedPostResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
postIdstringYes
optionsconst DeleteFeedPostPublicOptions&Yes

Antwort

Rückgabe: DeleteFeedPostPublicResponse

Beispiel

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

getFeedPosts Internal Link

req tenantId afterId

Parameter

NameTypeRequiredDescription
tenantIdstringJa
optionsconst GetFeedPostsOptions&Ja

Antwort

Rückgabe: GetFeedPostsResponse

Beispiel

Beispiel für getFeedPosts
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetFeedPostsPublicOptions&Ja

Antwort

Gibt zurück: PublicFeedPostsResponse

Beispiel

getFeedPostsPublic Beispiel
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 // Verwenden Sie das Verarbeitete nach Bedarf
11 }catch(const std::exception&){
12 // Fehler behandeln
13 }
14});
15

getFeedPostsStats Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
postIdsvector<stringYes
ssostringNo

Antwort

Rückgabe: FeedPostsStatsResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetUserReactsPublicOptions&Yes

Antwort

Returns: UserReactsResponse

Beispiel

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

reactFeedPostPublic Internal Link

Parameters

NameTypErforderlichBeschreibung
tenantIdstringYes
postIdstringYes
reactBodyParamsReactBodyParamsYes
optionsconst ReactFeedPostPublicOptions&Yes

Response

Rückgabe: ReactFeedPostResponse

Example

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
feedPostFeedPostJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
postIdstringYes
updateFeedPostParamsUpdateFeedPostParamsYes
optionsconst UpdateFeedPostPublicOptions&Yes

Antwort

Rückgabe: CreateFeedPostResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
isFlaggedboolJa
ssostringNein

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

getGifLarge Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
largeInternalURLSanitizedstringYes

Antwort

Rückgabe: GifGetLargeResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
searchstringJa
optionsconst GetGifsSearchOptions&Ja

Antwort

Rückgabe: GetGifsSearchResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetGifsTrendingOptions&Ja

Antwort

Rückgabe: GetGifsTrendingResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
createHashTagBodyCreateHashTagBodyYes

Antwort

Rückgabe: CreateHashTagResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
bulkCreateHashTagsBodyBulkCreateHashTagsBodyYes

Antwort

Rückgabe: BulkCreateHashTagsResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
tagstringJa
deleteHashTagRequestBodyDeleteHashTagRequestBodyJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
pagedoubleNein

Antwort

Rückgabe: GetHashTagsResponse

Beispiel

getHashTags Beispiel
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 // Antwort verwenden
10 } catch (const std::exception&) {
11 // Fehler behandeln
12 }
13});
14

patchHashTag Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
tagstringJa
updateHashTagBodyUpdateHashTagBodyJa

Antwort

Rückgabe: UpdateHashTagResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
voteIdstringJa
optionsconst DeleteModerationVoteOptions&Ja

Antwort

Returns: VoteDeleteResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetApiCommentsOptions&Ja

Antwort

Rückgabe: ModerationAPIGetCommentsResponse

Beispiel

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

getApiExportStatus Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetApiExportStatusOptions&Yes

Response

Rückgabe: ModerationExportStatusResponse

Example

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
optionsconst GetApiIdsOptions&Yes

Antwort

Rückgabe: ModerationAPIGetCommentIdsResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
commentIdstringYes
ssostringNo

Antwort

Rückgabe: GetBannedUsersFromCommentResponse

Beispiel

Beispiel für getBanUsersFromComment
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
ssostringNein

Antwort

Rückgabe: GetCommentBanStatusResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
ssostringNein

Antwort

Rückgabe: ModerationAPIChildCommentsResponse

Beispiel

Beispiel für getCommentChildren
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
optionsconst GetCountOptions&Yes

Antwort

Rückgabe: ModerationAPICountCommentsResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
ssostringNein

Antwort

Rückgabe: GetBannedUsersCountResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
commentIdstringYes
ssostringNo

Antwort

Rückgabe: ModerationAPIGetLogsResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringYes
ssostringNo

Antwort

Rückgabe: GetTenantManualBadgesResponse

Beispiel

getManualBadges Beispiel
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 // Antwort verarbeiten, z.B. response->badgeList
10 } catch (const std::exception& ex) {
11 // Fehler behandeln
12 }
13 });
14

getManualBadgesForUser Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
optionsconst GetManualBadgesForUserOptions&Yes

Antwort

Rückgabe: GetUserManualBadgesResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
optionsconst GetModerationCommentOptions&Ja

Antwort

Rückgabe: ModerationAPICommentResponse

Beispiel

Beispiel für getModerationComment
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 // Verarbeite die Antwort nach Bedarf
12 } catch (const std::exception& ex) {
13 // Fehler behandeln
14 }
15 });
16

getModerationCommentText Internal Link

Parameter

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
ssostringNo

Antwort

Rückgabe: GetCommentTextResponse

Beispiel

Beispiel für getModerationCommentText
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
commentIdstringYes
optionsconst GetPreBanSummaryOptions&Yes

Antwort

Rückgabe: PreBanSummary

Beispiel

getPreBanSummary Beispiel
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 // Zusammenfassung verarbeiten
12 } catch (const std::exception&) {
13 // Fehler behandeln
14 }
15 });
16

getSearchCommentsSummary Internal Link

Parameter

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetSearchCommentsSummaryOptions&Yes

Antwort

Rückgabe: ModerationCommentSearchResponse

Beispiel

Beispiel für getSearchCommentsSummary
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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
optionsconst GetSearchPagesOptions&Ja

Antwort

Rückgabe: ModerationPageSearchResponse

Beispiel

getSearchPages Beispiel
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 // Antwort verwenden
12 } catch (const std::exception& e) {
13 // Fehler behandeln
14 }
15 });
16

getSearchSites Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetSearchSitesOptions&Ja

Antwort

Rückgabe: ModerationSiteSearchResponse

Beispiel

getSearchSites Beispiel
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 // Verarbeitungslogik
14 }
15 } catch (const std::exception&) {
16 // Fehlerbehandlung
17 }
18 });
19

getSearchSuggest Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetSearchSuggestOptions&Ja

Antwort

Rückgabe: ModerationSuggestResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
optionsconst GetSearchUsersOptions&Yes

Antwort

Rückgabe: ModerationUserSearchResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetTrustFactorOptions&Ja

Antwort

Rückgabe: GetUserTrustFactorResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
ssostringNein

Antwort

Rückgabe: APIModerateGetUserBanPreferencesResponse

Beispiel

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

getUserInternalProfile Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetUserInternalProfileOptions&Ja

Antwort

Rückgabe: GetUserInternalProfileResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
commentIdstringYes
adjustCommentVotesParamsAdjustCommentVotesParamsYes
optionsconst PostAdjustCommentVotesOptions&Yes

Antwort

Rückgabe: AdjustVotesResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
optionsconst PostApiExportOptions&Yes

Antwort

Rückgabe: ModerationExportResponse

Beispiel

postApiExport Beispiel
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 // erfolgreiche Exportantwort verarbeiten
13 }
14 })
15 .wait();
16

postBanUserFromComment Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
commentIdstringYes
optionsconst PostBanUserFromCommentOptions&Yes

Antwort

Rückgabe: BanUserFromCommentResult

Beispiel

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

postBanUserUndo Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
banUserUndoParamsBanUserUndoParamsJa
ssostringNein

Antwort

Rückgabe: APIEmptyResponse

Beispiel

postBanUserUndo Beispiel
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 // Erfolg behandeln
10});
11

postBulkPreBanSummary Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
bulkPreBanParamsBulkPreBanParamsJa
optionsconst PostBulkPreBanSummaryOptions&Ja

Antwort

Rückgabe: BulkPreBanSummary

Beispiel

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

postCommentsByIds Internal Link

Parameters

NameTypErforderlichBeschreibung
tenantIdstringYes
commentsByIdsParamsCommentsByIdsParamsYes
ssostringNo

Response

Rückgabe: ModerationAPIChildCommentsResponse

Beispiel

postCommentsByIds Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
optionsconst PostFlagCommentOptions&Ja

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
optionsconst PostRemoveCommentOptions&Ja

Antwort

Rückgabe: PostRemoveCommentApiResponse

Beispiel

postRemoveComment Beispiel
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 // Antwort verarbeiten
11 } catch (const std::exception& ex) {
12 // Fehler behandeln
13 }
14 });
15

postRestoreDeletedComment Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
commentIdstringYes
optionsconst PostRestoreDeletedCommentOptions&Yes

Antwort

Returns: APIEmptyResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
commentIdstringJa
optionsconst PostSetCommentApprovalStatusOptions&Ja

Antwort

Rückgabe: SetCommentApprovedResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
optionsconst PostSetCommentReviewStatusOptions&Ja

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
optionsconst PostSetCommentSpamStatusOptions&Ja

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
commentIdstringJa
setCommentTextParamsSetCommentTextParamsJa
optionsconst PostSetCommentTextOptions&Ja

Antwort

Rückgabe: SetCommentTextResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
optionsconst PostUnFlagCommentOptions&Yes

Antwort

Rückgabe: APIEmptyResponse

Beispiel

postUnFlagComment Beispiel
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 // Verarbeitung kann hier durchgeführt werden
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch (const std::exception&) {}
12 });
13

postVote Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
optionsconst PostVoteOptions&Ja

Antwort

Rückgabe: VoteResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
badgeIdstringYes
optionsconst PutAwardBadgeOptions&Yes

Antwort

Rückgabe: AwardUserBadgeResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
ssostringNein

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
badgeIdstringJa
optionsconst PutRemoveBadgeOptions&Ja

Antwort

Rückgabe: RemoveUserBadgeResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
ssostringNein

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst SetTrustFactorOptions&Ja

Antwort

Rückgabe: SetUserTrustFactorResponse

Beispiel

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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createModeratorBodyCreateModeratorBodyJa

Antwort

Rückgabe: CreateModeratorResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
sendEmailstringNein

Antwort

Rückgabe: APIEmptyResponse

Beispiel

deleteModerator Beispiel
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 // Erfolg behandeln
8 });
9

getModerator Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: GetModeratorResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringYes
skipdoubleNo

Antwort

Rückgabe: GetModeratorsResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
fromNamestringYes

Antwort

Rückgabe: APIEmptyResponse

Beispiel

sendInvite Beispiel
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 // erfolgreiche Einladung verarbeiten
9});
10

updateModerator Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
updateModeratorBodyUpdateModeratorBodyJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
idstringJa

Antwort

Rückgabe: GetCachedNotificationCountResponse

Beispiel

getCachedNotificationCount Beispiel
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 // Antwort verarbeiten
10 } catch (const std::exception&) {
11 // Fehler behandeln
12 }
13 });
14

getNotificationCount Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetNotificationCountOptions&Ja

Antwort

Rückgabe: GetNotificationCountResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetNotificationsOptions&Ja

Antwort

Rückgabe: GetNotificationsResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
updateNotificationBodyUpdateNotificationBodyJa
userIdstringNein

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
titlestringNein

Antwort

Rückgabe: CreateV1PageReact

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
urlIdstringYes
idstringYes
titlestringNo

Antwort

Rückgabe: CreateV1PageReact

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa

Antwort

Rückgabe: CreateV1PageReact

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
idstringJa

Antwort

Rückgabe: CreateV1PageReact

Beispiel

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

getV1PageLikes Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes

Response

Rückgabe: GetV1PageLikes

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa

Antwort

Rückgabe: GetV2PageReacts

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
urlIdstringYes
idstringYes

Antwort

Rückgabe: GetV2PageReactUsersResponse

Beispiel

getV2PageReactUsers Beispiel
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 // Antwort nach Bedarf verwenden
10 }catch(const std::exception&){
11 // Fehler behandeln
12 }
13});
14

addPage Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createAPIPageDataCreateAPIPageDataJa

Antwort

Rückgabe: AddPageAPIResponse

Beispiel

addPage Beispiel
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 // erfolgreiche Hinzufügung verarbeiten
11 } else {
12 // Fehler behandeln
13 }
14 });
15

deletePage Internal Link

Parameter

NameTypeRequiredBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: DeletePageAPIResponse

Beispiel

deletePage Beispiel
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 // Verarbeite die Antwort nach Bedarf
10 } catch (const std::exception& ex) {
11 // Fehler behandeln
12 }
13 });
14

getOfflineUsers Internal Link

Past commenters on the page who are NOT currently online. Sorted by displayName.
Verwenden Sie dies, nachdem /users/online erschöpft wurde, um einen „Members“-Abschnitt darzustellen.
Cursor-Paginierung auf commenterName: Der Server durchläuft den partiellen {tenantId, urlId, commenterName} Index ab afterName vorwärts mittels $gt, ohne $skip‑Kosten.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
optionsconst GetOfflineUsersOptions&Yes

Response

Returns: PageUsersOfflineResponse

Beispiel

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

Derzeit online betrachtende Besucher einer Seite: Personen, deren Websocket‑Sitzung gerade die Seite abonniert.
Gibt anonCount + totalCount zurück (räumweite Abonnenten, einschließlich anonymer Viewer, die wir nicht auflisten).

Parameters

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
optionsconst GetOnlineUsersOptions&Ja

Response

Rückgabe: PageUsersOnlineResponse

Beispiel

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

getPageByURLId Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
urlIdstringYes

Antwort

Rückgabe: GetPageByURLIdAPIResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa

Antwort

Rückgabe: GetPagesAPIResponse

Beispiel

getPages Beispiel
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 pages for a tenant. Used by the FChat desktop client to populate its room list.
Requires enableFChat to be true on the resolved custom config for each page.
Pages that require SSO are filtered against the requesting user's group access.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetPagesPublicOptions&Yes

Response

Returns: GetPublicPagesResponse

Example

getPagesPublic Beispiel
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 // Antwort verarbeiten bei Bedarf
10 }catch(const std::exception&){
11 // Fehler behandeln bei Bedarf
12 }
13});
14

getUsersInfo Internal Link

Bulk‑Benutzerinformationen für einen Mandanten. Angesichts von userIds wird Anzeigedaten von User / SSOUser zurückgegeben.
Wird vom Kommentar‑Widget verwendet, um Benutzer zu erweitern, die gerade über ein Präsenzereignis erschienen sind.
Kein Seitenkontext: Datenschutz wird einheitlich durchgesetzt (private Profile werden maskiert).

Parameters

NameTypErforderlichBeschreibung
tenantIdstringJa
idsstringJa

Response

Returns: PageUsersInfoResponse

Example

Beispiel getUsersInfo
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 // Antwort verarbeiten
10 }catch(const std::exception&){
11 // Fehler behandeln
12 }
13});
14

patchPage Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
updateAPIPageDataUpdateAPIPageDataJa

Antwort

Rückgabe: PatchPageAPIResponse

Beispiel

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

deletePendingWebhookEvent Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetPendingWebhookEventCountOptions&Ja

Antwort

Rückgabe: GetPendingWebhookEventCountResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
optionsconst GetPendingWebhookEventsOptions&Yes

Antwort

Returns: GetPendingWebhookEventsResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createQuestionConfigBodyCreateQuestionConfigBodyJa

Antwort

Rückgabe: CreateQuestionConfigResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Gibt zurück: APIEmptyResponse

Beispiel

deleteQuestionConfig Beispiel
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 // erfolgreiche Löschung verarbeiten
8 })
9 .then([](pplx::task<void> t) {
10 try {
11 t.get();
12 } catch (const std::exception&) {
13 // Fehler behandeln
14 }
15 });
16

getQuestionConfig Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringJa
idstringJa

Response

Rückgabe: GetQuestionConfigResponse

Beispiel

getQuestionConfig Beispiel
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 // Antwort nach Bedarf verwenden
10 } catch (const std::exception&) {
11 // Fehler behandeln
12 }
13 });
14

getQuestionConfigs Internal Link


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
skipdoubleNein

Antwort

Rückgabe: GetQuestionConfigsResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
updateQuestionConfigBodyUpdateQuestionConfigBodyJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
createQuestionResultBodyCreateQuestionResultBodyJa

Antwort

Returns: CreateQuestionResultResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

deleteQuestionResult Beispiel
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 // Erfolgsbehandlung
14 }
15 catch ( const std::exception& e )
16 {
17 // Fehlerbehandlung
18 }
19 } );
20}
21

getQuestionResult Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: GetQuestionResultResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetQuestionResultsOptions&Ja

Antwort

Rückgabe: GetQuestionResultsResponse

Beispiel

getQuestionResults Beispiel
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 // Antwort verarbeiten
10 });
11

updateQuestionResult Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
updateQuestionResultBodyUpdateQuestionResultBodyJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst AggregateQuestionResultsOptions&Ja

Antwort

Rückgabe: AggregateQuestionResultsResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringYes
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestYes
forceRecalculateboolNo

Antwort

Rückgabe: BulkAggregateQuestionResultsResponse

Beispiel

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

Parameter

NameTypeRequiredBeschreibung
tenantIdstringJa
optionsconst CombineCommentsWithQuestionResultsOptions&Ja

Antwort

Rückgabe: CombineQuestionResultsWithCommentsResponse

Beispiel

combineCommentsWithQuestionResults Beispiel
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 // Verwenden Sie combined nach Bedarf
12 }catch(const std::exception&){
13 }
14 });
15

addSSOUser Internal Link

Parameters

NameTypErforderlichBeschreibung
tenantIdstringYes
createAPISSOUserDataCreateAPISSOUserDataYes

Response

Rückgabe: AddSSOUserAPIResponse

Example

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
optionsconst DeleteSSOUserOptions&Ja

Antwort

Rückgabe: DeleteSSOUserAPIResponse

Beispiel

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

Parameter

NameTypeRequiredDescription
tenantIdstringYes
emailstringYes

Antwort

Rückgabe: GetSSOUserByEmailAPIResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes

Antwort

Rückgabe: GetSSOUserByIdAPIResponse

Beispiel

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

getSSOUsers Internal Link

Parameters

NameTypErforderlichBeschreibung
tenantIdstringJa
skipint32_tNein

Response

Rückgabe: GetSSOUsersResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
updateAPISSOUserDataUpdateAPISSOUserDataJa
updateCommentsboolNein

Antwort

Rückgabe: PatchSSOUserAPIResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
updateAPISSOUserDataUpdateAPISSOUserDataJa
updateCommentsboolNein

Antwort

Rückgabe: PutSSOUserAPIResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataJa

Antwort

Rückgabe: CreateSubscriptionAPIResponse

Beispiel

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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes
userIdstringNo

Antwort

Rückgabe: DeleteSubscriptionAPIResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
userIdstringNein

Antwort

Rückgabe: GetSubscriptionsAPIResponse

Beispiel

Beispiel getSubscriptions
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 // Antwort verarbeiten
10 } catch (const std::exception& e) {
11 // Fehler behandeln
12 }
13 }
14);
15

updateSubscription Internal Link

Parameter

NameTypeRequiredBeschreibung
tenantIdstringYes
idstringYes
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataYes
userIdstringNo

Antwort

Rückgabe: UpdateSubscriptionAPIResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetTenantDailyUsagesOptions&Ja

Antwort

Rückgabe: GetTenantDailyUsagesResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createTenantPackageBodyCreateTenantPackageBodyJa

Antwort

Rückgabe: CreateTenantPackageResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Rückgabe

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: GetTenantPackageResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
skipdoubleNo

Antwort

Rückgabe: GetTenantPackagesResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
replaceTenantPackageBodyReplaceTenantPackageBodyJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes
updateTenantPackageBodyUpdateTenantPackageBodyYes

Antwort

Rückgabe: APIEmptyResponse

Beispiel

updateTenantPackage Beispiel
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 // success handling
14 } catch (const std::exception& ex) {
15 // error handling
16 }
17 });
18

createTenantUser Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createTenantUserBodyCreateTenantUserBodyJa

Antwort

Rückgabe: CreateTenantUserResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes
optionsconst DeleteTenantUserOptions&Yes

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: GetTenantUserResponse

Beispiel

getTenantUser Beispiel
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 // Verwenden Sie die Antwort nach Bedarf
9 } catch (const std::exception&) {
10 // Fehlerbehandlung
11 }
12 });
13

getTenantUsers Internal Link


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
skipdoubleNein

Antwort

Gibt zurück: GetTenantUsersResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes
replaceTenantUserBodyReplaceTenantUserBodyYes
updateCommentsstringNo

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes
redirectURLstringNo

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes
updateTenantUserBodyUpdateTenantUserBodyYes
updateCommentsstringNo

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createTenantBodyCreateTenantBodyJa

Antwort

Rückgabe: CreateTenantResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes
surestringNo

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes

Antwort

Rückgabe: GetTenantResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetTenantsOptions&Ja

Antwort

Rückgabe: GetTenantsResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
updateTenantBodyUpdateTenantBodyJa

Antwort

Rückgabe: APIEmptyResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
userIdstringJa
idstringJa
changeTicketStateBodyChangeTicketStateBodyJa

Antwort

Rückgabe: ChangeTicketStateResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
userIdstringYes
createTicketBodyCreateTicketBodyYes

Antwort

Rückgabe: CreateTicketResponse

Beispiel

createTicket Beispiel
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 // Antwort nach Bedarf verwenden
13 }catch(const std::exception&){
14 // Fehler behandeln
15 }
16});
17

getTicket Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
userIdstringNein

Antwort

Rückgabe: GetTicketResponse

Beispiel

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

Parameter

NameTypeErforderlichBeschreibung
tenantIdstringYes
optionsconst GetTicketsOptions&Yes

Antwort

Rückgabe: GetTicketsResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
r_namespacestringJa
componentstringJa
optionsconst GetTranslationsOptions&Ja

Antwort

Rückgabe: GetTranslationsResponse

Beispiel

getTranslations Beispiel
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 and resize an image

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
fileHttpContentJa
optionsconst UploadImageOptions&Ja

Antwort

Returns: UploadImageResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: APIGetUserBadgeProgressResponse

Beispiel

Beispiel für getUserBadgeProgressById
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
userIdstringYes

Antwort

Rückgabe: APIGetUserBadgeProgressResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
optionsconst GetUserBadgeProgressListOptions&Yes

Antwort

Gibt zurück: APIGetUserBadgeProgressListResponse

Beispiel

getUserBadgeProgressList Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
createUserBadgeParamsCreateUserBadgeParamsYes

Antwort

Rückgabe: APICreateUserBadgeResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: APIEmptySuccessResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: APIGetUserBadgeResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetUserBadgesOptions&Ja

Antwort

Rückgabe: APIGetUserBadgesResponse

Beispiel

Beispiel für getUserBadges
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringYes
updateUserBadgeParamsUpdateUserBadgeParamsYes

Antwort

Rückgabe: APIEmptySuccessResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
ssostringNo

Antwort

Rückgabe: GetUserNotificationCountResponse

Beispiel

getUserNotificationCount Beispiel
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 // use resp as needed
8 }catch(const std::exception&){
9 // handle error
10 }
11});
12

getUserNotifications Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst GetUserNotificationsOptions&Ja

Antwort

Rückgabe: GetMyNotificationsResponse

Beispiel

getUserNotifications Beispiel
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

Parameter

NameTypeErforderlichBeschreibung
tenantIdstringJa
ssostringNein

Antwort

Rückgabe: ResetUserNotificationsResponse

Beispiel

Beispiel für resetUserNotificationCount
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
optionsconst ResetUserNotificationsOptions&Ja

Antwort

Rückgabe: ResetUserNotificationsResponse

Beispiel

resetUserNotifications Beispiel
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 // Antwort verarbeiten
8 });
9

updateUserNotificationCommentSubscriptionStatus Internal Link

Aktivieren oder deaktivieren Sie Benachrichtigungen für einen bestimmten Kommentar.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
notificationIdstringYes
optedInOrOutstringYes
commentIdstringYes
ssostringNo

Response

Rückgabe: UpdateUserNotificationCommentSubscriptionStatusResponse

Beispiel

updateUserNotificationCommentSubscriptionStatus Beispiel
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 oder deaktivieren Sie Benachrichtigungen für eine Seite. Wenn Benutzer eine Seite abonniert haben, werden Benachrichtigungen für neue Stammkommentare erstellt und auch

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
urlstringJa
pageTitlestringJa
subscribedOrUnsubscribedstringJa
ssostringNein

Antwort

Rückgabe: UpdateUserNotificationPageSubscriptionStatusResponse

Beispiel

updateUserNotificationPageSubscriptionStatus Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
notificationIdstringYes
newStatusstringYes
ssostringNo

Antwort

Rückgabe: UpdateUserNotificationStatusResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
urlIdWSstringYes
userIdsstringYes

Antwort

Rückgabe: GetUserPresenceStatusesResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
optionsconst SearchUsersOptions&Ja

Antwort

Rückgabe: SearchUsersResult

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa

Antwort

Rückgabe: GetUserResponse

Beispiel

getUser Beispiel
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 // Antwort nach Bedarf verarbeiten
14 } catch (const std::exception&) {
15 // Fehler behandeln
16 }
17 });
18

createVote Internal Link

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
directionstringJa
optionsconst CreateVoteOptions&Ja

Antwort

Rückgabe: VoteResponse

Beispiel

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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringJa
editKeystringNein

Antwort

Rückgabe: VoteDeleteResponse

Beispiel

deleteVote Beispiel
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 // Antwort verarbeiten nach Bedarf
10 } catch (const std::exception&) {
11 // Fehler behandeln
12 }
13});
14

getVotes Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringJa
urlIdstringJa

Response

Returns: GetVotesResponse

Example

getVotes Beispiel
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 // Fehlerbehandlung
12 }
13});
14

getVotesForUser Internal Link

Parameter

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
optionsconst GetVotesForUserOptions&Yes

Antwort

Rückgabe: GetVotesForUserResponse

Beispiel

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

Benötigen Sie Hilfe?

Wenn Sie auf Probleme stoßen oder Fragen zum C++ SDK haben, bitte:

Mitwirken

Beiträge sind willkommen! Bitte besuchen Sie das GitHub-Repository für Richtlinien zur Mitwirkung.