FastComments.com

FastComments C++ SDK


Bu, FastComments için resmi C++ SDK'sıdır.

FastComments API'si için resmi C++ SDK

Depo

GitHub'da Görüntüle


Gereksinimler Internal Link


  • C++17 veya daha yeni
  • CMake 3.14 veya daha yeni
  • OpenSSL
  • C++ REST SDK (cpprestsdk)
  • Boost
  • Google Test (test için otomatik olarak indirilecek)

Kurulum Internal Link

Bağımlılıkları Yükleme

sudo apt install libcpprest-dev libboost-all-dev

Kaynağından Derleme

mkdir build
cd build
cmake ..
make

Kurulum

sudo make install

Kütüphane İçeriği

Bu kütüphane, API ile çalışmayı kolaylaştıran oluşturulmuş API istemcisini ve SSO yardımcı araçlarını içerir.

Genel ve Güvenli API'lar

API istemcisi için üç sınıf vardır: DefaultApi, PublicApi ve ModerationApi. DefaultApi, API anahtarınızı gerektiren yöntemleri içerir ve PublicApi, kimlik doğrulama olmadan doğrudan bir tarayıcı/mobil cihaz vb. üzerinden yapılabilen yöntemleri içerir. ModerationApi, canlı ve hızlı denetleme API'lerinin kapsamlı bir paketini sağlar. Her ModerationApi yöntemi bir sso parametresi alır ve SSO veya bir FastComments.com oturum çerezi aracılığıyla kimlik doğrulaması yapabilir.

Notlar Internal Link

Yayın Kimlikleri

Bazı API çağrılarında broadcastId göndermeniz gerektiğini göreceksiniz. Olayları aldığınızda bu ID'yi geri alırsınız, böylece istemci üzerinde değişiklikleri iyimserce uygulamayı planlıyorsanız olayı yok saymanız gerektiğini bilirsiniz (muhtemelen en iyi deneyimi sunduğu için bunu yapmak istersiniz). Buraya bir UUID gönderin. ID, bir tarayıcı oturumunda iki kez oluşmayacak kadar benzersiz olmalıdır.

SSO (Tek Oturum Açma)

SSO örnekleri için aşağıya bakın.

SSO Kullanımı Internal Link


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

Güvenli 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;
}

fastcomments için Dokümantasyon Internal Link

API Uç Noktaları İçin Dokümantasyon

