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 πιο εύκολη.

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

Για τον πελάτη API, υπάρχουν τρεις κλάσεις, DefaultApi, PublicApi και ModerationApi. Η DefaultApi περιέχει μεθόδους που απαιτούν το κλειδί API σας, και η PublicApi περιέχει μεθόδους που μπορούν να κληθούν απευθείας από έναν φυλλομετρητή/συσκευή κινητού κ.λπ. χωρίς εξακρίβωση. Η ModerationApi παρέχει μια εκτενή σειρά από ζωντανά και γρήγορα API μέτρησης. Κάθε μέθοδος της ModerationApi δέχεται μια παράμετρο sso και μπορεί να ταυτοποιηθεί μέσω SSO ή cookie συνεδρίας FastComments.com.

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

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

Θα δείτε ότι πρέπει να περάσετε ένα broadcastId σε κάποιες κλήσεις API. Όταν λάβετε συμβάντα, θα λάβετε πίσω αυτό το ID, οπότε θα ξέρετε να αγνοήσετε το συμβάν αν σκοπεύετε να εφαρμόσετε αλλαγές στον πελάτη με αισιοδοξία (κάτι που πιθανότατα θα θέλετε να κάνετε αφού προσφέρει την καλύτερη εμπειρία). Περνάτε εδώ ένα 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

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

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
aggregationRequestAggregationRequestΝαι
optionsconst AggregateOptions&Ναι

Απάντηση

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

Παράδειγμα

Παράδειγμα Συγκέντρωσης
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3
4AggregationRequest aggregationRequest;
5aggregationRequest.setMetric(U("commentCount"));
6aggregationRequest.setStartDate(U("2023-01-01T00:00:00Z"));
7aggregationRequest.setEndDate(U("2023-12-31T23:59:59Z"));
8aggregationRequest.setFilters({ U("status:approved") });
9
10AggregateOptions options;
11options.limit = boost::optional<int>(100);
12options.includeMetadata = boost::optional<bool>(true);
13
14api->aggregate(tenantId, aggregationRequest, options)
15 .then([](pplx::task<std::shared_ptr<AggregateResponse>> task) {
16 try {
17 auto response = task.get();
18 // επεξεργασία απόκρισης
19 } catch (const std::exception& e) {
20 // διαχείριση σφάλματος
21 }
22 });
23

getAuditLogs Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetAuditLogsOptions&Yes

Απόκριση

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

Παράδειγμα

Παράδειγμα getAuditLogs
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3
4GetAuditLogsOptions options;
5options.startDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-01T00:00:00Z"), utility::datetime::RFC_1123));
6options.endDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-31T23:59:59Z"), utility::datetime::RFC_1123));
7options.limit = boost::optional<int>(100);
8
9api->getAuditLogs(tenantId, options).then([](pplx::task<std::shared_ptr<GetAuditLogsResponse>> t) {
10 try {
11 auto response = t.get();
12 // χρησιμοποιήστε την απόκριση
13 } catch (const std::exception& e) {
14 // διαχείριση σφάλματος
15 }
16});
17

logoutPublic Internal Link

Απόκριση

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

Παράδειγμα

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

blockFromCommentPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

Απόκριση

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

Παράδειγμα

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

unBlockCommentPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

Απόκριση

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

Παράδειγμα

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

checkedCommentsForBlocked Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdsstringYes
ssostringNo

Απάντηση

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

Παράδειγμα

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

blockUserFromComment Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringΝαι
idstringΝαι
blockFromCommentParamsBlockFromCommentParamsΝαι
optionsconst BlockUserFromCommentOptions&Ναι

Απάντηση

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

Παράδειγμα

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

createCommentPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
broadcastIdstringΝαι
commentDataCommentDataΝαι
optionsconst CreateCommentPublicOptions&Ναι

Απόκριση

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

Παράδειγμα

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

deleteComment Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΝαι
optionsconst DeleteCommentOptions&Ναι

Response

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

Example

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

deleteCommentPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
optionsconst DeleteCommentPublicOptions&Yes

Απόκριση

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

Παράδειγμα

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

deleteCommentVote Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
voteIdstringYes
urlIdstringYes
broadcastIdstringYes
optionsconst DeleteCommentVoteOptions&Yes

Απάντηση

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

Παράδειγμα

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

flagComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΝαι
optionsconst FlagCommentOptions&Ναι

Απάντηση

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

Παράδειγμα

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

getComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απάντηση

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

Παράδειγμα

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

getComments Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetCommentsOptions&Yes

Απόκριση

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

Παράδειγμα

Παράδειγμα getComments
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetCommentsOptions options;
4options.page = 1;
5options.limit = 50;
6options.sort = U("newest");
7options.authorEmail = boost::optional<utility::string_t>(U("user@example.com"));
8api->getComments(tenantId, options).then([](pplx::task<std::shared_ptr<APIGetCommentsResponse>> task) {
9 try {
10 auto response = task.get();
11 // χρησιμοποιήστε την απόκριση όπως χρειάζεται
12 } catch (const std::exception& e) {
13 // διαχειριστείτε το σφάλμα
14 }
15});
16

getCommentsPublic Internal Link


req tenantId urlId

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
optionsconst GetCommentsPublicOptions&Ναι

Απόκριση

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

Παράδειγμα

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

getCommentText Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
optionsconst GetCommentTextOptions&Yes

Απόκριση

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

Παράδειγμα

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

getCommentVoteUserNames Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
dirint32_tYes
ssostringNo

Απόκριση

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

Παράδειγμα

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

lockComment Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
broadcastIdstringΝαι
ssostringΌχι

Response

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

Παράδειγμα

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

pinComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Απόκριση

Returns: ChangeCommentPinStatusResponse

Παράδειγμα

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

saveComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
createCommentParamsCreateCommentParamsΝαι
optionsconst SaveCommentOptions&Ναι

Απάντηση

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

Παράδειγμα

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

setCommentText Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
broadcastIdstringΝαι
commentTextUpdateRequestCommentTextUpdateRequestΝαι
optionsconst SetCommentTextOptions&Ναι

Απόκριση

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

Παράδειγμα

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

unBlockUserFromComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
unBlockFromCommentParamsUnBlockFromCommentParamsYes
optionsconst UnBlockUserFromCommentOptions&Yes

Απόκριση

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

Παράδειγμα

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

unFlagComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
optionsconst UnFlagCommentOptions&Yes

Απόκριση

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

Παράδειγμα

Παράδειγμα unFlagComment
Copy Copy
1
2auto options = UnFlagCommentOptions{};
3options.reason = boost::optional<utility::string_t>(U("Resolved by moderator"));
4api->unFlagComment(U("my-tenant-123"), U("comment-456"), options)
5 .then([](std::shared_ptr<FlagCommentResponse> response) {
6 if (response) {
7 auto status = response->status;
8 // επεξεργασία κατάστασης εάν χρειάζεται
9 }
10 })
11 .then([](pplx::task<void> previous) {
12 try {
13 previous.get();
14 } catch (const std::exception& e) {
15 // διαχείριση σφάλματος
16 }
17 });
18

unLockComment Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Απάντηση

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

Παράδειγμα

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

unPinComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
broadcastIdstringΝαι
ssostringΌχι

Απάντηση

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

Παράδειγμα

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

updateComment Internal Link

Παράμετροι

NameTypeΑπαιτείταιDescription
tenantIdstringΝαι
idstringΝαι
updatableCommentParamsUpdatableCommentParamsΝαι
optionsconst UpdateCommentOptions&Ναι

Απόκριση

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

Παράδειγμα

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

voteComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
urlIdstringΝαι
broadcastIdstringΝαι
voteBodyParamsVoteBodyParamsΝαι
optionsconst VoteCommentOptions&Ναι

Απόκριση

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

Παράδειγμα

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

getCommentsForUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
optionsconst GetCommentsForUserOptions&Yes

Απάντηση

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

Παράδειγμα

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

addDomainConfig Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

deleteDomainConfig Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

getDomainConfig Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
domainstringYes

Απάντηση

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

Παράδειγμα

Παράδειγμα getDomainConfig
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t domain = U("myblog.example.com");
4
5api->getDomainConfig(tenantId, domain)
6 .then([](std::shared_ptr<GetDomainConfigResponse> response) {
7 if (!response) return;
8 boost::optional<bool> moderationEnabled = response->moderationEnabled;
9 boost::optional<std::string> theme = response->theme;
10 if (moderationEnabled && *moderationEnabled) {
11 // διαχείριση ενεργοποιημένης συντονισμού
12 }
13 if (theme) {
14 // χρήση τιμής θέματος
15 }
16 })
17 .wait();
18

getDomainConfigs Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

patchDomainConfig Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
domainToUpdatestringYes
patchDomainConfigParamsPatchDomainConfigParamsYes

Απόκριση

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

Παράδειγμα

Παράδειγμα patchDomainConfig
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto domainToUpdate = utility::conversions::to_string_t("example.com");
4PatchDomainConfigParams patchDomainConfigParams;
5patchDomainConfigParams.enableComments = boost::optional<bool>(true);
6patchDomainConfigParams.moderationLevel = boost::optional<int>(2);
7patchDomainConfigParams.customHeader = boost::optional<utility::string_t>(utility::conversions::to_string_t("X-Custom-Header"));
8
9api->patchDomainConfig(tenantId, domainToUpdate, patchDomainConfigParams)
10 .then([](std::shared_ptr<PatchDomainConfigResponse> resp) {
11 // διαχείριση επιτυχίας
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception& e) { /* διαχείριση σφάλματος */ }
15 });
16

putDomainConfig Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
domainToUpdatestringYes
updateDomainConfigParamsUpdateDomainConfigParamsYes

Απάντηση

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

Παράδειγμα

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

createEmailTemplate Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
createEmailTemplateBodyCreateEmailTemplateBodyYes

Response

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

Example

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

deleteEmailTemplate Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απάντηση

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

Παράδειγμα

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

deleteEmailTemplateRenderError Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

getEmailTemplate Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απάντηση

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

Παράδειγμα

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

getEmailTemplateDefinitions Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

getEmailTemplateRenderErrors Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΝαι
skipdoubleΌχι

Απάντηση

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

Παράδειγμα

Παράδειγμα getEmailTemplateRenderErrors
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("email-template-789");
4boost::optional<double> skip = 20.0;
5
6api->getEmailTemplateRenderErrors(tenantId, id, skip)
7 .then([](pplx::task<std::shared_ptr<GetEmailTemplateRenderErrorsResponse>> task) {
8 try {
9 auto response = task.get();
10 // Χρησιμοποιήστε την απάντηση όπως χρειάζεται
11 } catch (const std::exception& ex) {
12 // Χειριστείτε το σφάλμα
13 }
14 });
15

getEmailTemplates Internal Link


Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

renderEmailTemplate Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
renderEmailTemplateBodyRenderEmailTemplateBodyYes
localestringNo

Response

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

Example

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

updateEmailTemplate Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
updateEmailTemplateBodyUpdateEmailTemplateBodyYes

Απόκριση

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

Παράδειγμα

Παράδειγμα updateEmailTemplate
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t templateId = U("welcome-email");
4UpdateEmailTemplateBody body;
5body.subject = U("Welcome to Our Platform");
6body.content = U("<p>Hello \{{userName}}, welcome aboard!</p>");
7body.isActive = boost::optional<bool>(true);
8api->updateEmailTemplate(tenantId, templateId, body)
9 .then([](std::shared_ptr<APIEmptyResponse> response) {
10 // διαχείριση επιτυχίας
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception &) { /* διαχείριση σφάλματος */ }
14 });
15

getEventLog Internal Link

req tenantId urlId userIdWS

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
userIdWSstringΝαι
startTimeint64_tΝαι
endTimeint64_tΌχι

Απόκριση

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

Παράδειγμα

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

getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
urlIdstringYes
userIdWSstringYes
startTimeint64_tYes
endTimeint64_tNo

Απόκριση

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

Παράδειγμα

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

createFeedPost Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
optionsconst CreateFeedPostOptions&Yes

Απάντηση

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

Παράδειγμα

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

createFeedPostPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
optionsconst CreateFeedPostPublicOptions&Yes

Απάντηση

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

Παράδειγμα

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

deleteFeedPostPublic Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
postIdstringΝαι
optionsconst DeleteFeedPostPublicOptions&Ναι

Response

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

Παράδειγμα

