FastComments.com

FastComments C++ SDK


Αυτό είναι το επίσημο SDK C++ για το FastComments.

Επίσημο SDK C++ για το API του FastComments

Αποθετήριο

Προβολή στο GitHub


Απαιτήσεις Internal Link

  • C++17 ή νεότερο
  • CMake 3.14 ή νεότερο
  • OpenSSL
  • C++ REST SDK (cpprestsdk)
  • Boost
  • Google Test (κατεβαίνει αυτόματα για δοκιμές)

Εγκατάσταση Internal Link

Εγκατάσταση Εξαρτήσεων

sudo apt install libcpprest-dev libboost-all-dev

Κατασκευή από τον πηγαίο κώδικα

mkdir build
cd build
cmake ..
make

Εγκατάσταση

sudo make install

Περιεχόμενα βιβλιοθήκης

Αυτή η βιβλιοθήκη περιλαμβάνει τον παραγόμενο πελάτη API και τα βοηθητικά εργαλεία SSO για να διευκολύνει την εργασία με το API.

Δημόσια έναντι Ασφαλών API

Για τον client του API, υπάρχουν δύο κλάσεις, DefaultAPI και PublicAPI. Η DefaultAPI περιέχει μεθόδους που απαιτούν το API key σας, και η PublicAPI περιέχει κλήσεις API που μπορούν να πραγματοποιηθούν απευθείας από έναν περιηγητή/κινητή συσκευή/κ.λπ. χωρίς πιστοποίηση.

Σημειώσεις Internal Link

Αναγνωριστικά Broadcast

Θα δείτε ότι πρέπει να περάσετε ένα broadcastId σε ορισμένες κλήσεις API. Όταν λαμβάνετε συμβάντα, θα λάβετε αυτό το ID πίσω, ώστε να ξέρετε να αγνοήσετε το συμβάν αν σκοπεύετε να εφαρμόσετε τις αλλαγές αισιόδοξα στην πλευρά του client (που πιθανότατα θα θελήσετε να κάνετε καθώς προσφέρει την καλύτερη εμπειρία). Περάστε εδώ ένα UUID. Το ID θα πρέπει να είναι αρκετά μοναδικό ώστε να μην εμφανιστεί δύο φορές σε μια συνεδρία περιηγητή.

SSO (Ενιαία Σύνδεση)

Για παραδείγματα SSO, δείτε παρακάτω.

Χρήση SSO Internal Link

Απλό 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;
}

Ασφαλές SSO

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

using namespace fastcomments::sso;

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

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

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

aggregate Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
aggregationRequest AggregationRequest Ναι
parentTenantId string Όχι
includeStats bool Όχι

Απόκριση

Επιστρέφει: AggregationResponse

Παράδειγμα

aggregate Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3AggregationRequest aggReq;
4boost::optional<utility::string_t> parentTenant = boost::optional<utility::string_t>(U("parent-org-456"));
5boost::optional<bool> includeStats = boost::optional<bool>(true);
6auto aggTask = api->aggregate(tenantId, aggReq, parentTenant, includeStats)
7 .then([](pplx::task<std::shared_ptr<AggregationResponse>> t) {
8 try {
9 auto res = t.get();
10 auto out = std::make_shared<AggregationResponse>(*res);
11 return out;
12 } catch (...) {
13 return std::shared_ptr<AggregationResponse>();
14 }
15 });
16

getAuditLogs Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
limit double Όχι
skip double Όχι
order SORT_DIR Όχι
after double Όχι
before double Όχι

Απόκριση

Επιστρέφει: GetAuditLogs_200_response

Παράδειγμα

Παράδειγμα getAuditLogs
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<double> limit = 100;
4boost::optional<double> skip = 0;
5boost::optional<SORT_DIR> order = SORT_DIR::DESC;
6boost::optional<double> after = 1633046400;
7boost::optional<double> before = 1633132800;
8api->getAuditLogs(tenantId, limit, skip, order, after, before)
9.then([](pplx::task<std::shared_ptr<GetAuditLogs_200_response>> t) {
10 try {
11 auto resp = t.get();
12 if (resp) {
13 auto copy = std::make_shared<GetAuditLogs_200_response>(*resp);
14 (void)copy;
15 }
16 } catch (...) {
17 }
18});
19

blockFromCommentPublic Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
publicBlockFromCommentParams PublicBlockFromCommentParams Ναι
sso string Όχι

Απόκριση

Επιστρέφει: BlockFromCommentPublic_200_response

Παράδειγμα

Παράδειγμα blockFromCommentPublic
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-987654321");
4PublicBlockFromCommentParams params;
5params.reason = U("Repeated harassment");
6params.durationMinutes = 1440;
7boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("sso-token-abc123"));
8auto placeholder = std::make_shared<BlockFromCommentPublic_200_response>();
9api->blockFromCommentPublic(tenantId, commentId, params, sso)
10.then([](pplx::task<std::shared_ptr<BlockFromCommentPublic_200_response>> t) {
11 try {
12 auto resp = t.get();
13 if (resp) std::wcout << U("Comment blocked successfully\n");
14 else std::wcout << U("Block request returned empty response\n");
15 } catch (...) {
16 std::wcout << U("Block request failed\n");
17 }
18});
19

unBlockCommentPublic Internal Link

Παράμετροι

Όνομα Τύπος Υποχρεωτικό Περιγραφή
tenantId string Ναι
commentId string Ναι
publicBlockFromCommentParams PublicBlockFromCommentParams Ναι
sso string Όχι

Απάντηση

Επιστρέφει: UnBlockCommentPublic_200_response

Παράδειγμα

Παράδειγμα unBlockCommentPublic
Copy Copy
1
2auto publicParams = std::make_shared<PublicBlockFromCommentParams>();
3boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(utility::string_t(U("user@example.com")));
4api->unBlockCommentPublic(utility::string_t(U("my-tenant-123")), utility::string_t(U("comment-98765")), *publicParams, sso)
5.then([](pplx::task<std::shared_ptr<UnBlockCommentPublic_200_response>> task) {
6 try {
7 auto resp = task.get();
8 if (resp) std::cout << "Unblocked comment successfully" << std::endl;
9 } catch (const std::exception& e) {
10 std::cerr << "Unblock failed: " << e.what() << std::endl;
11 }
12});
13

checkedCommentsForBlocked Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentIds string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: CheckedCommentsForBlocked_200_response

Παράδειγμα

Παράδειγμα checkedCommentsForBlocked
Copy Copy
1
2utility::string_t tenantId = utility::conversions::to_string_t("my-tenant-123");
3utility::string_t commentIds = utility::conversions::to_string_t("cmt-456,cmt-789");
4boost::optional<utility::string_t> sso = utility::conversions::to_string_t("user@example.com");
5auto task = api->checkedCommentsForBlocked(tenantId, commentIds, sso)
6 .then([=](std::shared_ptr<CheckedCommentsForBlocked_200_response> resp) -> std::shared_ptr<CheckedCommentsForBlocked_200_response> {
7 if (!resp) return std::make_shared<CheckedCommentsForBlocked_200_response>();
8 return resp;
9 });
10

blockUserFromComment Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι
blockFromCommentParams BlockFromCommentParams Ναι
userId string Όχι
anonUserId string Όχι

Απόκριση

Επιστρέφει: BlockFromCommentPublic_200_response

Παράδειγμα

Παράδειγμα blockUserFromComment
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4auto blockParams = std::make_shared<BlockFromCommentParams>();
5boost::optional<utility::string_t> userId = boost::optional<utility::string_t>(U("user@example.com"));
6boost::optional<utility::string_t> anonUserId = boost::optional<utility::string_t>(U("anon-98765"));
7api->blockUserFromComment(tenantId, commentId, *blockParams, userId, anonUserId)
8.then([](std::shared_ptr<BlockFromCommentPublic_200_response> resp){
9 if (resp) {
10 std::cout << "User blocked successfully\n";
11 } else {
12 std::cout << "Block request returned empty response\n";
13 }
14}).wait();
15

createCommentPublic Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι
broadcastId string Ναι
commentData CommentData Ναι
sessionId string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: CreateCommentPublic_200_response

Παράδειγμα

Παράδειγμα createCommentPublic
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("/articles/2026/fastcomments-cpp-integration");
4utility::string_t broadcastId = U("broadcast-001");
5CommentData commentData;
6commentData.content = U("Hello from the C++ SDK — great article!");
7commentData.authorEmail = U("reader@example.com");
8commentData.authorName = U("Jane Reader");
9boost::optional<utility::string_t> sessionId = boost::optional<utility::string_t>(U("sess-9f3a2"));
10boost::optional<utility::string_t> sso = boost::none;
11auto task = api->createCommentPublic(tenantId, urlId, broadcastId, commentData, sessionId, sso)
12 .then([](pplx::task<std::shared_ptr<CreateCommentPublic_200_response>> t) {
13 try {
14 auto resp = t.get();
15 if (resp) {
16 auto resultCopy = std::make_shared<CreateCommentPublic_200_response>(*resp);
17 }
18 } catch (const std::exception&) {}
19 });
20task.wait();
21

deleteComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
contextUserId string Όχι
isLive bool Όχι

Απόκριση

Επιστρέφει: DeleteComment_200_response

Παράδειγμα

Παράδειγμα deleteComment
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-987654321");
4boost::optional<utility::string_t> contextUserId = boost::optional<utility::string_t>(U("moderator@acme.com"));
5boost::optional<bool> isLive = boost::optional<bool>(true);
6api->deleteComment(tenantId, commentId, contextUserId, isLive)
7.then([](pplx::task<std::shared_ptr<DeleteComment_200_response>> t){
8 try {
9 auto resp = t.get();
10 if (resp) {
11 auto processed = std::make_shared<DeleteComment_200_response>(*resp);
12 }
13 } catch (const std::exception&) {
14 }
15});
16

deleteCommentPublic Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
editKey string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: DeleteCommentPublic_200_response

Παράδειγμα

Παράδειγμα deleteCommentPublic
Copy Copy
1
2utility::string_t tenantId(U("my-tenant-123"));
3utility::string_t commentId(U("cmt-456"));
4utility::string_t broadcastId(U("brd-789"));
5boost::optional<utility::string_t> editKey = boost::optional<utility::string_t>(utility::string_t(U("editkey-abc123")));
6boost::optional<utility::string_t> sso;
7
8api->deleteCommentPublic(tenantId, commentId, broadcastId, editKey, sso)
9.then([](pplx::task<std::shared_ptr<DeleteCommentPublic_200_response>> t){
10 try {
11 auto resp = t.get();
12 if (resp) {
13 auto copied = std::make_shared<DeleteCommentPublic_200_response>(*resp);
14 (void)copied;
15 }
16 } catch (const std::exception&) {
17 auto fallback = std::make_shared<DeleteCommentPublic_200_response>();
18 (void)fallback;
19 }
20});
21

deleteCommentVote Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
commentId string Ναι
voteId string Ναι
urlId string Ναι
broadcastId string Ναι
editKey string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: DeleteCommentVote_200_response

Παράδειγμα

Παράδειγμα deleteCommentVote
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-789");
4utility::string_t voteId = U("vote-456");
5utility::string_t urlId = U("/articles/2026/fastcomments-guide");
6utility::string_t broadcastId = U("broadcast-001");
7boost::optional<utility::string_t> editKey = boost::optional<utility::string_t>(U("editkey-abc"));
8boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
9auto placeholder = std::make_shared<DeleteCommentVote_200_response>();
10api->deleteCommentVote(tenantId, commentId, voteId, urlId, broadcastId, editKey, sso)
11.then([=](pplx::task<std::shared_ptr<DeleteCommentVote_200_response>> t){
12 try {
13 auto resp = t.get();
14 if (resp) std::cout << "Vote deleted\n";
15 } catch (const std::exception &e) {
16 std::cerr << "Delete failed: " << e.what() << '\n';
17 }
18});
19

flagComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
userId string Όχι
anonUserId string Όχι

Απόκριση

Επιστρέφει: FlagComment_200_response

Παράδειγμα

Παράδειγμα flagComment
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4boost::optional<utility::string_t> userId{ utility::string_t(U("user@example.com")) };
5boost::optional<utility::string_t> anonUserId;
6
7api->flagComment(tenantId, commentId, userId, anonUserId)
8.then([](std::shared_ptr<FlagComment_200_response> resp) {
9 auto result = resp ? resp : std::make_shared<FlagComment_200_response>();
10 (void)result;
11});
12

getComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: GetComment_200_response

Παράδειγμα

Παράδειγμα getComment
Copy Copy
1
2utility::string_t tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<utility::string_t> maybeId = utility::conversions::to_string_t("comment-98765");
4auto getTask = api->getComment(tenantId, *maybeId)
5 .then([](pplx::task<std::shared_ptr<GetComment_200_response>> t) {
6 try {
7 auto resp = t.get();
8 auto result = resp ? resp : std::make_shared<GetComment_200_response>();
9 return result;
10 } catch (const std::exception&) {
11 return std::make_shared<GetComment_200_response>();
12 }
13 });
14

getComments Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
page int32_t Όχι
limit int32_t Όχι
skip int32_t Όχι
asTree bool Όχι
skipChildren int32_t Όχι
limitChildren int32_t Όχι
maxTreeDepth int32_t Όχι
urlId string Όχι
userId string Όχι
anonUserId string Όχι
contextUserId string Όχι
hashTag string Όχι
parentId string Όχι
direction SortDirections Όχι

Απόκριση

Επιστρέφει: GetComments_200_response

Παράδειγμα

Παράδειγμα getComments
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<int32_t> page(1);
4boost::optional<int32_t> limit(50);
5boost::optional<int32_t> skip(0);
6boost::optional<bool> asTree(true);
7boost::optional<int32_t> skipChildren(0);
8boost::optional<int32_t> limitChildren(10);
9boost::optional<int32_t> maxTreeDepth(3);
10boost::optional<utility::string_t> urlId(U("/articles/2025/fast-api"));
11boost::optional<utility::string_t> userId(U("user@example.com"));
12boost::optional<utility::string_t> anonUserId(U("anon-abc-123"));
13boost::optional<utility::string_t> contextUserId(U("context-user-789"));
14boost::optional<utility::string_t> hashTag(U("release"));
15boost::optional<utility::string_t> parentId(U("parent-comment-456"));
16boost::optional<SortDirections> direction(SortDirections::DESCENDING);
17
18api->getComments(tenantId, page, limit, skip, asTree, skipChildren, limitChildren, maxTreeDepth, urlId, userId, anonUserId, contextUserId, hashTag, parentId, direction)
19.then([](pplx::task<std::shared_ptr<GetComments_200_response>> task){
20 try {
21 auto response = task.get();
22 if (!response) response = std::make_shared<GetComments_200_response>();
23 } catch (const std::exception&) {
24 }
25});
26

getCommentsPublic Internal Link

req tenantId urlId

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι
page int32_t Όχι
direction SortDirections Όχι
sso string Όχι
skip int32_t Όχι
skipChildren int32_t Όχι
limit int32_t Όχι
limitChildren int32_t Όχι
countChildren bool Όχι
fetchPageForCommentId string Όχι
includeConfig bool Όχι
countAll bool Όχι
includei10n bool Όχι
locale string Όχι
modules string Όχι
isCrawler bool Όχι
includeNotificationCount bool Όχι
asTree bool Όχι
maxTreeDepth int32_t Όχι
useFullTranslationIds bool Όχι
parentId string Όχι
searchText string Όχι
hashTags vector<string Όχι
userId string Όχι
customConfigStr string Όχι
afterCommentId string Όχι
beforeCommentId string Όχι

Απόκριση

Επιστρέφει: GetCommentsPublic_200_response

Παράδειγμα