SınıfMetodHTTP isteğiAçıklama
DefaultApiaddDomainConfigPOST /api/v1/domain-configs
DefaultApiaddHashTagPOST /api/v1/hash-tags
DefaultApiaddHashTagsBulkPOST /api/v1/hash-tags/bulk
DefaultApiaddPagePOST /api/v1/pages
DefaultApiaddSSOUserPOST /api/v1/sso-users
DefaultApiaggregatePOST /api/v1/aggregateBelgeleri, grupBy sağlanmışsa gruplayarak ve birden fazla işlem uygulayarak toplar. Farklı işlemler (ör. toplam, benzersizSayım, ortalama, vb.) desteklenir.
DefaultApiaggregateQuestionResultsGET /api/v1/question-results-aggregation
DefaultApiblockUserFromCommentPOST /api/v1/comments/{id}/block
DefaultApibulkAggregateQuestionResultsPOST /api/v1/question-results-aggregation/bulk
DefaultApichangeTicketStatePATCH /api/v1/tickets/{id}/state
DefaultApicombineCommentsWithQuestionResultsGET /api/v1/question-results-aggregation/combine/comments
DefaultApicreateEmailTemplatePOST /api/v1/email-templates
DefaultApicreateFeedPostPOST /api/v1/feed-posts
DefaultApicreateModeratorPOST /api/v1/moderators
DefaultApicreateQuestionConfigPOST /api/v1/question-configs
DefaultApicreateQuestionResultPOST /api/v1/question-results
DefaultApicreateSubscriptionPOST /api/v1/subscriptions
DefaultApicreateTenantPOST /api/v1/tenants
DefaultApicreateTenantPackagePOST /api/v1/tenant-packages
DefaultApicreateTenantUserPOST /api/v1/tenant-users
DefaultApicreateTicketPOST /api/v1/tickets
DefaultApicreateUserBadgePOST /api/v1/user-badges
DefaultApicreateVotePOST /api/v1/votes
DefaultApideleteCommentDELETE /api/v1/comments/{id}
DefaultApideleteDomainConfigDELETE /api/v1/domain-configs/{domain}
DefaultApideleteEmailTemplateDELETE /api/v1/email-templates/{id}
DefaultApideleteEmailTemplateRenderErrorDELETE /api/v1/email-templates/{id}/render-errors/{errorId}
DefaultApideleteHashTagDELETE /api/v1/hash-tags/{tag}
DefaultApideleteModeratorDELETE /api/v1/moderators/{id}
DefaultApideleteNotificationCountDELETE /api/v1/notification-count/{id}
DefaultApideletePageDELETE /api/v1/pages/{id}
DefaultApideletePendingWebhookEventDELETE /api/v1/pending-webhook-events/{id}
DefaultApideleteQuestionConfigDELETE /api/v1/question-configs/{id}
DefaultApideleteQuestionResultDELETE /api/v1/question-results/{id}
DefaultApideleteSSOUserDELETE /api/v1/sso-users/{id}
DefaultApideleteSubscriptionDELETE /api/v1/subscriptions/{id}
DefaultApideleteTenantDELETE /api/v1/tenants/{id}
DefaultApideleteTenantPackageDELETE /api/v1/tenant-packages/{id}
DefaultApideleteTenantUserDELETE /api/v1/tenant-users/{id}
DefaultApideleteUserBadgeDELETE /api/v1/user-badges/{id}
DefaultApideleteVoteDELETE /api/v1/votes/{id}
DefaultApiflagCommentPOST /api/v1/comments/{id}/flag
DefaultApigetAuditLogsGET /api/v1/audit-logs
DefaultApigetCachedNotificationCountGET /api/v1/notification-count/{id}
DefaultApigetCommentGET /api/v1/comments/{id}
DefaultApigetCommentsGET /api/v1/comments
DefaultApigetDomainConfigGET /api/v1/domain-configs/{domain}
DefaultApigetDomainConfigsGET /api/v1/domain-configs
DefaultApigetEmailTemplateGET /api/v1/email-templates/{id}
DefaultApigetEmailTemplateDefinitionsGET /api/v1/email-templates/definitions
DefaultApigetEmailTemplateRenderErrorsGET /api/v1/email-templates/{id}/render-errors
DefaultApigetEmailTemplatesGET /api/v1/email-templates
DefaultApigetFeedPostsGET /api/v1/feed-postsreq tenantId afterId
DefaultApigetHashTagsGET /api/v1/hash-tags
DefaultApigetModeratorGET /api/v1/moderators/{id}
DefaultApigetModeratorsGET /api/v1/moderators
DefaultApigetNotificationCountGET /api/v1/notifications/count
DefaultApigetNotificationsGET /api/v1/notifications
DefaultApigetPageByURLIdGET /api/v1/pages/by-url-id
DefaultApigetPagesGET /api/v1/pages
DefaultApigetPendingWebhookEventCountGET /api/v1/pending-webhook-events/count
DefaultApigetPendingWebhookEventsGET /api/v1/pending-webhook-events
DefaultApigetQuestionConfigGET /api/v1/question-configs/{id}
DefaultApigetQuestionConfigsGET /api/v1/question-configs
DefaultApigetQuestionResultGET /api/v1/question-results/{id}
DefaultApigetQuestionResultsGET /api/v1/question-results
DefaultApigetSSOUserByEmailGET /api/v1/sso-users/by-email/{email}
DefaultApigetSSOUserByIdGET /api/v1/sso-users/by-id/{id}
DefaultApigetSSOUsersGET /api/v1/sso-users
DefaultApigetSubscriptionsGET /api/v1/subscriptions
DefaultApigetTenantGET /api/v1/tenants/{id}
DefaultApigetTenantDailyUsagesGET /api/v1/tenant-daily-usage
DefaultApigetTenantPackageGET /api/v1/tenant-packages/{id}
DefaultApigetTenantPackagesGET /api/v1/tenant-packages
DefaultApigetTenantUserGET /api/v1/tenant-users/{id}
DefaultApigetTenantUsersGET /api/v1/tenant-users
DefaultApigetTenantsGET /api/v1/tenants
DefaultApigetTicketGET /api/v1/tickets/{id}
DefaultApigetTicketsGET /api/v1/tickets
DefaultApigetUserGET /api/v1/users/{id}
DefaultApigetUserBadgeGET /api/v1/user-badges/{id}
DefaultApigetUserBadgeProgressByIdGET /api/v1/user-badge-progress/{id}
DefaultApigetUserBadgeProgressByUserIdGET /api/v1/user-badge-progress/user/{userId}
DefaultApigetUserBadgeProgressListGET /api/v1/user-badge-progress
DefaultApigetUserBadgesGET /api/v1/user-badges
DefaultApigetVotesGET /api/v1/votes
DefaultApigetVotesForUserGET /api/v1/votes/for-user
DefaultApipatchDomainConfigPATCH /api/v1/domain-configs/{domainToUpdate}
DefaultApipatchHashTagPATCH /api/v1/hash-tags/{tag}
DefaultApipatchPagePATCH /api/v1/pages/{id}
DefaultApipatchSSOUserPATCH /api/v1/sso-users/{id}
DefaultApiputDomainConfigPUT /api/v1/domain-configs/{domainToUpdate}
DefaultApiputSSOUserPUT /api/v1/sso-users/{id}
DefaultApirenderEmailTemplatePOST /api/v1/email-templates/render
DefaultApireplaceTenantPackagePUT /api/v1/tenant-packages/{id}
DefaultApireplaceTenantUserPUT /api/v1/tenant-users/{id}
DefaultApisaveCommentPOST /api/v1/comments
DefaultApisaveCommentsBulkPOST /api/v1/comments/bulk
DefaultApisendInvitePOST /api/v1/moderators/{id}/send-invite
DefaultApisendLoginLinkPOST /api/v1/tenant-users/{id}/send-login-link
DefaultApiunBlockUserFromCommentPOST /api/v1/comments/{id}/un-block
DefaultApiunFlagCommentPOST /api/v1/comments/{id}/un-flag
DefaultApiupdateCommentPATCH /api/v1/comments/{id}
DefaultApiupdateEmailTemplatePATCH /api/v1/email-templates/{id}
DefaultApiupdateFeedPostPATCH /api/v1/feed-posts/{id}
DefaultApiupdateModeratorPATCH /api/v1/moderators/{id}
DefaultApiupdateNotificationPATCH /api/v1/notifications/{id}
DefaultApiupdateQuestionConfigPATCH /api/v1/question-configs/{id}
DefaultApiupdateQuestionResultPATCH /api/v1/question-results/{id}
DefaultApiupdateSubscriptionPATCH /api/v1/subscriptions/{id}
DefaultApiupdateTenantPATCH /api/v1/tenants/{id}
DefaultApiupdateTenantPackagePATCH /api/v1/tenant-packages/{id}
DefaultApiupdateTenantUserPATCH /api/v1/tenant-users/{id}
DefaultApiupdateUserBadgePUT /api/v1/user-badges/{id}
ModerationApideleteModerationVoteDELETE /auth/my-account/moderate-comments/mod_api/vote/{commentId}/{voteId}
ModerationApigetApiCommentsGET /auth/my-account/moderate-comments/mod_api/api/comments
ModerationApigetApiExportStatusGET /auth/my-account/moderate-comments/mod_api/api/export/status
ModerationApigetApiIdsGET /auth/my-account/moderate-comments/mod_api/api/ids
ModerationApigetBanUsersFromCommentGET /auth/my-account/moderate-comments/mod_api/ban-users/from-comment/{commentId}
ModerationApigetCommentBanStatusGET /auth/my-account/moderate-comments/mod_api/get-comment-ban-status/{commentId}
ModerationApigetCommentChildrenGET /auth/my-account/moderate-comments/mod_api/comment-children/{commentId}
ModerationApigetCountGET /auth/my-account/moderate-comments/mod_api/count
ModerationApigetCountsGET /auth/my-account/moderate-comments/banned-users/mod_api/counts
ModerationApigetLogsGET /auth/my-account/moderate-comments/mod_api/logs/{commentId}
ModerationApigetManualBadgesGET /auth/my-account/moderate-comments/mod_api/get-manual-badges
ModerationApigetManualBadgesForUserGET /auth/my-account/moderate-comments/mod_api/get-manual-badges-for-user
ModerationApigetModerationCommentGET /auth/my-account/moderate-comments/mod_api/comment/{commentId}
ModerationApigetModerationCommentTextGET /auth/my-account/moderate-comments/mod_api/get-comment-text/{commentId}
ModerationApigetPreBanSummaryGET /auth/my-account/moderate-comments/mod_api/pre-ban-summary/{commentId}
ModerationApigetSearchCommentsSummaryGET /auth/my-account/moderate-comments/mod_api/search/comments/summary
ModerationApigetSearchPagesGET /auth/my-account/moderate-comments/mod_api/search/pages
ModerationApigetSearchSitesGET /auth/my-account/moderate-comments/mod_api/search/sites
ModerationApigetSearchSuggestGET /auth/my-account/moderate-comments/mod_api/search/suggest
ModerationApigetSearchUsersGET /auth/my-account/moderate-comments/mod_api/search/users
ModerationApigetTrustFactorGET /auth/my-account/moderate-comments/mod_api/get-trust-factor
ModerationApigetUserBanPreferenceGET /auth/my-account/moderate-comments/mod_api/user-ban-preference
ModerationApigetUserInternalProfileGET /auth/my-account/moderate-comments/mod_api/get-user-internal-profile
ModerationApipostAdjustCommentVotesPOST /auth/my-account/moderate-comments/mod_api/adjust-comment-votes/{commentId}
ModerationApipostApiExportPOST /auth/my-account/moderate-comments/mod_api/api/export
ModerationApipostBanUserFromCommentPOST /auth/my-account/moderate-comments/mod_api/ban-user/from-comment/{commentId}
ModerationApipostBanUserUndoPOST /auth/my-account/moderate-comments/mod_api/ban-user/undo
ModerationApipostBulkPreBanSummaryPOST /auth/my-account/moderate-comments/mod_api/bulk-pre-ban-summary
ModerationApipostCommentsByIdsPOST /auth/my-account/moderate-comments/mod_api/comments-by-ids
ModerationApipostFlagCommentPOST /auth/my-account/moderate-comments/mod_api/flag-comment/{commentId}
ModerationApipostRemoveCommentPOST /auth/my-account/moderate-comments/mod_api/remove-comment/{commentId}
ModerationApipostRestoreDeletedCommentPOST /auth/my-account/moderate-comments/mod_api/restore-deleted-comment/{commentId}
ModerationApipostSetCommentApprovalStatusPOST /auth/my-account/moderate-comments/mod_api/set-comment-approval-status/{commentId}
ModerationApipostSetCommentReviewStatusPOST /auth/my-account/moderate-comments/mod_api/set-comment-review-status/{commentId}
ModerationApipostSetCommentSpamStatusPOST /auth/my-account/moderate-comments/mod_api/set-comment-spam-status/{commentId}
ModerationApipostSetCommentTextPOST /auth/my-account/moderate-comments/mod_api/set-comment-text/{commentId}
ModerationApipostUnFlagCommentPOST /auth/my-account/moderate-comments/mod_api/un-flag-comment/{commentId}
ModerationApipostVotePOST /auth/my-account/moderate-comments/mod_api/vote/{commentId}
ModerationApiputAwardBadgePUT /auth/my-account/moderate-comments/mod_api/award-badge
ModerationApiputCloseThreadPUT /auth/my-account/moderate-comments/mod_api/close-thread
ModerationApiputRemoveBadgePUT /auth/my-account/moderate-comments/mod_api/remove-badge
ModerationApiputReopenThreadPUT /auth/my-account/moderate-comments/mod_api/reopen-thread
ModerationApisetTrustFactorPUT /auth/my-account/moderate-comments/mod_api/set-trust-factor
PublicApiblockFromCommentPublicPOST /block-from-comment/{commentId}
PublicApicheckedCommentsForBlockedGET /check-blocked-comments
PublicApicreateCommentPublicPOST /comments/{tenantId}
PublicApicreateFeedPostPublicPOST /feed-posts/{tenantId}
PublicApicreateV1PageReactPOST /page-reacts/v1/likes/{tenantId}
PublicApicreateV2PageReactPOST /page-reacts/v2/{tenantId}
PublicApideleteCommentPublicDELETE /comments/{tenantId}/{commentId}
PublicApideleteCommentVoteDELETE /comments/{tenantId}/{commentId}/vote/{voteId}
PublicApideleteFeedPostPublicDELETE /feed-posts/{tenantId}/{postId}
PublicApideleteV1PageReactDELETE /page-reacts/v1/likes/{tenantId}
PublicApideleteV2PageReactDELETE /page-reacts/v2/{tenantId}
PublicApiflagCommentPublicPOST /flag-comment/{commentId}
PublicApigetCommentTextGET /comments/{tenantId}/{commentId}/text
PublicApigetCommentVoteUserNamesGET /comments/{tenantId}/{commentId}/votes
PublicApigetCommentsForUserGET /comments-for-user
PublicApigetCommentsPublicGET /comments/{tenantId}req tenantId urlId
PublicApigetEventLogGET /event-log/{tenantId}req tenantId urlId userIdWS
PublicApigetFeedPostsPublicGET /feed-posts/{tenantId}req tenantId afterId
PublicApigetFeedPostsStatsGET /feed-posts/{tenantId}/stats
PublicApigetGifLargeGET /gifs/get-large/{tenantId}
PublicApigetGifsSearchGET /gifs/search/{tenantId}
PublicApigetGifsTrendingGET /gifs/trending/{tenantId}
PublicApigetGlobalEventLogGET /event-log/global/{tenantId}req tenantId urlId userIdWS
PublicApigetOfflineUsersGET /pages/{tenantId}/users/offlineSayfadaki daha önce yorum yapmış ancak şu anda çevrim dışı olan yorumcular. displayName göre sıralanır. /users/online sorgusunu tüketince "Members" bölümü oluşturmak için bunu kullanın. commenterName üzerine cursor sayfalama: sunucu, {tenantId, urlId, commenterName} kısmı indeksini afterName'den $gt ile ileri yürütür, $skip maliyeti yok.
PublicApigetOnlineUsersGET /pages/{tenantId}/users/onlineŞu anda bir sayfayı izleyen çevrimiçi izleyiciler: websoket oturumu sayfaya şu anda abone olan kişiler. anonCount + totalCount (odadaki tüm aboneler, içinde sıralamadığımız anonim izleyiciler dahil) döner.
PublicApigetPagesPublicGET /pages/{tenantId}Bir tenant için sayfaları listeler. FChat masaüstü istemcisi tarafından oda listesini doldurmak için kullanılır. Her sayfanın çözümlenen özel yapılandırmasında enableFChat true olmalıdır. SSO gerektiren sayfalar, istek yapan kullanıcının grup erişimine göre filtrelenir.
PublicApigetUserNotificationCountGET /user-notifications/get-count
PublicApiupdateUserNotificationCommentSubscriptionStatusPOST /user-notifications/{notificationId}/mark-opted/{optedInOrOut}Belirli bir yorum için bildirimleri etkinleştirir veya devre dışı bırakır.
PublicApiupdateUserNotificationPageSubscriptionStatusPOST /user-notifications/set-subscription-state/{subscribedOrUnsubscribed}Bir sayfa için bildirimleri etkinleştirir veya devre dışı bırakır. Kullanıcılar bir sayfaya abone olduğunda, yeni kök yorumlar için bildirimler oluşturulur ve ayrıca
PublicApiupdateUserNotificationStatusPOST /user-notifications/{notificationId}/mark/{newStatus}
PublicApiuploadImagePOST /upload-image/{tenantId}Bir resmi yükler ve yeniden boyutlandırır.
PublicApivoteCommentPOST /comments/{tenantId}/{commentId}/vote