Παράδειγμα deleteFeedPostPublic
Copy Copy
1
2auto opts = std::make_shared<DeleteFeedPostPublicOptions>();
3opts->reason = boost::optional<utility::string_t>(U("Inappropriate content"));
4api->deleteFeedPostPublic(U("my-tenant-123"), U("post-789"), *opts)
5 .then([](std::shared_ptr<DeleteFeedPostPublicResponse> resp) {
6 if (resp && resp->isSuccess()) {
7 // λογική επιτυχίας
8 }
9 });
10

getFeedPosts Internal Link

req tenantId afterId

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetFeedPostsOptions&Yes

Απόκριση

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

Παράδειγμα

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

getFeedPostsPublic Internal Link

αίτηση
tenantId
afterId

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetFeedPostsPublicOptions&Yes

Απόκριση

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

Παράδειγμα

getFeedPostsPublic Παράδειγμα
Copy Copy
1
2auto options = GetFeedPostsPublicOptions{};
3options.limit = boost::optional<int>{20};
4options.before = boost::optional<utility::string_t>{U("2023-01-01T00:00:00Z")};
5
6api->getFeedPostsPublic(U("my-tenant-123"), options).then([](pplx::task<std::shared_ptr<PublicFeedPostsResponse>> task){
7 try{
8 auto response = task.get();
9 auto processed = std::make_shared<PublicFeedPostsResponse>(*response);
10 // Χρησιμοποιήστε το processed όπως απαιτείται
11 }catch(const std::exception&){
12 // Διαχείριση σφάλματος
13 }
14});
15

getFeedPostsStats Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
postIdsvector<stringYes
ssostringNo

Απόκριση

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

Παράδειγμα

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

getUserReactsPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetUserReactsPublicOptions&Ναι

Απάντηση

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

Παράδειγμα

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

reactFeedPostPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
postIdstringYes
reactBodyParamsReactBodyParamsYes
optionsconst ReactFeedPostPublicOptions&Yes

Απάντηση

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

Παράδειγμα

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

updateFeedPost Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
feedPostFeedPostYes

Απόκριση

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

Παράδειγμα

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

updateFeedPostPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
postIdstringYes
updateFeedPostParamsUpdateFeedPostParamsYes
optionsconst UpdateFeedPostPublicOptions&Yes

Απόκριση

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

Παράδειγμα

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

flagCommentPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
isFlaggedboolΝαι
ssostringΌχι

Απόκριση

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

Παράδειγμα

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

getGifLarge Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

getGifsSearch Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
searchstringYes
optionsconst GetGifsSearchOptions&Yes

Response

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

Example

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

getGifsTrending Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetGifsTrendingOptions&Yes

Απόκριση

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

Παράδειγμα

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

addHashTag Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
createHashTagBodyCreateHashTagBodyYes

Απάντηση

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

Παράδειγμα

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

addHashTagsBulk Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
bulkCreateHashTagsBodyBulkCreateHashTagsBodyYes

Απάντηση

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

Παράδειγμα

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

deleteHashTag Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

getHashTags Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
pagedoubleNo

Απάντηση

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

Παράδειγμα

Παράδειγμα getHashTags
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<double> page = 2.0;
4
5api->getHashTags(tenantId, page).then([](pplx::task<std::shared_ptr<GetHashTagsResponse>> task) {
6 try {
7 auto resultPtr = task.get();
8 auto response = std::make_shared<GetHashTagsResponse>(*resultPtr);
9 // χρήση της απάντησης
10 } catch (const std::exception&) {
11 // διαχείριση σφάλματος
12 }
13});
14

patchHashTag Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
tagstringYes
updateHashTagBodyUpdateHashTagBodyYes

Απάντηση

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

Παράδειγμα

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

deleteModerationVote Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
voteIdstringYes
optionsconst DeleteModerationVoteOptions&Yes

Απάντηση

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

Παράδειγμα

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

getApiComments Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetApiCommentsOptions&Yes

Απόκριση

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

Παράδειγμα

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

getApiExportStatus Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetApiExportStatusOptions&Ναι

Απάντηση

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

Παράδειγμα

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

getApiIds Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetApiIdsOptions&Yes

Απάντηση

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

Παράδειγμα

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

getBanUsersFromComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
ssostringNo

Απάντηση

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

Παράδειγμα

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

getCommentBanStatus Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
ssostringNo

Απόκριση

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

Παράδειγμα

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

getCommentChildren Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
ssostringNo

Απόκριση

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

Παράδειγμα

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

getCount Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetCountOptions&Ναι

Απάντηση

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

Παράδειγμα

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

getCounts Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

getLogs Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
ssostringNo

Απάντηση

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

Παράδειγμα

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

getManualBadges Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

getManualBadges Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> sso = boost::make_optional(U("user@example.com"));
4
5api->getManualBadges(tenantId, sso)
6 .then([](pplx::task<std::shared_ptr<GetTenantManualBadgesResponse>> t) {
7 try {
8 auto response = t.get();
9 // επεξεργασία της απόκρισης, π.χ., response->badgeList
10 } catch (const std::exception& ex) {
11 // διαχείριση σφάλματος
12 }
13 });
14

getManualBadgesForUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetManualBadgesForUserOptions&Ναι

Απόκριση

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

Παράδειγμα

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

getModerationComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
optionsconst GetModerationCommentOptions&Yes

Απάντηση

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

Παράδειγμα

Παράδειγμα getModerationComment
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-456");
4GetModerationCommentOptions options;
5options.includeDeleted = boost::optional<bool>(true);
6options.locale = boost::optional<utility::string_t>(utility::conversions::to_string_t("en-US"));
7api->getModerationComment(tenantId, commentId, options)
8 .then([](pplx::task<std::shared_ptr<ModerationAPICommentResponse>> task) {
9 try {
10 auto response = task.get();
11 // Επεξεργασία της απόκρισης όπως απαιτείται
12 } catch (const std::exception& ex) {
13 // Διαχείριση σφάλματος
14 }
15 });
16

getModerationCommentText Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
ssostringNo

Απόκριση

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

Παράδειγμα

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

getPreBanSummary Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
optionsconst GetPreBanSummaryOptions&Ναι

Απάντηση

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

Παράδειγμα

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

getSearchCommentsSummary Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetSearchCommentsSummaryOptions&Yes

Απόκριση

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

Παράδειγμα

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

getSearchPages Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetSearchPagesOptions&Ναι

Απόκριση

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

Παράδειγμα

