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 προσφέρει ένα εκτενές σύνολο ζωντανών και γρήγορων APIs διαχείρισης. Κάθε μέθοδος της ModerationApi δέχεται μια παράμετρο sso και μπορεί να πιστοποιηθεί μέσω SSO ή μέσω cookie συνεδρίας FastComments.com.

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

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

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

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

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

Χρήση SSO Internal Link

Απλό SSO

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

using namespace fastcomments::sso;

int main() {
    SimpleSSOUserData user("user-123", "user@example.com", "https://example.com/avatar.jpg");
    FastCommentsSSO sso = FastCommentsSSO::newSimple(user);
    std::string token = sso.createToken();

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

Ασφαλές SSO

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

using namespace fastcomments::sso;

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

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

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

Συγκέντρωση Internal Link

Συγκεντρώνει έγγραφα ομαδοποιώντας τα (εάν παρέχεται το groupBy) και εφαρμόζοντας πολλαπλές λειτουργίες. Υποστηρίζονται διαφορετικές λειτουργίες (π.χ. sum, countDistinct, avg κ.λπ.).

Παράμετροι

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

Απόκριση

Επιστρέφει: 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 // process response
19 } catch (const std::exception& e) {
20 // handle error
21 }
22 });
23

Λήψη καταγραφών ελέγχου Internal Link

Παράμετροι

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

Απάντηση

Returns: 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

Αποσύνδεση (public) 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

Αποκλεισμός από σχόλιο (public) 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

Κατάργηση αποκλεισμού σχολίου (public) Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Έλεγχος σχολίων για αποκλεισμένους 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

Αποκλεισμός χρήστη από σχόλιο Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Δημιουργία δημόσιου σχολίου Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Διαγραφή σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

Διαγραφή δημόσιου σχολίου Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Διαγραφή ψήφου σχολίου Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Σήμανση σχολίου 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

Λήψη σχολίου Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη σχολίων Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: 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 // use response as needed
12 } catch (const std::exception& e) {
13 // handle error
14 }
15});
16

Λήψη δημόσιων σχολίων Internal Link

req tenantId urlId

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Λήψη κειμένου σχολίου Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Λήψη ονομάτων χρηστών που ψήφισαν σχολίο Internal Link


Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Κλείδωμα σχολίου Internal Link

Παραμέτρους

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

Απόκριση

Επιστρέφει: 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

Καρφίτσωμα σχολίου Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Αποθήκευση σχολίου Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Ορισμός κειμένου σχολίου Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Κατάργηση αποκλεισμού χρήστη από σχόλιο Internal Link

Παράμετροι

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

Απάντηση

Returns: 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

Αφαίρεση σήμανσης σχολίου Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Αφαίρεση κλειδώματος σχολίου Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
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

Απο-καρφίτσωμα σχολίου Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Απάντηση

Επιστρέφει: 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

Ενημέρωση σχολίου Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Ψήφιση σχολίου Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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 // επεξεργασία απάντησης
19 } catch (const std::exception&) {
20 }
21 });
22

Λήψη σχολίων για χρήστη Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Προσθήκη ρύθμισης τομέα Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Διαγραφή ρύθμισης τομέα 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

Λήψη ρύθμισης τομέα Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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 // χειρισμός ενεργοποιημένου moderation
12 }
13 if (theme) {
14 // χρήση τιμής theme
15 }
16 })
17 .wait();
18

Λήψη ρυθμίσεων τομέα Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Μερική ενημέρωση ρύθμισης τομέα 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

Αντικατάσταση ρύθμισης τομέα Internal Link

Parameters

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

Απόκριση

Επιστρέφει: 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

Δημιουργία προτύπου email Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Διαγραφή προτύπου email Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Διαγραφή σφάλματος απόδοσης προτύπου email 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

Λήψη προτύπου email Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
idstringΝαι

Απάντηση

Επιστρέφει: 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

Λήψη ορισμών προτύπων email 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

Λήψη σφαλμάτων απόδοσης προτύπων email Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Λήψη προτύπων email Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Απόδοση προτύπου email Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

Ενημέρωση προτύπου email 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

Λήψη αρχείου καταγραφής συμβάντος Internal Link

req tenantId urlId userIdWS

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη παγκόσμιου αρχείου καταγραφής συμβάντων Internal Link

req tenantId urlId userIdWS

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Δημιουργία ανάρτησης ροής 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

Δημιουργία δημόσιας ανάρτησης ροής 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

Διαγραφή δημόσιας ανάρτησης ροής Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη αναρτήσεων ροής Internal Link

req tenantId afterId

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Λήψη δημόσιων αναρτήσεων ροής Internal Link


req tenantId afterId

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη στατιστικών αναρτήσεων ροής 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

