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


KI-Coding-Agenten Internal Link

skills.sh

Geben Sie Ihrem Coding‑Agent den FastComments‑Kontext, den er benötigt – Widgets, Konfiguration, Secure SSO, die REST‑API und die SDKs:

npx skills add fastcomments/skills

Funktioniert mit Claude Code, Codex, Cursor, Copilot, Gemini und jedem anderen Agenten, den das skills CLI unterstützt.

Anforderungen 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

Abhängigkeiten installieren

sudo apt install libcpprest-dev libboost-all-dev

Aus dem Quellcode bauen

mkdir build
cd build
cmake ..
make

Installation

sudo make install

Bibliotheksinhalt

Diese Bibliothek enthält den generierten API-Client und die SSO-Dienstprogramme, um die Arbeit mit der API zu erleichtern.

Öffentliche vs gesicherte APIs

Für den API-Client gibt es drei Klassen, DefaultApi, PublicApi und ModerationApi. Die DefaultApi enthält Methoden, die Ihren API-Schlüssel erfordern, und die PublicApi enthält Methoden, die direkt von einem Browser/Mobilgerät usw. ohne Authentifizierung aufgerufen werden können. Die ModerationApi bietet eine umfangreiche Palette von Live- und schnellen Moderations-APIs. Jede ModerationApi-Methode akzeptiert einen sso-Parameter und kann sich über SSO oder ein FastComments.com‑Sitzungs‑Cookie authentifizieren.

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

Aggregieren 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

Audit-Logs abrufen 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

Öffentliches Logout 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

Öffentliches Blockieren aus Kommentar 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

Öffentliches Entblocken von Kommentar 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

Überprüfte Kommentare auf Blockierung 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

Benutzer aus Kommentar blockieren 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

Öffentlichen Kommentar erstellen 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

Kommentar löschen 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

Öffentlichen Kommentar löschen 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

Kommentarabstimmung löschen 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

Kommentar melden 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

Kommentar abrufen 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

Kommentare abrufen 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

Öffentliche Kommentare abrufen 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

Kommentartext abrufen 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

Namen der Abstimmenden für Kommentar abrufen 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

Kommentar sperren 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

Kommentar anheften 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

Kommentar speichern 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

Kommentartext setzen 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

Benutzer aus Kommentar entblocken 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

Meldung des Kommentars aufheben 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

Kommentar entsperren 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

Kommentar loslösen 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

Kommentar aktualisieren 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

Kommentar bewerten 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

Kommentare für Benutzer abrufen 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

Domain-Konfiguration hinzufügen 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

Domain-Konfiguration löschen 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

Domain-Konfiguration abrufen 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

Domain-Konfigurationen abrufen 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

Domain-Konfiguration patchen 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

Domain-Konfiguration setzen 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

E-Mail-Vorlage erstellen 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

E-Mail-Vorlage löschen 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

Render-Fehler der E-Mail-Vorlage löschen 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

E-Mail-Vorlage abrufen 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

E-Mail-Vorlagen-Definitionen abrufen 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

Render-Fehler der E-Mail-Vorlage abrufen 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

E-Mail-Vorlagen abrufen 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

E-Mail-Vorlage rendern 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

E-Mail-Vorlage aktualisieren 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

Ereignisprotokoll abrufen 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

Globales Ereignisprotokoll abrufen 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

Feed-Beitrag erstellen 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

Öffentlichen Feed-Beitrag erstellen 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

Öffentlichen Feed-Beitrag löschen 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

Feed-Beiträge abrufen 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

Öffentliche Feed-Beiträge abrufen 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

Statistiken der Feed-Beiträge abrufen 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

Öffentliche Reaktionen des Benutzers abrufen 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

Öffentlich auf Feed-Beitrag reagieren 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

Feed-Beitrag aktualisieren 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

Öffentlichen Feed-Beitrag aktualisieren 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

Öffentlichen Kommentar melden 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

Großes GIF abrufen 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

GIFs suchen 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

Trendige GIFs abrufen 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

Hashtag hinzufügen 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

Hashtags in Bulk hinzufügen 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

Hashtag löschen 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

Hashtags abrufen 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

Hashtag patchen 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

Moderationsabstimmung löschen 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

API-Kommentare abrufen 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

API-Exportstatus abrufen 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

API-IDs abrufen 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

Gesperrte Benutzer aus Kommentar abrufen 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

Kommentar-Bannstatus abrufen 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

Unterkommentare abrufen 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

Anzahl abrufen 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

Anzahlen abrufen 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

Protokolle abrufen 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

Manuelle Abzeichen abrufen 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

Manuelle Abzeichen für Benutzer abrufen 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

Moderationskommentar abrufen 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

Moderationskommentar-Text abrufen 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

Pre-Ban-Zusammenfassung abrufen 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

Zusammenfassung der Suchkommentare abrufen 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

Suchseiten abrufen 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

Suchseiten (Sites) abrufen 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

Suchvorschläge abrufen 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

Suchbenutzer abrufen 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

Vertrauensfaktor abrufen 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

Benutzer-Bannpräferenz abrufen 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