Παράδειγμα getSearchPages
Copy Copy
1
2GetSearchPagesOptions options;
3options.pageNumber = boost::optional<int>(1);
4options.pageSize = boost::optional<int>(50);
5options.searchTerm = boost::optional<utility::string_t>(U("spam"));
6
7api->getSearchPages(U("my-tenant-123"), options)
8 .then([](pplx::task<std::shared_ptr<ModerationPageSearchResponse>> task) {
9 try {
10 auto response = task.get();
11 // χρήση απόκρισης
12 } catch (const std::exception& e) {
13 // διαχείριση σφάλματος
14 }
15 });
16

getSearchSites Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetSearchSitesOptions&Yes

Απάντηση

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

Παράδειγμα

getSearchSites Παράδειγμα
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3GetSearchSitesOptions options;
4options.query = boost::make_optional(utility::string_t(U("example query")));
5options.limit = boost::make_optional(25);
6
7api->getSearchSites(tenantId, options)
8 .then([](pplx::task<std::shared_ptr<ModerationSiteSearchResponse>> t) {
9 try {
10 auto response = t.get();
11 auto respPtr = std::make_shared<ModerationSiteSearchResponse>(*response);
12 for (const auto& site : respPtr->sites) {
13 // λογική επεξεργασίας
14 }
15 } catch (const std::exception&) {
16 // διαχείριση σφάλματος
17 }
18 });
19

getSearchSuggest Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetSearchSuggestOptions&Yes

Response

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

Παράδειγμα

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

getSearchUsers Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetSearchUsersOptions&Ναι

Response

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

Example

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

getTrustFactor Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetTrustFactorOptions&Yes

Απάντηση

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

Παράδειγμα

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

getUserBanPreference Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

getUserInternalProfile Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetUserInternalProfileOptions&Ναι

Απόκριση

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

Παράδειγμα

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

postAdjustCommentVotes Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
adjustCommentVotesParamsAdjustCommentVotesParamsYes
optionsconst PostAdjustCommentVotesOptions&Yes

Απάντηση

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

Παράδειγμα

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

postApiExport Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst PostApiExportOptions&Ναι

Απάντηση

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

Παράδειγμα

postApiExport Παράδειγμα
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3PostApiExportOptions options;
4options.format = utility::string_t(U("json"));
5options.email = utility::string_t(U("reports@example.com"));
6options.startDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-01T00:00:00Z")));
7options.endDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-31T23:59:59Z")));
8
9api->postApiExport(tenantId, options)
10 .then([](std::shared_ptr<ModerationExportResponse> response) {
11 if (response) {
12 // διαχειριστείτε την επιτυχημένη απόκριση εξαγωγής
13 }
14 })
15 .wait();
16

postBanUserFromComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
optionsconst PostBanUserFromCommentOptions&Ναι

Απόκριση

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

Παράδειγμα

postBanUserFromComment Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("comment-456789");
4PostBanUserFromCommentOptions options;
5options.reason = boost::optional<utility::string_t>(U("spam"));
6options.durationDays = boost::optional<int>(30);
7
8api->postBanUserFromComment(tenantId, commentId, options)
9 .then([](std::shared_ptr<BanUserFromCommentResult> result) {
10 // διαχείριση αποτελέσματος
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception& e) { /* διαχείριση σφάλματος */ }
14 });
15

postBanUserUndo Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
banUserUndoParamsBanUserUndoParamsYes
ssostringNo

Απόκριση

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

Παράδειγμα

Παράδειγμα postBanUserUndo
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3BanUserUndoParams banParams;
4banParams.userId = utility::string_t(U("user-567"));
5banParams.reason = utility::string_t(U("reinstated"));
6boost::optional<utility::string_t> sso = utility::string_t(U("sso-token-abc"));
7
8api->postBanUserUndo(tenantId, banParams, sno).then([](std::shared_ptr<APIEmptyResponse> resp){
9 // διαχείριση επιτυχίας
10});
11

postBulkPreBanSummary Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
bulkPreBanParamsBulkPreBanParamsYes
optionsconst PostBulkPreBanSummaryOptions&Yes

Απόκριση

Returns: BulkPreBanSummary

Παράδειγμα

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

postCommentsByIds Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentsByIdsParamsCommentsByIdsParamsΝαι
ssostringΌχι

Απόκριση

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

Παράδειγμα

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

postFlagComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
optionsconst PostFlagCommentOptions&Yes

Απάντηση

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

Παράδειγμα

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

postRemoveComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
optionsconst PostRemoveCommentOptions&Yes

Απάντηση

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

Παράδειγμα

postRemoveComment Παράδειγμα
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto commentId = utility::string_t(U("cmt-456789"));
4PostRemoveCommentOptions options;
5options.permanent = boost::optional<bool>(true);
6api->postRemoveComment(tenantId, commentId, options)
7 .then([](pplx::task<std::shared_ptr<PostRemoveCommentApiResponse>> task) {
8 try {
9 auto response = task.get();
10 // Επεξεργασία της απάντησης
11 } catch (const std::exception& ex) {
12 // Διαχείριση σφάλματος
13 }
14 });
15

postRestoreDeletedComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
optionsconst PostRestoreDeletedCommentOptions&Ναι

Απόκριση

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

Παράδειγμα

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

postSetCommentApprovalStatus Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
optionsconst PostSetCommentApprovalStatusOptions&Yes

Απόκριση

Returns: SetCommentApprovedResponse

Παράδειγμα

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

postSetCommentReviewStatus Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
optionsconst PostSetCommentReviewStatusOptions&Ναι

Απάντηση

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

Παράδειγμα

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

postSetCommentSpamStatus Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
optionsconst PostSetCommentSpamStatusOptions&Yes

Απάντηση

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

Παράδειγμα

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

postSetCommentText Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
setCommentTextParamsSetCommentTextParamsYes
optionsconst PostSetCommentTextOptions&Yes

Απόκριση

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

Παράδειγμα

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

postUnFlagComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
optionsconst PostUnFlagCommentOptions&Ναι

Απόκριση

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

Παράδειγμα

postUnFlagComment Παράδειγμα
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4PostUnFlagCommentOptions opts;
5opts.notifyUser = boost::optional<bool>(true);
6api->postUnFlagComment(tenantId, commentId, opts)
7 .then([](std::shared_ptr<APIEmptyResponse> resp) {
8 // η επεξεργασία μπορεί να γίνει εδώ
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch (const std::exception&) {}
12 });
13