Παράδειγμα getCommentsPublic
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("article-2026-01-12");
4boost::optional<int32_t> page(2);
5boost::optional<SortDirections> direction(SortDirections::DESC);
6boost::optional<bool> includeConfig(true);
7boost::optional<std::vector<utility::string_t>> hashTags(std::vector<utility::string_t>{ U("feature"), U("bug") });
8api->getCommentsPublic(
9 tenantId,
10 urlId,
11 page,
12 direction,
13 boost::optional<utility::string_t>(),
14 boost::optional<int32_t>(),
15 boost::optional<int32_t>(),
16 boost::optional<int32_t>(50),
17 boost::optional<int32_t>(),
18 boost::optional<bool>(false),
19 boost::optional<utility::string_t>(),
20 includeConfig,
21 boost::optional<bool>(),
22 boost::optional<bool>(),
23 boost::optional<utility::string_t>(),
24 boost::optional<utility::string_t>(),
25 boost::optional<bool>(),
26 boost::optional<bool>(),
27 boost::optional<bool>(),
28 boost::optional<int32_t>(),
29 boost::optional<bool>(),
30 boost::optional<utility::string_t>(),
31 boost::optional<utility::string_t>(),
32 hashTags,
33 boost::optional<utility::string_t>(U("user-789")),
34 boost::optional<utility::string_t>(),
35 boost::optional<utility::string_t>()
36).then([](pplx::task<std::shared_ptr<GetCommentsPublic_200_response>> t){
37 try {
38 auto resp = t.get();
39 auto fallback = std::make_shared<GetCommentsPublic_200_response>();
40 (void)(resp ? resp : fallback);
41 } catch (...) {}
42});
43

getCommentText Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
editKey string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: GetCommentText_200_response

Παράδειγμα

Παράδειγμα getCommentText
Copy Copy
1
2utility::string_t tenantId(U("my-tenant-123"));
3utility::string_t commentId(U("cmt-456"));
4boost::optional<utility::string_t> editKey(utility::string_t(U("edit-key-789")));
5boost::optional<utility::string_t> sso(utility::string_t(U("user@example.com")));
6auto task = api->getCommentText(tenantId, commentId, editKey, sso)
7 .then([](std::shared_ptr<GetCommentText_200_response> resp){
8 if (resp) {
9 std::cout << "Comment text retrieved\n";
10 } else {
11 std::cout << "Comment not found\n";
12 }
13 });
14task.wait();
15

getCommentVoteUserNames Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
dir int32_t Ναι
sso string Όχι

Απόκριση

Επιστρέφει: GetCommentVoteUserNames_200_response

Παράδειγμα

Παράδειγμα getCommentVoteUserNames
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456");
4int32_t dir = 1;
5boost::optional<utility::string_t> sso{ utility::string_t(U("user@example.com")) };
6api->getCommentVoteUserNames(tenantId, commentId, dir, sso)
7 .then([](pplx::task<std::shared_ptr<GetCommentVoteUserNames_200_response>> t) {
8 try {
9 auto resp = t.get();
10 if (!resp) resp = std::make_shared<GetCommentVoteUserNames_200_response>();
11 } catch (const std::exception&) {
12 }
13 });
14

lockComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: LockComment_200_response

Παράδειγμα

Παράδειγμα lockComment
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456");
4utility::string_t broadcastId = U("brdcst-789");
5boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
6
7api->lockComment(tenantId, commentId, broadcastId, sso)
8 .then([](pplx::task<std::shared_ptr<LockComment_200_response>> t)
9 {
10 try
11 {
12 auto resp = t.get();
13 if(!resp)
14 {
15 resp = std::make_shared<LockComment_200_response>();
16 }
17 }
18 catch(const std::exception& ex)
19 {
20 (void)ex;
21 }
22 });
23

pinComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: PinComment_200_response

Παράδειγμα

Παράδειγμα pinComment
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4utility::string_t broadcastId = U("broadcast-98765");
5boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
6
7api->pinComment(tenantId, commentId, broadcastId, sso)
8.then([](pplx::task<std::shared_ptr<PinComment_200_response>> t){
9 try {
10 auto resp = t.get();
11 if (!resp) resp = std::make_shared<PinComment_200_response>();
12 (void)resp;
13 } catch (...) {}
14}).wait();
15

saveComment Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createCommentParams CreateCommentParams Ναι
isLive bool Όχι
doSpamCheck bool Όχι
sendEmails bool Όχι
populateNotifications bool Όχι

Απόκριση

Επιστρέφει: SaveComment_200_response

Παράδειγμα

Παράδειγμα saveComment
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3auto createParamsPtr = std::make_shared<CreateCommentParams>();
4createParamsPtr->content = utility::string_t(U("This is a test comment posted via SDK"));
5createParamsPtr->authorEmail = utility::string_t(U("user@example.com"));
6createParamsPtr->threadId = utility::string_t(U("thread-456"));
7boost::optional<bool> isLive(true);
8boost::optional<bool> doSpamCheck(false);
9boost::optional<bool> sendEmails(true);
10boost::optional<bool> populateNotifications(false);
11auto task = api->saveComment(tenantId, *createParamsPtr, isLive, doSpamCheck, sendEmails, populateNotifications)
12.then([](std::shared_ptr<SaveComment_200_response> resp){
13 if (resp) std::cout << "Comment saved successfully\n";
14 else std::cout << "Failed to save comment\n";
15});
16task.wait();
17

setCommentText Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
commentTextUpdateRequest CommentTextUpdateRequest Ναι
editKey string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: SetCommentText_200_response

Παράδειγμα

Παράδειγμα setCommentText
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456");
4utility::string_t broadcastId = U("bcast-789");
5CommentTextUpdateRequest commentTextUpdateRequest;
6commentTextUpdateRequest.setText(U("Updated comment text by moderator."));
7boost::optional<utility::string_t> editKey = boost::optional<utility::string_t>(U("edit-key-abc123"));
8boost::optional<utility::string_t> sso;
9api->setCommentText(tenantId, commentId, broadcastId, commentTextUpdateRequest, editKey, sso)
10.then([](pplx::task<std::shared_ptr<SetCommentText_200_response>> task){
11 try {
12 auto resp = task.get();
13 if (resp) {
14 auto result = std::make_shared<SetCommentText_200_response>(*resp);
15 std::cout << "Comment updated\n";
16 } else {
17 std::cout << "No response\n";
18 }
19 } catch (const std::exception &e) {
20 std::cerr << "setCommentText error: " << e.what() << '\n';
21 }
22});
23

unBlockUserFromComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
unBlockFromCommentParams UnBlockFromCommentParams Ναι
userId string Όχι
anonUserId string Όχι

Απόκριση

Επιστρέφει: UnBlockCommentPublic_200_response

Παράδειγμα

Παράδειγμα unBlockUserFromComment
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4auto paramsPtr = std::make_shared<UnBlockFromCommentParams>();
5boost::optional<utility::string_t> userId = boost::optional<utility::string_t>(U("user@example.com"));
6boost::optional<utility::string_t> anonUserId = boost::none;
7api->unBlockUserFromComment(tenantId, commentId, *paramsPtr, userId, anonUserId)
8 .then([](std::shared_ptr<UnBlockCommentPublic_200_response> resp){
9 (void)resp;
10 })
11 .wait();
12

unFlagComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
userId string Όχι
anonUserId string Όχι

Απόκριση

Επιστρέφει: FlagComment_200_response

Παράδειγμα

Παράδειγμα unFlagComment
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-987654321");
4boost::optional<utility::string_t> userId(U("user@example.com"));
5boost::optional<utility::string_t> anonUserId;
6auto fallback = std::make_shared<FlagComment_200_response>();
7api->unFlagComment(tenantId, commentId, userId, anonUserId)
8 .then([fallback](pplx::task<std::shared_ptr<FlagComment_200_response>> t) {
9 try {
10 auto resp = t.get();
11 if (!resp) resp = fallback;
12 } catch (...) {
13 }
14 });
15

unLockComment Internal Link

Parameters

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: LockComment_200_response

Παράδειγμα

Παράδειγμα unLockComment
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-987654");
4utility::string_t broadcastId = U("brd-456");
5boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
6auto dummyResp = std::make_shared<LockComment_200_response>();
7api->unLockComment(tenantId, commentId, broadcastId, sso)
8.then([](pplx::task<std::shared_ptr<LockComment_200_response>> task){
9 try {
10 auto resp = task.get();
11 if (resp) {
12 std::cout << "Comment unlocked successfully\n";
13 } else {
14 std::cout << "Unlock returned empty response\n";
15 }
16 } catch (const std::exception& e) {
17 std::cerr << "Error unlocking comment: " << e.what() << '\n';
18 }
19});
20

unPinComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: PinComment_200_response

Παράδειγμα

Παράδειγμα unPinComment
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4utility::string_t broadcastId = U("brd-98765");
5boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
6auto defaultResp = std::make_shared<PinComment_200_response>();
7api->unPinComment(tenantId, commentId, broadcastId, sso)
8.then([defaultResp](pplx::task<std::shared_ptr<PinComment_200_response>> task) {
9 try {
10 auto resp = task.get();
11 if (!resp) resp = defaultResp;
12 std::cout << "unPinComment completed; response pointer " << (resp ? "valid" : "null") << std::endl;
13 } catch (const std::exception &e) {
14 std::cerr << "unPinComment failed: " << e.what() << std::endl;
15 }
16});
17

updateComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updatableCommentParams UpdatableCommentParams Ναι
contextUserId string Όχι
doSpamCheck bool Όχι
isLive bool Όχι

Απάντηση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα updateComment
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto commentId = utility::string_t(U("comment-456"));
4auto body = std::make_shared<UpdatableCommentParams>();
5body->content = utility::string_t(U("Updated comment text: fixed a typo and clarified meaning."));
6boost::optional<utility::string_t> contextUserId(utility::string_t(U("user@example.com")));
7boost::optional<bool> doSpamCheck(true);
8boost::optional<bool> isLive(false);
9api->updateComment(tenantId, commentId, body, contextUserId, doSpamCheck, isLive)
10.then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t){
11 try {
12 auto result = t.get();
13 (void)result;
14 } catch (...) {}
15});
16

voteComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
urlId string Ναι
broadcastId string Ναι
voteBodyParams VoteBodyParams Ναι
sessionId string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: VoteComment_200_response

Παράδειγμα

Παράδειγμα voteComment
Copy Copy
1
2VoteBodyParams voteBodyParams;
3utility::string_t tenantId = U("my-tenant-123");
4utility::string_t commentId = U("cmt-7890");
5utility::string_t urlId = U("/articles/2025/how-to-cpprest");
6utility::string_t broadcastId = U("broadcast-321");
7boost::optional<utility::string_t> sessionId = boost::optional<utility::string_t>(U("sess-0a1b2c"));
8boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("sso-jwt-xyz"));
9
10api->voteComment(tenantId, commentId, urlId, broadcastId, voteBodyParams, sessionId, sso)
11 .then([](pplx::task<std::shared_ptr<VoteComment_200_response>> t) {
12 try {
13 auto resp = t.get();
14 if (!resp) resp = std::make_shared<VoteComment_200_response>();
15 } catch (...) {
16 }
17 });
18

addDomainConfig Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
addDomainConfigParams AddDomainConfigParams Ναι

Απάντηση

Επιστρέφει: AddDomainConfig_200_response

Παράδειγμα

Παράδειγμα addDomainConfig
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3AddDomainConfigParams params;
4params.domain = U("comments.example.com");
5params.allowSubdomains = boost::optional<bool>(true);
6params.contactEmail = boost::optional<utility::string_t>(U("admin@example.com"));
7api->addDomainConfig(tenantId, params)
8.then([](pplx::task<std::shared_ptr<AddDomainConfig_200_response>> t) {
9 try {
10 auto resp = t.get();
11 if (resp) {
12 auto copy = std::make_shared<AddDomainConfig_200_response>(*resp);
13 (void)copy;
14 }
15 } catch (const std::exception& e) {
16 (void)e;
17 }
18});
19

deleteDomainConfig Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
domain string Ναι

Απόκριση

Επιστρέφει: DeleteDomainConfig_200_response

Παράδειγμα

Παράδειγμα deleteDomainConfig
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t domain = U("comments.example.com");
4boost::optional<utility::string_t> ifMatch = boost::optional<utility::string_t>(U("W/\"abc123\""));
5api->deleteDomainConfig(tenantId, domain)
6.then([](pplx::task<std::shared_ptr<DeleteDomainConfig_200_response>> t) {
7 try {
8 auto resp = t.get();
9 if (resp) {
10 auto resultCopy = std::make_shared<DeleteDomainConfig_200_response>(*resp);
11 }
12 } catch (const std::exception&) {
13 }
14});
15

getDomainConfig Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
domain string Ναι

Απόκριση

Επιστρέφει: GetDomainConfig_200_response

Παράδειγμα

Παράδειγμα getDomainConfig
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t domain = U("example.com");
4boost::optional<utility::string_t> env = boost::optional<utility::string_t>(U("production"));
5api->getDomainConfig(tenantId, domain).then([=](pplx::task<std::shared_ptr<GetDomainConfig_200_response>> t) {
6 try {
7 auto resp = t.get();
8 if (!resp) resp = std::make_shared<GetDomainConfig_200_response>();
9 std::cout << "Domain config received for " << utility::conversions::to_utf8string(domain) << '\n';
10 } catch (const std::exception &ex) {
11 std::cerr << "Failed to get domain config: " << ex.what() << '\n';
12 }
13});
14

getDomainConfigs Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι

Απόκριση

Επιστρέφει: GetDomainConfigs_200_response

Παράδειγμα

getDomainConfigs Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<utility::string_t> requestId = utility::conversions::to_string_t("req-789");
4api->getDomainConfigs(tenantId)
5 .then([requestId](pplx::task<std::shared_ptr<GetDomainConfigs_200_response>> t){
6 try {
7 auto resp = t.get();
8 auto copy = std::make_shared<GetDomainConfigs_200_response>(*resp);
9 if (requestId) std::cout << "Request id present\n";
10 std::cout << "Domain configs loaded\n";
11 } catch (const std::exception &e) {
12 std::cerr << "Error: " << e.what() << '\n';
13 }
14 }).wait();
15

patchDomainConfig Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
domainToUpdate string Ναι
patchDomainConfigParams PatchDomainConfigParams Ναι

Απόκριση

Επιστρέφει: GetDomainConfig_200_response

Παράδειγμα

Παράδειγμα patchDomainConfig
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t domainToUpdate = U("example.com");
4PatchDomainConfigParams params;
5params.adminEmail = boost::optional<utility::string_t>(U("admin@example.com"));
6params.enableSso = boost::optional<bool>(true);
7params.ssoRedirectUrl = boost::optional<utility::string_t>(U("https://auth.example.com/callback"));
8api->patchDomainConfig(tenantId, domainToUpdate, params)
9 .then([](pplx::task<std::shared_ptr<GetDomainConfig_200_response>> task){
10 try {
11 auto resp = task.get();
12 if (resp) {
13 auto updated = std::make_shared<GetDomainConfig_200_response>(*resp);
14 }
15 } catch (const std::exception& e) {
16 auto err = std::string(e.what());
17 }
18 });
19

putDomainConfig Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
domainToUpdate string Ναι
updateDomainConfigParams UpdateDomainConfigParams Ναι

Απόκριση

Επιστρέφει: GetDomainConfig_200_response

Παράδειγμα

Παράδειγμα putDomainConfig
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t domainToUpdate = U("comments.myapp.com");
4auto params = std::make_shared<UpdateDomainConfigParams>();
5params->displayName = utility::string_t(U("My App Comments"));
6params->enabled = boost::optional<bool>(true);
7params->contactEmail = boost::optional<utility::string_t>(U("admin@myapp.com"));
8api->putDomainConfig(tenantId, domainToUpdate, *params)
9.then([](pplx::task<std::shared_ptr<GetDomainConfig_200_response>> t){
10 try {
11 auto resp = t.get();
12 if (resp) {
13 auto updated = resp;
14 }
15 } catch (const std::exception& e) {
16 }
17});
18

createEmailTemplate Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createEmailTemplateBody CreateEmailTemplateBody Ναι

Απάντηση

Επιστρέφει: CreateEmailTemplate_200_response