Internes Benutzerprofil abrufen 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

Kommentarabstimmungen anpassen 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

API-Export durchführen 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

Benutzer aus Kommentar bannen 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

Bann von Benutzer rückgängig machen 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

Bulk-Pre-Ban-Zusammenfassung erstellen 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

Kommentare nach IDs posten 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

Kommentar melden 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

Kommentar entfernen 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

Gelöschten Kommentar wiederherstellen 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

Genehmigungsstatus des Kommentars setzen 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

Review-Status des Kommentars setzen 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

Spam-Status des Kommentars setzen 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

Kommentartext setzen 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

Meldung des Kommentars aufheben 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

Abstimmung abgeben 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

Abzeichen verleihen 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

Thread schließen 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

Abzeichen entfernen 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

Thread wieder öffnen 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

Vertrauensfaktor setzen 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

Moderator erstellen 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

Moderator löschen 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

Moderator abrufen 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

Moderatoren abrufen 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

Einladung senden 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

Moderator aktualisieren 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

Benachrichtigungszähler löschen 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

Zwischengespeicherten Benachrichtigungszähler abrufen 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

Benachrichtigungszähler abrufen 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

Benachrichtigungen abrufen 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

Benachrichtigung aktualisieren 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

V1-Seitenreaktion erstellen 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

V2-Seitenreaktion erstellen 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

V1-Seitenreaktion löschen 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

V2-Seitenreaktion löschen 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

V1-Seiten-Likes abrufen 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

V2-Seitenreaktionen abrufen 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

Benutzer von V2-Seitenreaktionen abrufen 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

Seite hinzufügen 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

Seite löschen 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

Offline-Benutzer abrufen 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

Online-Benutzer abrufen 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

Seite nach URL-ID abrufen 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

Seiten abrufen 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

Öffentliche Seiten abrufen 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

Benutzerinformationen abrufen 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

Seite patchen 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

Ausstehendes Webhook-Ereignis löschen 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

Anzahl ausstehender Webhook-Ereignisse abrufen 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

Ausstehende Webhook-Ereignisse abrufen 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

Fragenkonfiguration erstellen 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

Fragenkonfiguration löschen 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

Fragenkonfiguration abrufen 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

Fragenkonfigurationen abrufen 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

Fragenkonfiguration aktualisieren 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

Fragergebnis erstellen 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

Fragergebnis löschen 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

Fragergebnis abrufen 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

Fragergebnisse abrufen 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

Fragergebnis aktualisieren 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

Fragergebnisse aggregieren 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

Massenaggregation von Fragergebnissen 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

Kommentare mit Fragergebnissen kombinieren 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

SSO-Benutzer hinzufügen 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

SSO-Benutzer löschen 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

SSO-Benutzer per E-Mail abrufen 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

SSO-Benutzer per ID abrufen 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

SSO-Benutzer abrufen 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

SSO-Benutzer patchen 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

SSO-Benutzer setzen 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

Abonnement erstellen 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

Abonnement löschen 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
---

Abonnements abrufen 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

Abonnement aktualisieren 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

Tägliche Nutzung des Mandanten abrufen 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

Mandantenpaket erstellen 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

Mandantenpaket löschen 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

Mandantenpaket abrufen 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

Mandantenpakete abrufen 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

Mandantenpaket ersetzen 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

Mandantenpaket aktualisieren 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

Mandantenbenutzer erstellen 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

Mandantenbenutzer löschen 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

Mandantenbenutzer abrufen 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

Mandantenbenutzer abrufen 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

Mandantenbenutzer ersetzen 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

Mandantenbenutzer aktualisieren 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

Mandant erstellen 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

Mandant löschen 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

Mandant abrufen 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

Mandanten abrufen 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

Mandant aktualisieren 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

Ticket-Status ändern 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

Ticket erstellen 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

Ticket abrufen 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

Tickets abrufen 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

Übersetzungen abrufen 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

Bild hochladen 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

Benutzerabzeichen-Fortschritt nach ID abrufen 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

Benutzerabzeichen-Fortschritt nach Benutzer-ID abrufen 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

Liste des Benutzerabzeichen-Fortschritts abrufen 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

Benutzerabzeichen erstellen 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

Benutzerabzeichen löschen 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

Benutzerabzeichen abrufen 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

Benutzerabzeichen abrufen 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

Benutzerabzeichen aktualisieren 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

Benachrichtigungszähler des Benutzers abrufen 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

Benutzerbenachrichtigungen abrufen 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

Benachrichtigungszähler des Benutzers zurücksetzen 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

Benutzerbenachrichtigungen zurücksetzen 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

Kommentar-Abonnement-Status der Benutzerbenachrichtigung aktualisieren 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

Seiten-Abonnement-Status der Benutzerbenachrichtigung aktualisieren 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

Benutzerbenachrichtigungsstatus aktualisieren 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

Präsenzstatus des Benutzers abrufen 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

Benutzer suchen 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

Benutzer abrufen 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

Abstimmung erstellen 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

Abstimmung löschen 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

Abstimmungen abrufen 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

Abstimmungen für Benutzer abrufen 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.