postVote Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
optionsconst PostVoteOptions&Yes

Απόκριση

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

Παράδειγμα

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

putAwardBadge Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
badgeIdstringYes
optionsconst PutAwardBadgeOptions&Yes

Απάντηση

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

Παράδειγμα

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

putCloseThread Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
ssostringΌχι

Απόκριση

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

Παράδειγμα

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

putRemoveBadge Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
badgeIdstringΝαι
optionsconst PutRemoveBadgeOptions&Ναι

Απόκριση

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

Παράδειγμα

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

putReopenThread Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
urlIdstringYes
ssostringNo

Απόκριση

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

Παράδειγμα

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

setTrustFactor Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst SetTrustFactorOptions&Ναι

Απόκριση

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

Παράδειγμα

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

createModerator Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
createModeratorBodyCreateModeratorBodyYes

Απάντηση

Returns: CreateModeratorResponse

Παράδειγμα

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

deleteModerator Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
sendEmailstringNo

Απόκριση

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

Παράδειγμα

deleteModerator Παράδειγμα
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto moderatorId = utility::conversions::to_string_t("mod-456");
4boost::optional<utility::string_t> sendEmail = utility::conversions::to_string_t("admin@example.com");
5api->deleteModerator(tenantId, moderatorId, sendEmail)
6 .then([](std::shared_ptr<APIEmptyResponse> resp) {
7 // διαχείριση επιτυχίας
8 });
9

getModerator Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απάντηση

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

Παράδειγμα

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

getModerators Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

sendInvite Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
fromNamestringYes

Απάντηση

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

Παράδειγμα

Παράδειγμα sendInvite
Copy Copy
1
2boost::optional<utility::string_t> cc = utility::conversions::to_string_t("cc@example.com");
3api->sendInvite(
4 utility::conversions::to_string_t("my-tenant-123"),
5 utility::conversions::to_string_t("invitee@example.com"),
6 utility::conversions::to_string_t("John Doe")
7).then([](std::shared_ptr<APIEmptyResponse> resp) {
8 // χειριστείτε την επιτυχή πρόσκληση
9});
10

updateModerator Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

deleteNotificationCount Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

getCachedNotificationCount Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

getCachedNotificationCount Παράδειγμα
Copy Copy
1
2auto tenantId = boost::optional<utility::string_t>(utility::conversions::to_string_t("my-tenant-123"));
3auto userId = boost::optional<utility::string_t>(utility::conversions::to_string_t("user-456"));
4
5api->getCachedNotificationCount(tenantId.value(), userId.value())
6 .then([](pplx::task<std::shared_ptr<GetCachedNotificationCountResponse>> task) {
7 try {
8 auto response = task.get();
9 // επεξεργασία απάντησης
10 } catch (const std::exception&) {
11 // χειρισμός σφάλματος
12 }
13 });
14

getNotificationCount Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetNotificationCountOptions&Yes

Απάντηση

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

Παράδειγμα

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

getNotifications Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
optionsconst GetNotificationsOptions&Ναι

Απάντηση

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

Παράδειγμα

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

updateNotification Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΝαι
updateNotificationBodyUpdateNotificationBodyΝαι
userIdstringΌχι

Απόκριση

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

Παράδειγμα

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

createV1PageReact Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
titlestringΌχι

Απάντηση

Returns: CreateV1PageReact

Παράδειγμα

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

createV2PageReact Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
idstringΝαι
titlestringΌχι

Απάντηση

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

Παράδειγμα

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

deleteV1PageReact Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
urlIdstringYes

Απόκριση

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

Παράδειγμα

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

deleteV2PageReact Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

getV1PageLikes Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
urlIdstringYes

Απόκριση

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

Παράδειγμα

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

getV2PageReacts Internal Link

Parameters

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

Response

Returns: GetV2PageReacts

Example

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

getV2PageReactUsers Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
urlIdstringYes
idstringYes

Απάντηση

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

Παράδειγμα

Παράδειγμα getV2PageReactUsers
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto urlId = utility::conversions::to_string_t("page-456");
4auto id = utility::conversions::to_string_t("react-789");
5boost::optional<utility::string_t> maybeFilter;
6api->getV2PageReactUsers(tenantId, urlId, id).then([](pplx::task<std::shared_ptr<GetV2PageReactUsersResponse>> task){
7 try{
8 auto response = task.get();
9 // Χρησιμοποιήστε την απάντηση όπως χρειάζεται
10 }catch(const std::exception&){
11 // Διαχειριστείτε το σφάλμα
12 }
13});
14

addPage Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

addPage Παράδειγμα
Copy Copy
1
2auto createData = CreateAPIPageData{};
3createData.title = utility::string_t(U("Welcome Page"));
4createData.url = utility::string_t(U("https://example.com/welcome"));
5createData.description = boost::optional<utility::string_t>(utility::string_t(U("Landing page for new users")));
6
7api->addPage(utility::string_t(U("my-tenant-123")), createData)
8 .then([](std::shared_ptr<AddPageAPIResponse> response) {
9 if (response && response->success) {
10 // διαχείριση επιτυχούς προσθήκης
11 } else {
12 // διαχείριση σφάλματος
13 }
14 });
15

deletePage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απάντηση

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

Παράδειγμα

deletePage Παράδειγμα
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto pageId = utility::conversions::to_string_t("page-456");
4
5api->deletePage(tenantId, pageId)
6 .then([](pplx::task<std::shared_ptr<DeletePageAPIResponse>> t) {
7 try {
8 auto response = t.get();
9 // επεξεργασία της απάντησης όπως απαιτείται
10 } catch (const std::exception& ex) {
11 // διαχείριση σφάλματος
12 }
13 });
14

getOfflineUsers Internal Link

Past commenters on the page who are NOT currently online. Sorted by displayName.
Χρησιμοποιήστε το αυτό μετά την κλήση /users/online για να αποδώσετε μια ενότητα "Members".
Cursor pagination on commenterName: server walks the partial {tenantId, urlId, commenterName} index from afterName forward via $gt, no $skip cost.
Σελιδοποίηση με δείκτη στο commenterName: ο διακομιστής προχωρά το μερικό {tenantId, urlId, commenterName} δείκτη από afterName προς τα εμπρός μέσω $gt, χωρίς κόστος $skip.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
optionsconst GetOfflineUsersOptions&Yes

