FastComments.com

FastComments C++ SDK

Oto oficjalne SDK C++ dla FastComments.

Oficjalne SDK C++ dla API FastComments

Repozytorium

Zobacz na GitHub


Wymagania Internal Link

  • C++17 lub nowszy
  • CMake 3.14 lub nowszy
  • OpenSSL
  • C++ REST SDK (cpprestsdk)
  • Boost
  • Google Test (automatycznie pobierany do testów)

Instalacja Internal Link

Instalacja zależności

sudo apt install libcpprest-dev libboost-all-dev

Budowanie ze źródła

mkdir build
cd build
cmake ..
make

Instalacja

sudo make install

Zawartość biblioteki

Ta biblioteka zawiera wygenerowanego klienta API oraz narzędzia SSO, które ułatwiają pracę z API.

Publiczne vs Zabezpieczone API

Dla klienta API istnieją trzy klasy: DefaultApi, PublicApi i ModerationApi. DefaultApi zawiera metody, które wymagają klucza API, a PublicApi zawiera metody, które mogą być wywoływane bezpośrednio z przeglądarki/urządzenia mobilnego itp. bez uwierzytelnienia. ModerationApi oferuje rozbudowany zestaw szybkich i bieżących interfejsów moderacji. Każda metoda ModerationApi przyjmuje parametr sso i może uwierzytelnić się za pomocą SSO lub pliku cookie sesji FastComments.com.

Uwagi Internal Link

Identyfikatory Broadcast

Zauważysz, że w niektórych wywołaniach API trzeba przekazać broadcastId. Gdy otrzymasz zdarzenia, otrzymasz z powrotem ten identyfikator, dzięki czemu będziesz mógł zignorować zdarzenie, jeśli planujesz optymistycznie zastosować zmiany po stronie klienta (na co prawdopodobnie zechcesz się zdecydować, ponieważ zapewnia to najlepsze doświadczenie). Przekaż tutaj UUID. Identyfikator powinien być na tyle unikalny, aby nie wystąpił dwukrotnie w sesji przeglądarki.

SSO (logowanie jednokrotne)

Przykłady SSO znajdziesz poniżej.

Korzystanie z SSO Internal Link


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

Bezpieczne SSO

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

using namespace fastcomments::sso;

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

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

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

aggregate Internal Link

Aggreguje dokumenty, grupując je (jeśli podano groupBy) i stosując wiele operacji. Obsługiwane są różne operacje (np. sum, countDistinct, avg itp.).

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
aggregationRequestAggregationRequestTak
optionsconst AggregateOptions&Tak

Odpowiedź

Zwraca: AggregateResponse

Przykład

Przykład agregacji
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 // przetwórz odpowiedź
19 } catch (const std::exception& e) {
20 // obsłuż błąd
21 }
22 });
23

getAuditLogs Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
optionsconst GetAuditLogsOptions&Yes

Odpowiedź

Zwraca: GetAuditLogsResponse

Przykład

getAuditLogs Przykład
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 // użyj odpowiedzi
13 } catch (const std::exception& e) {
14 // obsłuż błąd
15 }
16});
17

logoutPublic Internal Link

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

blockFromCommentPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
publicBlockFromCommentParamsPublicBlockFromCommentParamsTak
ssostringNie

Odpowiedź

Zwraca: BlockSuccess

Przykład

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

unBlockCommentPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
publicBlockFromCommentParamsPublicBlockFromCommentParamsTak
ssostringNie

Odpowiedź

Zwraca: UnblockSuccess

Przykład

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

checkedCommentsForBlocked Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdsstringTak
ssostringNie

Odpowiedź

Zwraca: CheckBlockedCommentsResponse

Przykład

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

blockUserFromComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
blockFromCommentParamsBlockFromCommentParamsTak
optionsconst BlockUserFromCommentOptions&Tak

Odpowiedź

Zwraca: BlockSuccess

Przykład

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

createCommentPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
broadcastIdstringTak
commentDataCommentDataTak
optionsconst CreateCommentPublicOptions&Tak

Odpowiedź

Zwraca: SaveCommentsResponseWithPresence

Przykład

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

deleteComment Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
optionsconst DeleteCommentOptions&Yes

Odpowiedź

Zwraca: DeleteCommentResult

Przykład

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

deleteCommentPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
broadcastIdstringTak
optionsconst DeleteCommentPublicOptions&Tak

Odpowiedź

Zwraca: PublicAPIDeleteCommentResponse

Przykład

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

deleteCommentVote Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
voteIdstringTak
urlIdstringTak
broadcastIdstringTak
optionsconst DeleteCommentVoteOptions&Tak

Odpowiedź

Zwraca: VoteDeleteResponse

Przykład

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

flagComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
optionsconst FlagCommentOptions&Yes

Odpowiedź

Zwraca: FlagCommentResponse

Przykład

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

getComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes

Odpowiedź

Zwraca: APIGetCommentResponse

Przykład

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

getComments Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetCommentsOptions&Tak

Odpowiedź

Zwraca: APIGetCommentsResponse

Przykład

Przykład 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 // użyj odpowiedzi w razie potrzeby
12 } catch (const std::exception& e) {
13 // obsłuż błąd
14 }
15});
16

getCommentsPublic Internal Link

req tenantId urlId

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes
optionsconst GetCommentsPublicOptions&Yes