Παράδειγμα

Παράδειγμα createEmailTemplate
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3auto body = std::make_shared<CreateEmailTemplateBody>();
4body->name = utility::string_t(U("Welcome Email"));
5body->subject = utility::string_t(U("Welcome to Our Service"));
6body->fromEmail = utility::string_t(U("no-reply@mycompany.com"));
7body->fromName = utility::string_t(U("MyCompany Support"));
8body->html = utility::string_t(U("<p>Hello , welcome to MyCompany.</p>"));
9body->description = boost::optional<utility::string_t>(utility::string_t(U("Onboarding welcome template")));
10api->createEmailTemplate(tenantId, *body)
11.then([](pplx::task<std::shared_ptr<CreateEmailTemplate_200_response>> task){
12 try {
13 auto resp = task.get();
14 if (resp) {
15 bool created = true;
16 (void)created;
17 }
18 } catch (const std::exception&) {
19 }
20});
21

deleteEmailTemplate Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα deleteEmailTemplate
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t templateId = U("welcome-email-template-456");
4boost::optional<utility::string_t> requestNote = boost::optional<utility::string_t>(U("remove-obsolete"));
5auto fallback = std::make_shared<FlagCommentPublic_200_response>();
6api->deleteEmailTemplate(tenantId, templateId)
7.then([requestNote, fallback](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t) -> pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> {
8 try {
9 auto resp = t.get();
10 if (resp) return pplx::task_from_result(resp);
11 if (requestNote) return pplx::task_from_result(fallback);
12 return pplx::task_from_result<std::shared_ptr<FlagCommentPublic_200_response>>(nullptr);
13 } catch (...) {
14 return pplx::task_from_result<std::shared_ptr<FlagCommentPublic_200_response>>(nullptr);
15 }
16});
17

deleteEmailTemplateRenderError Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
errorId string Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα deleteEmailTemplateRenderError
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t templateId = U("welcome-email-template-456");
4utility::string_t errorId = U("render-error-789");
5auto placeholder = std::make_shared<FlagCommentPublic_200_response>();
6boost::optional<utility::string_t> operatorNote = boost::none;
7operatorNote = U("auto-resolved");
8
9api->deleteEmailTemplateRenderError(tenantId, templateId, errorId)
10 .then([operatorNote, templateId](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> previous) {
11 try {
12 auto resp = previous.get();
13 if (resp) {
14 std::cout << "Successfully deleted render error for template: " << utility::conversions::to_utf8string(templateId) << std::endl;
15 }
16 if (operatorNote) {
17 std::cout << "Note: " << utility::conversions::to_utf8string(operatorNote.value()) << std::endl;
18 }
19 } catch (const std::exception &e) {
20 std::cerr << "API error: " << e.what() << std::endl;
21 }
22 });
23

getEmailTemplate Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απάντηση

Επιστρέφει: GetEmailTemplate_200_response

Παράδειγμα

Παράδειγμα getEmailTemplate
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t templateId = U("welcome-email-001");
4boost::optional<utility::string_t> preferLocale = boost::optional<utility::string_t>(U("en-US"));
5api->getEmailTemplate(tenantId, templateId)
6 .then([preferLocale](std::shared_ptr<GetEmailTemplate_200_response> resp) {
7 auto templateResp = resp ? resp : std::make_shared<GetEmailTemplate_200_response>();
8 if (preferLocale) {
9 (void)preferLocale;
10 }
11 return templateResp;
12 });
13

getEmailTemplateDefinitions Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι

Απόκριση

Επιστρέφει: GetEmailTemplateDefinitions_200_response

Παράδειγμα

Παράδειγμα getEmailTemplateDefinitions
Copy Copy
1
2boost::optional<utility::string_t> tenantIdOpt = utility::string_t(U("my-tenant-123"));
3api->getEmailTemplateDefinitions(tenantIdOpt.value())
4.then([](pplx::task<std::shared_ptr<GetEmailTemplateDefinitions_200_response>> task) {
5 try {
6 auto resp = task.get();
7 auto localCopy = std::make_shared<GetEmailTemplateDefinitions_200_response>(*resp);
8 (void)localCopy;
9 } catch (const std::exception& e) {
10 auto fallback = std::make_shared<GetEmailTemplateDefinitions_200_response>();
11 (void)fallback;
12 }
13});
14

getEmailTemplateRenderErrors Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
skip double Όχι

Απόκριση

Επιστρέφει: GetEmailTemplateRenderErrors_200_response

Παράδειγμα

Παράδειγμα getEmailTemplateRenderErrors
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("email-template-789");
4boost::optional<double> skip{10.0};
5auto defaultResp = std::make_shared<GetEmailTemplateRenderErrors_200_response>();
6api->getEmailTemplateRenderErrors(tenantId, id, skip).then([defaultResp](pplx::task<std::shared_ptr<GetEmailTemplateRenderErrors_200_response>> t){
7 try {
8 auto resp = t.get();
9 if(!resp) resp = defaultResp;
10 std::wcout << (resp ? U("Received render errors response\n") : U("No response\n"));
11 } catch(...) {
12 std::wcout << U("Failed to retrieve render errors\n");
13 }
14});
15

getEmailTemplates Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
skip double Όχι

Απόκριση

Επιστρέφει: GetEmailTemplates_200_response

Παράδειγμα

Παράδειγμα getEmailTemplates
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<double> skip = 10.0;
4api->getEmailTemplates(tenantId, skip).then([](pplx::task<std::shared_ptr<GetEmailTemplates_200_response>> t){
5 try {
6 auto resp = t.get();
7 if (resp) {
8 auto copy = std::make_shared<GetEmailTemplates_200_response>(*resp);
9 }
10 } catch (const std::exception& e) {
11 (void)e;
12 }
13});
14

renderEmailTemplate Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
renderEmailTemplateBody RenderEmailTemplateBody Ναι
locale string Όχι

Απόκριση

Επιστρέφει: RenderEmailTemplate_200_response

Παράδειγμα

Παράδειγμα renderEmailTemplate
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3RenderEmailTemplateBody renderEmailTemplateBody;
4renderEmailTemplateBody.setTemplateName(U("welcome_wagon"));
5renderEmailTemplateBody.setRecipient(U("alice@example.com"));
6web::json::value vars;
7vars[U("firstName")] = web::json::value::string(U("Alice"));
8renderEmailTemplateBody.setVariables(vars);
9boost::optional<utility::string_t> locale = boost::optional<utility::string_t>(U("en-US"));
10auto placeholder = std::make_shared<RenderEmailTemplate_200_response>();
11api->renderEmailTemplate(tenantId, renderEmailTemplateBody, locale)
12.then([](pplx::task<std::shared_ptr<RenderEmailTemplate_200_response>> task){
13 try {
14 auto resp = task.get();
15 if (resp) {
16 std::cout << "Email template rendered successfully" << std::endl;
17 } else {
18 std::cerr << "No response returned" << std::endl;
19 }
20 } catch (const std::exception& e) {
21 std::cerr << "Render failed: " << e.what() << std::endl;
22 }
23});
24

updateEmailTemplate Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateEmailTemplateBody UpdateEmailTemplateBody Ναι

Απάντηση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα updateEmailTemplate
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t templateId = U("welcome-email-01");
4UpdateEmailTemplateBody updateBody;
5boost::optional<utility::string_t> optionalFrom = boost::optional<utility::string_t>(U("no-reply@myapp.com"));
6updateBody.from = optionalFrom;
7updateBody.subject = U("Welcome to MyApp");
8updateBody.html = U("<p>Hi , welcome to MyApp!</p>");
9auto bodyPtr = std::make_shared<UpdateEmailTemplateBody>(updateBody);
10api->updateEmailTemplate(tenantId, templateId, *bodyPtr)
11.then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t){
12 try {
13 auto resp = t.get();
14 if (resp) {
15 std::cout << "Email template updated successfully\n";
16 } else {
17 std::cout << "Unexpected empty response\n";
18 }
19 } catch (const std::exception &e) {
20 std::cerr << "Update failed: " << e.what() << '\n';
21 }
22});
23

getEventLog Internal Link

req tenantId urlId userIdWS

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι
userIdWS string Ναι
startTime int64_t Ναι
endTime int64_t Ναι

Απόκριση

Επιστρέφει: GetEventLog_200_response

Παράδειγμα

Παράδειγμα getEventLog
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("article-456");
4utility::string_t userIdWS = U("user@example.com");
5int64_t startTime = 1672531200LL;
6boost::optional<int64_t> endTimeOpt = 1672617600LL;
7api->getEventLog(tenantId, urlId, userIdWS, startTime, *endTimeOpt)
8 .then([](pplx::task<std::shared_ptr<GetEventLog_200_response>> t){
9 try {
10 auto resp = t.get();
11 if (!resp) resp = std::make_shared<GetEventLog_200_response>();
12 } catch (const std::exception&) {}
13 });
14

getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι
userIdWS string Ναι
startTime int64_t Ναι
endTime int64_t Ναι

Απόκριση

Επιστρέφει: GetEventLog_200_response

Παράδειγμα

Παράδειγμα getGlobalEventLog
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t defaultUrlId = U("article-456");
4boost::optional<utility::string_t> maybeUrlId = boost::optional<utility::string_t>(U("article-456"));
5utility::string_t urlId = maybeUrlId ? *maybeUrlId : defaultUrlId;
6utility::string_t userIdWS = U("user@example.com");
7int64_t startTime = 1622505600000LL;
8int64_t endTime = 1622592000000LL;
9auto defaultResp = std::make_shared<GetEventLog_200_response>();
10api->getGlobalEventLog(tenantId, urlId, userIdWS, startTime, endTime)
11.then([](pplx::task<std::shared_ptr<GetEventLog_200_response>> task){
12 try {
13 auto resp = task.get();
14 if (resp) std::cout << "Received event log with entries\n";
15 else std::cout << "No event log returned\n";
16 } catch (const std::exception &e) {
17 std::cerr << "getGlobalEventLog failed: " << e.what() << '\n';
18 }
19});
20

createFeedPost Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createFeedPostParams CreateFeedPostParams Ναι
broadcastId string Όχι
isLive bool Όχι
doSpamCheck bool Όχι
skipDupCheck bool Όχι

Απόκριση

Επιστρέφει: CreateFeedPost_200_response

Παράδειγμα

Παράδειγμα createFeedPost
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3CreateFeedPostParams params;
4params.title = utility::string_t(U("Weekly Product Update"));
5params.content = utility::string_t(U("This week we shipped several improvements to the API."));
6params.authorEmail = utility::string_t(U("jane.doe@example.com"));
7
8boost::optional<utility::string_t> broadcastId = boost::optional<utility::string_t>(U("broadcast-456"));
9boost::optional<bool> isLive = boost::optional<bool>(true);
10boost::optional<bool> doSpamCheck = boost::optional<bool>(false);
11boost::optional<bool> skipDupCheck = boost::optional<bool>(false);
12
13api->createFeedPost(tenantId, params, broadcastId, isLive, doSpamCheck, skipDupCheck)
14.then([](pplx::task<std::shared_ptr<CreateFeedPost_200_response>> t){
15 try {
16 auto resp = t.get();
17 auto copy = std::make_shared<CreateFeedPost_200_response>(*resp);
18 } catch (...) {}
19});
20

createFeedPostPublic Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createFeedPostParams CreateFeedPostParams Ναι
broadcastId string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: CreateFeedPostPublic_200_response

Παράδειγμα

Παράδειγμα createFeedPostPublic
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto paramsPtr = std::make_shared<CreateFeedPostParams>();
4paramsPtr->title = utility::string_t(U("Weekly Release Notes"));
5paramsPtr->content = utility::string_t(U("We've deployed version 2.4.1 with bug fixes and UX improvements."));
6paramsPtr->authorEmail = utility::string_t(U("alice@example.com"));
7boost::optional<utility::string_t> broadcastId = utility::string_t(U("broadcast-456"));
8boost::optional<utility::string_t> sso = utility::string_t(U("sso-token-abc123"));
9api->createFeedPostPublic(tenantId, *paramsPtr, broadcastId, sso)
10 .then([](pplx::task<std::shared_ptr<CreateFeedPostPublic_200_response>> t) {
11 try {
12 auto resp = t.get();
13 if (resp) std::cout << "Feed post created successfully\n";
14 } catch (const std::exception& e) {
15 std::cerr << "Failed to create feed post: " << e.what() << '\n';
16 }
17 });
18

deleteFeedPostPublic Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
postId string Ναι
broadcastId string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: DeleteFeedPostPublic_200_response

Παράδειγμα

Παράδειγμα deleteFeedPostPublic
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t postId = U("post-456");
4boost::optional<utility::string_t> broadcastId = boost::optional<utility::string_t>(U("broadcast-789"));
5boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
6api->deleteFeedPostPublic(tenantId, postId, broadcastId, sso)
7.then([](pplx::task<std::shared_ptr<DeleteFeedPostPublic_200_response>> t){
8 try {
9 auto resp = t.get();
10 if (!resp) resp = std::make_shared<DeleteFeedPostPublic_200_response>();
11 (void)resp;
12 } catch (const std::exception&) {
13 }
14});
15

getFeedPosts Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
afterId string Όχι
limit int32_t Όχι
tags vector<string Όχι

Απόκριση

Επιστρέφει: GetFeedPosts_200_response

Παράδειγμα

Παράδειγμα getFeedPosts
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> afterId(utility::string_t(U("post_456")));
4boost::optional<int32_t> limit(50);
5std::vector<utility::string_t> tagVec{U("news"), U("announcement")};
6boost::optional<std::vector<utility::string_t>> tags(tagVec);
7api->getFeedPosts(tenantId, afterId, limit, tags)
8.then([](std::shared_ptr<GetFeedPosts_200_response> resp) {
9 auto copy = std::make_shared<GetFeedPosts_200_response>(*resp);
10 (void)copy;
11});
12

getFeedPostsPublic Internal Link

req tenantId afterId

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
afterId string Όχι
limit int32_t Όχι
tags vector<string Όχι
sso string Όχι
isCrawler bool Όχι
includeUserInfo bool Όχι

Απόκριση

Επιστρέφει: GetFeedPostsPublic_200_response

Παράδειγμα

Παράδειγμα getFeedPostsPublic
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> afterId = boost::optional<utility::string_t>(U("post_abc123"));
4boost::optional<int32_t> limit = boost::optional<int32_t>(20);
5boost::optional<std::vector<utility::string_t>> tags = boost::optional<std::vector<utility::string_t>>(std::vector<utility::string_t>{U("news"), U("tech")});
6boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
7boost::optional<bool> isCrawler = boost::optional<bool>(false);
8boost::optional<bool> includeUserInfo = boost::optional<bool>(true);
9api->getFeedPostsPublic(tenantId, afterId, limit, tags, sso, isCrawler, includeUserInfo)
10.then([](pplx::task<std::shared_ptr<GetFeedPostsPublic_200_response>> t){
11 try {
12 std::shared_ptr<GetFeedPostsPublic_200_response> resp = t.get();
13 auto marker = std::make_shared<int>(1);
14 if (resp) { (void)marker; }
15 } catch (const std::exception&) {
16 }
17});
18

getFeedPostsStats Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
postIds vector<string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: GetFeedPostsStats_200_response

Παράδειγμα

Παράδειγμα getFeedPostsStats
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3std::vector<utility::string_t> postIds{ U("post-abc-001"), U("post-xyz-123") };
4boost::optional<utility::string_t> sso(U("user@example.com"));
5api->getFeedPostsStats(tenantId, postIds, sso)
6 .then([](pplx::task<std::shared_ptr<GetFeedPostsStats_200_response>> t)
7 {
8 try {
9 auto resp = t.get();
10 auto respCopy = resp ? std::make_shared<GetFeedPostsStats_200_response>(*resp) : nullptr;
11 (void)respCopy;
12 } catch (const std::exception&) {}
13 });
14

getUserReactsPublic Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
postIds vector<string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: GetUserReactsPublic_200_response

Παράδειγμα