Λήψη αντιδράσεων χρήστη (public) Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Αντίδραση σε ανάρτηση ροής (public) Internal Link


Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Ενημέρωση ανάρτησης ροής 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

Ενημέρωση δημόσιας ανάρτησης ροής 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

Σήμανση σχολίου (public) Internal Link

Parameters

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

Response

Επιστρέφει: 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

Λήψη μεγάλου GIF Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Αναζήτηση GIFs Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Λήψη δημοφιλών GIFs Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
optionsconst GetGifsTrendingOptions&Ναι

Απόκριση

Επιστρέφει: 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

Προσθήκη hashtag 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

Μαζική προσθήκη hashtags Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Διαγραφή hashtag Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
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

Λήψη hashtags Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Μερική ενημέρωση hashtag Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Διαγραφή ψήφου εποπτείας 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

Λήψη σχολίων μέσω API Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη κατάστασης εξαγωγής API 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

Λήψη αναγνωριστικών API Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Λήψη απαγορευμένων χρηστών από σχόλιο 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

Λήψη κατάστασης αποκλεισμού σχολίου Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη παιδιών σχολίου Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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, sso)
7 .then([](pplx::task<std::shared_ptr<ModerationAPIChildCommentsResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12 });
13

Λήψη πλήθους 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

Λήψη μετρήσεων Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Λήψη καταγραφών 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> sso = U("sso-token-abc");
5
6api->getLogs(tenantId, commentId, sso).then([](pplx::task<std::shared_ptr<ModerationAPIGetLogsResponse>> t){
7 try{
8 auto response = t.get();
9 }catch(...){
10 }
11});
12

Λήψη χειροκίνητων διακριτικών Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
ssostringNo

Response

Returns: GetTenantManualBadgesResponse

Example

Παράδειγμα 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

Λήψη χειροκίνητων διακριτικών για χρήστη 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

Λήψη σχολίου για εποπτεία 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

Λήψη κειμένου σχολίου για εποπτεία 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

Λήψη προ-απαγορευτικής περίληψης 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 // επεξεργασία σύνοψης
12 } catch (const std::exception&) {
13 // διαχείριση σφάλματος
14 }
15 });
16

Λήψη περίληψης αναζήτησης σχολίων Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetSearchCommentsSummaryOptions&Yes

Response

Returns: ModerationCommentSearchResponse

Example

Παράδειγμα 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

Λήψη σελίδων αναζήτησης Internal Link

Παράμετροι

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

Απόκριση

Returns: 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

Λήψη ιστότοπων αναζήτησης Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη προτάσεων αναζήτησης Internal Link

Parameters

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

Απάντηση

Επιστρέφει: 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

Λήψη χρηστών αναζήτησης Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

Λήψη δείκτη εμπιστοσύνης Internal Link

Parameters

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

Response

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

Example

Παράδειγμα 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

Λήψη προτίμησης αποκλεισμού χρήστη 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

Λήψη εσωτερικού προφίλ χρήστη Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Προσαρμογή ψήφων σχολίου 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

Εξαγωγή API (αποστολή) 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

Απαγόρευση χρήστη από σχόλιο Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringΝαι
commentIdstringΝαι
optionsconst PostBanUserFromCommentOptions&Ναι

Response

Returns: BanUserFromCommentResult

Example

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

Αναίρεση απαγόρευσης χρήστη 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, sso).then([](std::shared_ptr<APIEmptyResponse> resp){
9 // διαχείριση επιτυχίας
10});
11

Μαζική προ-απαγορευτική περίληψη Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη σχολίων με αναγνωριστικά (μαζικά) 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

Σήμανση σχολίου (αποστολή) 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

Αφαίρεση σχολίου (αποστολή) Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Επαναφορά διαγραμμένου σχολίου Internal Link

Παράμετρα

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

Απάντηση

Επιστρέφει: 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

Ορισμός κατάστασης έγκρισης σχολίου Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Ορισμός κατάστασης ανασκόπησης σχολίου 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

Ορισμός κατάστασης ανεπιθύμητου περιεχομένου σχολίου Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Ορισμός κειμένου σχολίου (αποστολή) Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Αφαίρεση σήμανσης σχολίου (αποστολή) Internal Link

Parameters

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

Response

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

Example

Παράδειγμα 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

Υποβολή ψήφου Internal Link

Parameters

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

Response

Επιστρέφει: 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

Απονομή διακριτικού Internal Link


Παράμετροι

NameTypeRequiredDescription
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

Κλείσιμο θέματος 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

Αφαίρεση διακριτικού Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Επανανοίγματος θέματος Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Ορισμός δείκτη εμπιστοσύνης Internal Link

Parameters

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

Response

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

Example

Παράδειγμα 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

Δημιουργία διαχειριστή Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Διαγραφή διαχειριστή Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη διαχειριστή Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη διαχειριστών 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