Odpowiedź

Returns: GetCommentsResponseWithPresence_PublicComment_

Przykład

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

getCommentText Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
optionsconst GetCommentTextOptions&Yes

Response

Zwraca: PublicAPIGetCommentTextResponse

Example

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

getCommentVoteUserNames Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
dirint32_tTak
ssostringNie

Odpowiedź

Zwraca: GetCommentVoteUserNamesSuccessResponse

Przykład

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

lockComment Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Response

Zwraca: APIEmptyResponse

Example

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

pinComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Odpowiedź

Zwraca: ChangeCommentPinStatusResponse

Przykład

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

saveComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createCommentParamsCreateCommentParamsYes
optionsconst SaveCommentOptions&Yes

Odpowiedź

Zwraca: APISaveCommentResponse

Przykład

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

setCommentText Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
commentTextUpdateRequestCommentTextUpdateRequestYes
optionsconst SetCommentTextOptions&Yes

Odpowiedź

Zwraca: PublicAPISetCommentTextResponse

Przykład

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

unBlockUserFromComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
unBlockFromCommentParamsUnBlockFromCommentParamsYes
optionsconst UnBlockUserFromCommentOptions&Yes

Odpowiedź

Zwraca: UnblockSuccess

Przykład

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

unFlagComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
optionsconst UnFlagCommentOptions&Yes

Odpowiedź

Zwraca: FlagCommentResponse

Przykład

Przykład 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 // process status if needed
9 }
10 })
11 .then([](pplx::task<void> previous) {
12 try {
13 previous.get();
14 } catch (const std::exception& e) {
15 // handle error
16 }
17 });
18

unLockComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
broadcastIdstringTak
ssostringNie

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

unPinComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Odpowiedź

Zwraca: ChangeCommentPinStatusResponse

Przykład

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

updateComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updatableCommentParamsUpdatableCommentParamsTak
optionsconst UpdateCommentOptions&Tak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

voteComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
urlIdstringYes
broadcastIdstringYes
voteBodyParamsVoteBodyParamsYes
optionsconst VoteCommentOptions&Yes

Odpowiedź

Zwraca: VoteResponse

Przykład

voteComment Przykład
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 // obsłuż odpowiedź
19 } catch (const std::exception&) {
20 }
21 });
22

getCommentsForUser Internal Link

Parametry

NazwaTypWymaganeOpis
optionsconst GetCommentsForUserOptions&Tak

Odpowiedź

Zwraca: GetCommentsForUserResponse

Przykład

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

addDomainConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
addDomainConfigParamsAddDomainConfigParamsTak

Odpowiedź

Zwraca: AddDomainConfigResponse

Przykład

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

deleteDomainConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
domainstringTak

Odpowiedź

Zwraca: DeleteDomainConfigResponse

Przykład

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

getDomainConfig Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringYes
domainstringYes

Response

Zwraca: GetDomainConfigResponse

Przykład

Przykład 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 // handle enabled moderation
12 }
13 if (theme) {
14 // use theme value
15 }
16 })
17 .wait();
18

getDomainConfigs Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes

Odpowiedź

Zwraca: GetDomainConfigsResponse

Przykład

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

patchDomainConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
domainToUpdatestringYes
patchDomainConfigParamsPatchDomainConfigParamsYes

Odpowiedź

Zwraca: PatchDomainConfigResponse

Przykład

Przykład 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 // obsługa sukcesu
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception& e) { /* obsługa błędów */ }
15 });
16

putDomainConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
domainToUpdatestringYes
updateDomainConfigParamsUpdateDomainConfigParamsYes

Odpowiedź

Zwraca: PutDomainConfigResponse

Przykład

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

createEmailTemplate Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
createEmailTemplateBodyCreateEmailTemplateBodyTak

Response

Zwraca: CreateEmailTemplateResponse

Przykład

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

deleteEmailTemplate Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Response

Zwraca: APIEmptyResponse

Example

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

deleteEmailTemplateRenderError Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
errorIdstringTak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

getEmailTemplate Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: GetEmailTemplateResponse

Przykład

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

getEmailTemplateDefinitions Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak

Odpowiedź

Zwraca: GetEmailTemplateDefinitionsResponse

Przykład

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

getEmailTemplateRenderErrors Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
skipdoubleNie

Odpowiedź

Zwraca: GetEmailTemplateRenderErrorsResponse

Przykład

Przykład 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 // Użyj odpowiedzi w razie potrzeby
11 } catch (const std::exception& ex) {
12 // Obsłuż błąd
13 }
14 });
15

getEmailTemplates Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
skipdoubleNo

Odpowiedź

Zwraca: GetEmailTemplatesResponse

Przykład

Przykład getEmailTemplates
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<double> skip = 10.0;
4api->getEmailTemplates(tenantId, skip)
5 .then([](std::shared_ptr<GetEmailTemplatesResponse> resp) {
6 (void)resp;
7 });
8

renderEmailTemplate Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
renderEmailTemplateBodyRenderEmailTemplateBodyTak
localestringNie

Response

Zwraca: RenderEmailTemplateResponse

Example

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

updateEmailTemplate Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
updateEmailTemplateBodyUpdateEmailTemplateBodyYes

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