getUserReactsPublic Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = utility::conversions::to_string_t("my-tenant-123");
3std::vector<utility::string_t> postIdsVec = {
4 utility::conversions::to_string_t("post-456"),
5 utility::conversions::to_string_t("post-789")
6};
7boost::optional<std::vector<utility::string_t>> postIdsOpt = postIdsVec;
8boost::optional<utility::string_t> ssoOpt = utility::conversions::to_string_t("user@example.com");
9api->getUserReactsPublic(tenantId, postIdsOpt, ssoOpt)
10 .then([](pplx::task<std::shared_ptr<GetUserReactsPublic_200_response>> t) {
11 try {
12 auto resp = t.get();
13 if (!resp) resp = std::make_shared<GetUserReactsPublic_200_response>();
14 } catch (const std::exception&) {
15 }
16 });
17

reactFeedPostPublic Internal Link

Παράμετροι

Name Type Απαιτείται Περιγραφή
tenantId string Ναι
postId string Ναι
reactBodyParams ReactBodyParams Ναι
isUndo bool Όχι
broadcastId string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: ReactFeedPostPublic_200_response

Παράδειγμα

Παράδειγμα reactFeedPostPublic
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t postId = U("post-987");
4ReactBodyParams reactBodyParams;
5reactBodyParams.userId = U("jane.doe@example.com");
6reactBodyParams.reaction = U("like");
7boost::optional<bool> isUndo = boost::optional<bool>(false);
8boost::optional<utility::string_t> broadcastId = boost::optional<utility::string_t>(U("broadcast-001"));
9boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("sso-token-xyz"));
10api->reactFeedPostPublic(tenantId, postId, reactBodyParams, isUndo, broadcastId, sso)
11 .then([](pplx::task<std::shared_ptr<ReactFeedPostPublic_200_response>> task) {
12 try {
13 auto resp = task.get();
14 auto out = resp ? resp : std::make_shared<ReactFeedPostPublic_200_response>();
15 std::cout << "Reaction processed\n";
16 } catch (const std::exception &e) {
17 std::cerr << "React failed: " << e.what() << '\n';
18 }
19 });
20

updateFeedPost Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
feedPost FeedPost Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα updateFeedPost
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t postId = U("post-987654321");
4FeedPost feedPost;
5feedPost.title = U("Weekly status update");
6feedPost.content = U("Completed the migration of the comments service to the new infra.");
7feedPost.authorEmail = U("developer@acme-corp.com");
8boost::optional<utility::string_t> summary = boost::optional<utility::string_t>(U("Migration complete"));
9feedPost.summary = summary;
10auto updateTask = api->updateFeedPost(tenantId, postId, feedPost)
11 .then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t) {
12 try {
13 auto resp = t.get();
14 if (resp) {
15 auto cloned = std::make_shared<FlagCommentPublic_200_response>(*resp);
16 }
17 } catch (...) {
18 }
19 });
20

updateFeedPostPublic Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
postId string Ναι
updateFeedPostParams UpdateFeedPostParams Ναι
broadcastId string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: CreateFeedPostPublic_200_response

Παράδειγμα

updateFeedPostPublic Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = U"my-tenant-123";
3utility::string_t postId = U"post-456";
4UpdateFeedPostParams params;
5boost::optional<utility::string_t> broadcastId = utility::string_t(U"broadcast-789");
6boost::optional<utility::string_t> sso = utility::string_t(U"user@example.com");
7api->updateFeedPostPublic(tenantId, postId, params, broadcastId, sso)
8.then([](pplx::task<std::shared_ptr<CreateFeedPostPublic_200_response>> task){
9 try {
10 auto resp = task.get();
11 if (!resp) resp = std::make_shared<CreateFeedPostPublic_200_response>();
12 (void)resp;
13 } catch (...) {}
14});
15

flagCommentPublic Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
isFlagged bool Ναι
sso string Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα flagCommentPublic
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-789012");
4bool isFlagged = true;
5boost::optional<utility::string_t> sso{ U("user@example.com") };
6api->flagCommentPublic(tenantId, commentId, isFlagged, sso)
7.then([](std::shared_ptr<FlagCommentPublic_200_response> resp){
8 auto respCopy = std::make_shared<FlagCommentPublic_200_response>(*resp);
9 return respCopy;
10});
11

addHashTag Internal Link

Παράμετροι

Name Type Required Description
tenantId string Όχι
createHashTagBody CreateHashTagBody Όχι

Response

Επιστρέφει: AddHashTag_200_response

Παράδειγμα

Παράδειγμα addHashTag
Copy Copy
1
2boost::optional<utility::string_t> tenantId(U("my-tenant-123"));
3auto bodyPtr = std::make_shared<CreateHashTagBody>();
4bodyPtr->name = U("release");
5bodyPtr->color = U("#00aaff");
6boost::optional<CreateHashTagBody> createBody(*bodyPtr);
7api->addHashTag(tenantId, createBody).then([](pplx::task<std::shared_ptr<AddHashTag_200_response>> t){
8 try {
9 auto resp = t.get();
10 (void)resp;
11 } catch(...) {}
12});
13

addHashTagsBulk Internal Link

Παραμέτροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Όχι
bulkCreateHashTagsBody BulkCreateHashTagsBody Όχι

Απόκριση

Επιστρέφει: AddHashTagsBulk_200_response

Παράδειγμα

Παράδειγμα addHashTagsBulk
Copy Copy
1
2utility::string_t tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto bodyPtr = std::make_shared<BulkCreateHashTagsBody>();
4boost::optional<utility::string_t> optTenant(tenantId);
5boost::optional<BulkCreateHashTagsBody> optBody(*bodyPtr);
6api->addHashTagsBulk(optTenant, optBody).then([](pplx::task<std::shared_ptr<AddHashTagsBulk_200_response>> t){
7 try {
8 auto resp = t.get();
9 if (resp) std::cout << "Bulk hashtags added for tenant\n";
10 } catch (const std::exception &e) {
11 std::cerr << "addHashTagsBulk error: " << e.what() << '\n';
12 }
13});
14

deleteHashTag Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tag string Ναι
tenantId string Όχι
deleteHashTagRequest DeleteHashTag_request Όχι

Απάντηση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα deleteHashTag
Copy Copy
1
2utility::string_t tag = U("inappropriate");
3boost::optional<utility::string_t> tenantId = boost::optional<utility::string_t>(U("my-tenant-123"));
4DeleteHashTag_request req;
5boost::optional<DeleteHashTag_request> optReq = boost::optional<DeleteHashTag_request>(req);
6
7api->deleteHashTag(tag, tenantId, optReq)
8.then([](std::shared_ptr<FlagCommentPublic_200_response> resp){
9 auto out = std::make_shared<FlagCommentPublic_200_response>(*resp);
10 std::cout << "Hashtag removed successfully for tenant\n";
11 return out;
12}).wait();
13

getHashTags Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
page double Όχι

Απόκριση

Επιστρέφει: GetHashTags_200_response

Παράδειγμα

Παράδειγμα getHashTags
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<double> page = 2.0;
4auto defaultResp = std::make_shared<GetHashTags_200_response>();
5api->getHashTags(tenantId, page).then([defaultResp](pplx::task<std::shared_ptr<GetHashTags_200_response>> t) {
6 try {
7 auto resp = t.get();
8 if(!resp) resp = defaultResp;
9 std::cout << "getHashTags completed; response object " << (resp ? "present" : "absent") << std::endl;
10 } catch(const std::exception& e) {
11 std::cout << "getHashTags error: " << e.what() << std::endl;
12 }
13});
14

patchHashTag Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tag string Ναι
tenantId string Όχι
updateHashTagBody UpdateHashTagBody Όχι

Απόκριση

Επιστρέφει: PatchHashTag_200_response

Παράδειγμα

Παράδειγμα patchHashTag
Copy Copy
1
2utility::string_t tag = U("release-1.0");
3boost::optional<utility::string_t> tenantId = boost::optional<utility::string_t>(U("my-tenant-123"));
4UpdateHashTagBody body;
5boost::optional<UpdateHashTagBody> updateBody = boost::optional<UpdateHashTagBody>(body);
6api->patchHashTag(tag, tenantId, updateBody)
7.then([](pplx::task<std::shared_ptr<PatchHashTag_200_response>> t) {
8 try {
9 auto resp = t.get();
10 if (resp) {
11 auto copied = std::make_shared<PatchHashTag_200_response>(*resp);
12 std::cout << "PatchHashTag succeeded" << std::endl;
13 } else {
14 std::cout << "PatchHashTag returned no data" << std::endl;
15 }
16 } catch (const std::exception &e) {
17 std::cerr << "PatchHashTag error: " << e.what() << std::endl;
18 }
19});
20

createModerator Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createModeratorBody CreateModeratorBody Ναι

Απόκριση

Επιστρέφει: CreateModerator_200_response

Παράδειγμα

createModerator Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3CreateModeratorBody createModeratorBody;
4createModeratorBody.email = U("moderator@example.com");
5createModeratorBody.displayName = U("Support Moderator");
6createModeratorBody.roles = std::vector<utility::string_t>{ U("moderator"), U("support") };
7createModeratorBody.notes = boost::optional<utility::string_t>(U("Temporary moderator for Q1"));
8api->createModerator(tenantId, createModeratorBody)
9.then([](pplx::task<std::shared_ptr<CreateModerator_200_response>> t)
10{
11 try
12 {
13 auto resp = t.get();
14 auto respCopy = std::make_shared<CreateModerator_200_response>(*resp);
15 (void)respCopy;
16 }
17 catch (const std::exception&)
18 {
19 }
20});
21

deleteModerator Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
sendEmail string Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα deleteModerator
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t moderatorId = U("moderator-456");
4boost::optional<utility::string_t> sendEmail = boost::optional<utility::string_t>(U("moderator@notifications.example.com"));
5api->deleteModerator(tenantId, moderatorId, sendEmail)
6 .then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t){
7 try {
8 auto resp = t.get();
9 if (!resp) resp = std::make_shared<FlagCommentPublic_200_response>();
10 return resp;
11 } catch (const std::exception&) {
12 return std::make_shared<FlagCommentPublic_200_response>();
13 }
14 });
15

getModerator Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: GetModerator_200_response

Παράδειγμα

Παράδειγμα getModerator
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t moderatorId = U("moderator-456");
4boost::optional<utility::string_t> requestLocale = U("en-US");
5auto fallbackModerator = std::make_shared<GetModerator_200_response>();
6
7api->getModerator(tenantId, moderatorId)
8 .then([fallbackModerator, requestLocale](std::shared_ptr<GetModerator_200_response> resp) -> pplx::task<std::shared_ptr<GetModerator_200_response>> {
9 auto moderator = resp ? resp : fallbackModerator;
10 if (requestLocale) { auto loc = *requestLocale; (void)loc; }
11 return pplx::task_from_result(moderator);
12 })
13 .then([](std::shared_ptr<GetModerator_200_response> finalResp) -> void {
14 (void)finalResp;
15 });
16

getModerators Internal Link

Παράμετροι

Όνομα Type Υποχρεωτικό Περιγραφή
tenantId string Ναι
skip double Όχι

Απόκριση

Επιστρέφει: GetModerators_200_response

Παράδειγμα

Παράδειγμα getModerators
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<double> skip = boost::optional<double>(10);
4auto task = api->getModerators(tenantId, skip)
5 .then([](std::shared_ptr<GetModerators_200_response> resp) {
6 if (!resp) {
7 std::cout << "No moderators returned\n";
8 return;
9 }
10 auto copy = std::make_shared<GetModerators_200_response>(*resp);
11 std::cout << "Retrieved moderators\n";
12 });
13task.wait();
14

sendInvite Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
fromName string Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα sendInvite
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("comment-456");
4utility::string_t fromName = U("moderator@example.com");
5boost::optional<utility::string_t> inviteNote = boost::optional<utility::string_t>(U("Please review this flagged comment"));
6auto task = api->sendInvite(tenantId, id, fromName)
7 .then([inviteNote](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t) -> std::shared_ptr<FlagCommentPublic_200_response> {
8 try {
9 auto resp = t.get();
10 auto wrapped = std::make_shared<FlagCommentPublic_200_response>(*resp);
11 (void)inviteNote;
12 return wrapped;
13 } catch (...) {
14 throw;
15 }
16 });
17

updateModerator Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateModeratorBody UpdateModeratorBody Ναι

Απάντηση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα updateModerator
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t moderatorId = U("moderator-456");
4auto bodyPtr = std::make_shared<UpdateModeratorBody>();
5bodyPtr->email = utility::string_t(U("mod.jane@example.com"));
6bodyPtr->displayName = boost::optional<utility::string_t>(utility::string_t(U("Jane Moderator")));
7bodyPtr->enabled = boost::optional<bool>(true);
8api->updateModerator(tenantId, moderatorId, *bodyPtr).then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t){
9 try {
10 auto resp = t.get();
11 if (resp) {
12 std::cout << "Moderator updated successfully" << std::endl;
13 }
14 } catch (const std::exception &e) {
15 std::cerr << "Update failed: " << e.what() << std::endl;
16 }
17});
18

deleteNotificationCount Internal Link

Παράμετροι

Όνομα Τύπος Υποχρεωτικό Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα deleteNotificationCount
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t notifId = U("notification-456");
4boost::optional<utility::string_t> actingUser = boost::optional<utility::string_t>(U("moderator@example.com"));
5api->deleteNotificationCount(tenantId, notifId)
6.then([actingUser](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t) {
7 try {
8 auto resp = t.get();
9 if (!resp) resp = std::make_shared<FlagCommentPublic_200_response>();
10 if (actingUser) std::cout << "Actor: " << actingUser->c_str() << "\n";
11 std::cout << "Notification count cleared\n";
12 } catch (const std::exception &e) {
13 std::cout << "Failed: " << e.what() << "\n";
14 }
15});
16

getCachedNotificationCount Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απάντηση

Επιστρέφει: GetCachedNotificationCount_200_response

Παράδειγμα

Παράδειγμα getCachedNotificationCount
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t userId = U("user@example.com");
4boost::optional<utility::string_t> opt_status = boost::optional<utility::string_t>(U("unread"));
5api->getCachedNotificationCount(tenantId, userId)
6 .then([=](pplx::task<std::shared_ptr<GetCachedNotificationCount_200_response>> t){
7 try {
8 std::shared_ptr<GetCachedNotificationCount_200_response> resp = t.get();
9 if(!resp) return;
10 auto copy = std::make_shared<GetCachedNotificationCount_200_response>(*resp);
11 } catch(const std::exception &){
12 }
13 });
14

getNotificationCount Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
userId string Όχι
urlId string Όχι
fromCommentId string Όχι
viewed bool Όχι
type string Όχι

Απόκριση

Επιστρέφει: GetNotificationCount_200_response

Παράδειγμα

Παράδειγμα getNotificationCount
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> userId = U("user@example.com");
4boost::optional<utility::string_t> urlId = U("https://www.example.com/article/456");
5boost::optional<utility::string_t> fromCommentId = U("cmt-789");
6boost::optional<bool> viewed = true;
7boost::optional<utility::string_t> type = U("reply");
8
9api->getNotificationCount(tenantId, userId, urlId, fromCommentId, viewed, type)
10 .then([](pplx::task<std::shared_ptr<GetNotificationCount_200_response>> task){
11 try {
12 auto resp = task.get();
13 auto result = resp ? resp : std::make_shared<GetNotificationCount_200_response>();
14 } catch (const std::exception&) {
15 }
16 });
17

getNotifications Internal Link


Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
userId string Όχι
urlId string Όχι
fromCommentId string Όχι
viewed bool Όχι
type string Όχι
skip double Όχι

Απόκριση

Επιστρέφει: GetNotifications_200_response

Παράδειγμα