Αποστολή πρόσκλησης Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Ενημέρωση διαχειριστή 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

Διαγραφή πλήθους ειδοποιήσεων Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη προσωρινά αποθηκευμένου πλήθους ειδοποιήσεων Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη πλήθους ειδοποιήσεων Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη ειδοποιήσεων Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Ενημέρωση ειδοποίησης 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

Δημιουργία αντίδρασης σε σελίδα (v1) Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Δημιουργία αντίδρασης σε σελίδα (v2) 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

Διαγραφή αντίδρασης σε σελίδα (v1) 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

Διαγραφή αντίδρασης σε σελίδα (v2) Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Λήψη likes σελίδας (v1) Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Λήψη αντιδράσεων σελίδας (v2) Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

Λήψη χρηστών που αντέδρασαν στη σελίδα (v2) 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

Προσθήκη σελίδας Internal Link

Parameters

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

Response

Returns: AddPageAPIResponse

Example

Παράδειγμα 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

Διαγραφή σελίδας Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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 // process response as needed
10 } catch (const std::exception& ex) {
11 // handle error
12 }
13 });
14

Λήψη εκτός σύνδεσης χρηστών Internal Link

Past commenters on the page who are NOT currently online. Sorted by displayName.
Use this after exhausting /users/online to render a "Members" section.
Cursor pagination on commenterName: server walks the partial {tenantId, urlId, commenterName} index from afterName forward via $gt, no $skip cost.

Παράμετροι

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

Απάντηση

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

Παράδειγμα

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

Λήψη συνδεδεμένων χρηστών Internal Link

Currently-online viewers of a page: people whose websocket session is subscribed to the page right now.
Returns anonCount + totalCount (room-wide subscribers, including anon viewers we don't enumerate).

Parameters

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

Response

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

Example

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

Λήψη σελίδας με URLId Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
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

Λήψη σελίδων Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη δημόσιων σελίδων Internal Link

List pages for a tenant. Used by the FChat desktop client to populate its room list.
Απαιτεί το enableFChat να είναι true στη διαμορφωμένη προσαρμοσμένη ρύθμιση για κάθε σελίδα.
Οι σελίδες που απαιτούν SSO φιλτράρονται με βάση την πρόσβαση ομάδας του χρήστη που κάνει το αίτημα.

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
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

Λήψη πληροφοριών χρηστών 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).

Μαζική πληροφορία χρηστών για έναν ενοικιαστή. Δεδομένων των userIds, επιστρέφει πληροφορίες εμφάνισης από User / SSOUser.
Χρησιμοποιείται από το widget σχολίων για να εμπλουτίσει χρήστες που μόλις εμφανίστηκαν μέσω ενός γεγονότος παρουσίας.
Χωρίς πλαίσιο σελίδας: η ιδιωτικότητα εφαρμόζεται ομοιόμορφα (τα ιδιωτικά προφίλ είναι καλυμμένα).

Parameters

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

Response

Returns: PageUsersInfoResponse

Example

Παράδειγμα 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

Μερική ενημέρωση σελίδας Internal Link

Parameters

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

Response

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

Example

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

Διαγραφή εκκρεμούς γεγονότος webhook Internal Link

Parameters

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

Response

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

Example

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

Λήψη πλήθους εκκρεμών γεγονότων webhook Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
optionsconst GetPendingWebhookEventCountOptions&Ναι

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Λήψη εκκρεμών γεγονότων webhook Internal Link

Παράμετροι

NameTypeRequiredDescription
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

Δημιουργία ρύθμισης ερώτησης Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Διαγραφή ρύθμισης ερώτησης Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Λήψη ρύθμισης ερώτησης Internal Link

Παράμετροι

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

Απάντηση

Returns: 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

Λήψη ρυθμίσεων ερωτήσεων Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Ενημέρωση ρύθμισης ερώτησης Internal Link

Παράμετρα

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

Απάντηση

Επιστρέφει: 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

Δημιουργία αποτελέσματος ερώτησης Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
createQuestionResultBodyCreateQuestionResultBodyYes

Απόκριση

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

Παράδειγμα

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

Διαγραφή αποτελέσματος ερώτησης 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

Λήψη αποτελέσματος ερώτησης Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Λήψη αποτελεσμάτων ερωτήσεων 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

Ενημέρωση αποτελέσματος ερώτησης Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Συγκέντρωση αποτελεσμάτων ερωτήσεων 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

Μαζική συγκέντρωση αποτελεσμάτων ερωτήσεων Internal Link

Parameters

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

Response

Επιστρέφει: 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

Συνδυασμός σχολίων με αποτελέσματα ερωτήσεων Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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 // Χρησιμοποιήστε το combined όπως απαιτείται
12 }catch(const std::exception&){
13 }
14 });
15