Modeller İçin Dokümantasyon

Topla Internal Link

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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
aggregationRequestAggregationRequestEvet
optionsconst AggregateOptions&Evet

Yanıt

Döndürür: AggregateResponse

Örnek

aggregate Örneği
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 // yanıtı işle
19 } catch (const std::exception& e) {
20 // hatayı işle
21 }
22 });
23

Denetim Kayıtlarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetAuditLogsOptions&Evet

Yanıt

Döndürür: GetAuditLogsResponse

Örnek

getAuditLogs Örneği
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 // yanıtı kullan
13 } catch (const std::exception& e) {
14 // hatayı işle
15 }
16});
17

Çıkış Yap (Genel) Internal Link

Yanıt

Döndürür: APIEmptyResponse

Örnek

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

Yorumdan Engelle (Genel) Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
publicBlockFromCommentParamsPublicBlockFromCommentParamsEvet
ssostringHayır

Yanıt

Döndürür: BlockSuccess

Örnek

blockFromCommentPublic Örnek
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

Yorumdaki Engeli Kaldır (Genel) Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

Yanıt

Döndürür: UnblockSuccess

Örnek

unBlockCommentPublic Örneği
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

Engellenen Yorumları Kontrol Et Internal Link


Parametreler

İsimTürGerekliAçıklama
tenantIdstringYes
commentIdsstringYes
ssostringNo

Yanıt

Döndürür: CheckBlockedCommentsResponse

Örnek

checkedCommentsForBlocked Örneği
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

Kullanıcıyı Yorumdan Engelle Internal Link

Parametreler

AdTürZorunluAçıklama
tenantIdstringEvet
idstringEvet
blockFromCommentParamsBlockFromCommentParamsEvet
optionsconst BlockUserFromCommentOptions&Evet

Yanıt

Döndürür: BlockSuccess

Örnek

blockUserFromComment Örneği
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

Yorum Oluştur (Genel) Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
broadcastIdstringYes
commentDataCommentDataYes
optionsconst CreateCommentPublicOptions&Yes

Yanıt

Döndürür: SaveCommentsResponseWithPresence

Örnek

createCommentPublic Örneği
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

Yorumu Sil Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
optionsconst DeleteCommentOptions&Evet

Yanıt

Geri döner: DeleteCommentResult

Örnek

deleteComment Örneği
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

Yorumu Sil (Genel) Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
optionsconst DeleteCommentPublicOptions&Yes

Yanıt

Döndürür: PublicAPIDeleteCommentResponse

Örnek

deleteCommentPublic Örneği
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

Yorum Oylamasını Sil Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
voteIdstringYes
urlIdstringYes
broadcastIdstringYes
optionsconst DeleteCommentVoteOptions&Yes

Yanıt

Döndürür: VoteDeleteResponse

Örnek

deleteCommentVote Örneği
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

Yorumu İşaretle Internal Link

Parametreler

AdTipGerekliAçıklama
tenantIdstringEvet
idstringEvet
optionsconst FlagCommentOptions&Evet

Yanıt

Döndürür: FlagCommentResponse

Örnek

flagComment Örneği
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

Yorumu Al Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Yanıt

Döndürür: APIGetCommentResponse

Örnek

getComment Örneği
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

Yorumları Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetCommentsOptions&Evet

Yanıt

Returns: APIGetCommentsResponse

Örnek

getComments Örneği
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 // yanıtı gerektiği gibi kullan
12 } catch (const std::exception& e) {
13 // hatayı ele al
14 }
15});
16

Yorumları Al (Genel) Internal Link

istek tenantId urlId

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
urlIdstringEvet
optionsconst GetCommentsPublicOptions&Evet

Yanıt

Döndürür: GetCommentsResponseWithPresence_PublicComment_

Örnek

getCommentsPublic Örneği
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

Yorum Metnini Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
optionsconst GetCommentTextOptions&Yes

Yanıt

Döndürür: PublicAPIGetCommentTextResponse

Örnek

getCommentText Örneği
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

Yorum Oy Veren Kullanıcı Adlarını Al Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
commentIdstringEvet
dirint32_tEvet
ssostringHayır

Yanıt

Döndürür: GetCommentVoteUserNamesSuccessResponse

Örnek

getCommentVoteUserNames Örneği
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

Yorumu Kilitle Internal Link

Parametreler

AdTipGerekliAçıklama
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Yanıt

Döner: APIEmptyResponse

Örnek

lockComment Örneği
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

Yorumu Sabitle Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
ssostringHayır

Yanıt

Döndürür: ChangeCommentPinStatusResponse

Örnek

pinComment Örneği
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

Yorumu Kaydet Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createCommentParamsCreateCommentParamsEvet
optionsconst SaveCommentOptions&Evet

Yanıt

Döndürür: APISaveCommentResponse

Örnek

saveComment Örneği
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