Παράδειγμα getNotifications
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> userId = boost::optional<utility::string_t>(U("user@example.com"));
4boost::optional<utility::string_t> urlId = boost::optional<utility::string_t>(U("https://example.com/posts/42"));
5boost::optional<utility::string_t> fromCommentId = boost::optional<utility::string_t>(U("cmt-98765"));
6boost::optional<bool> viewed = boost::optional<bool>(true);
7boost::optional<utility::string_t> type = boost::optional<utility::string_t>(U("reply"));
8boost::optional<double> skip = boost::optional<double>(0.0);
9
10api->getNotifications(tenantId, userId, urlId, fromCommentId, viewed, type, skip)
11.then([](pplx::task<std::shared_ptr<GetNotifications_200_response>> t){
12 try {
13 auto resp = t.get();
14 if (resp) {
15 auto processed = std::make_shared<GetNotifications_200_response>(*resp);
16 }
17 } catch (const std::exception&) {
18 }
19});
20

updateNotification Internal Link

Παράμετροι

Name Type Required Description
tenantId string Yes
id string Yes
updateNotificationBody UpdateNotificationBody Yes
userId string No

Απάντηση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα updateNotification
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t notificationId = U("notif-456");
4UpdateNotificationBody updateNotificationBody;
5boost::optional<utility::string_t> userId = boost::optional<utility::string_t>(U("moderator@example.com"));
6api->updateNotification(tenantId, notificationId, updateNotificationBody, userId)
7.then([=](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t) {
8 try {
9 auto resp = t.get();
10 if (resp) {
11 auto respCopy = std::make_shared<FlagCommentPublic_200_response>(*resp);
12 std::cout << "Notification updated successfully\n";
13 } else {
14 std::cout << "No response received\n";
15 }
16 } catch (const std::exception &e) {
17 std::cerr << "Update failed: " << e.what() << "\n";
18 }
19});
20

addPage Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
createAPIPageData CreateAPIPageData Ναι

Απόκριση

Επιστρέφει: AddPageAPIResponse

Παράδειγμα

Παράδειγμα addPage
Copy Copy
1
2auto pageData = std::make_shared<CreateAPIPageData>();
3pageData->url = utility::string_t(U("https://example.com/articles/2025-modern-cpp"));
4pageData->title = utility::string_t(U("Modern C++ Patterns"));
5pageData->description = boost::optional<utility::string_t>(utility::string_t(U("Practical patterns for modern C++ development")));
6pageData->authorEmail = boost::optional<utility::string_t>(utility::string_t(U("dev@company.com")));
7pageData->published = boost::optional<bool>(true);
8
9api->addPage(utility::string_t(U("my-tenant-123")), *pageData)
10.then([](pplx::task<std::shared_ptr<AddPageAPIResponse>> t){
11 try {
12 auto resp = t.get();
13 return resp;
14 } catch (...) {
15 throw;
16 }
17});
18

deletePage Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: DeletePageAPIResponse

Παράδειγμα

Παράδειγμα deletePage
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t pageId = U("page-456");
4boost::optional<utility::string_t> correlationId = boost::optional<utility::string_t>(U("corr-20251122"));
5auto task = api->deletePage(tenantId, pageId)
6 .then([correlationId](pplx::task<std::shared_ptr<DeletePageAPIResponse>> prev) -> std::shared_ptr<DeletePageAPIResponse> {
7 try {
8 auto resp = prev.get();
9 if (resp) return resp;
10 return std::make_shared<DeletePageAPIResponse>();
11 } catch (const std::exception&) {
12 return std::make_shared<DeletePageAPIResponse>();
13 }
14 });
15

getPageByURLId Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι

Απόκριση

Επιστρέφει: GetPageByURLIdAPIResponse

Παράδειγμα

Παράδειγμα getPageByURLId
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("home-page-789");
4boost::optional<utility::string_t> locale = boost::optional<utility::string_t>(U("en-US"));
5api->getPageByURLId(tenantId, urlId).then([=](pplx::task<std::shared_ptr<GetPageByURLIdAPIResponse>> task){
6 try {
7 auto resp = task.get();
8 auto result = resp ? resp : std::make_shared<GetPageByURLIdAPIResponse>();
9 (void)result;
10 } catch (const std::exception &ex) {
11 auto err = std::make_shared<GetPageByURLIdAPIResponse>();
12 (void)err;
13 }
14});
15

getPages Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι

Απόκριση

Επιστρέφει: GetPagesAPIResponse

Παράδειγμα

Παράδειγμα getPages
Copy Copy
1
2int main()
3{
4 utility::string_t tenantId = U("my-tenant-123");
5 boost::optional<utility::string_t> statusFilter = U("published");
6 boost::optional<int> pageNumber = 1;
7 auto placeholder = std::make_shared<GetPagesAPIResponse>();
8 api->getPages(tenantId)
9 .then([placeholder](std::shared_ptr<GetPagesAPIResponse> resp) {
10 if (resp) {
11 *placeholder = *resp;
12 auto refs = resp.use_count();
13 (void)refs;
14 }
15 })
16 .wait();
17 return 0;
18}
19

patchPage Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
id string Ναι
updateAPIPageData UpdateAPIPageData Ναι

Απόκριση

Επιστρέφει: PatchPageAPIResponse

Παράδειγμα

Παράδειγμα patchPage
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t pageId = U("page-9876");
4auto updatePtr = std::make_shared<UpdateAPIPageData>();
5updatePtr->title = utility::string_t(U("About Our Team"));
6updatePtr->slug = utility::string_t(U("about-our-team"));
7updatePtr->enabled = boost::optional<bool>(true);
8updatePtr->description = boost::optional<utility::string_t>(U("Updated team overview and contact information"));
9api->patchPage(tenantId, pageId, *updatePtr)
10.then([](pplx::task<std::shared_ptr<PatchPageAPIResponse>> t){
11 try {
12 auto resp = t.get();
13 if (resp) {
14 std::cout << "Patch successful, page id: " << resp->id << std::endl;
15 }
16 } catch (const std::exception &e) {
17 std::cerr << "Patch failed: " << e.what() << std::endl;
18 }
19});
20

deletePendingWebhookEvent Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απάντηση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα deletePendingWebhookEvent
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t eventId = U("wh_evt_456");
4boost::optional<utility::string_t> requestId = boost::optional<utility::string_t>(U("req-789"));
5api->deletePendingWebhookEvent(tenantId, eventId)
6 .then([requestId](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t) {
7 try {
8 auto resp = t.get();
9 if (resp) {
10 auto resultCopy = std::make_shared<FlagCommentPublic_200_response>(*resp);
11 if (requestId) {
12 (void)requestId.get();
13 }
14 (void)resultCopy;
15 } else {
16 auto fallback = std::make_shared<FlagCommentPublic_200_response>();
17 (void)fallback;
18 }
19 } catch (const std::exception&) {
20 auto errorObj = std::make_shared<FlagCommentPublic_200_response>();
21 (void)errorObj;
22 }
23 }).wait();
24

getPendingWebhookEventCount Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Όχι
externalId string Όχι
eventType string Όχι
type string Όχι
domain string Όχι
attemptCountGT double Όχι

Απόκριση

Επιστρέφει: GetPendingWebhookEventCount_200_response

Παράδειγμα

Παράδειγμα getPendingWebhookEventCount
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> commentId = boost::optional<utility::string_t>(U("cmt-789"));
4boost::optional<utility::string_t> externalId = boost::optional<utility::string_t>(U("ext-456"));
5boost::optional<utility::string_t> eventType = boost::optional<utility::string_t>(U("comment_created"));
6boost::optional<utility::string_t> type = boost::optional<utility::string_t>(U("webhook"));
7boost::optional<utility::string_t> domain = boost::optional<utility::string_t>(U("example.com"));
8boost::optional<double> attemptCountGT = boost::optional<double>(1.0);
9api->getPendingWebhookEventCount(tenantId, commentId, externalId, eventType, type, domain, attemptCountGT)
10.then([](pplx::task<std::shared_ptr<GetPendingWebhookEventCount_200_response>> t){
11 try {
12 auto resp = t.get();
13 auto respCopy = std::make_shared<GetPendingWebhookEventCount_200_response>(*resp);
14 std::cout << "Pending webhook event count retrieved\n";
15 } catch (const std::exception &e) {
16 std::cerr << "Failed to get pending count: " << e.what() << '\n';
17 }
18}).wait();
19

getPendingWebhookEvents Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Όχι
externalId string Όχι
eventType string Όχι
type string Όχι
domain string Όχι
attemptCountGT double Όχι
skip double Όχι

Απόκριση

Επιστρέφει: GetPendingWebhookEvents_200_response

Παράδειγμα

Παράδειγμα getPendingWebhookEvents
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> commentId = boost::optional<utility::string_t>(U("cmt-98765"));
4boost::optional<utility::string_t> externalId = boost::optional<utility::string_t>(U("ext-abc-01"));
5boost::optional<utility::string_t> eventType = boost::optional<utility::string_t>(U("comment_created"));
6boost::optional<utility::string_t> type = boost::optional<utility::string_t>(U("webhook"));
7boost::optional<utility::string_t> domain = boost::optional<utility::string_t>(U("example.com"));
8boost::optional<double> attemptCountGT = boost::optional<double>(2.0);
9boost::optional<double> skip = boost::optional<double>(0.0);
10
11api->getPendingWebhookEvents(tenantId, commentId, externalId, eventType, type, domain, attemptCountGT, skip)
12.then([](pplx::task<std::shared_ptr<GetPendingWebhookEvents_200_response>> t) {
13 try {
14 auto resp = t.get();
15 auto copy = std::make_shared<GetPendingWebhookEvents_200_response>(*resp);
16 (void)copy;
17 } catch (const std::exception& e) {
18 (void)e;
19 auto empty = std::make_shared<GetPendingWebhookEvents_200_response>();
20 (void)empty;
21 }
22});
23

createQuestionConfig Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
createQuestionConfigBody CreateQuestionConfigBody Ναι

Απόκριση

Επιστρέφει: CreateQuestionConfig_200_response

Παράδειγμα

Παράδειγμα createQuestionConfig
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3CreateQuestionConfigBody body;
4body.name = utility::string_t(U("Feature X Feedback"));
5body.description = boost::optional<utility::string_t>(utility::string_t(U("Ask users if Feature X met their needs")));
6body.createdBy = utility::string_t(U("admin@mycompany.com"));
7body.enabled = boost::optional<bool>(true);
8api->createQuestionConfig(tenantId, body).then([](std::shared_ptr<CreateQuestionConfig_200_response> resp){
9 if(resp){
10 auto result = std::make_shared<CreateQuestionConfig_200_response>(*resp);
11 std::wcout << U("Question config created successfully") << std::endl;
12 } else {
13 std::wcout << U("Failed to create question config") << std::endl;
14 }
15});
16

deleteQuestionConfig Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα deleteQuestionConfig
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("qcfg-98765");
4boost::optional<utility::string_t> tenantOpt = tenantId;
5auto t = api->deleteQuestionConfig(tenantOpt.value_or(utility::string_t()), id)
6.then([](std::shared_ptr<FlagCommentPublic_200_response> resp) -> std::shared_ptr<FlagCommentPublic_200_response> {
7 auto out = std::make_shared<FlagCommentPublic_200_response>();
8 if (resp) *out = *resp;
9 return out;
10});
11t.wait();
12

getQuestionConfig Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: GetQuestionConfig_200_response

Παράδειγμα

getQuestionConfig Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("question-456");
4boost::optional<utility::string_t> locale = U("en-US");
5auto defaultResp = std::make_shared<GetQuestionConfig_200_response>();
6api->getQuestionConfig(tenantId, id).then([defaultResp](pplx::task<std::shared_ptr<GetQuestionConfig_200_response>> t) {
7 try {
8 auto resp = t.get();
9 if(!resp) resp = defaultResp;
10 std::cout << "Question config retrieved" << std::endl;
11 } catch(const std::exception &e) {
12 std::cerr << "Failed to get question config: " << e.what() << std::endl;
13 }
14});
15

getQuestionConfigs Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
skip double Όχι

Απόκριση

Επιστρέφει: GetQuestionConfigs_200_response

Παράδειγμα

Παράδειγμα getQuestionConfigs
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<double> skip = 10;
4api->getQuestionConfigs(tenantId, skip).then([](pplx::task<std::shared_ptr<GetQuestionConfigs_200_response>> task) {
5 try {
6 auto resp = task.get();
7 if (resp) {
8 auto localCopy = std::make_shared<GetQuestionConfigs_200_response>(*resp);
9 }
10 } catch (const std::exception&) {
11 }
12});
13

updateQuestionConfig Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateQuestionConfigBody UpdateQuestionConfigBody Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα updateQuestionConfig
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto configId = utility::string_t(U("question-config-456"));
4auto body = std::make_shared<UpdateQuestionConfigBody>();
5body->enabled = true;
6body->threshold = 5;
7body->moderatorEmail = utility::string_t(U("moderator@example.com"));
8body->notifyUsers = boost::optional<bool>(true);
9body->description = boost::optional<utility::string_t>(utility::string_t(U("Tighten question moderation for new users")));
10
11api->updateQuestionConfig(tenantId, configId, *body)
12 .then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t) {
13 try {
14 auto resp = t.get();
15 std::cout << (resp ? "updateQuestionConfig succeeded\n" : "updateQuestionConfig returned null\n");
16 } catch (const std::exception& e) {
17 std::cerr << "updateQuestionConfig failed: " << e.what() << '\n';
18 }
19 });
20

createQuestionResult Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
createQuestionResultBody CreateQuestionResultBody Ναι

Απόκριση

Επιστρέφει: CreateQuestionResult_200_response

Παράδειγμα

Παράδειγμα createQuestionResult
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3CreateQuestionResultBody createQuestionResultBody;
4createQuestionResultBody.questionId = U("question-789");
5createQuestionResultBody.userEmail = U("student@example.com");
6createQuestionResultBody.selectedOption = U("B");
7createQuestionResultBody.isCorrect = true;
8createQuestionResultBody.score = 9.5;
9createQuestionResultBody.metadata = boost::optional<utility::string_t>(U("{\"session\":\"quiz-2026-01\"}"));
10auto task = api->createQuestionResult(tenantId, createQuestionResultBody)
11.then([](pplx::task<std::shared_ptr<CreateQuestionResult_200_response>> t){
12 try {
13 auto result = t.get();
14 auto copy = std::make_shared<CreateQuestionResult_200_response>(*result);
15 (void)copy;
16 } catch (...) {}
17});
18task.wait();
19

deleteQuestionResult Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απάντηση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα deleteQuestionResult
Copy Copy
1
2boost::optional<utility::string_t> maybeTenant = boost::none;
3utility::string_t defaultTenant = U("my-tenant-123");
4utility::string_t questionId = U("question-456");
5utility::string_t tenant = maybeTenant ? *maybeTenant : defaultTenant;
6api->deleteQuestionResult(tenant, questionId)
7.then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> task){
8 try {
9 auto resp = task.get();
10 auto processed = std::make_shared<FlagCommentPublic_200_response>(*resp);
11 } catch (const std::exception&) {
12 }
13});
14

getQuestionResult Internal Link

Παραμέτροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: GetQuestionResult_200_response

Παράδειγμα

Παράδειγμα getQuestionResult
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t questionId = U("question-456");
4boost::optional<utility::string_t> requestor = U("user@example.com");
5
6auto task = api->getQuestionResult(tenantId, questionId)
7 .then([requestor](pplx::task<std::shared_ptr<GetQuestionResult_200_response>> prev) -> std::shared_ptr<GetQuestionResult_200_response> {
8 try {
9 auto resp = prev.get();
10 if (!resp) return std::make_shared<GetQuestionResult_200_response>();
11 (void)requestor;
12 return resp;
13 } catch (const std::exception &) {
14 return std::make_shared<GetQuestionResult_200_response>();
15 }
16 });
17

getQuestionResults Internal Link


Παράμετροι

Name Type Required Description
tenantId string Ναι
urlId string Όχι
userId string Όχι
startDate string Όχι
questionId string Όχι
questionIds string Όχι
skip double Όχι

Απόκριση

Επιστρέφει: GetQuestionResults_200_response

Παράδειγμα