updateEmailTemplate Przykład
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 // obsługa sukcesu
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception &) { /* obsługa błędów */ }
14 });
15

getEventLog Internal Link

req tenantId urlId userIdWS

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
userIdWSstringTak
startTimeint64_tTak
endTimeint64_tNie

Odpowiedź

Zwraca: GetEventLogResponse

Przykład

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

getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
userIdWSstringTak
startTimeint64_tTak
endTimeint64_tNie

Odpowiedź

Zwraca: GetEventLogResponse

Przykład

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

createFeedPost Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
createFeedPostParamsCreateFeedPostParamsTak
optionsconst CreateFeedPostOptions&Tak

Odpowiedź

Zwraca: CreateFeedPostsResponse

Przykład

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

createFeedPostPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
createFeedPostParamsCreateFeedPostParamsTak
optionsconst CreateFeedPostPublicOptions&Tak

Odpowiedź

Zwraca: CreateFeedPostResponse

Przykład

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

deleteFeedPostPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
postIdstringTak
optionsconst DeleteFeedPostPublicOptions&Tak

Odpowiedź

Zwraca: DeleteFeedPostPublicResponse

Przykład

Przykład 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 // success logic
8 }
9 });
10

getFeedPosts Internal Link

req tenantId afterId

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
optionsconst GetFeedPostsOptions&Yes

Odpowiedź

Zwraca: GetFeedPostsResponse

Przykład

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

getFeedPostsPublic Internal Link

req tenantId afterId

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetFeedPostsPublicOptions&Tak

Odpowiedź

Zwraca: PublicFeedPostsResponse

Przykład

getFeedPostsPublic Przykład
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 // Użyj przetworzonego w razie potrzeby
11 }catch(const std::exception&){
12 // Obsłuż błąd
13 }
14});
15

getFeedPostsStats Internal Link


Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
postIdsvector<stringTak
ssostringNie

Odpowiedź

Zwraca: FeedPostsStatsResponse

Przykład

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

getUserReactsPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetUserReactsPublicOptions&Tak

Odpowiedź

Zwraca: UserReactsResponse

Przykład

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

reactFeedPostPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
postIdstringTak
reactBodyParamsReactBodyParamsTak
optionsconst ReactFeedPostPublicOptions&Tak

Odpowiedź

Zwraca: ReactFeedPostResponse

Przykład

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

updateFeedPost Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
feedPostFeedPostTak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

updateFeedPostPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
postIdstringYes
updateFeedPostParamsUpdateFeedPostParamsYes
optionsconst UpdateFeedPostPublicOptions&Yes

Odpowiedź

Zwraca: CreateFeedPostResponse

Przykład

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

flagCommentPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
isFlaggedboolTak
ssostringNie

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

getGifLarge Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
largeInternalURLSanitizedstringYes

Response

Zwraca: GifGetLargeResponse

Example

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

getGifsSearch Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
searchstringYes
optionsconst GetGifsSearchOptions&Yes

Odpowiedź

Zwraca: GetGifsSearchResponse

Przykład

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

getGifsTrending Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetGifsTrendingOptions&Tak

Odpowiedź

Zwraca: GetGifsTrendingResponse

Przykład

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

addHashTag Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
createHashTagBodyCreateHashTagBodyTak

Odpowiedź

Zwraca: CreateHashTagResponse

Przykład

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

addHashTagsBulk Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
bulkCreateHashTagsBodyBulkCreateHashTagsBodyYes

Odpowiedź

Zwraca: BulkCreateHashTagsResponse

Przykład

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

deleteHashTag Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
tagstringTak
deleteHashTagRequestBodyDeleteHashTagRequestBodyTak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

getHashTags Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
pagedoubleNie

Odpowiedź

Zwraca: GetHashTagsResponse

Przykład

Przykład 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 // użyj odpowiedzi
10 } catch (const std::exception&) {
11 // obsłuż błąd
12 }
13});
14

patchHashTag Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
tagstringTak
updateHashTagBodyUpdateHashTagBodyTak

Odpowiedź

Zwraca: UpdateHashTagResponse

Przykład

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

deleteModerationVote Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
voteIdstringYes
optionsconst DeleteModerationVoteOptions&Yes

Odpowiedź

Zwraca: VoteDeleteResponse

Przykład

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

getApiComments Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetApiCommentsOptions&Tak

Odpowiedź

Zwraca: ModerationAPIGetCommentsResponse

Przykład

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

getApiExportStatus Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetApiExportStatusOptions&Tak

Odpowiedź

Zwraca: ModerationExportStatusResponse

Przykład

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

getApiIds Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetApiIdsOptions&Tak

Odpowiedź

Zwraca: ModerationAPIGetCommentIdsResponse

Przykład

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

getBanUsersFromComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
ssostringNie

Odpowiedź

Zwraca: GetBannedUsersFromCommentResponse

Przykład

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

getCommentBanStatus Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
ssostringNie

Odpowiedź

Zwraca: GetCommentBanStatusResponse

Przykład

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

getCommentChildren Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
ssostringNo

Response

Zwraca: ModerationAPIChildCommentsResponse

Example

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

getCount Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetCountOptions&Tak

Odpowiedź

Zwraca: ModerationAPICountCommentsResponse

Przykład

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

getCounts Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
ssostringNie

Odpowiedź

Zwraca: GetBannedUsersCountResponse

Przykład

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