Response

Returns: PageUsersOfflineResponse

Example

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

getOnlineUsers Internal Link


Τρέχοντες online θεατές μιας σελίδας: άτομα των οποίων η συνεδρία websocket είναι εγγεγραμμένη στη σελίδα αυτή τη στιγμή.
Επιστρέφει anonCount + totalCount (συνδρομητές σε όλο το δωμάτιο, συμπεριλαμβανομένων των ανώνυμων θεατών που δεν καταχωρούμε).

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
urlIdstringYes
optionsconst GetOnlineUsersOptions&Yes

Response

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

Παράδειγμα

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

getPageByURLId Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
urlIdstringΝαι

Απάντηση

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

Παράδειγμα

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

getPages Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

getPagesPublic Internal Link

List pages for a tenant. Used by the FChat desktop client to populate its room list.
Requires enableFChat to be true on the resolved custom config for each page.
Pages that require SSO are filtered against the requesting user's group access.

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetPagesPublicOptions&Yes

Απάντηση

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

Παράδειγμα

Παράδειγμα getPagesPublic
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetPagesPublicOptions options;
4options.limit = boost::optional<int>(50);
5options.cursor = boost::optional<utility::string_t>(U("cursor-token"));
6api->getPagesPublic(tenantId, options).then([](pplx::task<std::shared_ptr<GetPublicPagesResponse>> task){
7 try{
8 auto response = task.get();
9 // επεξεργασία της απάντησης εάν χρειάζεται
10 }catch(const std::exception&){
11 // διαχείριση του σφάλματος εάν χρειάζεται
12 }
13});
14

getUsersInfo Internal Link

Bulk user info for a tenant. Given userIds, return display info from User / SSOUser.
Used by the comment widget to enrich users that just appeared via a presence event.
No page context: privacy is enforced uniformly (private profiles are masked).

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idsstringYes

Απάντηση

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

Παράδειγμα

Παράδειγμα getUsersInfo
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t ids = U("alice@example.com,bob@example.com");
4boost::optional<utility::string_t> locale = boost::make_optional(U("en-US"));
5
6api->getUsersInfo(tenantId, ids).then([](pplx::task<std::shared_ptr<PageUsersInfoResponse>> t){
7 try{
8 auto response = t.get();
9 // επεξεργασία απόκρισης
10 }catch(const std::exception&){
11 // διαχείριση σφάλματος
12 }
13});
14

patchPage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
updateAPIPageDataUpdateAPIPageDataYes

Απόκριση

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

Παράδειγμα

Παράδειγμα patchPage
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t pageId = U("page-789");
4UpdateAPIPageData update;
5update.title = boost::optional<utility::string_t>(U("Updated Page Title"));
6update.metadata = boost::optional<utility::string_t>(U("{\"author\":\"jane.doe@example.com\"}"));
7api->patchPage(tenantId, pageId, update)
8 .then([](std::shared_ptr<PatchPageAPIResponse> response) {
9 if (response && response->isSuccess) {
10 // διαχείριση επιτυχίας
11 }
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception&) {}
15 });
16

deletePendingWebhookEvent Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απάντηση

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

Παράδειγμα

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

getPendingWebhookEventCount Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetPendingWebhookEventCountOptions&Ναι

Απάντηση

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

Example

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

getPendingWebhookEvents Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetPendingWebhookEventsOptions&Ναι

Απόκριση

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

Παράδειγμα

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

createQuestionConfig Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

deleteQuestionConfig Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα deleteQuestionConfig
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto configId = utility::conversions::to_string_t("question-config-456");
4
5api->deleteQuestionConfig(tenantId, configId)
6 .then([](std::shared_ptr<APIEmptyResponse> resp) {
7 // διαχείριση επιτυχούς διαγραφής
8 })
9 .then([](pplx::task<void> t) {
10 try {
11 t.get();
12 } catch (const std::exception&) {
13 // διαχείριση σφάλματος
14 }
15 });
16

getQuestionConfig Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απόκριση

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

Παράδειγμα

getQuestionConfig Παράδειγμα
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto questionId = utility::conversions::to_string_t("question-456");
4
5api->getQuestionConfig(tenantId, questionId)
6 .then([](pplx::task<std::shared_ptr<GetQuestionConfigResponse>> task) {
7 try {
8 auto response = task.get();
9 // Χρησιμοποιήστε την απόκριση όπως χρειάζεται
10 } catch (const std::exception&) {
11 // Διαχειριστείτε το σφάλμα
12 }
13 });
14

getQuestionConfigs Internal Link

Parameters

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

Response

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

Παράδειγμα

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

updateQuestionConfig Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateQuestionConfigBodyUpdateQuestionConfigBodyYes

Απάντηση

Returns: APIEmptyResponse

Παράδειγμα

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

createQuestionResult Internal Link

Parameters

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

Response

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

Example

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

deleteQuestionResult Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απάντηση

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

Παράδειγμα

deleteQuestionResult Παράδειγμα
Copy Copy
1
2boost::optional<utility::string_t> optTenant = utility::conversions::to_string_t( "my-tenant-123" );
3utility::string_t questionId = utility::conversions::to_string_t( "question-456" );
4
5if ( optTenant )
6{
7 api->deleteQuestionResult( *optTenant, questionId )
8 .then( []( pplx::task<std::shared_ptr<APIEmptyResponse>> t )
9 {
10 try
11 {
12 auto resp = t.get();
13 // διαχείριση επιτυχίας
14 }
15 catch ( const std::exception& e )
16 {
17 // διαχείριση σφάλματος
18 }
19 } );
20}
21

getQuestionResult Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

getQuestionResults Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetQuestionResultsOptions&Ναι

Απάντηση

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

Παράδειγμα

Παράδειγμα getQuestionResults
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetQuestionResultsOptions options;
4options.questionId = boost::optional<utility::string_t>(U("question-456"));
5options.includeDeleted = boost::optional<bool>(false);
6api->getQuestionResults(tenantId, options)
7 .then([](pplx::task<std::shared_ptr<GetQuestionResultsResponse>> t) {
8 auto response = t.get();
9 // διαχείριση της απόκρισης
10 });
11

updateQuestionResult Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
updateQuestionResultBodyUpdateQuestionResultBodyYes

Απάντηση

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

Παράδειγμα

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