Παράδειγμα getQuestionResults
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> urlId = boost::optional<utility::string_t>(U("/articles/2025/new-feature"));
4boost::optional<utility::string_t> userId = boost::optional<utility::string_t>(U("alice@example.com"));
5boost::optional<utility::string_t> startDate = boost::optional<utility::string_t>(U("2025-01-01T00:00:00Z"));
6boost::optional<utility::string_t> questionId = boost::optional<utility::string_t>(U("q-789"));
7boost::optional<utility::string_t> questionIds = boost::optional<utility::string_t>(U("q-789,q-790"));
8boost::optional<double> skip = boost::optional<double>(10.0);
9
10api->getQuestionResults(tenantId, urlId, userId, startDate, questionId, questionIds, skip)
11.then([](pplx::task<std::shared_ptr<GetQuestionResults_200_response>> t){
12 try {
13 std::shared_ptr<GetQuestionResults_200_response> resp = t.get();
14 if (resp) {
15 auto copy = std::make_shared<GetQuestionResults_200_response>(*resp);
16 }
17 } catch (const std::exception&) {}
18});
19

updateQuestionResult Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateQuestionResultBody UpdateQuestionResultBody Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα updateQuestionResult
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("question-456");
4UpdateQuestionResultBody updateQuestionResultBody;
5auto moderatorEmail = std::make_shared<utility::string_t>(U("moderator@example.com"));
6boost::optional<utility::string_t> resolutionNote = boost::optional<utility::string_t>(U("Marked duplicate of q-123"));
7api->updateQuestionResult(tenantId, id, updateQuestionResultBody)
8 .then([moderatorEmail, resolutionNote](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t)
9 {
10 try {
11 auto resp = t.get();
12 if (resp) {
13 auto resultPtr = resp;
14 }
15 } catch (...) {}
16 });
17

aggregateQuestionResults Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
questionId string Όχι
questionIds vector<string Όχι
urlId string Όχι
timeBucket AggregateTimeBucket Όχι
startDate datetime Όχι
forceRecalculate bool Όχι

Απόκριση

Επιστρέφει: AggregateQuestionResults_200_response

Παράδειγμα

Παράδειγμα aggregateQuestionResults
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> questionId(U("q-42"));
4boost::optional<std::vector<utility::string_t>> questionIds(std::vector<utility::string_t>{U("q-42"), U("q-43")});
5boost::optional<utility::string_t> urlId(U("page-789"));
6boost::optional<AggregateTimeBucket> timeBucket;
7boost::optional<utility::datetime> startDate(utility::datetime::from_string(U("2025-01-01T00:00:00Z")));
8boost::optional<bool> forceRecalculate(true);
9
10api->aggregateQuestionResults(tenantId, questionId, questionIds, urlId, timeBucket, startDate, forceRecalculate)
11.then([](std::shared_ptr<AggregateQuestionResults_200_response> resp){
12 if (resp) {
13 auto resultCopy = std::make_shared<AggregateQuestionResults_200_response>(*resp);
14 }
15});
16

bulkAggregateQuestionResults Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
bulkAggregateQuestionResultsRequest BulkAggregateQuestionResultsRequest Ναι
forceRecalculate bool Όχι

Απόκριση

Επιστρέφει: BulkAggregateQuestionResults_200_response

Παράδειγμα

Παράδειγμα bulkAggregateQuestionResults
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3BulkAggregateQuestionResultsRequest request;
4boost::optional<bool> forceRecalculate(true);
5api->bulkAggregateQuestionResults(tenantId, request, forceRecalculate)
6.then([](pplx::task<std::shared_ptr<BulkAggregateQuestionResults_200_response>> t){
7 try {
8 auto resp = t.get();
9 if (!resp) {
10 auto empty = std::make_shared<BulkAggregateQuestionResults_200_response>();
11 std::cout << "No aggregated results returned\n";
12 } else {
13 std::cout << "Aggregated results received\n";
14 }
15 } catch (const std::exception& ex) {
16 std::cerr << "Error fetching aggregated results: " << ex.what() << '\n';
17 }
18});
19

combineCommentsWithQuestionResults Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Yes
questionId string No
questionIds vector<string No
urlId string No
startDate datetime No
forceRecalculate bool No
minValue double No
maxValue double No
limit double No

Απόκριση

Επιστρέφει: CombineCommentsWithQuestionResults_200_response

Παράδειγμα

Παράδειγμα combineCommentsWithQuestionResults
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> questionId = boost::optional<utility::string_t>(U("q-98765"));
4boost::optional<std::vector<utility::string_t>> questionIds = boost::optional<std::vector<utility::string_t>>(std::vector<utility::string_t>{U("q-98765"), U("q-12345")});
5boost::optional<utility::string_t> urlId = boost::optional<utility::string_t>(U("/posts/2024/interesting-article"));
6boost::optional<utility::datetime> startDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2024-01-01T00:00:00Z")));
7boost::optional<bool> forceRecalculate = boost::optional<bool>(true);
8boost::optional<double> minValue = boost::optional<double>(0.0);
9boost::optional<double> maxValue = boost::optional<double>(1.0);
10boost::optional<double> limit = boost::optional<double>(100.0);
11
12api->combineCommentsWithQuestionResults(tenantId, questionId, questionIds, urlId, startDate, forceRecalculate, minValue, maxValue, limit)
13.then([](pplx::task<std::shared_ptr<CombineCommentsWithQuestionResults_200_response>> task){
14 try {
15 auto response = task.get();
16 auto output = response ? response : std::make_shared<CombineCommentsWithQuestionResults_200_response>();
17 } catch (const std::exception&) {
18 }
19});
20

addSSOUser Internal Link

Παράμετροι

Όνομα Τύπος Υποχρεωτικό Περιγραφή
tenantId string Ναι
createAPISSOUserData CreateAPISSOUserData Ναι

Απόκριση

Επιστρέφει: AddSSOUserAPIResponse

Παράδειγμα

Παράδειγμα addSSOUser
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3auto createData = std::make_shared<CreateAPISSOUserData>();
4createData->email = utility::string_t(U("alice@example.com"));
5createData->externalUserId = utility::string_t(U("okta|987654321"));
6createData->displayName = boost::optional<utility::string_t>(U("Alice Johnson"));
7createData->roles = std::vector<utility::string_t>{ U("moderator"), U("editor") };
8api->addSSOUser(tenantId, createData)
9.then([](pplx::task<std::shared_ptr<AddSSOUserAPIResponse>> task){
10 try {
11 auto resp = task.get();
12 if (resp) {
13 (void)resp;
14 }
15 } catch (...) {
16 }
17});
18

deleteSSOUser Internal Link

Παράμετροι

Όνομα Τύπος Υποχρεωτικό Περιγραφή
tenantId string Ναι
id string Ναι
deleteComments bool Όχι
commentDeleteMode string Όχι

Απόκριση

Επιστρέφει: DeleteSSOUserAPIResponse

Παράδειγμα

Παράδειγμα deleteSSOUser
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t ssoId = U("user@example.com");
4boost::optional<bool> deleteComments = true;
5boost::optional<utility::string_t> commentDeleteMode = U("anonymize");
6
7api->deleteSSOUser(tenantId, ssoId, deleteComments, commentDeleteMode)
8.then([](pplx::task<std::shared_ptr<DeleteSSOUserAPIResponse>> t){
9 try {
10 auto resp = t.get();
11 auto respCopy = std::make_shared<DeleteSSOUserAPIResponse>(*resp);
12 (void)respCopy;
13 } catch (const std::exception&) {
14 }
15});
16

getSSOUserByEmail Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
email string Ναι

Απόκριση

Επιστρέφει: GetSSOUserByEmailAPIResponse

Παράδειγμα

Παράδειγμα getSSOUserByEmail
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t email = U("user@example.com");
4boost::optional<utility::string_t> includeInactive = boost::optional<utility::string_t>(U("false"));
5api->getSSOUserByEmail(tenantId, email).then([includeInactive](pplx::task<std::shared_ptr<GetSSOUserByEmailAPIResponse>> t) {
6 try {
7 auto resp = t.get();
8 return resp ? resp : std::make_shared<GetSSOUserByEmailAPIResponse>();
9 } catch (...) {
10 return std::make_shared<GetSSOUserByEmailAPIResponse>();
11 }
12}).then([](std::shared_ptr<GetSSOUserByEmailAPIResponse> finalResp) {
13 (void)finalResp;
14});
15

getSSOUserById Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: GetSSOUserByIdAPIResponse

Παράδειγμα

Παράδειγμα getSSOUserById
Copy Copy
1
2boost::optional<utility::string_t> optId = U("user-42@example.com");
3utility::string_t tenantId = U("my-tenant-123");
4utility::string_t id = optId.value_or(U("user-42@example.com"));
5api->getSSOUserById(tenantId, id).then([](pplx::task<std::shared_ptr<GetSSOUserByIdAPIResponse>> task){
6 try {
7 auto resp = task.get();
8 if (resp) {
9 auto out = resp;
10 (void)out;
11 } else {
12 auto fallback = std::make_shared<GetSSOUserByIdAPIResponse>();
13 (void)fallback;
14 }
15 } catch (const std::exception& ex) {
16 auto fallback = std::make_shared<GetSSOUserByIdAPIResponse>();
17 (void)ex;
18 (void)fallback;
19 }
20});
21

getSSOUsers Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
skip int32_t Όχι

Απόκριση

Επιστρέφει: GetSSOUsers_200_response

Παράδειγμα

Παράδειγμα getSSOUsers
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<int32_t> skip = 10;
4api->getSSOUsers(tenantId, skip).then([](pplx::task<std::shared_ptr<GetSSOUsers_200_response>> t){
5 try {
6 auto resp = t.get();
7 if (resp) {
8 auto copy = std::make_shared<GetSSOUsers_200_response>(*resp);
9 }
10 } catch(...) {}
11});
12

patchSSOUser Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateAPISSOUserData UpdateAPISSOUserData Ναι
updateComments bool Όχι

Απόκριση

Επιστρέφει: PatchSSOUserAPIResponse

Παράδειγμα

Παράδειγμα patchSSOUser
Copy Copy
1
2UpdateAPISSOUserData updateData;
3updateData.email = utility::string_t(U"user@example.com");
4updateData.displayName = utility::string_t(U"Jane Doe");
5boost::optional<bool> updateComments = true;
6auto responseHolder = std::make_shared<PatchSSOUserAPIResponse>();
7api->patchSSOUser(utility::string_t(U"my-tenant-123"), utility::string_t(U"user@example.com"), updateData, updateComments)
8.then([responseHolder](std::shared_ptr<PatchSSOUserAPIResponse> resp){
9 if (resp) *responseHolder = *resp;
10 return responseHolder;
11});
12

putSSOUser Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
id string Ναι
updateAPISSOUserData UpdateAPISSOUserData Ναι
updateComments bool Όχι

Απόκριση

Επιστρέφει: PutSSOUserAPIResponse

Παράδειγμα

Παράδειγμα putSSOUser
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("user@example.com");
4UpdateAPISSOUserData updateData;
5updateData.displayName = U("Jane Doe");
6updateData.email = U("user@example.com");
7boost::optional<bool> updateComments = true;
8api->putSSOUser(tenantId, id, updateData, updateComments)
9.then([](std::shared_ptr<PutSSOUserAPIResponse> resp){
10 if(!resp){ std::cout << "putSSOUser returned null\n"; return; }
11 auto copy = std::make_shared<PutSSOUserAPIResponse>(*resp);
12 std::cout << "SSO user updated successfully\n";
13});
14

createSubscription Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createAPIUserSubscriptionData CreateAPIUserSubscriptionData Ναι

Απόκριση

Επιστρέφει: CreateSubscriptionAPIResponse

Παράδειγμα

createSubscription Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3auto payload = std::make_shared<CreateAPIUserSubscriptionData>();
4payload->userEmail = U("user@example.com");
5payload->planId = U("pro-monthly");
6payload->couponCode = boost::optional<utility::string_t>(U("WELCOME10"));
7payload->trialDays = boost::optional<int>(14);
8payload->autoRenew = boost::optional<bool>(true);
9api->createSubscription(tenantId, *payload).then([](std::shared_ptr<CreateSubscriptionAPIResponse> resp) {
10 if (resp) std::cout << "Subscription created successfully" << std::endl;
11 else std::cout << "Failed to create subscription" << std::endl;
12});
13

deleteSubscription Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
userId string Όχι

Απάντηση

Επιστρέφει: DeleteSubscriptionAPIResponse

Παράδειγμα

Παράδειγμα deleteSubscription
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("subscription-987");
4boost::optional<utility::string_t> userId = boost::optional<utility::string_t>(U("user@example.com"));
5auto defaultResp = std::make_shared<DeleteSubscriptionAPIResponse>();
6api->deleteSubscription(tenantId, id, userId)
7.then([defaultResp](pplx::task<std::shared_ptr<DeleteSubscriptionAPIResponse>> t){
8 try {
9 auto resp = t.get();
10 if (!resp) resp = defaultResp;
11 std::cout << "Delete completed\n";
12 } catch (const std::exception &e) {
13 std::cerr << "Delete failed: " << e.what() << '\n';
14 }
15});
16

getSubscriptions Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
userId string Όχι

Απόκριση

Επιστρέφει: GetSubscriptionsAPIResponse

Παράδειγμα

Παράδειγμα getSubscriptions
Copy Copy
1
2utility::string_t tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<utility::string_t> userId = utility::conversions::to_string_t("user@example.com");
4api->getSubscriptions(tenantId, userId)
5.then([](std::shared_ptr<GetSubscriptionsAPIResponse> resp){
6 if(!resp) return;
7 auto copy = std::make_shared<GetSubscriptionsAPIResponse>(*resp);
8})
9.wait();
10

getTenantDailyUsages Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
yearNumber double Όχι
monthNumber double Όχι
dayNumber double Όχι
skip double Όχι

Απόκριση

Επιστρέφει: GetTenantDailyUsages_200_response

Παράδειγμα

Παράδειγμα getTenantDailyUsages
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<double> year = 2025;
4boost::optional<double> month = 1;
5auto placeholder = std::make_shared<GetTenantDailyUsages_200_response>();
6api->getTenantDailyUsages(tenantId, year, month, boost::optional<double>(), boost::optional<double>())
7.then([](pplx::task<std::shared_ptr<GetTenantDailyUsages_200_response>> t){
8 try {
9 auto resp = t.get();
10 if (resp) std::cout << "Received tenant daily usages\n";
11 else std::cout << "No usage data\n";
12 } catch (const std::exception &e) {
13 std::cout << "Request error: " << e.what() << '\n';
14 }
15});
16

createTenantPackage Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createTenantPackageBody CreateTenantPackageBody Ναι

Απόκριση

Επιστρέφει: CreateTenantPackage_200_response

Παράδειγμα

Παράδειγμα createTenantPackage
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3auto body = std::make_shared<CreateTenantPackageBody>();
4body->name = U("Standard Package - 1k comments");
5body->createdByEmail = U("admin@mycompany.com");
6body->monthlyLimit = boost::optional<int>(1000);
7body->notes = boost::optional<utility::string_t>(U("Onboarding promo"));
8api->createTenantPackage(tenantId, *body)
9.then([](pplx::task<std::shared_ptr<CreateTenantPackage_200_response>> t) {
10 try {
11 auto resp = t.get();
12 if (resp) {
13 std::cout << "Package created: " << utility::conversions::to_utf8string(resp->packageId) << std::endl;
14 }
15 } catch (const std::exception& e) {
16 std::cerr << "Create failed: " << e.what() << std::endl;
17 }
18});
19

deleteTenantPackage Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα deleteTenantPackage
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t pkgId = U("package-456");
4boost::optional<utility::string_t> ifMatch = boost::optional<utility::string_t>(U("\"etag-789\""));
5auto fallback = std::make_shared<FlagCommentPublic_200_response>();
6auto task = api->deleteTenantPackage(tenantId, pkgId).then([fallback](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t) {
7 try {
8 auto resp = t.get();
9 if (resp) return resp;
10 return fallback;
11 } catch (const std::exception&) {
12 return fallback;
13 }
14});
15task.wait();
16