Προσθήκη χρήστη SSO Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Διαγραφή χρήστη SSO 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

Λήψη χρήστη SSO με email 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

Λήψη χρήστη SSO με id 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

Λήψη χρηστών SSO 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

Μερική ενημέρωση χρήστη SSO Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Αντικατάσταση χρήστη SSO Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
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

Δημιουργία συνδρομής Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Διαγραφή συνδρομής Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
userIdstringNo

Απόκριση

Επιστρέφει: 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

Λήψη συνδρομών Internal Link


Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Ενημέρωση συνδρομής Internal Link

Παράμετρα

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataYes
userIdstringNo

Απάντηση

Επιστρέφει: 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

Λήψη ημερήσιας χρήσης ενοικιαστή Internal Link

Parameters

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

Response

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

Example

Παράδειγμα 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

Δημιουργία πακέτου ενοικιαστή 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

Διαγραφή πακέτου ενοικιαστή 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

Λήψη πακέτου ενοικιαστή Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη πακέτων ενοικιαστή 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

Αντικατάσταση πακέτου ενοικιαστή 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

Ενημέρωση πακέτου ενοικιαστή Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Δημιουργία χρήστη ενοικιαστή Internal Link

Parameters

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

Response

Επιστρέφει: 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

Διαγραφή χρήστη ενοικιαστή Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη χρήστη ενοικιαστή Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη χρηστών ενοικιαστή 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

Αντικατάσταση χρήστη ενοικιαστή Internal Link

Parameters

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

Response

Επιστρέφει: 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

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
redirectURLstringNo

Απόκριση

Επιστρέφει: 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

Ενημέρωση χρήστη ενοικιαστή Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Δημιουργία ενοικιαστή 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

Διαγραφή ενοικιαστή Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
surestringNo

Απόκριση

Returns: 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

Λήψη ενοικιαστή Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη ενοικιαστών Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Ενημέρωση ενοικιαστή 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

Αλλαγή κατάστασης εισιτηρίου Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Δημιουργία εισιτηρίου Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
userIdstringΝαι
createTicketBodyCreateTicketBodyΝαι

Απάντηση

Επιστρέφει: 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

Λήψη εισιτηρίου Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα 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

Λήψη εισιτηρίων 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

Λήψη μεταφράσεων 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

Αποστολή εικόνας Internal Link


Ανέβασμα και αλλαγή μεγέθους εικόνας

Παράμετροι

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

Απόκριση

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

Παράδειγμα

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

Λήψη προόδου διακριτικού χρήστη με id Internal Link


Parameters

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

Response

Επιστρέφει: 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

Λήψη προόδου διακριτικού χρήστη με userId 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

Λήψη λίστας προόδου διακριτικών χρήστη 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

Δημιουργία διακριτικού χρήστη 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

Διαγραφή διακριτικού χρήστη 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

Λήψη διακριτικού χρήστη 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

Λήψη διακριτικών χρήστη 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

Ενημέρωση διακριτικού χρήστη Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateUserBadgeParamsUpdateUserBadgeParamsYes

Απάντηση

Επιστρέφει: 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

Λήψη πλήθους ειδοποιήσεων χρήστη 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 // χρησιμοποιήστε resp όπως χρειάζεται
8 }catch(const std::exception&){
9 // διαχειριστείτε το σφάλμα
10 }
11});
12

Λήψη ειδοποιήσεων χρήστη 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

Επαναφορά πλήθους ειδοποιήσεων χρήστη Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Επαναφορά ειδοποιήσεων χρήστη 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

Ενημέρωση συνδρομής σχολίου ειδοποίησης χρήστη Internal Link

Enable or disable notifications for a specific comment.

Parameters

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

Response

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

Example

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

Ενημέρωση συνδρομής σελίδας ειδοποίησης χρήστη Internal Link

Enable or disable notifications for a page. When users are subscribed to a page, notifications are created for new root comments, and also

Parameters

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

Response

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

Example

Παράδειγμα updateUserNotificationPageSubscriptionStatus
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("page-456");
4utility::string_t url = U("https://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

Ενημέρωση κατάστασης ειδοποίησης χρήστη 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

Λήψη καταστάσεων παρουσίας χρηστών 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

Αναζήτηση χρηστών 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

Λήψη χρήστη 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

Δημιουργία ψήφου Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: 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

Διαγραφή ψήφου Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
editKeystringNo

Απάντηση

Επιστρέφει: 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 // Process response as needed
10 } catch (const std::exception&) {
11 // Handle error
12 }
13});
14

Λήψη ψήφων Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: 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

Λήψη ψήφων για χρήστη Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
optionsconst GetVotesForUserOptions&Yes

Response

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

Example

Παράδειγμα 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 για οδηγίες σχετικά με τις συνεισφορές.