aggregateQuestionResults Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst AggregateQuestionResultsOptions&Ναι

Απόκριση

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

Παράδειγμα

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

bulkAggregateQuestionResults Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestYes
forceRecalculateboolNo

Απάντηση

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

Παράδειγμα

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

combineCommentsWithQuestionResults Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst CombineCommentsWithQuestionResultsOptions&Ναι

Απάντηση

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

Παράδειγμα

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

addSSOUser Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

deleteSSOUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΝαι
optionsconst DeleteSSOUserOptions&Ναι

Απόκριση

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

Παράδειγμα

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

getSSOUserByEmail Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

getSSOUserById Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απάντηση

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

Παράδειγμα

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

getSSOUsers Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
skipint32_tNo

Απόκριση

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

Παράδειγμα

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

patchSSOUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΝαι
updateAPISSOUserDataUpdateAPISSOUserDataΝαι
updateCommentsboolΌχι

Απόκριση

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

Παράδειγμα

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

putSSOUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΝαι
updateAPISSOUserDataUpdateAPISSOUserDataΝαι
updateCommentsboolΌχι

Απάντηση

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

Παράδειγμα

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

createSubscription Internal Link

Παράμετροι

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

Απάντηση

Returns: CreateSubscriptionAPIResponse

Παράδειγμα

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

deleteSubscription Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΝαι
userIdstringΌχι

Απάντηση

Returns: DeleteSubscriptionAPIResponse

Παράδειγμα

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

getSubscriptions Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
userIdstringNo

Απάντηση

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

Παράδειγμα

Παράδειγμα getSubscriptions
Copy Copy
1
2auto tenant = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<utility::string_t> user = utility::conversions::to_string_t("user@example.com");
4
5api->getSubscriptions(tenant, user).then(
6 [](pplx::task<std::shared_ptr<GetSubscriptionsAPIResponse>> t) {
7 try {
8 auto response = t.get();
9 // επεξεργασία απόκρισης
10 } catch (const std::exception& e) {
11 // διαχείριση σφάλματος
12 }
13 }
14);
15

updateSubscription Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΝαι
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataΝαι
userIdstringΌχι

Απάντηση

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

Παράδειγμα

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

getTenantDailyUsages Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetTenantDailyUsagesOptions&Yes

Απόκριση

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

Παράδειγμα

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

createTenantPackage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
createTenantPackageBodyCreateTenantPackageBodyYes

Απόκριση

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

Παράδειγμα

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

deleteTenantPackage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απάντηση

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

Παράδειγμα

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

getTenantPackage Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

getTenantPackages Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
skipdoubleNo

Απάντηση

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

Παράδειγμα

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

replaceTenantPackage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
replaceTenantPackageBodyReplaceTenantPackageBodyYes

Απάντηση

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

Παράδειγμα

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

updateTenantPackage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
updateTenantPackageBodyUpdateTenantPackageBodyYes

Απάντηση

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

Παράδειγμα

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

createTenantUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
createTenantUserBodyCreateTenantUserBodyYes

Απόκριση

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

Παράδειγμα

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

deleteTenantUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
optionsconst DeleteTenantUserOptions&Yes

Απόκριση

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

Παράδειγμα

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

getTenantUser Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getTenantUser
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("user@example.com");
4api->getTenantUser(tenantId, userId)
5 .then([](pplx::task<std::shared_ptr<GetTenantUserResponse>> task) {
6 try {
7 auto response = task.get();
8 // Χρησιμοποιήστε την απόκριση όπως χρειάζεται
9 } catch (const std::exception&) {
10 // Διαχείριση σφάλματος
11 }
12 });
13

getTenantUsers Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

replaceTenantUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΝαι
replaceTenantUserBodyReplaceTenantUserBodyΝαι
updateCommentsstringΌχι

Απόκριση

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

Παράδειγμα

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

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΝαι
redirectURLstringΌχι

Απάντηση

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

Παράδειγμα

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

updateTenantUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
updateTenantUserBodyUpdateTenantUserBodyYes
updateCommentsstringNo

Απάντηση

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

Παράδειγμα

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

createTenant Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
createTenantBodyCreateTenantBodyYes

Απάντηση

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

Παράδειγμα

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

deleteTenant Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
surestringNo

Απάντηση

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

Παράδειγμα

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

getTenant Internal Link

Parameters

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

Response

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

Παράδειγμα

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

getTenants Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetTenantsOptions&Yes

Απόκριση

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

Παράδειγμα

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

updateTenant Internal Link

Παράμετρα

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
updateTenantBodyUpdateTenantBodyYes

Απόκριση

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

Παράδειγμα

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

changeTicketState Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
userIdstringYes
idstringYes
changeTicketStateBodyChangeTicketStateBodyYes

Απόκριση

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

Παράδειγμα

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

createTicket Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
userIdstringYes
createTicketBodyCreateTicketBodyYes

Απάντηση

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

Παράδειγμα

Παράδειγμα createTicket
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("john.doe@example.com");
4CreateTicketBody ticketBody;
5ticketBody.setSubject(utility::conversions::to_string_t("Login Issue"));
6ticketBody.setDescription(utility::conversions::to_string_t("Cannot log in after password reset."));
7boost::optional<int> priority = 2;
8ticketBody.setPriority(priority);
9api->createTicket(tenantId, userId, ticketBody).then([](pplx::task<std::shared_ptr<CreateTicketResponse>> task){
10 try{
11 auto response = task.get();
12 // Χρησιμοποιήστε την απόκριση όπως χρειάζεται
13 }catch(const std::exception&){
14 // Διαχειριστείτε το σφάλμα
15 }
16});
17

getTicket Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes
userIdstringNo

Response

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

Example

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

getTickets Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetTicketsOptions&Ναι

Απάντηση

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

Παράδειγμα

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

getTranslations Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
r_namespacestringΝαι
componentstringΝαι
optionsconst GetTranslationsOptions&Ναι

Απόκριση

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

Παράδειγμα

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

uploadImage Internal Link

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

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
fileHttpContentΝαι
optionsconst UploadImageOptions&Ναι

Response

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

Example

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

getUserBadgeProgressById Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απόκριση

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

Παράδειγμα

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

getUserBadgeProgressByUserId Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

getUserBadgeProgressList Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetUserBadgeProgressListOptions&Ναι

Απάντηση

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

Παράδειγμα