getTenantPackage Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: GetTenantPackage_200_response

Παράδειγμα

Παράδειγμα getTenantPackage
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t packageId = U("pkg-456");
4boost::optional<utility::string_t> requestTrace = U("trace-20260112-01");
5api->getTenantPackage(tenantId, packageId)
6.then([requestTrace](std::shared_ptr<GetTenantPackage_200_response> resp){
7 auto result = resp ? resp : std::make_shared<GetTenantPackage_200_response>();
8 if (requestTrace) { auto trace = *requestTrace; (void)trace; }
9 return result;
10})
11.then([](std::shared_ptr<GetTenantPackage_200_response> finalResp){
12 (void)finalResp;
13});
14

getTenantPackages Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
skip double Όχι

Απόκριση

Επιστρέφει: GetTenantPackages_200_response

Παράδειγμα

Παράδειγμα getTenantPackages
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<double> skip = 10.0;
4auto task = api->getTenantPackages(tenantId, skip).then([](pplx::task<std::shared_ptr<GetTenantPackages_200_response>> t){
5 try {
6 auto resp = t.get();
7 if (resp) {
8 (void)resp;
9 }
10 } catch (const std::exception&) {
11 auto fallback = std::make_shared<GetTenantPackages_200_response>();
12 (void)fallback;
13 }
14});
15

replaceTenantPackage Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
replaceTenantPackageBody ReplaceTenantPackageBody Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα replaceTenantPackage
Copy Copy
1
2utility::string_t tenantId = utility::string_t("my-tenant-123");
3utility::string_t packageId = utility::string_t("pkg-456");
4ReplaceTenantPackageBody body;
5body.name = utility::string_t("Premium Plan");
6body.planId = utility::string_t("premium_monthly");
7body.seats = 25;
8body.billingEmail = utility::string_t("billing@acme.com");
9boost::optional<utility::string_t> notes = boost::optional<utility::string_t>(utility::string_t("Migrated subscription"));
10body.notes = notes;
11api->replaceTenantPackage(tenantId, packageId, body).then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> task){
12 try{
13 auto resp = task.get();
14 if(resp){
15 auto resultCopy = std::make_shared<FlagCommentPublic_200_response>(*resp);
16 }
17 } catch(const std::exception&){
18 }
19});
20

updateTenantPackage Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateTenantPackageBody UpdateTenantPackageBody Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα updateTenantPackage
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t packageId = U("pkg-456");
4auto bodyPtr = std::make_shared<UpdateTenantPackageBody>();
5bodyPtr->name = utility::string_t(U("Pro Monthly"));
6bodyPtr->description = boost::optional<utility::string_t>(U("Monthly subscription for pro users"));
7bodyPtr->enabled = boost::optional<bool>(true);
8api->updateTenantPackage(tenantId, packageId, *bodyPtr)
9.then([](std::shared_ptr<FlagCommentPublic_200_response> resp){
10 std::cout << (resp ? "updateTenantPackage succeeded\n" : "updateTenantPackage returned null\n");
11});
12

createTenantUser Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createTenantUserBody CreateTenantUserBody Ναι

Απόκριση

Επιστρέφει: CreateTenantUser_200_response

Παράδειγμα

Παράδειγμα createTenantUser
Copy Copy
1
2utility::string_t tenantId = utility::conversions::to_string_t("my-tenant-123");
3CreateTenantUserBody createTenantUserBody;
4createTenantUserBody.email = utility::conversions::to_string_t("new.user@company.com");
5createTenantUserBody.password = utility::conversions::to_string_t("Secur3P@ssw0rd!");
6createTenantUserBody.displayName = boost::optional<utility::string_t>(utility::conversions::to_string_t("New User"));
7createTenantUserBody.roles = std::vector<utility::string_t>{utility::conversions::to_string_t("member")};
8
9api->createTenantUser(tenantId, createTenantUserBody)
10 .then([](pplx::task<std::shared_ptr<CreateTenantUser_200_response>> task){
11 try {
12 auto resp = task.get();
13 auto created = std::make_shared<CreateTenantUser_200_response>(*resp);
14 } catch (const std::exception&) {
15 }
16 });
17

deleteTenantUser Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
deleteComments string Όχι
commentDeleteMode string Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα deleteTenantUser
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t userId = U("user@example.com");
4boost::optional<utility::string_t> deleteComments = boost::optional<utility::string_t>(U("true"));
5boost::optional<utility::string_t> commentDeleteMode = boost::optional<utility::string_t>(U("soft"));
6auto fallback = std::make_shared<FlagCommentPublic_200_response>();
7api->deleteTenantUser(tenantId, userId, deleteComments, commentDeleteMode)
8.then([fallback](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t) {
9 try {
10 auto resp = t.get();
11 if (!resp) resp = fallback;
12 std::cout << "deleteTenantUser completed\n";
13 } catch (const std::exception &e) {
14 std::cout << "deleteTenantUser failed: " << e.what() << "\n";
15 }
16}).wait();
17

getTenantUser Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απάντηση

Επιστρέφει: GetTenantUser_200_response

Παράδειγμα

Παράδειγμα getTenantUser
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t userId = U("alice@example.com");
4boost::optional<utility::string_t> includeMetadata = boost::optional<utility::string_t>(U("true"));
5api->getTenantUser(tenantId, userId).then([includeMetadata](pplx::task<std::shared_ptr<GetTenantUser_200_response>> t)
6{
7 try {
8 auto resp = t.get();
9 auto result = resp ? resp : std::make_shared<GetTenantUser_200_response>();
10 if (includeMetadata && result) { (void)includeMetadata; }
11 (void)result;
12 } catch (const std::exception& e) {
13 auto fallback = std::make_shared<GetTenantUser_200_response>();
14 (void)fallback;
15 }
16});
17

getTenantUsers Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
skip double Όχι

Απόκριση

Επιστρέφει: GetTenantUsers_200_response

Παράδειγμα

Παράδειγμα getTenantUsers
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<double> skip = boost::optional<double>(20);
4api->getTenantUsers(tenantId, skip)
5 .then([=](pplx::task<std::shared_ptr<GetTenantUsers_200_response>> t) {
6 try {
7 std::shared_ptr<GetTenantUsers_200_response> resp = t.get();
8 if (!resp) resp = std::make_shared<GetTenantUsers_200_response>();
9 (void)resp;
10 } catch (const std::exception& ex) {
11 (void)ex;
12 std::shared_ptr<GetTenantUsers_200_response> err = std::make_shared<GetTenantUsers_200_response>();
13 }
14 });
15

replaceTenantUser Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
replaceTenantUserBody ReplaceTenantUserBody Ναι
updateComments string Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα replaceTenantUser
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("user@example.com");
4ReplaceTenantUserBody replaceBody;
5boost::optional<utility::string_t> updateComments = boost::optional<utility::string_t>(U("true"));
6api->replaceTenantUser(tenantId, id, replaceBody, updateComments)
7.then([](std::shared_ptr<FlagCommentPublic_200_response> resp){
8 if (resp) {
9 auto copy = std::make_shared<FlagCommentPublic_200_response>(*resp);
10 }
11});
12


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
redirectURL string Όχι

Απάντηση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα sendLoginLink
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t userId = U("user@example.com");
4boost::optional<utility::string_t> redirectURL = utility::string_t(U("https://app.example.com/welcome"));
5api->sendLoginLink(tenantId, userId, redirectURL)
6 .then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t)
7 {
8 try
9 {
10 auto resp = t.get();
11 if (resp) return resp;
12 return std::make_shared<FlagCommentPublic_200_response>();
13 }
14 catch (...)
15 {
16 return std::make_shared<FlagCommentPublic_200_response>();
17 }
18 });
19

updateTenantUser Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateTenantUserBody UpdateTenantUserBody Ναι
updateComments string Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα updateTenantUser
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t userId = U("jane.doe@example.com");
4auto bodyPtr = std::make_shared<UpdateTenantUserBody>();
5bodyPtr->setEmail(U("jane.doe@example.com"));
6bodyPtr->setDisplayName(U("Jane Doe"));
7boost::optional<utility::string_t> updateComments = U("Normalized display name");
8
9api->updateTenantUser(tenantId, userId, *bodyPtr, updateComments)
10.then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t){
11 try {
12 auto resp = t.get();
13 if (resp) std::cout << "Tenant user updated successfully\n";
14 else std::cout << "Update returned no data\n";
15 } catch (const std::exception& ex) {
16 std::cerr << "Update failed: " << ex.what() << '\n';
17 }
18});
19

createTenant Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
createTenantBody CreateTenantBody Ναι

Απόκριση

Επιστρέφει: CreateTenant_200_response

Παράδειγμα

Παράδειγμα createTenant
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3CreateTenantBody createTenantBody;
4createTenantBody.displayName = U("My Tenant Inc");
5createTenantBody.adminEmail = U("admin@mytenant.com");
6createTenantBody.plan = boost::optional<utility::string_t>(U("pro"));
7auto task = api->createTenant(tenantId, createTenantBody)
8 .then([](std::shared_ptr<CreateTenant_200_response> resp){
9 if (resp){
10 auto createdId = std::make_shared<utility::string_t>(resp->tenantId);
11 }
12 });
13task.wait();
14

deleteTenant Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
sure string Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα deleteTenant
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("flag-456");
4boost::optional<utility::string_t> sure = utility::string_t(U("true"));
5api->deleteTenant(tenantId, id, sure)
6 .then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> t) {
7 try {
8 auto resp = t.get();
9 auto safeResp = resp ? resp : std::make_shared<FlagCommentPublic_200_response>();
10 (void)safeResp;
11 } catch (...) {}
12 });
13

getTenant Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: GetTenant_200_response

Παράδειγμα

getTenant Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("admin@fastcomments.com");
4boost::optional<utility::string_t> asOf = boost::optional<utility::string_t>(U("2026-01-01T00:00:00Z"));
5api->getTenant(tenantId, id).then([asOf](pplx::task<std::shared_ptr<GetTenant_200_response>> t) {
6 try {
7 auto resp = t.get();
8 if (!resp) return;
9 auto processed = std::make_shared<GetTenant_200_response>(*resp);
10 } catch (const std::exception&) {
11 }
12});
13

getTenants Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
meta string Όχι
skip double Όχι

Απόκριση

Επιστρέφει: GetTenants_200_response

Παράδειγμα

Παράδειγμα getTenants
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> meta = boost::optional<utility::string_t>(U("admin@example.com"));
4boost::optional<double> skip = boost::optional<double>(10.0);
5auto task = api->getTenants(tenantId, meta, skip)
6 .then([](std::shared_ptr<GetTenants_200_response> resp){
7 if (resp) {
8 auto copy = std::make_shared<GetTenants_200_response>(*resp);
9 }
10 });
11

updateTenant Internal Link

Παράμετροι

Όνομα Τύπος Υποχρεωτικό Περιγραφή
tenantId string Ναι
id string Ναι
updateTenantBody UpdateTenantBody Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic_200_response

Παράδειγμα

Παράδειγμα updateTenant
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto id = utility::string_t(U("tenant-0001"));
4auto bodyPtr = std::make_shared<UpdateTenantBody>();
5bodyPtr->setDisplayName(utility::string_t(U("Acme Corporation")));
6bodyPtr->setAdminEmail(utility::string_t(U("admin@acme.com")));
7bodyPtr->setIsActive(true);
8bodyPtr->setMaxUsers(boost::optional<int>(250));
9api->updateTenant(tenantId, id, *bodyPtr)
10.then([](pplx::task<std::shared_ptr<FlagCommentPublic_200_response>> task){
11 try {
12 auto resp = task.get();
13 if (resp) {
14 auto msg = resp->getMessage();
15 std::wcout << msg << std::endl;
16 }
17 } catch (const std::exception& e) {
18 std::cerr << e.what() << std::endl;
19 }
20});
21

uploadImage Internal Link

Μεταφόρτωση και αλλαγή μεγέθους εικόνας

Παράμετροι

Name Type Required Description
tenantId string Ναι
file HttpContent Ναι
sizePreset SizePreset Όχι
urlId string Όχι

Απόκριση

Επιστρέφει: UploadImageResponse

Παράδειγμα

Παράδειγμα uploadImage
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3auto fileBytes = std::vector<unsigned char>{0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A};
4auto file = std::make_shared<HttpContent>(fileBytes, U("image/png"), U("avatar.png"));
5boost::optional<SizePreset> sizePreset = boost::optional<SizePreset>(SizePreset::MEDIUM);
6boost::optional<utility::string_t> urlId = boost::optional<utility::string_t>(U("user-avatar-987"));
7api->uploadImage(tenantId, file, sizePreset, urlId)
8 .then([](pplx::task<std::shared_ptr<UploadImageResponse>> task) {
9 try {
10 return task.get();
11 } catch (...) {
12 return std::shared_ptr<UploadImageResponse>();
13 }
14 });
15

getUserBadgeProgressById Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: GetUserBadgeProgressById_200_response

Παράδειγμα

Παράδειγμα getUserBadgeProgressById
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("badge-abc-456");
4boost::optional<utility::string_t> preferredLocale = boost::optional<utility::string_t>(U("en-US"));
5
6api->getUserBadgeProgressById(tenantId, id)
7.then([=](std::shared_ptr<GetUserBadgeProgressById_200_response> resp){
8 if(!resp) return;
9 auto copy = std::make_shared<GetUserBadgeProgressById_200_response>(*resp);
10 (void)copy;
11});
12

getUserBadgeProgressByUserId Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
userId string Ναι

Απόκριση

Επιστρέφει: GetUserBadgeProgressById_200_response

Παράδειγμα

getUserBadgeProgressByUserId Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> optUserId = utility::string_t(U("user@example.com"));
4api->getUserBadgeProgressByUserId(tenantId, optUserId.value()).then(
5 [](pplx::task<std::shared_ptr<GetUserBadgeProgressById_200_response>> t){
6 try {
7 auto resp = t.get();
8 auto copy = std::make_shared<GetUserBadgeProgressById_200_response>(*resp);
9 } catch (const std::exception&) {
10 }
11 }
12);
13

getUserBadgeProgressList Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
userId string Όχι
limit double Όχι
skip double Όχι

Απόκριση

Επιστρέφει: GetUserBadgeProgressList_200_response

Παράδειγμα

Παράδειγμα getUserBadgeProgressList
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> userId = boost::optional<utility::string_t>(U("user@example.com"));
4boost::optional<double> limit = boost::optional<double>(50);
5boost::optional<double> skip = boost::optional<double>(0);
6
7api->getUserBadgeProgressList(tenantId, userId, limit, skip)
8.then([](pplx::task<std::shared_ptr<GetUserBadgeProgressList_200_response>> t){
9 try {
10 auto resp = t.get();
11 auto copied = std::make_shared<GetUserBadgeProgressList_200_response>(*resp);
12 std::cout << "Badge progress entries received\n";
13 } catch (const std::exception &e) {
14 std::cerr << "Failed to get badge progress: " << e.what() << '\n';
15 }
16});
17

createUserBadge Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createUserBadgeParams CreateUserBadgeParams Ναι

Απόκριση

Επιστρέφει: CreateUserBadge_200_response

Παράδειγμα

Παράδειγμα createUserBadge
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3CreateUserBadgeParams params;
4params.userId = U("user@example.com");
5params.badgeId = U("trusted-contributor");
6params.note = boost::optional<utility::string_t>(U("Awarded for outstanding moderation"));
7api->createUserBadge(tenantId, params)
8.then([](std::shared_ptr<CreateUserBadge_200_response> resp){
9 if (resp) {
10 auto copied = std::make_shared<CreateUserBadge_200_response>(*resp);
11 }
12})
13.wait();
14

deleteUserBadge Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: UpdateUserBadge_200_response

Παράδειγμα