Yorum Metnini Ayarla Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
commentTextUpdateRequestCommentTextUpdateRequestEvet
optionsconst SetCommentTextOptions&Evet

Yanıt

Döndürür: PublicAPISetCommentTextResponse

Örnek

setCommentText Örneği
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

Kullanıcının Yorum Engelini Kaldır Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
unBlockFromCommentParamsUnBlockFromCommentParamsYes
optionsconst UnBlockUserFromCommentOptions&Yes

Yanıt

Döndürür: UnblockSuccess

Örnek

unBlockUserFromComment Örneği
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

Yorum İşaretini Kaldır Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
optionsconst UnFlagCommentOptions&Yes

Yanıt

Dönüş: FlagCommentResponse

Örnek

unFlagComment Örneği
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 // gerektiğinde durumu işleyin
9 }
10 })
11 .then([](pplx::task<void> previous) {
12 try {
13 previous.get();
14 } catch (const std::exception& e) {
15 // hatayı işleyin
16 }
17 });
18

Yorum Kilidini Aç Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
ssostringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

unLockComment Örneği
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

Yorum Sabitlemeyi Kaldır Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
ssostringHayır

Yanıt

Döndürür: ChangeCommentPinStatusResponse

Örnek

unPinComment Örneği
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

Yorumu Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
updatableCommentParamsUpdatableCommentParamsYes
optionsconst UpdateCommentOptions&Yes

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateComment Örneği
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

Yoruma Oy Ver Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
urlIdstringYes
broadcastIdstringYes
voteBodyParamsVoteBodyParamsYes
optionsconst VoteCommentOptions&Yes

Yanıt

Döndürür: VoteResponse

Örnek

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

Kullanıcı İçin Yorumları Al Internal Link

Parametreler

AdTürGerekliAçıklama
optionsconst GetCommentsForUserOptions&Evet

Yanıt

Returns: GetCommentsForUserResponse

Örnek

getCommentsForUser Örnek
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

Alan Yapılandırması Ekle Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
addDomainConfigParamsAddDomainConfigParamsEvet

Yanıt

Döndürür: AddDomainConfigResponse

Örnek

addDomainConfig Örneği
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

Alan Yapılandırmasını Sil Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
domainstringYes

Yanıt

Döndürür: DeleteDomainConfigResponse

Örnek

deleteDomainConfig Örneği
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

Alan Yapılandırmasını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
domainstringEvet

Yanıt

Döndürür: GetDomainConfigResponse

Örnek

getDomainConfig Örneği
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 // etkin moderasyonu ele al
12 }
13 if (theme) {
14 // tema değerini kullan
15 }
16 })
17 .wait();
18

Alan Yapılandırmalarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes

Yanıt

Döndürür: GetDomainConfigsResponse

Örnek

getDomainConfigs Örneği
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

Alan Yapılandırmasını Kısmen Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
domainToUpdatestringEvet
patchDomainConfigParamsPatchDomainConfigParamsEvet

Yanıt

Returns: PatchDomainConfigResponse

Örnek

patchDomainConfig Örneği
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 // başarı işleme
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception& e) { /* hata işleme */ }
15 });
16

Alan Yapılandırmasını Değiştir Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
domainToUpdatestringEvet
updateDomainConfigParamsUpdateDomainConfigParamsEvet

Yanıt

Döndürür: PutDomainConfigResponse

Örnek

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

E-posta Şablonu Oluştur Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
createEmailTemplateBodyCreateEmailTemplateBodyYes

Yanıt

Döndürür: CreateEmailTemplateResponse

Örnek

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

E-posta Şablonunu Sil Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteEmailTemplate Örneği
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

E-posta Şablonu Render Hatasını Sil Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
errorIdstringEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

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

E-posta Şablonunu Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döner: GetEmailTemplateResponse

Örnek

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

E-posta Şablonu Tanımlarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes

Yanıt

Döndürür: GetEmailTemplateDefinitionsResponse

Örnek

getEmailTemplateDefinitions Örneği
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

E-posta Şablonu Render Hatalarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
skipdoubleHayır

Yanıt

Döndürür: GetEmailTemplateRenderErrorsResponse

Örnek

getEmailTemplateRenderErrors Örneği
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 // Yanıtı gerektiği gibi kullan
11 } catch (const std::exception& ex) {
12 // Hata yakala
13 }
14 });
15

E-posta Şablonlarını Al Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
skipdoubleNo

Response

Döndürür: GetEmailTemplatesResponse

Example

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

E-posta Şablonunu Render Et Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
renderEmailTemplateBodyRenderEmailTemplateBodyEvet
localestringHayır

Yanıt

Döndürür: RenderEmailTemplateResponse

Örnek

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

E-posta Şablonunu Güncelle Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateEmailTemplateBodyUpdateEmailTemplateBodyEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateEmailTemplate Örneği
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 // başarı işleme
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception &) { /* hata işleme */ }
14 });
15

Olay Günlüğünü Al Internal Link

req tenantId urlId userIdWS

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
userIdWSstringYes
startTimeint64_tYes
endTimeint64_tNo

Yanıt

Döndürür: GetEventLogResponse

Örnek

getEventLog Örneği
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

Global Olay Günlüğünü Al Internal Link

req tenantId urlId userIdWS

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
userIdWSstringEvet
startTimeint64_tEvet
endTimeint64_tHayır

Yanıt

Döndürür: GetEventLogResponse

Örnek

getGlobalEventLog Örneği
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

Akış Gönderisi Oluştur Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
optionsconst CreateFeedPostOptions&Yes

Yanıt

Döndürür: CreateFeedPostsResponse

Örnek

createFeedPost Örneği
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

Akış Gönderisi Oluştur (Genel) Internal Link

Parameters

İsimTürGerekliAçıklama
tenantIdstringEvet
createFeedPostParamsCreateFeedPostParamsEvet
optionsconst CreateFeedPostPublicOptions&Evet

Response

Döndürür: CreateFeedPostResponse

Örnek

createFeedPostPublic Örneği
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

Akış Gönderisini Sil (Genel) Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
postIdstringEvet
optionsconst DeleteFeedPostPublicOptions&Evet

Yanıt

Döndürür: DeleteFeedPostPublicResponse

Örnek

deleteFeedPostPublic Örneği
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 // başarı mantığı
8 }
9 });
10

Akış Gönderilerini Al Internal Link

req tenantId afterId

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetFeedPostsOptions&Evet

Yanıt

Döndürür: GetFeedPostsResponse

Örnek

getFeedPosts Örneği
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

Akış Gönderilerini Al (Genel) Internal Link

req tenantId afterId

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
optionsconst GetFeedPostsPublicOptions&Evet

Yanıt

Döndürür: PublicFeedPostsResponse

Örnek

getFeedPostsPublic Örneği
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 // Use processed as needed
11 }catch(const std::exception&){
12 // Handle error
13 }
14});
15

Akış Gönderileri İstatistiklerini Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
postIdsvector<stringEvet
ssostringHayır

Yanıt

Döndürür: FeedPostsStatsResponse

Örnek

getFeedPostsStats Örneği
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

Kullanıcı Tepkilerini Al (Genel) Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
optionsconst GetUserReactsPublicOptions&Yes

Yanıt

Döndürür: UserReactsResponse

Örnek

getUserReactsPublic Örnek
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

Akış Gönderisine Tepki Ver (Genel) Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
postIdstringYes
reactBodyParamsReactBodyParamsYes
optionsconst ReactFeedPostPublicOptions&Yes

Yanıt

Returns: ReactFeedPostResponse

Örnek

reactFeedPostPublic Örneği
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

Akış Gönderisini Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
feedPostFeedPostYes

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateFeedPost Örneği
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

Akış Gönderisini Güncelle (Genel) Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
postIdstringYes
updateFeedPostParamsUpdateFeedPostParamsYes
optionsconst UpdateFeedPostPublicOptions&Yes

Yanıt

Döndürür: CreateFeedPostResponse

Örnek

updateFeedPostPublic Örneği
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

Yorumu İşaretle (Genel) Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
isFlaggedboolYes
ssostringNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

flagCommentPublic Örneği
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

Büyük GIF Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
largeInternalURLSanitizedstringYes

Yanıt

Döndürür: GifGetLargeResponse

Örnek

getGifLarge Örneği
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

GIF Arama Sonuçlarını Al Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
searchstringYes
optionsconst GetGifsSearchOptions&Yes

Yanıt

Döndürür: GetGifsSearchResponse

Örnek