getLogs Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
ssostringNie

Response

Zwraca: ModerationAPIGetLogsResponse

Example

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

getManualBadges Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
ssostringNie

Odpowiedź

Zwraca: GetTenantManualBadgesResponse

Przykład

Przykład 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 // przetwarzaj odpowiedź, np. response->badgeList
10 } catch (const std::exception& ex) {
11 // obsłuż błąd
12 }
13 });
14

getManualBadgesForUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetManualBadgesForUserOptions&Tak

Odpowiedź

Zwraca: GetUserManualBadgesResponse

Przykład

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

getModerationComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
optionsconst GetModerationCommentOptions&Yes

Odpowiedź

Returns: ModerationAPICommentResponse

Przykład

Przykład 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 // Przetwórz odpowiedź w razie potrzeby
12 } catch (const std::exception& ex) {
13 // Obsłuż błąd
14 }
15 });
16

getModerationCommentText Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
ssostringNo

Odpowiedź

Zwraca: GetCommentTextResponse

Przykład

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

getPreBanSummary Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
optionsconst GetPreBanSummaryOptions&Tak

Odpowiedź

Zwraca: PreBanSummary

Przykład

Przykład 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 // przetwarzaj podsumowanie
12 } catch (const std::exception&) {
13 // obsłuż błąd
14 }
15 });
16

getSearchCommentsSummary Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetSearchCommentsSummaryOptions&Tak

Odpowiedź

Zwraca: ModerationCommentSearchResponse

Przykład

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

getSearchPages Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetSearchPagesOptions&Yes

Odpowiedź

Zwraca: ModerationPageSearchResponse

Przykład

Przykład 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 // użyj odpowiedzi
12 } catch (const std::exception& e) {
13 // obsłuż błąd
14 }
15 });
16

getSearchSites Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetSearchSitesOptions&Tak

Odpowiedź

Zwraca: ModerationSiteSearchResponse

Przykład

Przykład 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 // logika przetwarzania
14 }
15 } catch (const std::exception&) {
16 // obsługa błędów
17 }
18 });
19

getSearchSuggest Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetSearchSuggestOptions&Tak

Odpowiedź

Zwraca: ModerationSuggestResponse

Przykład

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

getSearchUsers Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetSearchUsersOptions&Tak

Odpowiedź

Zwraca: ModerationUserSearchResponse

Przykład

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

getTrustFactor Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
optionsconst GetTrustFactorOptions&Yes

Odpowiedź

Zwraca: GetUserTrustFactorResponse

Przykład

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

getUserBanPreference Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
ssostringNie

Odpowiedź

Zwraca: APIModerateGetUserBanPreferencesResponse

Przykład

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

getUserInternalProfile Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
optionsconst GetUserInternalProfileOptions&Yes

Odpowiedź

Zwraca: GetUserInternalProfileResponse

Przykład

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

postAdjustCommentVotes Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
adjustCommentVotesParamsAdjustCommentVotesParamsYes
optionsconst PostAdjustCommentVotesOptions&Yes

Response

Zwraca: AdjustVotesResponse

Example

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

postApiExport Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
optionsconst PostApiExportOptions&Yes

Odpowiedź

Zwraca: ModerationExportResponse

Przykład

postApiExport Przykład
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 // obsłuż udaną odpowiedź eksportu
13 }
14 })
15 .wait();
16

postBanUserFromComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
optionsconst PostBanUserFromCommentOptions&Tak

Odpowiedź

Zwraca: BanUserFromCommentResult

Przykład

postBanUserFromComment Przykład
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 // obsługa wyniku
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception& e) { /* obsługa błędów */ }
14 });
15

postBanUserUndo Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
banUserUndoParamsBanUserUndoParamsYes
ssostringNo

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

postBanUserUndo Przykład
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 // obsłuż sukces
10});
11

postBulkPreBanSummary Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
bulkPreBanParamsBulkPreBanParamsYes
optionsconst PostBulkPreBanSummaryOptions&Yes

Odpowiedź

Zwraca: BulkPreBanSummary

Przykład

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

postCommentsByIds Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentsByIdsParamsCommentsByIdsParamsTak
ssostringNie

Odpowiedź

Zwraca: ModerationAPIChildCommentsResponse

Przykład

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

postFlagComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
optionsconst PostFlagCommentOptions&Yes

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

postRemoveComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
optionsconst PostRemoveCommentOptions&Yes

Odpowiedź

Zwraca: PostRemoveCommentApiResponse

Przykład

postRemoveComment Przykład
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 // Przetwórz odpowiedź
11 } catch (const std::exception& ex) {
12 // Obsłuż błąd
13 }
14 });
15

postRestoreDeletedComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
optionsconst PostRestoreDeletedCommentOptions&Tak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

postSetCommentApprovalStatus Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
optionsconst PostSetCommentApprovalStatusOptions&Yes

Odpowiedź

Zwraca: SetCommentApprovedResponse

Przykład

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

postSetCommentReviewStatus Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
optionsconst PostSetCommentReviewStatusOptions&Tak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

postSetCommentSpamStatus Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
optionsconst PostSetCommentSpamStatusOptions&Yes

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

postSetCommentText Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
setCommentTextParamsSetCommentTextParamsTak
optionsconst PostSetCommentTextOptions&Tak

Odpowiedź

Zwraca: SetCommentTextResponse