Παράδειγμα deleteUserBadge
Copy Copy
1
2utility::string_t tenantId = utility::conversions::to_string_t("my-tenant-123");
3utility::string_t badgeId = utility::conversions::to_string_t("badge-456");
4boost::optional<utility::string_t> traceId = boost::none;
5api->deleteUserBadge(tenantId, badgeId)
6.then([traceId](pplx::task<std::shared_ptr<UpdateUserBadge_200_response>> t) {
7 try {
8 auto resp = t.get();
9 if (!resp) resp = std::make_shared<UpdateUserBadge_200_response>();
10 return resp;
11 } catch (const std::exception&) {
12 return std::shared_ptr<UpdateUserBadge_200_response>();
13 }
14});
15

getUserBadge Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: GetUserBadge_200_response

Παράδειγμα

Παράδειγμα getUserBadge
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("user@example.com");
4boost::optional<utility::string_t> traceId = U("trace-456");
5api->getUserBadge(tenantId, id).then([traceId](std::shared_ptr<GetUserBadge_200_response> resp) {
6 if (!resp) resp = std::make_shared<GetUserBadge_200_response>();
7 utility::string_t activeTrace = traceId.value_or(U(""));
8 (void)activeTrace;
9 return resp;
10});
11

getUserBadges Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
userId string Όχι
badgeId string Όχι
type double Όχι
displayedOnComments bool Όχι
limit double Όχι
skip double Όχι

Απόκριση

Επιστρέφει: GetUserBadges_200_response

Παράδειγμα

Παράδειγμα getUserBadges
Copy Copy
1
2utility::string_t tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<utility::string_t> userId(utility::conversions::to_string_t("user@example.com"));
4boost::optional<utility::string_t> badgeId(utility::conversions::to_string_t("badge-elite"));
5boost::optional<double> type(1.0);
6boost::optional<bool> displayedOnComments(true);
7boost::optional<double> limit(50.0);
8boost::optional<double> skip(0.0);
9auto resultHolder = std::make_shared<GetUserBadges_200_response>();
10api->getUserBadges(tenantId, userId, badgeId, type, displayedOnComments, limit, skip)
11.then([&resultHolder](std::shared_ptr<GetUserBadges_200_response> resp){
12 if (resp) resultHolder = resp;
13 return resultHolder;
14});
15

updateUserBadge Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι
updateUserBadgeParams UpdateUserBadgeParams Ναι

Απόκριση

Επιστρέφει: UpdateUserBadge_200_response

Παράδειγμα

updateUserBadge Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("user@example.com");
4UpdateUserBadgeParams updateParams;
5updateParams.badgeId = U("badge-top-100");
6updateParams.label = U("Top Contributor");
7updateParams.active = boost::optional<bool>(true);
8updateParams.expiresAt = boost::optional<utility::string_t>(U("2026-12-31T23:59:59Z"));
9api->updateUserBadge(tenantId, id, updateParams)
10.then([](pplx::task<std::shared_ptr<UpdateUserBadge_200_response>> task){
11 try {
12 auto resp = task.get();
13 if (resp) {
14 auto result = std::make_shared<UpdateUserBadge_200_response>(*resp);
15 }
16 } catch (const std::exception&) {
17 }
18});
19

getUserNotificationCount Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
sso string Όχι

Απάντηση

Επιστρέφει: GetUserNotificationCount_200_response

Παράδειγμα

Παράδειγμα getUserNotificationCount
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
4std::shared_ptr<GetUserNotificationCount_200_response> result;
5api->getUserNotificationCount(tenantId, sso)
6.then([&result](pplx::task<std::shared_ptr<GetUserNotificationCount_200_response>> t) {
7 try {
8 result = t.get();
9 if (!result) result = std::make_shared<GetUserNotificationCount_200_response>();
10 } catch (...) {
11 result = std::make_shared<GetUserNotificationCount_200_response>();
12 }
13}).wait();
14

getUserNotifications Internal Link

Παράμετροι

Name Type Απαιτείται Περιγραφή
tenantId string Ναι
pageSize int32_t Όχι
afterId string Όχι
includeContext bool Όχι
afterCreatedAt int64_t Όχι
unreadOnly bool Όχι
dmOnly bool Όχι
noDm bool Όχι
includeTranslations bool Όχι
sso string Όχι

Απάντηση

Επιστρέφει: GetUserNotifications_200_response

Παράδειγμα

Παράδειγμα getUserNotifications
Copy Copy
1
2utility::string_t tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<int32_t> pageSize = 50;
4boost::optional<utility::string_t> afterId = utility::conversions::to_string_t("notif_98765");
5boost::optional<bool> includeContext = true;
6boost::optional<int64_t> afterCreatedAt = static_cast<int64_t>(1672531200);
7boost::optional<bool> unreadOnly = true;
8boost::optional<bool> dmOnly = false;
9boost::optional<bool> noDm = false;
10boost::optional<bool> includeTranslations = true;
11boost::optional<utility::string_t> sso = utility::conversions::to_string_t("user@example.com");
12
13api->getUserNotifications(tenantId, pageSize, afterId, includeContext, afterCreatedAt, unreadOnly, dmOnly, noDm, includeTranslations, sso)
14.then([](pplx::task<std::shared_ptr<GetUserNotifications_200_response>> task){
15 try {
16 auto resp = task.get();
17 auto copy = std::make_shared<GetUserNotifications_200_response>(*resp);
18 return copy;
19 } catch (...) {
20 return std::shared_ptr<GetUserNotifications_200_response>();
21 }
22});
23

resetUserNotificationCount Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: ResetUserNotifications_200_response

Παράδειγμα

Παράδειγμα resetUserNotificationCount
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
4api->resetUserNotificationCount(tenantId, sso)
5 .then([](pplx::task<std::shared_ptr<ResetUserNotifications_200_response>> task) {
6 try {
7 auto resp = task.get();
8 if (!resp) resp = std::make_shared<ResetUserNotifications_200_response>();
9 } catch (const std::exception &e) {
10 (void)e;
11 }
12 });
13

resetUserNotifications Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
afterId string Όχι
afterCreatedAt int64_t Όχι
unreadOnly bool Όχι
dmOnly bool Όχι
noDm bool Όχι
sso string Όχι

Απόκριση

Επιστρέφει: ResetUserNotifications_200_response

Παράδειγμα

Παράδειγμα resetUserNotifications
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> afterId = boost::optional<utility::string_t>(U("notif-987654321"));
4boost::optional<int64_t> afterCreatedAt = boost::optional<int64_t>(1625097600000LL);
5boost::optional<bool> unreadOnly = boost::optional<bool>(true);
6boost::optional<bool> dmOnly = boost::optional<bool>(false);
7boost::optional<bool> noDm;
8boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
9
10api->resetUserNotifications(tenantId, afterId, afterCreatedAt, unreadOnly, dmOnly, noDm, sso)
11 .then([](pplx::task<std::shared_ptr<ResetUserNotifications_200_response>> t)
12 {
13 try
14 {
15 auto resp = t.get();
16 auto respCopy = std::make_shared<ResetUserNotifications_200_response>(*resp);
17 return respCopy;
18 }
19 catch (...)
20 {
21 return std::shared_ptr<ResetUserNotifications_200_response>();
22 }
23 });
24

updateUserNotificationCommentSubscriptionStatus Internal Link

Ενεργοποιήστε ή απενεργοποιήστε τις ειδοποιήσεις για ένα συγκεκριμένο σχόλιο.

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
notificationId string Ναι
optedInOrOut string Ναι
commentId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: UpdateUserNotificationStatus_200_response

Παράδειγμα

updateUserNotificationCommentSubscriptionStatus Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = utility::string_t(U("my-tenant-123"));
3utility::string_t notificationId = utility::string_t(U("notif-789"));
4utility::string_t optedInOrOut = utility::string_t(U("opted_in"));
5utility::string_t commentId = utility::string_t(U("cmt-456"));
6boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(utility::string_t(U("user@example.com")));
7api->updateUserNotificationCommentSubscriptionStatus(tenantId, notificationId, optedInOrOut, commentId, sso)
8.then([](pplx::task<std::shared_ptr<UpdateUserNotificationStatus_200_response>> t){
9 try {
10 auto resp = t.get();
11 auto result = resp ? resp : std::make_shared<UpdateUserNotificationStatus_200_response>();
12 } catch (const std::exception&) {}
13});
14

updateUserNotificationPageSubscriptionStatus Internal Link

Ενεργοποιήστε ή απενεργοποιήστε τις ειδοποιήσεις για μια σελίδα. Όταν οι χρήστες είναι εγγεγραμμένοι σε μια σελίδα, δημιουργούνται ειδοποιήσεις για νέα κύρια σχόλια, και επίσης

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι
url string Ναι
pageTitle string Ναι
subscribedOrUnsubscribed string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: UpdateUserNotificationStatus_200_response

Παράδειγμα

Παράδειγμα updateUserNotificationPageSubscriptionStatus
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("page-456");
4utility::string_t url = U("https://www.example.com/articles/2026/new-feature");
5utility::string_t pageTitle = U("New Feature Announcement");
6utility::string_t subscribedOrUnsubscribed = U("subscribed");
7boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
8auto placeholder = std::make_shared<UpdateUserNotificationStatus_200_response>();
9api->updateUserNotificationPageSubscriptionStatus(tenantId, urlId, url, pageTitle, subscribedOrUnsubscribed, sso)
10.then([](pplx::task<std::shared_ptr<UpdateUserNotificationStatus_200_response>> task){
11 try {
12 auto resp = task.get();
13 (void)resp;
14 } catch (const std::exception &e) {
15 (void)e;
16 }
17});
18

updateUserNotificationStatus Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
notificationId string Ναι
newStatus string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: UpdateUserNotificationStatus_200_response

Παράδειγμα

Παράδειγμα updateUserNotificationStatus
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t notificationId = U("notification-789");
4utility::string_t newStatus = U("read");
5boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("sso-token-abc123"));
6api->updateUserNotificationStatus(tenantId, notificationId, newStatus, sso)
7.then([](pplx::task<std::shared_ptr<UpdateUserNotificationStatus_200_response>> task){
8 try {
9 auto resp = task.get();
10 if (resp) {
11 auto result = std::make_shared<UpdateUserNotificationStatus_200_response>(*resp);
12 }
13 } catch (...) {
14 }
15});
16

getUserPresenceStatuses Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlIdWS string Ναι
userIds string Ναι

Απόκριση

Επιστρέφει: GetUserPresenceStatuses_200_response

Παράδειγμα

Παράδειγμα getUserPresenceStatuses
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlIdWS = U("wss://realtime.fastcomments.com/socket/tenant-abc");
4boost::optional<utility::string_t> optUserIds = U("alice@example.com,bob@example.com");
5utility::string_t userIds = optUserIds.value_or(U("alice@example.com"));
6auto task = api->getUserPresenceStatuses(tenantId, urlIdWS, userIds)
7 .then([](std::shared_ptr<GetUserPresenceStatuses_200_response> resp) {
8 if (!resp) return;
9 auto copy = std::make_shared<GetUserPresenceStatuses_200_response>(*resp);
10 });
11task.wait();
12

searchUsers Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι
usernameStartsWith string Όχι
mentionGroupIds vector<string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: SearchUsers_200_response

Παράδειγμα

Παράδειγμα searchUsers
Copy Copy
1
2utility::string_t tenantId = utility::string_t("my-tenant-123");
3utility::string_t urlId = utility::string_t("/posts/2026/new-feature");
4boost::optional<utility::string_t> usernameStartsWith = boost::optional<utility::string_t>(utility::string_t("alex"));
5boost::optional<std::vector<utility::string_t>> mentionGroupIds{std::vector<utility::string_t>{utility::string_t("ops-team"), utility::string_t("support")}};
6boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(utility::string_t("saml-idp"));
7api->searchUsers(tenantId, urlId, usernameStartsWith, mentionGroupIds, sso)
8 .then([](pplx::task<std::shared_ptr<SearchUsers_200_response>> t){
9 try {
10 auto resp = t.get();
11 if (!resp) resp = std::make_shared<SearchUsers_200_response>();
12 } catch (...) {}
13 });
14

getUser Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: GetUser_200_response

Παράδειγμα

Παράδειγμα getUser
Copy Copy
1
2boost::optional<utility::string_t> tenant(U("my-tenant-123"));
3boost::optional<utility::string_t> userId(U("user@example.com"));
4api->getUser(tenant.value(), userId.value())
5 .then([](pplx::task<std::shared_ptr<GetUser_200_response>> task) {
6 try {
7 auto resp = task.get();
8 if (resp) {
9 auto result_copy = std::make_shared<GetUser_200_response>(*resp);
10 } else {
11 auto fallback = std::make_shared<GetUser_200_response>();
12 }
13 } catch (const std::exception &e) {
14 }
15 });
16

createVote Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
direction string Ναι
userId string Όχι
anonUserId string Όχι

Απόκριση

Επιστρέφει: VoteComment_200_response

Παράδειγμα

Παράδειγμα createVote
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4utility::string_t direction = U("up");
5boost::optional<utility::string_t> userId = boost::optional<utility::string_t>(U("user@example.com"));
6api->createVote(tenantId, commentId, direction, userId, boost::none)
7.then([](pplx::task<std::shared_ptr<VoteComment_200_response>> task) {
8 try {
9 auto resp = task.get();
10 if (!resp) resp = std::make_shared<VoteComment_200_response>();
11 } catch (...) {}
12});
13

deleteVote Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
editKey string Όχι

Απόκριση

Επιστρέφει: DeleteCommentVote_200_response

Παράδειγμα

Παράδειγμα deleteVote
Copy Copy
1
2utility::string_t tenantId = utility::conversions::to_string_t("my-tenant-123");
3utility::string_t voteId = utility::conversions::to_string_t("vote-98765");
4boost::optional<utility::string_t> editKey = boost::optional<utility::string_t>(utility::conversions::to_string_t("user-edit-key-abc123"));
5
6api->deleteVote(tenantId, voteId, editKey)
7.then([](pplx::task<std::shared_ptr<DeleteCommentVote_200_response>> t){
8 try {
9 auto resp = t.get();
10 auto result = resp ? std::make_shared<DeleteCommentVote_200_response>(*resp)
11 : std::make_shared<DeleteCommentVote_200_response>();
12 (void)result;
13 } catch (const std::exception& e) {
14 (void)e;
15 }
16});
17

getVotes Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι

Απάντηση

Επιστρέφει: GetVotes_200_response

Παράδειγμα

Παράδειγμα getVotes
Copy Copy
1
2boost::optional<utility::string_t> tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<utility::string_t> urlId = utility::string_t(U("/posts/2025/new-features"));
4auto task = api->getVotes(tenantId.value(), urlId.value()).then([](std::shared_ptr<GetVotes_200_response> resp){
5 if (resp) {
6 auto copy = std::make_shared<GetVotes_200_response>(*resp);
7 std::cout << "Fetched votes successfully\n";
8 } else {
9 std::cout << "No votes response\n";
10 }
11});
12task.wait();
13

getVotesForUser Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
urlId string Ναι
userId string Όχι
anonUserId string Όχι

Απόκριση

Επιστρέφει: GetVotesForUser_200_response

Παράδειγμα

Παράδειγμα getVotesForUser
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("article-987");
4boost::optional<utility::string_t> userId = utility::string_t(U("user@example.com"));
5boost::optional<utility::string_t> anonUserId;
6api->getVotesForUser(tenantId, urlId, userId, anonUserId)
7.then([](pplx::task<std::shared_ptr<GetVotesForUser_200_response>> task){
8 try {
9 auto resp = task.get();
10 if (resp) {
11 auto copy = std::make_shared<GetVotesForUser_200_response>(*resp);
12 }
13 } catch (const std::exception&) {
14 }
15});
16

Χρειάζεστε βοήθεια;

Αν αντιμετωπίσετε οποιαδήποτε προβλήματα ή έχετε ερωτήσεις σχετικά με το C++ SDK, παρακαλούμε:

Συνεισφορές

Οι συνεισφορές είναι ευπρόσδεκτες! Παρακαλούμε επισκεφτείτε το αποθετήριο GitHub για οδηγίες σχετικά με τις συνεισφορές.