getGifsSearch Örneği
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

Trend GIF'leri Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
optionsconst GetGifsTrendingOptions&Yes

Yanıt

Döndürür: GetGifsTrendingResponse

Örnek

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

Hashtag Ekle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
createHashTagBodyCreateHashTagBodyYes

Yanıt

Döndürür: CreateHashTagResponse

Örnek

addHashTag Örneği
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

Hashtag'leri Toplu Ekle Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
bulkCreateHashTagsBodyBulkCreateHashTagsBodyYes

Yanıt

Döndürür: BulkCreateHashTagsResponse

Örnek

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

Hashtag'i Sil Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
tagstringYes
deleteHashTagRequestBodyDeleteHashTagRequestBodyYes

Yanıt

Döner: APIEmptyResponse

Örnek

deleteHashTag Örneği
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

Hashtag'leri Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
pagedoubleHayır

Yanıt

Döndürür: GetHashTagsResponse

Örnek

getHashTags Örnek
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 // yanıtı kullan
10 } catch (const std::exception&) {
11 // hatayı ele al
12 }
13});
14

Hashtag'i Kısmen Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
tagstringEvet
updateHashTagBodyUpdateHashTagBodyEvet

Yanıt

Döndürür: UpdateHashTagResponse

Örnek

patchHashTag Örneği
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

Moderasyon Oylamasını Sil Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
voteIdstringEvet
optionsconst DeleteModerationVoteOptions&Evet

Yanıt

Döndürür: VoteDeleteResponse

Örnek

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

API Yorumlarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetApiCommentsOptions&Evet

Yanıt

Döndürür: ModerationAPIGetCommentsResponse

Örnek

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

API Dışa Aktarma Durumunu Al Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetApiExportStatusOptions&Evet

Yanıt

Döndürür: ModerationExportStatusResponse

Örnek

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

API Kimliklerini Al Internal Link

Parametreler

AdTürZorunluAçıklama
tenantIdstringEvet
optionsconst GetApiIdsOptions&Evet

Yanıt

Döndürür: ModerationAPIGetCommentIdsResponse

Örnek

getApiIds Örnek
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

Yorumdan Yasaklı Kullanıcıları Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
ssostringNo

Yanıt

Döndürür: GetBannedUsersFromCommentResponse

Örnek

getBanUsersFromComment Örnek
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

Yorum Yasak Durumunu Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
ssostringHayır

Yanıt

Döndürür: GetCommentBanStatusResponse

Örnek

getCommentBanStatus Örneği
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

Yorumun Alt Yorumlarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
ssostringNo

Yanıt

Returns: ModerationAPIChildCommentsResponse

Örnek

getCommentChildren Örneği
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

Sayımı Al Internal Link

Parametreler

AdTürZorunluAçıklama
tenantIdstringYes
optionsconst GetCountOptions&Yes

Yanıt

Döndürür: ModerationAPICountCommentsResponse

Örnek

getCount Örneği
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

Sayım Değerlerini Al Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
ssostringHayır

Yanıt

Döndürür: GetBannedUsersCountResponse

Örnek

getCounts Örneği
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

Günlükleri Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
ssostringHayır

Yanıt

Döndürür: ModerationAPIGetLogsResponse

Örnek

getLogs Örneği
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

Manuel Rozetleri Al Internal Link

Parameters

İsimTürGerekliAçıklama
tenantIdstringEvet
ssostringHayır

Response

Döndürür: GetTenantManualBadgesResponse

Example

getManualBadges Örneği
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 // yanıtı işle, örn., response->badgeList
10 } catch (const std::exception& ex) {
11 // hatayı işle
12 }
13 });
14

Kullanıcı İçin Manuel Rozetleri Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
optionsconst GetManualBadgesForUserOptions&Yes

Yanıt

Döndürür: GetUserManualBadgesResponse

Örnek

getManualBadgesForUser Örneği
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

Moderasyon Yorumu Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
optionsconst GetModerationCommentOptions&Yes

Yanıt

Döndürür: ModerationAPICommentResponse

Örnek

getModerationComment Örneği
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 // Process response as needed
12 } catch (const std::exception& ex) {
13 // Handle error
14 }
15 });
16

Moderasyon Yorum Metnini Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
ssostringHayır

Yanıt

Döndürür: GetCommentTextResponse

Örnek

getModerationCommentText Örneği
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

Ön Yasak Özetini Al Internal Link

Parameters

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
optionsconst GetPreBanSummaryOptions&Evet

Response

Döndürür: PreBanSummary

Example

getPreBanSummary Örneği
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 // özeti işle
12 } catch (const std::exception&) {
13 // hatayı işle
14 }
15 });
16

Arama Yorumları Özetini Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
optionsconst GetSearchCommentsSummaryOptions&Yes

Yanıt

Döndürür: ModerationCommentSearchResponse

Örnek

getSearchCommentsSummary Örneği
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

Arama Sayfalarını Al Internal Link

Parametreler

AdTürZorunluAçıklama
tenantIdstringEvet
optionsconst GetSearchPagesOptions&Evet

Yanıt

Döndürür: ModerationPageSearchResponse

Örnek

getSearchPages Örneği
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 // yanıtı kullan
12 } catch (const std::exception& e) {
13 // hatayı ele al
14 }
15 });
16

Arama Sitelerini Al Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetSearchSitesOptions&Evet

Yanıt

Döndürür: ModerationSiteSearchResponse

Örnek

getSearchSites Örneği
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 // işleme mantığı
14 }
15 } catch (const std::exception&) {
16 // hata işleme
17 }
18 });
19

Arama Önerilerini Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetSearchSuggestOptions&Evet

Yanıt

Döndürür: ModerationSuggestResponse

Örnek

getSearchSuggest Örneği
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

Arama Kullanıcılarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetSearchUsersOptions&Evet

Yanıt

Döndürür: ModerationUserSearchResponse

Örnek

getSearchUsers Örneği
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

Güven Faktörünü Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetTrustFactorOptions&Evet

Yanıt

Döndürür: GetUserTrustFactorResponse

Örnek

getTrustFactor Örneği
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

Kullanıcı Yasak Tercihini Al Internal Link

Parametreler

AdTipGereklidirAçıklama
tenantIdstringEvet
ssostringHayır

Response

Döndürür: APIModerateGetUserBanPreferencesResponse

Örnek

getUserBanPreference Örneği
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

Kullanıcı İç Profilini Al Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetUserInternalProfileOptions&Evet

Yanıt

Döndürür: GetUserInternalProfileResponse

Örnek

getUserInternalProfile Örneği
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

Yorum Oylarını Ayarla Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
adjustCommentVotesParamsAdjustCommentVotesParamsEvet
optionsconst PostAdjustCommentVotesOptions&Evet

Yanıt

Returns: AdjustVotesResponse

Örnek

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

API Dışa Aktarma Yap Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
optionsconst PostApiExportOptions&Yes

Yanıt

Döndürür: ModerationExportResponse

Örnek

postApiExport Örneği
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 // başarılı dışa aktarım yanıtını işle
13 }
14 })
15 .wait();
16

Yoruma Kullanıcıyı Yasakla Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
optionsconst PostBanUserFromCommentOptions&Yes

Yanıt

Döndürür: BanUserFromCommentResult

Örnek

postBanUserFromComment Örneği
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 // sonuç işleme
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception& e) { /* hata işleme */ }
14 });
15

Kullanıcı Yasaklamasını Geri Al Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringEvet
banUserUndoParamsBanUserUndoParamsEvet
ssostringHayır

Response

Döndürür: APIEmptyResponse

Example

postBanUserUndo Örneği
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 // başarıyı işle
10});
11

Toplu Ön Yasak Özeti Gönder Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
bulkPreBanParamsBulkPreBanParamsYes
optionsconst PostBulkPreBanSummaryOptions&Yes

Yanıt

Returns: BulkPreBanSummary

Örnek

postBulkPreBanSummary Örnek
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

ID'lere Göre Yorumları Gönder Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentsByIdsParamsCommentsByIdsParamsYes
ssostringNo

Yanıt

Döndürür: ModerationAPIChildCommentsResponse

Örnek

postCommentsByIds Örneği
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

Yorumu İşaretle (Gönder) Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
optionsconst PostFlagCommentOptions&Yes

Yanıt

Döndürür: APIEmptyResponse

Örnek

postFlagComment Örneği
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

Yorumu Kaldır Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
optionsconst PostRemoveCommentOptions&Yes