Przykład

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

postUnFlagComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
optionsconst PostUnFlagCommentOptions&Tak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

Przykład 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 // przetwarzanie może być wykonane tutaj
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch (const std::exception&) {}
12 });
13

postVote Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
optionsconst PostVoteOptions&Yes

Odpowiedź

Zwraca: VoteResponse

Przykład

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

putAwardBadge Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
badgeIdstringYes
optionsconst PutAwardBadgeOptions&Yes

Odpowiedź

Zwraca: AwardUserBadgeResponse

Przykład

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

putCloseThread Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
ssostringNie

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

putRemoveBadge Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
badgeIdstringYes
optionsconst PutRemoveBadgeOptions&Yes

Odpowiedź

Zwraca: RemoveUserBadgeResponse

Przykład

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

putReopenThread Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
ssostringNie

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

Przykład putReopenThread
Copy Copy
1
2api->putReopenThread(utility::string_t(U("my-tenant-123")), utility::string_t(U("thread-456")), boost::make_optional<utility::string_t>(U("user@example.com")))
3 .then([](std::shared_ptr<APIEmptyResponse> result){
4 std::cout << "Thread reopened" << std::endl;
5 });
6

setTrustFactor Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst SetTrustFactorOptions&Tak

Odpowiedź

Zwraca: SetUserTrustFactorResponse

Przykład

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

createModerator Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createModeratorBodyCreateModeratorBodyYes

Odpowiedź

Zwraca: CreateModeratorResponse

Przykład

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

deleteModerator Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
sendEmailstringNo

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

Przykład 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 // handle success
8 });
9

getModerator Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: GetModeratorResponse

Przykład

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

getModerators Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
skipdoubleNie

Odpowiedź

Zwraca: GetModeratorsResponse

Przykład

Przykład getModerators
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<double> skip = 10.0;
4api->getModerators(tenantId, skip).then([](pplx::task<std::shared_ptr<GetModeratorsResponse>> t){
5 auto response = t.get();
6});
7

sendInvite Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
fromNamestringTak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

Przykład 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 // obsłuż pomyślne zaproszenie
9});
10

updateModerator Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateModeratorBodyUpdateModeratorBodyYes

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

deleteNotificationCount Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

getCachedNotificationCount Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Response

Returns: GetCachedNotificationCountResponse

Example

getCachedNotificationCount Przykład
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 // process response
10 } catch (const std::exception&) {
11 // handle error
12 }
13 });
14

getNotificationCount Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetNotificationCountOptions&Tak

Odpowiedź

Zwraca: GetNotificationCountResponse

Przykład

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

getNotifications Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetNotificationsOptions&Tak

Odpowiedź

Zwraca: GetNotificationsResponse

Przykład

Przykład getNotifications
Copy Copy
1
2GetNotificationsOptions options;
3options.limit = 20;
4options.after = U("cursor-123");
5api->getNotifications(U("my-tenant-123"), options)
6 .then([](std::shared_ptr<GetNotificationsResponse> resp) {
7 (void)resp;
8 });
9

updateNotification Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateNotificationBodyUpdateNotificationBodyTak
userIdstringNie

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

createV1PageReact Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes
titlestringNo

Odpowiedź

Zwraca: CreateV1PageReact

Przykład

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

createV2PageReact Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes
idstringYes
titlestringNo

Odpowiedź

Zwraca: CreateV1PageReact

Przykład

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

deleteV1PageReact Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes

Odpowiedź

Zwraca: CreateV1PageReact

Przykład

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

deleteV2PageReact Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
idstringTak

Odpowiedź

Zwraca: CreateV1PageReact

Przykład

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

getV1PageLikes Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak

Odpowiedź

Zwraca: GetV1PageLikes

Przykład

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

getV2PageReacts Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak

Odpowiedź

Zwraca: GetV2PageReacts

Przykład

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

getV2PageReactUsers Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
idstringTak

Odpowiedź

Zwraca: GetV2PageReactUsersResponse

Przykład

getV2PageReactUsers Przykład
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 // Użyj odpowiedzi w razie potrzeby
10 }catch(const std::exception&){
11 // Obsłuż błąd
12 }
13});
14

addPage Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
createAPIPageDataCreateAPIPageDataYes

Response

Returns: AddPageAPIResponse

Example

Przykład 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 // obsłuż pomyślne dodanie
11 } else {
12 // obsłuż błąd
13 }
14 });
15

deletePage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: DeletePageAPIResponse

Przykład

deletePage Przykład
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 // przetwarzaj odpowiedź w razie potrzeby
10 } catch (const std::exception& ex) {
11 // obsłuż błąd
12 }
13 });
14

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

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
optionsconst GetOfflineUsersOptions&Yes

Response

Returns: PageUsersOfflineResponse

Example

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

getOnlineUsers Internal Link

Obecnie online widzowie strony: osoby, których sesja websocket jest subskrybowana do tej strony w tej chwili.
Zwraca anonCount + totalCount (subskrybenci w całym pokoju, w tym anonimowi widzowie, których nie enumerujemy).

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
optionsconst GetOnlineUsersOptions&Tak

Odpowiedź

Zwraca: PageUsersOnlineResponse

Przykład

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

getPageByURLId Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak

Odpowiedź

Zwraca: GetPageByURLIdAPIResponse

Przykład

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