Παράδειγμα getUserBadgeProgressList
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetUserBadgeProgressListOptions options;
4options.userId = U("user@example.com");
5options.page = boost::optional<int>(1);
6options.pageSize = boost::optional<int>(20);
7api->getUserBadgeProgressList(tenantId, options)
8 .then([](std::shared_ptr<APIGetUserBadgeProgressListResponse> resp) {
9 if (!resp) return;
10 for (const auto& badge : resp->badges) {
11 // επεξεργασία σήματος
12 }
13 });
14

createUserBadge Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
createUserBadgeParamsCreateUserBadgeParamsYes

Απόκριση

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

Παράδειγμα

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

deleteUserBadge Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απάντηση

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

Παράδειγμα

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

getUserBadge Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

getUserBadges Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst GetUserBadgesOptions&Ναι

Απάντηση

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

Παράδειγμα

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

updateUserBadge Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

getUserNotificationCount Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getUserNotificationCount
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<utility::string_t> sso = utility::conversions::to_string_t("user@example.com");
4api->getUserNotificationCount(tenantId, sso).then([](pplx::task<std::shared_ptr<GetUserNotificationCountResponse>> t){
5 try{
6 auto resp = t.get();
7 // use resp as needed
8 }catch(const std::exception&){
9 // handle error
10 }
11});
12

getUserNotifications Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
optionsconst GetUserNotificationsOptions&Yes

Απόκριση

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

Παράδειγμα

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

resetUserNotificationCount Internal Link

Parameters

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

Response

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

Παράδειγμα

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

resetUserNotifications Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
optionsconst ResetUserNotificationsOptions&Ναι

Απάντηση

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

Παράδειγμα

resetUserNotifications Παράδειγμα
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3ResetUserNotificationsOptions options;
4options.email = boost::optional<utility::string_t>(U("user@example.com"));
5api->resetUserNotifications(tenantId, options)
6 .then([](std::shared_ptr<ResetUserNotificationsResponse> resp) {
7 // Επεξεργασία της απόκρισης
8 });
9

updateUserNotificationCommentSubscriptionStatus Internal Link

Enable ή απενεργοποίηση ειδοποιήσεων για ένα συγκεκριμένο σχόλιο.

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
notificationIdstringΝαι
optedInOrOutstringΝαι
commentIdstringΝαι
ssostringΌχι

Response

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

Παράδειγμα

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

updateUserNotificationPageSubscriptionStatus Internal Link

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

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
urlIdstringYes
urlstringYes
pageTitlestringYes
subscribedOrUnsubscribedstringYes
ssostringNo

Response

Returns: UpdateUserNotificationPageSubscriptionStatusResponse

Example

Παράδειγμα ενημέρωσης κατάστασης συνδρομής ειδοποιήσεων σελίδας χρήστη
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("page-456");
4utility::string_t url = U("https://example.com/articles/awesome-article");
5utility::string_t pageTitle = U("Awesome Article");
6utility::string_t subscription = U("subscribed");
7boost::optional<utility::string_t> sso = boost::make_optional<utility::string_t>(U("sso-token-789"));
8
9api->updateUserNotificationPageSubscriptionStatus(tenantId, urlId, url, pageTitle, subscription, sso)
10 .then([](std::shared_ptr<UpdateUserNotificationPageSubscriptionStatusResponse> resp) {
11 // process resp if needed
12 });
13

updateUserNotificationStatus Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
notificationIdstringΝαι
newStatusstringΝαι
ssostringΌχι

Απάντηση

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

Παράδειγμα

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

getUserPresenceStatuses Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
urlIdWSstringYes
userIdsstringYes

Απόκριση

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

Παράδειγμα

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

searchUsers Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
optionsconst SearchUsersOptions&Ναι

Απάντηση

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

Παράδειγμα

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

getUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
idstringYes

Απόκριση

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

Παράδειγμα

getUser Παράδειγμα
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("user-789");
4boost::optional<utility::string_t> optTag = boost::none;
5
6api->getUser(tenantId, userId)
7 .then([=](pplx::task<std::shared_ptr<GetUserResponse>> task) {
8 try {
9 auto response = task.get();
10 if (!response) {
11 response = std::make_shared<GetUserResponse>();
12 }
13 // επεξεργασία της απόκρισης όπως χρειάζεται
14 } catch (const std::exception&) {
15 // διαχείριση σφάλματος
16 }
17 });
18

createVote Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringYes
commentIdstringYes
directionstringYes
optionsconst CreateVoteOptions&Yes

Απάντηση

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

Παράδειγμα

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

deleteVote Internal Link

Παράμετροι

ΌνομαΤύποςRequiredDescription
tenantIdstringYes
idstringYes
editKeystringNo

Response

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

Παράδειγμα

Παράδειγμα deleteVote
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto voteId = utility::conversions::to_string_t("vote-9876");
4boost::optional<utility::string_t> editKey = utility::conversions::to_string_t("edit-abc123");
5
6api->deleteVote(tenantId, voteId, editKey).then([](pplx::task<std::shared_ptr<VoteDeleteResponse>> task) {
7 try {
8 auto response = task.get();
9 // Επεξεργασία της απάντησης όπως απαιτείται
10 } catch (const std::exception&) {
11 // Διαχείριση σφάλματος
12 }
13});
14

getVotes Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα getVotes
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto urlId = utility::string_t(U("article-456"));
4boost::optional<utility::string_t> extraHeader = boost::none;
5
6api->getVotes(tenantId, urlId).then([=](pplx::task<std::shared_ptr<GetVotesResponse>> task) {
7 try {
8 auto original = task.get();
9 auto response = std::make_shared<GetVotesResponse>(*original);
10 } catch (...) {
11 // διαχείριση σφάλματος
12 }
13});
14

getVotesForUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
optionsconst GetVotesForUserOptions&Ναι

Απόκριση

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

Παράδειγμα

Παράδειγμα getVotesForUser
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto urlId = utility::string_t(U("post-456"));
4GetVotesForUserOptions options;
5options.page = boost::optional<int>(2);
6options.pageSize = boost::optional<int>(50);
7api->getVotesForUser(tenantId, urlId, options).then([](std::shared_ptr<GetVotesForUserResponse> response) {
8 if (response) {
9 // χειρισμός απόκρισης, π.χ., επανάληψη ψήφων
10 }
11});
12

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

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

Συνεισφορές

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