Yanıt

Döndürür: PostRemoveCommentApiResponse

Örnek

postRemoveComment Örneği
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 // Yanıtı işle
11 } catch (const std::exception& ex) {
12 // Hata yakala
13 }
14 });
15

Silinmiş Yorumu Geri Yükle Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
optionsconst PostRestoreDeletedCommentOptions&Yes

Yanıt

Döndürür: APIEmptyResponse

Örnek

postRestoreDeletedComment Örneği
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

Yorum Onay Durumunu Ayarla Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
optionsconst PostSetCommentApprovalStatusOptions&Evet

Yanıt

Döndürür: SetCommentApprovedResponse

Örnek

postSetCommentApprovalStatus Örneği
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

Yorum İnceleme Durumunu Ayarla Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
optionsconst PostSetCommentReviewStatusOptions&Evet

Yanıt

Döndürür: APIEmptyResponse

Örnek

postSetCommentReviewStatus Örneği
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

Yorum Spam Durumunu Ayarla Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
optionsconst PostSetCommentSpamStatusOptions&Yes

Yanıt

Döndürür: APIEmptyResponse

Örnek

postSetCommentSpamStatus Örneği
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

Yorum Metnini Ayarla (Gönder) Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
setCommentTextParamsSetCommentTextParamsYes
optionsconst PostSetCommentTextOptions&Yes

Yanıt

Döndürür: SetCommentTextResponse

Örnek

postSetCommentText Örneği
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

Yorum İşaretini Kaldır (Gönder) Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
optionsconst PostUnFlagCommentOptions&Yes

Yanıt

Döndürür: APIEmptyResponse

Örnek

postUnFlagComment Örneği
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 // işlem burada yapılabilir
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch (const std::exception&) {}
12 });
13

Oy Gönder Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
optionsconst PostVoteOptions&Evet

Yanıt

Döndürür: VoteResponse

Örnek

postVote Örneği
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

Rozet Ver Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
badgeIdstringEvet
optionsconst PutAwardBadgeOptions&Evet

Yanıt

Döndürür: AwardUserBadgeResponse

Örnek

putAwardBadge Örneği
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

Konuyu Kapat Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
ssostringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

putCloseThread Örneği
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

Rozeti Kaldır Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
badgeIdstringEvet
optionsconst PutRemoveBadgeOptions&Evet

Yanıt

Döndürür: RemoveUserBadgeResponse

Örnek

putRemoveBadge Örneği
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

Konuyu Yeniden Aç Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
ssostringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

putReopenThread Örneği
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

Güven Faktörünü Ayarla Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst SetTrustFactorOptions&Evet

Yanıt

Döndürür: SetUserTrustFactorResponse

Örnek

setTrustFactor Örneği
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

Moderatör Oluştur Internal Link

Parametreler

İsimTipGerekliAçıklama
tenantIdstringYes
createModeratorBodyCreateModeratorBodyYes

Yanıt

Döndürür: CreateModeratorResponse

Örnek

createModerator Örneği
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

Moderatörü Sil Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringYes
idstringYes
sendEmailstringNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteModerator Örneği
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 // başarılı yanıtı işle
8 });
9

Moderatörü Al Internal Link

Parametreler

AdTipGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: GetModeratorResponse

Örnek

getModerator Örneği
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

Moderatörleri Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
skipdoubleHayır

Yanıt

Returns: GetModeratorsResponse

Örnek

getModerators Örneği
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

Davet Gönder Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
fromNamestringYes

Yanıt

Döndürür: APIEmptyResponse

Örnek

sendInvite Örneği
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 // başarılı daveti işle
9});
10

Moderatörü Güncelle Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateModeratorBodyUpdateModeratorBodyYes

Response

Döndürür: APIEmptyResponse

Example

updateModerator Örneği
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

Bildirim Sayısını Sil Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteNotificationCount Örneği
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

Önbelleğe Alınmış Bildirim Sayısını Al Internal Link

Parametreler

İsimTipGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: GetCachedNotificationCountResponse

Örnek

getCachedNotificationCount Örneği
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 // yanıtı işleyin
10 } catch (const std::exception&) {
11 // hatayı yakalayın
12 }
13 });
14

Bildirim Sayısını Al Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
optionsconst GetNotificationCountOptions&Evet

Yanıt

Döndürür: GetNotificationCountResponse

Örnek

getNotificationCount Örneği
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

Bildirimleri Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
optionsconst GetNotificationsOptions&Yes

Yanıt

Döndürür: GetNotificationsResponse

Örnek

getNotifications Örneği
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

Bildirimi Güncelle Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateNotificationBodyUpdateNotificationBodyYes
userIdstringNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

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

V1 Sayfa Tepkisi Oluştur Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
titlestringHayır

Yanıt

Döndürür: CreateV1PageReact

Örnek

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

V2 Sayfa Tepkisi Oluştur Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
idstringYes
titlestringNo

Response

Returns: CreateV1PageReact

Example

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

V1 Sayfa Tepkisini Sil Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes

Yanıt

Döndürür: CreateV1PageReact

Örnek

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

V2 Sayfa Tepkisini Sil Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
idstringYes

Yanıt

Döndürür: CreateV1PageReact

Örnek

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

V1 Sayfa Beğenilerini Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet

Yanıt

Döndürür: GetV1PageLikes

Örnek

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

V2 Sayfa Tepkilerini Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes

Yanıt

Döndürür: GetV2PageReacts

Örnek

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

V2 Sayfa Tepki Veren Kullanıcıları Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
idstringYes

Yanıt

Döndürür: GetV2PageReactUsersResponse

Örnek

getV2PageReactUsers Örneği
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 // Yanıtı gerektiği gibi kullan
10 }catch(const std::exception&){
11 // Hata işleyin
12 }
13});
14

Sayfa Ekle Internal Link

Parameters

İsimTürGerekliAçıklama
tenantIdstringYes
createAPIPageDataCreateAPIPageDataYes

Response

Döndürür: AddPageAPIResponse

Örnek

addPage Örneği
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 // başarılı eklemeyi işle
11 } else {
12 // hatayı işle
13 }
14 });
15

Sayfayı Sil Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Yanıt

Döndürür: DeletePageAPIResponse

Örnek

deletePage Örneği
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 // yanıtı gerektiği gibi işleyin
10 } catch (const std::exception& ex) {
11 // hatayı ele al
12 }
13 });
14

Çevrimdışı Kullanıcıları Al Internal Link

Sayfada daha önce yorum yapmış ancak şu anda çevrim içi olmayan yorumcular. displayName'e göre sıralanır.
Bu, /users/online endpoint'i tüketildikten sonra bir "Üyeler" bölümü oluşturmak için kullanılır.
commenterName üzerinde imleç sayfalama: sunucu, {tenantId, urlId, commenterName} kısmı üzerinden afterName'den itibaren $gt ile ileri yürür, $skip maliyeti yok.

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
optionsconst GetOfflineUsersOptions&Evet

Yanıt

Döndürür: PageUsersOfflineResponse

Örnek

getOfflineUsers Örneği
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

Çevrimiçi Kullanıcıları Al Internal Link


Şu anda çevrimiçi izleyiciler: Websocket oturumu şu anda sayfaya abone olan kişiler.
anonCount + totalCount değerini döndürür (odadaki tüm aboneler, numaralandırmadığımız anonim izleyiciler dahil).

Parameters

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
optionsconst GetOnlineUsersOptions&Yes

Response

Döndürür: PageUsersOnlineResponse

Example

getOnlineUsers Örneği
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

URL ID ile Sayfayı Al Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes

Yanıt

Döndürür: GetPageByURLIdAPIResponse

Örnek

getPageByURLId Örnek
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

Sayfaları Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet

Yanıt

Returns: GetPagesAPIResponse

Örnek

getPages Örneği
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

Sayfaları Al (Genel) 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

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetPagesPublicOptions&Evet

Yanıt

Döndürür: GetPublicPagesResponse

Örnek

getPagesPublic Örneği
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 // gerekirse yanıtı işle
10 }catch(const std::exception&){
11 // gerekirse hatayı işle
12 }
13});
14

Kullanıcı Bilgilerini Al 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

Döndürür: PageUsersInfoResponse

Example

getUsersInfo Örneği
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 // yanıtı işle
10 }catch(const std::exception&){
11 // hatayı işle
12 }
13});
14

Sayfayı Kısmen Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateAPIPageDataUpdateAPIPageDataEvet

Yanıt