getPages Internal Link

Parametry

NameTypeWymaganeOpis
tenantIdstringTak

Odpowiedź

Zwraca: GetPagesAPIResponse

Przykład

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

getPagesPublic Internal Link

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

Parameters

NameTypeRequiredDescription
tenantIdstringTak
optionsconst GetPagesPublicOptions&Tak

Response

Returns: GetPublicPagesResponse

Example

Przykład 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 // process response if needed
10 }catch(const std::exception&){
11 // handle error if needed
12 }
13});
14

getUsersInfo Internal Link

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

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idsstringYes

Response

Returns: PageUsersInfoResponse

Example

getUsersInfo Przykład
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 // process response
10 }catch(const std::exception&){
11 // handle error
12 }
13});
14

patchPage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateAPIPageDataUpdateAPIPageDataTak

Odpowiedź

Returns: PatchPageAPIResponse

Przykład

patchPage Przykład
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 // obsłuż sukces
11 }
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception&) {}
15 });
16

deletePendingWebhookEvent Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

getPendingWebhookEventCount Internal Link


Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetPendingWebhookEventCountOptions&Tak

Odpowiedź

Zwraca: GetPendingWebhookEventCountResponse

Przykład

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

getPendingWebhookEvents Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
optionsconst GetPendingWebhookEventsOptions&Yes

Odpowiedź

Zwraca: GetPendingWebhookEventsResponse

Przykład

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

createQuestionConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createQuestionConfigBodyCreateQuestionConfigBodyYes

Odpowiedź

Zwraca: CreateQuestionConfigResponse

Przykład

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

deleteQuestionConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

deleteQuestionConfig Przykład
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 // obsłuż pomyślne usunięcie
8 })
9 .then([](pplx::task<void> t) {
10 try {
11 t.get();
12 } catch (const std::exception&) {
13 // obsłuż błąd
14 }
15 });
16

getQuestionConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: GetQuestionConfigResponse

Przykład

Przykład 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 // Użyj odpowiedzi w razie potrzeby
10 } catch (const std::exception&) {
11 // Obsłuż błąd
12 }
13 });
14

getQuestionConfigs Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
skipdoubleNo

Odpowiedź

Zwraca: GetQuestionConfigsResponse

Przykład

Przykład getQuestionConfigs
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<double> skip = 10.0;
4api->getQuestionConfigs(tenantId, skip).then([](std::shared_ptr<GetQuestionConfigsResponse> resp){
5 auto config = std::make_shared<GetQuestionConfigsResponse>(*resp);
6});
7

updateQuestionConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateQuestionConfigBodyUpdateQuestionConfigBodyTak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

createQuestionResult Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringYes
createQuestionResultBodyCreateQuestionResultBodyYes

Odpowiedź

Zwraca: CreateQuestionResultResponse

Przykład

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

deleteQuestionResult Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

Przykład 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 // obsługa sukcesu
14 }
15 catch ( const std::exception& e )
16 {
17 // obsługa błędu
18 }
19 } );
20}
21

getQuestionResult Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes

Odpowiedź

Zwraca: GetQuestionResultResponse

Przykład

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

getQuestionResults Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetQuestionResultsOptions&Tak

Odpowiedź

Zwraca: GetQuestionResultsResponse

Przykład

Przykład 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 // obsłuż odpowiedź
10 });
11

updateQuestionResult Internal Link


Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
updateQuestionResultBodyUpdateQuestionResultBodyYes

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

aggregateQuestionResults Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
optionsconst AggregateQuestionResultsOptions&Yes

Odpowiedź

Zwraca: AggregateQuestionResultsResponse

Przykład

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

bulkAggregateQuestionResults Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringYes
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestYes
forceRecalculateboolNo

Odpowiedź

Zwraca: BulkAggregateQuestionResultsResponse

Przykład

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

combineCommentsWithQuestionResults Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst CombineCommentsWithQuestionResultsOptions&Tak

Odpowiedź

Zwraca: CombineQuestionResultsWithCommentsResponse

Przykład

combineCommentsWithQuestionResults Przykład
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 // Użyj combined w razie potrzeby
12 }catch(const std::exception&){
13 }
14 });
15

addSSOUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
createAPISSOUserDataCreateAPISSOUserDataTak

Odpowiedź

Zwraca: AddSSOUserAPIResponse

Przykład

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

deleteSSOUser Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
optionsconst DeleteSSOUserOptions&Tak

Response

Zwraca: DeleteSSOUserAPIResponse

Example

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

getSSOUserByEmail Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
emailstringTak

Odpowiedź

Zwraca: GetSSOUserByEmailAPIResponse

Przykład

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

getSSOUserById Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Returns: GetSSOUserByIdAPIResponse

Przykład

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

getSSOUsers Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
skipint32_tNie

Odpowiedź

Zwraca: GetSSOUsersResponse

Przykład

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

patchSSOUser Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
idstringTak
updateAPISSOUserDataUpdateAPISSOUserDataTak
updateCommentsboolNie

Odpowiedź

Zwraca: PatchSSOUserAPIResponse

Przykład

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

putSSOUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateAPISSOUserDataUpdateAPISSOUserDataTak
updateCommentsboolNie

Odpowiedź

Zwraca: PutSSOUserAPIResponse

Przykład

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

createSubscription Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataTak

Odpowiedź