Döndürür: PatchPageAPIResponse

Örnek

patchPage Örneği
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 // başarıyı işle
11 }
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception&) {}
15 });
16

Bekleyen Webhook Etkinliğini Sil Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Returns: APIEmptyResponse

Örnek

deletePendingWebhookEvent Örneği
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

Bekleyen Webhook Etkinliği Sayısını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetPendingWebhookEventCountOptions&Evet

Yanıt

Döndürür: GetPendingWebhookEventCountResponse

Örnek

getPendingWebhookEventCount Örneği
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

Bekleyen Webhook Etkinliklerini Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst GetPendingWebhookEventsOptions&Evet

Yanıt

Döndürür: GetPendingWebhookEventsResponse

Örnek

getPendingWebhookEvents Örneği
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

Soru Yapılandırması Oluştur Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
createQuestionConfigBodyCreateQuestionConfigBodyEvet

Yanıt

Döndürür: CreateQuestionConfigResponse

Örnek

createQuestionConfig Örneği
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

Soru Yapılandırmasını Sil Internal Link

Parametreler

AdTipGereklidirAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteQuestionConfig Örneği
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 // başarılı silme işlemini ele al
8 })
9 .then([](pplx::task<void> t) {
10 try {
11 t.get();
12 } catch (const std::exception&) {
13 // hatayı ele al
14 }
15 });
16

Soru Yapılandırmasını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: GetQuestionConfigResponse

Örnek

getQuestionConfig Örneği
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 // Gerekli olduğu gibi yanıtı kullan
10 } catch (const std::exception&) {
11 // Hata işleyin
12 }
13 });
14

Soru Yapılandırmalarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
skipdoubleNo

Yanıt

Döndürür: GetQuestionConfigsResponse

Örnek

getQuestionConfigs Örneği
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

Soru Yapılandırmasını Güncelle Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateQuestionConfigBodyUpdateQuestionConfigBodyEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateQuestionConfig Örneği
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

Soru Sonucu Oluştur Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
createQuestionResultBodyCreateQuestionResultBodyYes

Yanıt

Döndürür: CreateQuestionResultResponse

Örnek

createQuestionResult Örneği
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

Soru Sonucunu Sil Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteQuestionResult Örneği
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 // başarı işleme
14 }
15 catch ( const std::exception& e )
16 {
17 // hata işleme
18 }
19 } );
20}
21

Soru Sonucunu Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: GetQuestionResultResponse

Örnek

getQuestionResult Örneği
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

Soru Sonuçlarını Al Internal Link

Parametreler

AdTipGerekliAçıklama
tenantIdstringEvet
optionsconst GetQuestionResultsOptions&Evet

Yanıt

Döndürür: GetQuestionResultsResponse

Örnek

getQuestionResults Örneği
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 // yanıtı işle
10 });
11

Soru Sonucunu Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
updateQuestionResultBodyUpdateQuestionResultBodyYes

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateQuestionResult Örneği
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

Soru Sonuçlarını Topla Internal Link

Parametreler

AdTipGerekliAçıklama
tenantIdstringEvet
optionsconst AggregateQuestionResultsOptions&Evet

Yanıt

Döner: AggregateQuestionResultsResponse

Örnek

aggregateQuestionResults Örneği
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

Soru Sonuçlarını Toplu Olarak Topla Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestEvet
forceRecalculateboolHayır

Yanıt

Döndürür: BulkAggregateQuestionResultsResponse

Örnek

bulkAggregateQuestionResults Örneği
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

Yorumları Soru Sonuçlarıyla Birleştir Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
optionsconst CombineCommentsWithQuestionResultsOptions&Evet

Yanıt

Döndürür: CombineQuestionResultsWithCommentsResponse

Örnek

combineCommentsWithQuestionResults Örneği
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 // Gerekli olduğunda combined'ı kullan
12 }catch(const std::exception&){
13 }
14 });
15

SSO Kullanıcısı Ekle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createAPISSOUserDataCreateAPISSOUserDataEvet

Yanıt

Döndürür: AddSSOUserAPIResponse

Örnek

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

SSO Kullanıcısını Sil Internal Link

Parameters

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
optionsconst DeleteSSOUserOptions&Evet

Yanıt

Döndürür: DeleteSSOUserAPIResponse

Örnek

deleteSSOUser Örneği
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

E-posta ile SSO Kullanıcısını Al Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
emailstringYes

Yanıt

Döndürür: GetSSOUserByEmailAPIResponse

Örnek

getSSOUserByEmail Örneği
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

ID ile SSO Kullanıcısını Al Internal Link

Parametreler

AdTürGereki riAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: GetSSOUserByIdAPIResponse

Örnek

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

SSO Kullanıcılarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
skipint32_tHayır

Yanıt

Döndürür: GetSSOUsersResponse

Örnek

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

SSO Kullanıcısını Kısmen Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateAPISSOUserDataUpdateAPISSOUserDataEvet
updateCommentsboolHayır

Yanıt

Döndürür: PatchSSOUserAPIResponse

Örnek

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

SSO Kullanıcısını Değiştir Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateAPISSOUserDataUpdateAPISSOUserDataYes
updateCommentsboolNo

Yanıt

Döndürür: PutSSOUserAPIResponse

Örnek

putSSOUser Örnek
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

Abonelik Oluştur Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataEvet

Yanıt

Döndürür: CreateSubscriptionAPIResponse

Örnek

createSubscription Örneği
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

Aboneliği Sil Internal Link

Parameters

AdTürGereklidirAçıklama
tenantIdstringEvet
idstringEvet
userIdstringHayır

Response

Döndürür: DeleteSubscriptionAPIResponse

Example

deleteSubscription Örneği
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

Abonelikleri Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringHayır

Yanıt

Döndürür: GetSubscriptionsAPIResponse

Örnek

getSubscriptions Örneği
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 // yanıtı işle
10 } catch (const std::exception& e) {
11 // hatayı işle
12 }
13 }
14);
15

Aboneliği Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataEvet
userIdstringHayır

Yanıt

Döndürür: UpdateSubscriptionAPIResponse

Örnek

updateSubscription Örneği
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

Kiracı Günlük Kullanımlarını Al Internal Link

Parameters

AdTipGerekliAçıklama
tenantIdstringEvet
optionsconst GetTenantDailyUsagesOptions&Evet

Response

Döndürür: GetTenantDailyUsagesResponse

Örnek

getTenantDailyUsages Örneği
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

Kiracı Paketi Oluştur Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createTenantPackageBodyCreateTenantPackageBodyEvet

Yanıt

Döndürür: CreateTenantPackageResponse

Örnek

createTenantPackage Örneği
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

Kiracı Paketini Sil Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteTenantPackage Örneği
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

Kiracı Paketini Al Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: GetTenantPackageResponse

Örnek

getTenantPackage Örneği
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

Kiracı Paketlerini Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
skipdoubleNo

Yanıt

Döndürür: GetTenantPackagesResponse

Örnek

getTenantPackages Örneği
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

Kiracı Paketini Değiştir Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
replaceTenantPackageBodyReplaceTenantPackageBodyYes

Yanıt

Döndürür: APIEmptyResponse

Örnek

replaceTenantPackage Örneği
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

Kiracı Paketini Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateTenantPackageBodyUpdateTenantPackageBodyEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateTenantPackage Örneği
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 // başarı işleme
14 } catch (const std::exception& ex) {
15 // hata işleme
16 }
17 });
18

Kiracı Kullanıcısı Oluştur Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
createTenantUserBodyCreateTenantUserBodyYes

Yanıt

Döndürür: CreateTenantUserResponse

Örnek

createTenantUser Örneği
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

Kiracı Kullanıcısını Sil Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
optionsconst DeleteTenantUserOptions&Evet

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteTenantUser Örneği
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

Kiracı Kullanıcısını Al Internal Link

Parameters

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Response

Döndürür: GetTenantUserResponse

Örnek

getTenantUser Örneği
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 // Gerekli olduğu gibi yanıtı kullanın
9 } catch (const std::exception&) {
10 // Hata işleme
11 }
12 });
13

Kiracı Kullanıcılarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
skipdoubleHayır

Yanıt

Döndürür: GetTenantUsersResponse

Örnek

getTenantUsers Örneği
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

Kiracı Kullanıcısını Değiştir Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
replaceTenantUserBodyReplaceTenantUserBodyYes
updateCommentsstringNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

replaceTenantUser Örneği
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
redirectURLstringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