Zwraca: CreateSubscriptionAPIResponse

Przykład

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

deleteSubscription Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
userIdstringNo

Odpowiedź

Zwraca: DeleteSubscriptionAPIResponse

Przykład

Przykład deleteSubscription
Copy Copy
1
2api->deleteSubscription(utility::string_t(U("my-tenant-123")), utility::string_t(U("sub-456")), boost::optional<utility::string_t>(utility::string_t(U("user@example.com"))))
3 .then([](std::shared_ptr<DeleteSubscriptionAPIResponse> resp){
4 if (resp) {
5 }
6 });
7

getSubscriptions Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
userIdstringNie

Odpowiedź

Zwraca: GetSubscriptionsAPIResponse

Przykład

Przykład 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 // przetwarzaj odpowiedź
10 } catch (const std::exception& e) {
11 // obsłuż błąd
12 }
13 }
14);
15

updateSubscription Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataYes
userIdstringNo

Odpowiedź

Zwraca: UpdateSubscriptionAPIResponse

Przykład

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

getTenantDailyUsages Internal Link


Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetTenantDailyUsagesOptions&Tak

Odpowiedź

Zwraca: GetTenantDailyUsagesResponse

Przykład

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

createTenantPackage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createTenantPackageBodyCreateTenantPackageBodyYes

Odpowiedź

Returns: CreateTenantPackageResponse

Przykład

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

deleteTenantPackage Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes

Response

Returns: APIEmptyResponse

Example

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

getTenantPackage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes

Odpowiedź

Zwraca: GetTenantPackageResponse

Przykład

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

getTenantPackages Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
skipdoubleNie

Odpowiedź

Zwraca: GetTenantPackagesResponse

Przykład

getTenantPackages Przykład
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<double> skip = 20.0;
4api->getTenantPackages(tenantId, skip)
5 .then([](std::shared_ptr<GetTenantPackagesResponse> resp) {
6 (void)resp;
7 });
8

replaceTenantPackage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
replaceTenantPackageBodyReplaceTenantPackageBodyYes

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

updateTenantPackage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateTenantPackageBodyUpdateTenantPackageBodyTak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

Przykład 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 // obsługa sukcesu
14 } catch (const std::exception& ex) {
15 // obsługa błędu
16 }
17 });
18

createTenantUser Internal Link


Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
createTenantUserBodyCreateTenantUserBodyTak

Odpowiedź

Zwraca: CreateTenantUserResponse

Przykład

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

deleteTenantUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
optionsconst DeleteTenantUserOptions&Tak

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

getTenantUser Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Response

Zwraca: GetTenantUserResponse

Example

Przykład 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 // Użyj odpowiedzi w razie potrzeby
9 } catch (const std::exception&) {
10 // Obsługa błędów
11 }
12 });
13

getTenantUsers Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
skipdoubleNie

Odpowiedź

Returns: GetTenantUsersResponse

Przykład

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

replaceTenantUser Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
replaceTenantUserBodyReplaceTenantUserBodyTak
updateCommentsstringNie

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

replaceTenantUser Przykład
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

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
redirectURLstringNie

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

Przykład sendLoginLink
Copy Copy
1
2api->sendLoginLink(
3 U("my-tenant-123"),
4 U("user@example.com"),
5 boost::make_optional(U("https://myapp.com/auth/callback"))
6).then([](std::shared_ptr<APIEmptyResponse> resp) {
7});
8

updateTenantUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateTenantUserBodyUpdateTenantUserBodyTak
updateCommentsstringNie

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

createTenant Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createTenantBodyCreateTenantBodyYes

Odpowiedź

Zwraca: CreateTenantResponse

Przykład

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

deleteTenant Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
surestringNie

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

getTenant Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: GetTenantResponse

Przykład

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

getTenants Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetTenantsOptions&Tak

Odpowiedź

Zwraca: GetTenantsResponse

Przykład

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

updateTenant Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
updateTenantBodyUpdateTenantBodyYes

Odpowiedź

Zwraca: APIEmptyResponse

Przykład

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

changeTicketState Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
userIdstringTak
idstringTak
changeTicketStateBodyChangeTicketStateBodyTak

Odpowiedź

Zwraca: ChangeTicketStateResponse

Przykład

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

createTicket Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
userIdstringTak
createTicketBodyCreateTicketBodyTak

Odpowiedź

Zwraca: CreateTicketResponse

Przykład

Przykład 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 // Użyj odpowiedzi w razie potrzeby
13 }catch(const std::exception&){
14 // Obsłuż błąd
15 }
16});
17

getTicket Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
userIdstringNie

Odpowiedź

Zwraca: GetTicketResponse

Przykład

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

getTickets Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst GetTicketsOptions&Tak

Odpowiedź

Zwraca: GetTicketsResponse

Przykład

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

getTranslations Internal Link

Parametry

NazwaTypWymaganeOpis
r_namespacestringTak
componentstringTak
optionsconst GetTranslationsOptions&Tak

Odpowiedź

Zwraca: GetTranslationsResponse

Przykład

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

uploadImage Internal Link

Upload and resize an image

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
fileHttpContentTak
optionsconst UploadImageOptions&Tak

Odpowiedź

Zwraca: UploadImageResponse

Przykład

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

getUserBadgeProgressById Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: APIGetUserBadgeProgressResponse