sendLoginLink Örnek
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

Kiracı Kullanıcısını Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateTenantUserBodyUpdateTenantUserBodyEvet
updateCommentsstringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateTenantUser Örneği
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

Kiracı Oluştur Internal Link

Parametreler

AdTipGerekliAçıklama
tenantIdstringYes
createTenantBodyCreateTenantBodyYes

Yanıt

Dönüş: CreateTenantResponse

Örnek

createTenant Örneği
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

Kiracıyı Sil Internal Link

Parametreler

AdTürZorunluAçıklama
tenantIdstringEvet
idstringEvet
surestringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteTenant Örneği
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

Kiracıyı Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döner: GetTenantResponse

Örnek

getTenant Örneği
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

Kiracıları Al Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetTenantsOptions&Yes

Yanıt

Döndürür: GetTenantsResponse

Örnek

getTenants Örneği
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

Kiracıyı Güncelle Internal Link

Parametreler

AdTipGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateTenantBodyUpdateTenantBodyEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateTenant Örneği
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

Bilet Durumunu Değiştir Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
userIdstringYes
idstringYes
changeTicketStateBodyChangeTicketStateBodyYes

Yanıt

Döndürür: ChangeTicketStateResponse

Örnek

changeTicketState Örneği
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

Bilet Oluştur Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
userIdstringYes
createTicketBodyCreateTicketBodyYes

Yanıt

Döndürür: CreateTicketResponse

Örnek

createTicket Örneği
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 // Use response as needed
13 }catch(const std::exception&){
14 // Handle error
15 }
16});
17

Bileti Al Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
userIdstringHayır

Yanıt

Döndürür: GetTicketResponse

Örnek

getTicket Örneği
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

Biletleri Al Internal Link

Parametreler

AdTipGerekliAçıklama
tenantIdstringEvet
optionsconst GetTicketsOptions&Evet

Yanıt

Döndürür: GetTicketsResponse

Örnek

getTickets Örneği
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

Çevirileri Al Internal Link

Parametreler

AdTürGerekliAçıklama
r_namespacestringEvet
componentstringEvet
optionsconst GetTranslationsOptions&Evet

Yanıt

Döndürür: GetTranslationsResponse

Örnek

getTranslations Örneği
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

Resim Yükle Internal Link

Bir resmi yükle ve yeniden boyutlandır

Parametreler

İsimTürGerekliAçıklama
tenantIdstringYes
fileHttpContentYes
optionsconst UploadImageOptions&Yes

Yanıt

Döndürür: UploadImageResponse

Örnek

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

ID ile Kullanıcı Rozet İlerleme Durumunu Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: APIGetUserBadgeProgressResponse

Örnek

getUserBadgeProgressById Örneği
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

Kullanıcı ID ile Rozet İlerlemesini Al Internal Link

Parametreler

AdTipGerekliAçıklama
tenantIdstringEvet
userIdstringEvet

Yanıt

Döndürür: APIGetUserBadgeProgressResponse

Örnek

getUserBadgeProgressByUserId Örneği
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

Kullanıcı Rozet İlerleme Listesini Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
optionsconst GetUserBadgeProgressListOptions&Yes

Yanıt

Döndürür: APIGetUserBadgeProgressListResponse

Örnek

getUserBadgeProgressList Örneği
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 // badge'ı işleyin
12 }
13 });
14

Kullanıcı Rozeti Oluştur Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createUserBadgeParamsCreateUserBadgeParamsEvet

Yanıt

Döndürür: APICreateUserBadgeResponse

Örnek

createUserBadge Örneği
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

Kullanıcı Rozetini Sil Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIEmptySuccessResponse

Örnek

deleteUserBadge Örneği
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

Kullanıcı Rozetini Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döner: APIGetUserBadgeResponse

Örnek

getUserBadge Örneği
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

Kullanıcı Rozetlerini Al Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetUserBadgesOptions&Yes

Yanıt

Döndürür: APIGetUserBadgesResponse

Örnek

getUserBadges Örneği
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

Kullanıcı Rozetini Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
updateUserBadgeParamsUpdateUserBadgeParamsYes

Yanıt

Döndürür: APIEmptySuccessResponse

Örnek

updateUserBadge Örneği
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

Kullanıcı Bildirim Sayısını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
ssostringHayır

Yanıt

Döndürür: GetUserNotificationCountResponse

Örnek

getUserNotificationCount Örneği
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<utility::string_t> sso = utility::conversions::to_string_t("user@example.com");
4api->getUserNotificationCount(tenantId, sso).then([](pplx::task<std::shared_ptr<GetUserNotificationCountResponse>> t){
5 try{
6 auto resp = t.get();
7 // resp'yi gerektiği gibi kullan
8 }catch(const std::exception&){
9 // hatayı ele al
10 }
11});
12

Kullanıcı Bildirimlerini Al Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetUserNotificationsOptions&Yes

Response

Returns: GetMyNotificationsResponse

Example

getUserNotifications Örneği
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

Kullanıcı Bildirim Sayısını Sıfırla Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
ssostringHayır

Yanıt

Döndürür: ResetUserNotificationsResponse

Örnek

resetUserNotificationCount Örneği
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

Kullanıcı Bildirimlerini Sıfırla Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
optionsconst ResetUserNotificationsOptions&Yes

Yanıt

Döndürür: ResetUserNotificationsResponse

Örnek

resetUserNotifications Örneği
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 // Yanıtı işle
8 });
9

Kullanıcı Bildirim Yorum Abonelik Durumunu Güncelle Internal Link

Enable or disable notifications for a specific comment.

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
notificationIdstringEvet
optedInOrOutstringEvet
commentIdstringEvet
ssostringHayır

Yanıt

Döndürür: UpdateUserNotificationCommentSubscriptionStatusResponse

Örnek

updateUserNotificationCommentSubscriptionStatus Örneği
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

Kullanıcı Sayfa Abonelik Durumunu Güncelle Internal Link

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

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
urlstringYes
pageTitlestringYes
subscribedOrUnsubscribedstringYes
ssostringNo

Response

Returns: UpdateUserNotificationPageSubscriptionStatusResponse

Example

updateUserNotificationPageSubscriptionStatus Örneği
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 // gerektiğinde resp'i işleyin
12 });
13

Kullanıcı Bildirim Durumunu Güncelle Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
notificationIdstringEvet
newStatusstringEvet
ssostringHayır

Yanıt

Döndürür: UpdateUserNotificationStatusResponse

Örnek

updateUserNotificationStatus Örneği
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

Kullanıcı Varlık Durumlarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdWSstringYes
userIdsstringYes

Yanıt

Döndürür: GetUserPresenceStatusesResponse

Örnek

getUserPresenceStatuses Örneği
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

Kullanıcı Ara Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
optionsconst SearchUsersOptions&Evet

Yanıt

Döndürür: SearchUsersResult

Örnek

searchUsers Örneği
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

Kullanıcıyı Al Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Response

Döndürür: GetUserResponse

Örnek

getUser Örneği
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 // gerektiği gibi yanıtı işleyin
14 } catch (const std::exception&) {
15 // hatayı ele alın
16 }
17 });
18

Oy Oluştur Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
directionstringEvet
optionsconst CreateVoteOptions&Evet

Yanıt

Döndürür: VoteResponse

Örnek

createVote Örneği
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

Oyu Sil Internal Link

Parametreler

İsimTipGerekliAçıklama
tenantIdstringYes
idstringYes
editKeystringNo

Yanıt

Döndürür: VoteDeleteResponse

Örnek

deleteVote Örneği
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 // Gerekli olduğu gibi yanıtı işleyin
10 } catch (const std::exception&) {
11 // Hata işleyin
12 }
13});
14

Oyları Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet

Yanıt

Döndürür: GetVotesResponse

Örnek

getVotes Örneği
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 // hata işleme
12 }
13});
14

Kullanıcı İçin Oyları Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
optionsconst GetVotesForUserOptions&Yes

Yanıt

Döndürür: GetVotesForUserResponse

Örnek

getVotesForUser Örneği
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 // yanıtı işle, ör. oyları döngüyle dolaş
10 }
11});
12

Yardıma mı ihtiyacınız var?

C++ SDK ile ilgili herhangi bir sorunla karşılaşırsanız veya sorularınız olursa, lütfen:

Katkıda Bulunma

Katkılar memnuniyetle karşılanır! Katkı yönergeleri için lütfen GitHub deposunu ziyaret edin.