Przykład

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

getUserBadgeProgressByUserId Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
userIdstringYes

Odpowiedź

Zwraca: APIGetUserBadgeProgressResponse

Przykład

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

getUserBadgeProgressList Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetUserBadgeProgressListOptions&Yes

Odpowiedź

Zwraca: APIGetUserBadgeProgressListResponse

Przykład

Przykład 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 // przetwarzaj odznakę
12 }
13 });
14

createUserBadge Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createUserBadgeParamsCreateUserBadgeParamsYes

Odpowiedź

Zwraca: APICreateUserBadgeResponse

Przykład

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

deleteUserBadge Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: APIEmptySuccessResponse

Przykład

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

getUserBadge Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: APIGetUserBadgeResponse

Przykład

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

getUserBadges Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetUserBadgesOptions&Yes

Response

Zwraca: APIGetUserBadgesResponse

Example

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

updateUserBadge Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateUserBadgeParamsUpdateUserBadgeParamsTak

Odpowiedź

Zwraca: APIEmptySuccessResponse

Przykład

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

getUserNotificationCount Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
ssostringNie

Odpowiedź

Zwraca: GetUserNotificationCountResponse

Przykład

getUserNotificationCount Przykład
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 // użyj resp w razie potrzeby
8 }catch(const std::exception&){
9 // obsłuż błąd
10 }
11});
12

getUserNotifications Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
optionsconst GetUserNotificationsOptions&Yes

Odpowiedź

Zwraca: GetMyNotificationsResponse

Przykład

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

resetUserNotificationCount Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
ssostringNo

Odpowiedź

Zwraca: ResetUserNotificationsResponse

Przykład

resetUserNotificationCount Przykład
Copy Copy
1
2auto resetTask = api->resetUserNotificationCount(
3 U("my-tenant-123"),
4 boost::optional<utility::string_t>(U("user@example.com"))
5).then([](std::shared_ptr<ResetUserNotificationsResponse> resp){
6});
7

resetUserNotifications Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
optionsconst ResetUserNotificationsOptions&Tak

Odpowiedź

Zwraca: ResetUserNotificationsResponse

Przykład

resetUserNotifications Przykład
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 // Przetwórz odpowiedź
8 });
9

updateUserNotificationCommentSubscriptionStatus Internal Link

Enable or disable notifications for a specific comment.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
notificationIdstringYes
optedInOrOutstringYes
commentIdstringYes
ssostringNo

Response

Zwraca: UpdateUserNotificationCommentSubscriptionStatusResponse

Przykład

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

updateUserNotificationPageSubscriptionStatus Internal Link

Enable lub wyłącz powiadomienia dla strony. Gdy użytkownicy są subskrybowani do strony, tworzone są powiadomienia dla nowych głównych komentarzy oraz również

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
urlstringTak
pageTitlestringTak
subscribedOrUnsubscribedstringTak
ssostringNie

Response

Zwraca: UpdateUserNotificationPageSubscriptionStatusResponse

Example

updateUserNotificationPageSubscriptionStatus Przykład
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 // przetwórz odpowiedź w razie potrzeby
12 });
13

updateUserNotificationStatus Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
notificationIdstringTak
newStatusstringTak
ssostringNie

Odpowiedź

Zwraca: UpdateUserNotificationStatusResponse

Przykład

Przykład updateUserNotificationStatus
Copy Copy
1
2api->updateUserNotificationStatus(
3 U("my-tenant-123"),
4 U("notif-456"),
5 U("read"),
6 boost::optional<utility::string_t>(U("sso-token-abc"))
7).then([](std::shared_ptr<UpdateUserNotificationStatusResponse> resp) {
8}).wait();
9

getUserPresenceStatuses Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdWSstringYes
userIdsstringYes

Odpowiedź

Zwraca: GetUserPresenceStatusesResponse

Przykład

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

searchUsers Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes
optionsconst SearchUsersOptions&Yes

Odpowiedź

Zwraca: SearchUsersResult

Przykład

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

getUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: GetUserResponse

Przykład

getUser Przykład
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 // przetwarzaj odpowiedź w razie potrzeby
14 } catch (const std::exception&) {
15 // obsłuż błąd
16 }
17 });
18

createVote Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
directionstringYes
optionsconst CreateVoteOptions&Yes

Odpowiedź

Zwraca: VoteResponse

Przykład

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

deleteVote Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
editKeystringNo

Odpowiedź

Zwraca: VoteDeleteResponse

Przykład

Przykład 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 // Przetwórz odpowiedź w razie potrzeby
10 } catch (const std::exception&) {
11 // Obsłuż błąd
12 }
13});
14

getVotes Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak

Odpowiedź

Zwraca: GetVotesResponse

Przykład

Przykład 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 // obsługa błędów
12 }
13});
14

getVotesForUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes
optionsconst GetVotesForUserOptions&Yes

Odpowiedź

Zwraca: GetVotesForUserResponse

Przykład

Przykład 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 // obsłuż odpowiedź, np. iteruj głosy
10 }
11});
12

Potrzebujesz pomocy?

Jeśli napotkasz jakiekolwiek problemy lub masz pytania dotyczące C++ SDK, prosimy:

Współtworzenie

Wkłady są mile widziane! Odwiedź repozytorium GitHub, aby zapoznać się z wytycznymi dotyczącymi wkładu.