diff --git a/.gitignore b/.gitignore index 17302c9..7e47a61 100644 --- a/.gitignore +++ b/.gitignore @@ -184,3 +184,5 @@ $RECYCLE.BIN/ # Visual Studio 2014 CTP **/*.sln.ide + +.idea diff --git a/README.md b/README.md index 6801575..dc5c36f 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` This C# SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- SDK version: 5.0.2 +- SDK version: 6.0.0 - Build package: org.openapitools.codegen.languages.CSharpNetCoreClientCodegen @@ -234,7 +234,9 @@ Class | Method | HTTP request | Description *IntegrationApi* | [**GetCustomerSession**](docs/IntegrationApi.md#getcustomersession) | **GET** /v2/customer_sessions/{customerSessionId} | Get customer session *IntegrationApi* | [**GetLoyaltyBalances**](docs/IntegrationApi.md#getloyaltybalances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/balances | Get customer's loyalty points *IntegrationApi* | [**GetLoyaltyCardBalances**](docs/IntegrationApi.md#getloyaltycardbalances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/balances | Get card's point balances +*IntegrationApi* | [**GetLoyaltyCardPoints**](docs/IntegrationApi.md#getloyaltycardpoints) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/points | List card's unused loyalty points *IntegrationApi* | [**GetLoyaltyCardTransactions**](docs/IntegrationApi.md#getloyaltycardtransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transactions | List card's transactions +*IntegrationApi* | [**GetLoyaltyProgramProfilePoints**](docs/IntegrationApi.md#getloyaltyprogramprofilepoints) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/points | List customer's unused loyalty points *IntegrationApi* | [**GetLoyaltyProgramProfileTransactions**](docs/IntegrationApi.md#getloyaltyprogramprofiletransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/transactions | List customer's loyalty transactions *IntegrationApi* | [**GetReservedCustomers**](docs/IntegrationApi.md#getreservedcustomers) | **GET** /v1/coupon_reservations/customerprofiles/{couponValue} | List customers that have this coupon reserved *IntegrationApi* | [**LinkLoyaltyCardToProfile**](docs/IntegrationApi.md#linkloyaltycardtoprofile) | **POST** /v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/link_profile | Link customer profile to card @@ -248,34 +250,45 @@ Class | Method | HTTP request | Description *IntegrationApi* | [**UpdateCustomerProfileV2**](docs/IntegrationApi.md#updatecustomerprofilev2) | **PUT** /v2/customer_profiles/{integrationId} | Update customer profile *IntegrationApi* | [**UpdateCustomerProfilesV2**](docs/IntegrationApi.md#updatecustomerprofilesv2) | **PUT** /v2/customer_profiles | Update multiple customer profiles *IntegrationApi* | [**UpdateCustomerSessionV2**](docs/IntegrationApi.md#updatecustomersessionv2) | **PUT** /v2/customer_sessions/{customerSessionId} | Update customer session +*ManagementApi* | [**ActivateUserByEmail**](docs/ManagementApi.md#activateuserbyemail) | **POST** /v1/users/activate | Activate user by email address *ManagementApi* | [**AddLoyaltyCardPoints**](docs/ManagementApi.md#addloyaltycardpoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/add_points | Add points to card *ManagementApi* | [**AddLoyaltyPoints**](docs/ManagementApi.md#addloyaltypoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/add_points | Add points to customer profile *ManagementApi* | [**CopyCampaignToApplications**](docs/ManagementApi.md#copycampaigntoapplications) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/copy | Copy the campaign into the specified Application *ManagementApi* | [**CreateAccountCollection**](docs/ManagementApi.md#createaccountcollection) | **POST** /v1/collections | Create account-level collection +*ManagementApi* | [**CreateAchievement**](docs/ManagementApi.md#createachievement) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements | Create achievement *ManagementApi* | [**CreateAdditionalCost**](docs/ManagementApi.md#createadditionalcost) | **POST** /v1/additional_costs | Create additional cost *ManagementApi* | [**CreateAttribute**](docs/ManagementApi.md#createattribute) | **POST** /v1/attributes | Create custom attribute *ManagementApi* | [**CreateCampaignFromTemplate**](docs/ManagementApi.md#createcampaignfromtemplate) | **POST** /v1/applications/{applicationId}/create_campaign_from_template | Create campaign from campaign template -*ManagementApi* | [**CreateCollection**](docs/ManagementApi.md#createcollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | Create collection +*ManagementApi* | [**CreateCollection**](docs/ManagementApi.md#createcollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | Create campaign-level collection *ManagementApi* | [**CreateCoupons**](docs/ManagementApi.md#createcoupons) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Create coupons *ManagementApi* | [**CreateCouponsAsync**](docs/ManagementApi.md#createcouponsasync) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons_async | Create coupons asynchronously *ManagementApi* | [**CreateCouponsForMultipleRecipients**](docs/ManagementApi.md#createcouponsformultiplerecipients) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons_with_recipients | Create coupons for multiple recipients -*ManagementApi* | [**CreateNotificationWebhook**](docs/ManagementApi.md#createnotificationwebhook) | **POST** /v1/applications/{applicationId}/notification_webhooks | Create notification about campaign-related changes +*ManagementApi* | [**CreateInviteEmail**](docs/ManagementApi.md#createinviteemail) | **POST** /v1/invite_emails | Resend invitation email +*ManagementApi* | [**CreateInviteV2**](docs/ManagementApi.md#createinvitev2) | **POST** /v2/invites | Invite user *ManagementApi* | [**CreatePasswordRecoveryEmail**](docs/ManagementApi.md#createpasswordrecoveryemail) | **POST** /v1/password_recovery_emails | Request a password reset *ManagementApi* | [**CreateSession**](docs/ManagementApi.md#createsession) | **POST** /v1/sessions | Create session +*ManagementApi* | [**CreateStore**](docs/ManagementApi.md#createstore) | **POST** /v1/applications/{applicationId}/stores | Create store +*ManagementApi* | [**DeactivateUserByEmail**](docs/ManagementApi.md#deactivateuserbyemail) | **POST** /v1/users/deactivate | Deactivate user by email address *ManagementApi* | [**DeductLoyaltyCardPoints**](docs/ManagementApi.md#deductloyaltycardpoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/deduct_points | Deduct points from card *ManagementApi* | [**DeleteAccountCollection**](docs/ManagementApi.md#deleteaccountcollection) | **DELETE** /v1/collections/{collectionId} | Delete account-level collection +*ManagementApi* | [**DeleteAchievement**](docs/ManagementApi.md#deleteachievement) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId} | Delete achievement *ManagementApi* | [**DeleteCampaign**](docs/ManagementApi.md#deletecampaign) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId} | Delete campaign -*ManagementApi* | [**DeleteCollection**](docs/ManagementApi.md#deletecollection) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Delete collection +*ManagementApi* | [**DeleteCollection**](docs/ManagementApi.md#deletecollection) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Delete campaign-level collection *ManagementApi* | [**DeleteCoupon**](docs/ManagementApi.md#deletecoupon) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId} | Delete coupon *ManagementApi* | [**DeleteCoupons**](docs/ManagementApi.md#deletecoupons) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Delete coupons *ManagementApi* | [**DeleteLoyaltyCard**](docs/ManagementApi.md#deleteloyaltycard) | **DELETE** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId} | Delete loyalty card -*ManagementApi* | [**DeleteNotificationWebhook**](docs/ManagementApi.md#deletenotificationwebhook) | **DELETE** /v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId} | Delete notification about campaign-related changes *ManagementApi* | [**DeleteReferral**](docs/ManagementApi.md#deletereferral) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId} | Delete referral +*ManagementApi* | [**DeleteStore**](docs/ManagementApi.md#deletestore) | **DELETE** /v1/applications/{applicationId}/stores/{storeId} | Delete store +*ManagementApi* | [**DeleteUser**](docs/ManagementApi.md#deleteuser) | **DELETE** /v1/users/{userId} | Delete user +*ManagementApi* | [**DeleteUserByEmail**](docs/ManagementApi.md#deleteuserbyemail) | **POST** /v1/users/delete | Delete user by email address *ManagementApi* | [**DestroySession**](docs/ManagementApi.md#destroysession) | **DELETE** /v1/sessions | Destroy session *ManagementApi* | [**ExportAccountCollectionItems**](docs/ManagementApi.md#exportaccountcollectionitems) | **GET** /v1/collections/{collectionId}/export | Export account-level collection's items -*ManagementApi* | [**ExportCollectionItems**](docs/ManagementApi.md#exportcollectionitems) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export | Export a collection's items +*ManagementApi* | [**ExportAchievements**](docs/ManagementApi.md#exportachievements) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}/export | Export achievement customer data +*ManagementApi* | [**ExportAudiencesMemberships**](docs/ManagementApi.md#exportaudiencesmemberships) | **GET** /v1/audiences/{audienceId}/memberships/export | Export audience members +*ManagementApi* | [**ExportCollectionItems**](docs/ManagementApi.md#exportcollectionitems) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export | Export campaign-level collection's items *ManagementApi* | [**ExportCoupons**](docs/ManagementApi.md#exportcoupons) | **GET** /v1/applications/{applicationId}/export_coupons | Export coupons *ManagementApi* | [**ExportCustomerSessions**](docs/ManagementApi.md#exportcustomersessions) | **GET** /v1/applications/{applicationId}/export_customer_sessions | Export customer sessions +*ManagementApi* | [**ExportCustomersTiers**](docs/ManagementApi.md#exportcustomerstiers) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/export_customers_tiers | Export customers' tier data *ManagementApi* | [**ExportEffects**](docs/ManagementApi.md#exporteffects) | **GET** /v1/applications/{applicationId}/export_effects | Export triggered effects *ManagementApi* | [**ExportLoyaltyBalance**](docs/ManagementApi.md#exportloyaltybalance) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/export_customer_balance | Export customer loyalty balance to CSV *ManagementApi* | [**ExportLoyaltyBalances**](docs/ManagementApi.md#exportloyaltybalances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/export_customer_balances | Export customer loyalty balances @@ -288,10 +301,10 @@ Class | Method | HTTP request | Description *ManagementApi* | [**GetAccount**](docs/ManagementApi.md#getaccount) | **GET** /v1/accounts/{accountId} | Get account details *ManagementApi* | [**GetAccountAnalytics**](docs/ManagementApi.md#getaccountanalytics) | **GET** /v1/accounts/{accountId}/analytics | Get account analytics *ManagementApi* | [**GetAccountCollection**](docs/ManagementApi.md#getaccountcollection) | **GET** /v1/collections/{collectionId} | Get account-level collection +*ManagementApi* | [**GetAchievement**](docs/ManagementApi.md#getachievement) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId} | Get achievement *ManagementApi* | [**GetAdditionalCost**](docs/ManagementApi.md#getadditionalcost) | **GET** /v1/additional_costs/{additionalCostId} | Get additional cost *ManagementApi* | [**GetAdditionalCosts**](docs/ManagementApi.md#getadditionalcosts) | **GET** /v1/additional_costs | List additional costs *ManagementApi* | [**GetAllAccessLogs**](docs/ManagementApi.md#getallaccesslogs) | **GET** /v1/access_logs | List access logs -*ManagementApi* | [**GetAllRoles**](docs/ManagementApi.md#getallroles) | **GET** /v1/roles | List roles *ManagementApi* | [**GetApplication**](docs/ManagementApi.md#getapplication) | **GET** /v1/applications/{applicationId} | Get Application *ManagementApi* | [**GetApplicationApiHealth**](docs/ManagementApi.md#getapplicationapihealth) | **GET** /v1/applications/{applicationId}/health_report | Get Application health *ManagementApi* | [**GetApplicationCustomer**](docs/ManagementApi.md#getapplicationcustomer) | **GET** /v1/applications/{applicationId}/customers/{customerId} | Get application's customer @@ -305,20 +318,25 @@ Class | Method | HTTP request | Description *ManagementApi* | [**GetApplications**](docs/ManagementApi.md#getapplications) | **GET** /v1/applications | List Applications *ManagementApi* | [**GetAttribute**](docs/ManagementApi.md#getattribute) | **GET** /v1/attributes/{attributeId} | Get custom attribute *ManagementApi* | [**GetAttributes**](docs/ManagementApi.md#getattributes) | **GET** /v1/attributes | List custom attributes +*ManagementApi* | [**GetAudienceMemberships**](docs/ManagementApi.md#getaudiencememberships) | **GET** /v1/audiences/{audienceId}/memberships | List audience members *ManagementApi* | [**GetAudiences**](docs/ManagementApi.md#getaudiences) | **GET** /v1/audiences | List audiences +*ManagementApi* | [**GetAudiencesAnalytics**](docs/ManagementApi.md#getaudiencesanalytics) | **GET** /v1/audiences/analytics | List audience analytics *ManagementApi* | [**GetCampaign**](docs/ManagementApi.md#getcampaign) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId} | Get campaign *ManagementApi* | [**GetCampaignAnalytics**](docs/ManagementApi.md#getcampaignanalytics) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/analytics | Get analytics of campaigns *ManagementApi* | [**GetCampaignByAttributes**](docs/ManagementApi.md#getcampaignbyattributes) | **POST** /v1/applications/{applicationId}/campaigns_search | List campaigns that match the given attributes +*ManagementApi* | [**GetCampaignGroup**](docs/ManagementApi.md#getcampaigngroup) | **GET** /v1/campaign_groups/{campaignGroupId} | Get campaign access group +*ManagementApi* | [**GetCampaignGroups**](docs/ManagementApi.md#getcampaigngroups) | **GET** /v1/campaign_groups | List campaign access groups *ManagementApi* | [**GetCampaignTemplates**](docs/ManagementApi.md#getcampaigntemplates) | **GET** /v1/campaign_templates | List campaign templates *ManagementApi* | [**GetCampaigns**](docs/ManagementApi.md#getcampaigns) | **GET** /v1/applications/{applicationId}/campaigns | List campaigns *ManagementApi* | [**GetChanges**](docs/ManagementApi.md#getchanges) | **GET** /v1/changes | Get audit logs for an account -*ManagementApi* | [**GetCollection**](docs/ManagementApi.md#getcollection) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Get collection +*ManagementApi* | [**GetCollection**](docs/ManagementApi.md#getcollection) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Get campaign-level collection *ManagementApi* | [**GetCollectionItems**](docs/ManagementApi.md#getcollectionitems) | **GET** /v1/collections/{collectionId}/items | Get collection items *ManagementApi* | [**GetCouponsWithoutTotalCount**](docs/ManagementApi.md#getcouponswithouttotalcount) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons/no_total | List coupons *ManagementApi* | [**GetCustomerActivityReport**](docs/ManagementApi.md#getcustomeractivityreport) | **GET** /v1/applications/{applicationId}/customer_activity_reports/{customerId} | Get customer's activity report *ManagementApi* | [**GetCustomerActivityReportsWithoutTotalCount**](docs/ManagementApi.md#getcustomeractivityreportswithouttotalcount) | **GET** /v1/applications/{applicationId}/customer_activity_reports/no_total | Get Activity Reports for Application Customers *ManagementApi* | [**GetCustomerAnalytics**](docs/ManagementApi.md#getcustomeranalytics) | **GET** /v1/applications/{applicationId}/customers/{customerId}/analytics | Get customer's analytics report *ManagementApi* | [**GetCustomerProfile**](docs/ManagementApi.md#getcustomerprofile) | **GET** /v1/customers/{customerId} | Get customer profile +*ManagementApi* | [**GetCustomerProfileAchievementProgress**](docs/ManagementApi.md#getcustomerprofileachievementprogress) | **GET** /v1/applications/{applicationId}/achievement_progress/{integrationId} | List customer achievements *ManagementApi* | [**GetCustomerProfiles**](docs/ManagementApi.md#getcustomerprofiles) | **GET** /v1/customers/no_total | List customer profiles *ManagementApi* | [**GetCustomersByAttributes**](docs/ManagementApi.md#getcustomersbyattributes) | **POST** /v1/customer_search/no_total | List customer profiles matching the given attributes *ManagementApi* | [**GetEventTypes**](docs/ManagementApi.md#geteventtypes) | **GET** /v1/event_types | List event types @@ -331,33 +349,38 @@ Class | Method | HTTP request | Description *ManagementApi* | [**GetLoyaltyProgramTransactions**](docs/ManagementApi.md#getloyaltyprogramtransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/transactions | List loyalty program transactions *ManagementApi* | [**GetLoyaltyPrograms**](docs/ManagementApi.md#getloyaltyprograms) | **GET** /v1/loyalty_programs | List loyalty programs *ManagementApi* | [**GetLoyaltyStatistics**](docs/ManagementApi.md#getloyaltystatistics) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/statistics | Get loyalty program statistics -*ManagementApi* | [**GetNotificationWebhook**](docs/ManagementApi.md#getnotificationwebhook) | **GET** /v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId} | Get notification about campaign-related changes -*ManagementApi* | [**GetNotificationWebhooks**](docs/ManagementApi.md#getnotificationwebhooks) | **GET** /v1/applications/{applicationId}/notification_webhooks | List notifications about campaign-related changes *ManagementApi* | [**GetReferralsWithoutTotalCount**](docs/ManagementApi.md#getreferralswithouttotalcount) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/referrals/no_total | List referrals -*ManagementApi* | [**GetRole**](docs/ManagementApi.md#getrole) | **GET** /v1/roles/{roleId} | Get role +*ManagementApi* | [**GetRoleV2**](docs/ManagementApi.md#getrolev2) | **GET** /v2/roles/{roleId} | Get role *ManagementApi* | [**GetRuleset**](docs/ManagementApi.md#getruleset) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/rulesets/{rulesetId} | Get ruleset *ManagementApi* | [**GetRulesets**](docs/ManagementApi.md#getrulesets) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/rulesets | List campaign rulesets +*ManagementApi* | [**GetStore**](docs/ManagementApi.md#getstore) | **GET** /v1/applications/{applicationId}/stores/{storeId} | Get store *ManagementApi* | [**GetUser**](docs/ManagementApi.md#getuser) | **GET** /v1/users/{userId} | Get user *ManagementApi* | [**GetUsers**](docs/ManagementApi.md#getusers) | **GET** /v1/users | List users in account *ManagementApi* | [**GetWebhook**](docs/ManagementApi.md#getwebhook) | **GET** /v1/webhooks/{webhookId} | Get webhook *ManagementApi* | [**GetWebhookActivationLogs**](docs/ManagementApi.md#getwebhookactivationlogs) | **GET** /v1/webhook_activation_logs | List webhook activation log entries *ManagementApi* | [**GetWebhookLogs**](docs/ManagementApi.md#getwebhooklogs) | **GET** /v1/webhook_logs | List webhook log entries *ManagementApi* | [**GetWebhooks**](docs/ManagementApi.md#getwebhooks) | **GET** /v1/webhooks | List webhooks -*ManagementApi* | [**ImportAccountCollection**](docs/ManagementApi.md#importaccountcollection) | **POST** /v1/collections/{collectionId}/import | Import data in existing account-level collection +*ManagementApi* | [**ImportAccountCollection**](docs/ManagementApi.md#importaccountcollection) | **POST** /v1/collections/{collectionId}/import | Import data into existing account-level collection *ManagementApi* | [**ImportAllowedList**](docs/ManagementApi.md#importallowedlist) | **POST** /v1/attributes/{attributeId}/allowed_list/import | Import allowed values for attribute -*ManagementApi* | [**ImportCollection**](docs/ManagementApi.md#importcollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/import | Import data in existing collection +*ManagementApi* | [**ImportAudiencesMemberships**](docs/ManagementApi.md#importaudiencesmemberships) | **POST** /v1/audiences/{audienceId}/memberships/import | Import audience members +*ManagementApi* | [**ImportCollection**](docs/ManagementApi.md#importcollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/import | Import data into existing campaign-level collection *ManagementApi* | [**ImportCoupons**](docs/ManagementApi.md#importcoupons) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/import_coupons | Import coupons *ManagementApi* | [**ImportLoyaltyCards**](docs/ManagementApi.md#importloyaltycards) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/import_cards | Import loyalty cards *ManagementApi* | [**ImportLoyaltyCustomersTiers**](docs/ManagementApi.md#importloyaltycustomerstiers) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/import_customers_tiers | Import customers into loyalty tiers *ManagementApi* | [**ImportLoyaltyPoints**](docs/ManagementApi.md#importloyaltypoints) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/import_points | Import loyalty points *ManagementApi* | [**ImportPoolGiveaways**](docs/ManagementApi.md#importpoolgiveaways) | **POST** /v1/giveaways/pools/{poolId}/import | Import giveaway codes into a giveaway pool *ManagementApi* | [**ImportReferrals**](docs/ManagementApi.md#importreferrals) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/import_referrals | Import referrals +*ManagementApi* | [**InviteUserExternal**](docs/ManagementApi.md#inviteuserexternal) | **POST** /v1/users/invite | Invite user from identity provider *ManagementApi* | [**ListAccountCollections**](docs/ManagementApi.md#listaccountcollections) | **GET** /v1/collections | List collections in account +*ManagementApi* | [**ListAchievements**](docs/ManagementApi.md#listachievements) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements | List achievements +*ManagementApi* | [**ListAllRolesV2**](docs/ManagementApi.md#listallrolesv2) | **GET** /v2/roles | List roles *ManagementApi* | [**ListCatalogItems**](docs/ManagementApi.md#listcatalogitems) | **GET** /v1/catalogs/{catalogId}/items | List items in a catalog -*ManagementApi* | [**ListCollections**](docs/ManagementApi.md#listcollections) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | List collections -*ManagementApi* | [**ListCollectionsInApplication**](docs/ManagementApi.md#listcollectionsinapplication) | **GET** /v1/applications/{applicationId}/collections | List collections in application +*ManagementApi* | [**ListCollections**](docs/ManagementApi.md#listcollections) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | List collections in campaign +*ManagementApi* | [**ListCollectionsInApplication**](docs/ManagementApi.md#listcollectionsinapplication) | **GET** /v1/applications/{applicationId}/collections | List collections in Application +*ManagementApi* | [**ListStores**](docs/ManagementApi.md#liststores) | **GET** /v1/applications/{applicationId}/stores | List stores +*ManagementApi* | [**NotificationActivation**](docs/ManagementApi.md#notificationactivation) | **PUT** /v1/notifications/{notificationId}/activation | Activate or deactivate notification *ManagementApi* | [**PostAddedDeductedPointsNotification**](docs/ManagementApi.md#postaddeddeductedpointsnotification) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/notifications/added_deducted_points | Create notification about added or deducted loyalty points -*ManagementApi* | [**PostCatalogsStrikethroughNotification**](docs/ManagementApi.md#postcatalogsstrikethroughnotification) | **POST** /v1/catalogs/{applicationId}/notifications/strikethrough | Create strikethrough notification +*ManagementApi* | [**PostCatalogsStrikethroughNotification**](docs/ManagementApi.md#postcatalogsstrikethroughnotification) | **POST** /v1/applications/{applicationId}/catalogs/notifications/strikethrough | Create strikethrough notification *ManagementApi* | [**PostPendingPointsNotification**](docs/ManagementApi.md#postpendingpointsnotification) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/notifications/pending_points | Create notification about pending loyalty points *ManagementApi* | [**RemoveLoyaltyPoints**](docs/ManagementApi.md#removeloyaltypoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points | Deduct points from customer profile *ManagementApi* | [**ResetPassword**](docs/ManagementApi.md#resetpassword) | **POST** /v1/reset_password | Reset password @@ -365,15 +388,18 @@ Class | Method | HTTP request | Description *ManagementApi* | [**SearchCouponsAdvancedWithoutTotalCount**](docs/ManagementApi.md#searchcouponsadvancedwithouttotalcount) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons_search_advanced/no_total | List coupons that match the given attributes in campaign (without total count) *ManagementApi* | [**TransferLoyaltyCard**](docs/ManagementApi.md#transferloyaltycard) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transfer | Transfer card data *ManagementApi* | [**UpdateAccountCollection**](docs/ManagementApi.md#updateaccountcollection) | **PUT** /v1/collections/{collectionId} | Update account-level collection +*ManagementApi* | [**UpdateAchievement**](docs/ManagementApi.md#updateachievement) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId} | Update achievement *ManagementApi* | [**UpdateAdditionalCost**](docs/ManagementApi.md#updateadditionalcost) | **PUT** /v1/additional_costs/{additionalCostId} | Update additional cost *ManagementApi* | [**UpdateAttribute**](docs/ManagementApi.md#updateattribute) | **PUT** /v1/attributes/{attributeId} | Update custom attribute *ManagementApi* | [**UpdateCampaign**](docs/ManagementApi.md#updatecampaign) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId} | Update campaign -*ManagementApi* | [**UpdateCollection**](docs/ManagementApi.md#updatecollection) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Update collection description +*ManagementApi* | [**UpdateCollection**](docs/ManagementApi.md#updatecollection) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Update campaign-level collection's description *ManagementApi* | [**UpdateCoupon**](docs/ManagementApi.md#updatecoupon) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId} | Update coupon *ManagementApi* | [**UpdateCouponBatch**](docs/ManagementApi.md#updatecouponbatch) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Update coupons *ManagementApi* | [**UpdateLoyaltyCard**](docs/ManagementApi.md#updateloyaltycard) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId} | Update loyalty card status -*ManagementApi* | [**UpdateNotificationWebhook**](docs/ManagementApi.md#updatenotificationwebhook) | **PUT** /v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId} | Update notification about campaign-related changes *ManagementApi* | [**UpdateReferral**](docs/ManagementApi.md#updatereferral) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId} | Update referral +*ManagementApi* | [**UpdateRoleV2**](docs/ManagementApi.md#updaterolev2) | **PUT** /v2/roles/{roleId} | Update role +*ManagementApi* | [**UpdateStore**](docs/ManagementApi.md#updatestore) | **PUT** /v1/applications/{applicationId}/stores/{storeId} | Update store +*ManagementApi* | [**UpdateUser**](docs/ManagementApi.md#updateuser) | **PUT** /v1/users/{userId} | Update user @@ -387,7 +413,6 @@ Class | Method | HTTP request | Description - [Model.AccountAdditionalCost](docs/AccountAdditionalCost.md) - [Model.AccountAnalytics](docs/AccountAnalytics.md) - [Model.AccountDashboardStatistic](docs/AccountDashboardStatistic.md) - - [Model.AccountDashboardStatisticApiCalls](docs/AccountDashboardStatisticApiCalls.md) - [Model.AccountDashboardStatisticCampaigns](docs/AccountDashboardStatisticCampaigns.md) - [Model.AccountDashboardStatisticDiscount](docs/AccountDashboardStatisticDiscount.md) - [Model.AccountDashboardStatisticLoyaltyPoints](docs/AccountDashboardStatisticLoyaltyPoints.md) @@ -395,15 +420,33 @@ Class | Method | HTTP request | Description - [Model.AccountDashboardStatisticRevenue](docs/AccountDashboardStatisticRevenue.md) - [Model.AccountEntity](docs/AccountEntity.md) - [Model.AccountLimits](docs/AccountLimits.md) + - [Model.Achievement](docs/Achievement.md) + - [Model.AchievementAdditionalProperties](docs/AchievementAdditionalProperties.md) + - [Model.AchievementProgress](docs/AchievementProgress.md) + - [Model.ActivateUserRequest](docs/ActivateUserRequest.md) - [Model.AddFreeItemEffectProps](docs/AddFreeItemEffectProps.md) - [Model.AddItemCatalogAction](docs/AddItemCatalogAction.md) - [Model.AddLoyaltyPoints](docs/AddLoyaltyPoints.md) - [Model.AddLoyaltyPointsEffectProps](docs/AddLoyaltyPointsEffectProps.md) + - [Model.AddToAudienceEffectProps](docs/AddToAudienceEffectProps.md) - [Model.AddedDeductedPointsNotificationPolicy](docs/AddedDeductedPointsNotificationPolicy.md) + - [Model.AdditionalCampaignProperties](docs/AdditionalCampaignProperties.md) - [Model.AdditionalCost](docs/AdditionalCost.md) - [Model.Application](docs/Application.md) - [Model.ApplicationAPIKey](docs/ApplicationAPIKey.md) + - [Model.ApplicationAnalyticsDataPoint](docs/ApplicationAnalyticsDataPoint.md) + - [Model.ApplicationAnalyticsDataPointAvgItemsPerSession](docs/ApplicationAnalyticsDataPointAvgItemsPerSession.md) + - [Model.ApplicationAnalyticsDataPointAvgSessionValue](docs/ApplicationAnalyticsDataPointAvgSessionValue.md) + - [Model.ApplicationAnalyticsDataPointSessionsCount](docs/ApplicationAnalyticsDataPointSessionsCount.md) + - [Model.ApplicationAnalyticsDataPointTotalRevenue](docs/ApplicationAnalyticsDataPointTotalRevenue.md) - [Model.ApplicationApiHealth](docs/ApplicationApiHealth.md) + - [Model.ApplicationCampaignAnalytics](docs/ApplicationCampaignAnalytics.md) + - [Model.ApplicationCampaignAnalyticsAvgItemsPerSession](docs/ApplicationCampaignAnalyticsAvgItemsPerSession.md) + - [Model.ApplicationCampaignAnalyticsAvgSessionValue](docs/ApplicationCampaignAnalyticsAvgSessionValue.md) + - [Model.ApplicationCampaignAnalyticsCouponsCount](docs/ApplicationCampaignAnalyticsCouponsCount.md) + - [Model.ApplicationCampaignAnalyticsSessionsCount](docs/ApplicationCampaignAnalyticsSessionsCount.md) + - [Model.ApplicationCampaignAnalyticsTotalDiscounts](docs/ApplicationCampaignAnalyticsTotalDiscounts.md) + - [Model.ApplicationCampaignAnalyticsTotalRevenue](docs/ApplicationCampaignAnalyticsTotalRevenue.md) - [Model.ApplicationCampaignStats](docs/ApplicationCampaignStats.md) - [Model.ApplicationCustomer](docs/ApplicationCustomer.md) - [Model.ApplicationCustomerEntity](docs/ApplicationCustomerEntity.md) @@ -413,6 +456,7 @@ Class | Method | HTTP request | Description - [Model.ApplicationReferee](docs/ApplicationReferee.md) - [Model.ApplicationSession](docs/ApplicationSession.md) - [Model.ApplicationSessionEntity](docs/ApplicationSessionEntity.md) + - [Model.ApplicationStoreEntity](docs/ApplicationStoreEntity.md) - [Model.AsyncCouponCreationResponse](docs/AsyncCouponCreationResponse.md) - [Model.Attribute](docs/Attribute.md) - [Model.AttributesMandatory](docs/AttributesMandatory.md) @@ -433,9 +477,11 @@ Class | Method | HTTP request | Description - [Model.Binding](docs/Binding.md) - [Model.BulkApplicationNotification](docs/BulkApplicationNotification.md) - [Model.BulkCampaignNotification](docs/BulkCampaignNotification.md) + - [Model.BulkOperationOnCampaigns](docs/BulkOperationOnCampaigns.md) - [Model.Campaign](docs/Campaign.md) - [Model.CampaignActivationRequest](docs/CampaignActivationRequest.md) - [Model.CampaignAnalytics](docs/CampaignAnalytics.md) + - [Model.CampaignBudget](docs/CampaignBudget.md) - [Model.CampaignCollection](docs/CampaignCollection.md) - [Model.CampaignCollectionWithoutPayload](docs/CampaignCollectionWithoutPayload.md) - [Model.CampaignCopy](docs/CampaignCopy.md) @@ -449,6 +495,7 @@ Class | Method | HTTP request | Description - [Model.CampaignGroup](docs/CampaignGroup.md) - [Model.CampaignGroupEntity](docs/CampaignGroupEntity.md) - [Model.CampaignNotification](docs/CampaignNotification.md) + - [Model.CampaignNotificationPolicy](docs/CampaignNotificationPolicy.md) - [Model.CampaignRulesetChangedNotification](docs/CampaignRulesetChangedNotification.md) - [Model.CampaignSearch](docs/CampaignSearch.md) - [Model.CampaignSet](docs/CampaignSet.md) @@ -459,6 +506,9 @@ Class | Method | HTTP request | Description - [Model.CampaignTemplate](docs/CampaignTemplate.md) - [Model.CampaignTemplateCollection](docs/CampaignTemplateCollection.md) - [Model.CampaignTemplateParams](docs/CampaignTemplateParams.md) + - [Model.CardExpiringPointsNotificationPolicy](docs/CardExpiringPointsNotificationPolicy.md) + - [Model.CardExpiringPointsNotificationTrigger](docs/CardExpiringPointsNotificationTrigger.md) + - [Model.CardLedgerPointsEntryIntegrationAPI](docs/CardLedgerPointsEntryIntegrationAPI.md) - [Model.CardLedgerTransactionLogEntry](docs/CardLedgerTransactionLogEntry.md) - [Model.CardLedgerTransactionLogEntryIntegrationAPI](docs/CardLedgerTransactionLogEntryIntegrationAPI.md) - [Model.CartItem](docs/CartItem.md) @@ -469,6 +519,7 @@ Class | Method | HTTP request | Description - [Model.CatalogSyncRequest](docs/CatalogSyncRequest.md) - [Model.CatalogsStrikethroughNotificationPolicy](docs/CatalogsStrikethroughNotificationPolicy.md) - [Model.Change](docs/Change.md) + - [Model.ChangeLoyaltyTierLevelEffectProps](docs/ChangeLoyaltyTierLevelEffectProps.md) - [Model.ChangeProfilePassword](docs/ChangeProfilePassword.md) - [Model.CodeGeneratorSettings](docs/CodeGeneratorSettings.md) - [Model.Collection](docs/Collection.md) @@ -484,6 +535,7 @@ Class | Method | HTTP request | Description - [Model.CouponSearch](docs/CouponSearch.md) - [Model.CouponValue](docs/CouponValue.md) - [Model.CouponsNotificationPolicy](docs/CouponsNotificationPolicy.md) + - [Model.CreateAchievement](docs/CreateAchievement.md) - [Model.CreateApplicationAPIKey](docs/CreateApplicationAPIKey.md) - [Model.CreateManagementKey](docs/CreateManagementKey.md) - [Model.CreateTemplateCampaign](docs/CreateTemplateCampaign.md) @@ -497,12 +549,15 @@ Class | Method | HTTP request | Description - [Model.CustomerProfileAudienceRequest](docs/CustomerProfileAudienceRequest.md) - [Model.CustomerProfileAudienceRequestItem](docs/CustomerProfileAudienceRequestItem.md) - [Model.CustomerProfileIntegrationRequestV2](docs/CustomerProfileIntegrationRequestV2.md) + - [Model.CustomerProfileIntegrationResponseV2](docs/CustomerProfileIntegrationResponseV2.md) - [Model.CustomerProfileSearchQuery](docs/CustomerProfileSearchQuery.md) - [Model.CustomerProfileUpdateV2Response](docs/CustomerProfileUpdateV2Response.md) - [Model.CustomerSession](docs/CustomerSession.md) - [Model.CustomerSessionV2](docs/CustomerSessionV2.md) + - [Model.DeactivateUserRequest](docs/DeactivateUserRequest.md) - [Model.DeductLoyaltyPoints](docs/DeductLoyaltyPoints.md) - [Model.DeductLoyaltyPointsEffectProps](docs/DeductLoyaltyPointsEffectProps.md) + - [Model.DeleteUserRequest](docs/DeleteUserRequest.md) - [Model.Effect](docs/Effect.md) - [Model.EffectEntity](docs/EffectEntity.md) - [Model.EmailEntity](docs/EmailEntity.md) @@ -518,19 +573,22 @@ Class | Method | HTTP request | Description - [Model.Event](docs/Event.md) - [Model.EventType](docs/EventType.md) - [Model.EventV2](docs/EventV2.md) + - [Model.ExpiringCouponsNotificationPolicy](docs/ExpiringCouponsNotificationPolicy.md) + - [Model.ExpiringCouponsNotificationTrigger](docs/ExpiringCouponsNotificationTrigger.md) - [Model.ExpiringPointsNotificationPolicy](docs/ExpiringPointsNotificationPolicy.md) - [Model.ExpiringPointsNotificationTrigger](docs/ExpiringPointsNotificationTrigger.md) - [Model.Export](docs/Export.md) - [Model.FeatureFlag](docs/FeatureFlag.md) - [Model.FeaturesFeed](docs/FeaturesFeed.md) - - [Model.FrontendState](docs/FrontendState.md) - [Model.FuncArgDef](docs/FuncArgDef.md) - [Model.FunctionDef](docs/FunctionDef.md) + - [Model.GetIntegrationCouponRequest](docs/GetIntegrationCouponRequest.md) - [Model.Giveaway](docs/Giveaway.md) - [Model.GiveawaysPool](docs/GiveawaysPool.md) - [Model.IdentifiableEntity](docs/IdentifiableEntity.md) - [Model.Import](docs/Import.md) - [Model.ImportEntity](docs/ImportEntity.md) + - [Model.IncreaseAchievementProgressEffectProps](docs/IncreaseAchievementProgressEffectProps.md) - [Model.InlineResponse200](docs/InlineResponse200.md) - [Model.InlineResponse2001](docs/InlineResponse2001.md) - [Model.InlineResponse20010](docs/InlineResponse20010.md) @@ -568,6 +626,12 @@ Class | Method | HTTP request | Description - [Model.InlineResponse2004](docs/InlineResponse2004.md) - [Model.InlineResponse20040](docs/InlineResponse20040.md) - [Model.InlineResponse20041](docs/InlineResponse20041.md) + - [Model.InlineResponse20042](docs/InlineResponse20042.md) + - [Model.InlineResponse20043](docs/InlineResponse20043.md) + - [Model.InlineResponse20044](docs/InlineResponse20044.md) + - [Model.InlineResponse20045](docs/InlineResponse20045.md) + - [Model.InlineResponse20046](docs/InlineResponse20046.md) + - [Model.InlineResponse20047](docs/InlineResponse20047.md) - [Model.InlineResponse2005](docs/InlineResponse2005.md) - [Model.InlineResponse2006](docs/InlineResponse2006.md) - [Model.InlineResponse2007](docs/InlineResponse2007.md) @@ -583,11 +647,13 @@ Class | Method | HTTP request | Description - [Model.IntegrationRequest](docs/IntegrationRequest.md) - [Model.IntegrationState](docs/IntegrationState.md) - [Model.IntegrationStateV2](docs/IntegrationStateV2.md) + - [Model.IntegrationStoreEntity](docs/IntegrationStoreEntity.md) - [Model.InventoryCoupon](docs/InventoryCoupon.md) - [Model.InventoryReferral](docs/InventoryReferral.md) - [Model.ItemAttribute](docs/ItemAttribute.md) - [Model.LedgerEntry](docs/LedgerEntry.md) - [Model.LedgerInfo](docs/LedgerInfo.md) + - [Model.LedgerPointsEntryIntegrationAPI](docs/LedgerPointsEntryIntegrationAPI.md) - [Model.LedgerTransactionLogEntryIntegrationAPI](docs/LedgerTransactionLogEntryIntegrationAPI.md) - [Model.LibraryAttribute](docs/LibraryAttribute.md) - [Model.LimitConfig](docs/LimitConfig.md) @@ -597,6 +663,7 @@ Class | Method | HTTP request | Description - [Model.LoyaltyBalance](docs/LoyaltyBalance.md) - [Model.LoyaltyBalances](docs/LoyaltyBalances.md) - [Model.LoyaltyCard](docs/LoyaltyCard.md) + - [Model.LoyaltyCardBalances](docs/LoyaltyCardBalances.md) - [Model.LoyaltyCardProfileRegistration](docs/LoyaltyCardProfileRegistration.md) - [Model.LoyaltyCardRegistration](docs/LoyaltyCardRegistration.md) - [Model.LoyaltyDashboardData](docs/LoyaltyDashboardData.md) @@ -611,11 +678,14 @@ Class | Method | HTTP request | Description - [Model.LoyaltyProgramLedgers](docs/LoyaltyProgramLedgers.md) - [Model.LoyaltyProgramSubledgers](docs/LoyaltyProgramSubledgers.md) - [Model.LoyaltyProgramTransaction](docs/LoyaltyProgramTransaction.md) - - [Model.LoyaltyStatistics](docs/LoyaltyStatistics.md) - [Model.LoyaltySubLedger](docs/LoyaltySubLedger.md) - [Model.LoyaltyTier](docs/LoyaltyTier.md) - [Model.ManagementKey](docs/ManagementKey.md) - [Model.ManagerConfig](docs/ManagerConfig.md) + - [Model.MessageLogEntries](docs/MessageLogEntries.md) + - [Model.MessageLogEntry](docs/MessageLogEntry.md) + - [Model.MessageLogRequest](docs/MessageLogRequest.md) + - [Model.MessageLogResponse](docs/MessageLogResponse.md) - [Model.Meta](docs/Meta.md) - [Model.MultiApplicationEntity](docs/MultiApplicationEntity.md) - [Model.MultipleAttribute](docs/MultipleAttribute.md) @@ -652,6 +722,7 @@ Class | Method | HTTP request | Description - [Model.NewCustomerSessionV2](docs/NewCustomerSessionV2.md) - [Model.NewEvent](docs/NewEvent.md) - [Model.NewEventType](docs/NewEventType.md) + - [Model.NewExternalInvitation](docs/NewExternalInvitation.md) - [Model.NewGiveawaysPool](docs/NewGiveawaysPool.md) - [Model.NewInternalAudience](docs/NewInternalAudience.md) - [Model.NewInvitation](docs/NewInvitation.md) @@ -660,6 +731,7 @@ Class | Method | HTTP request | Description - [Model.NewLoyaltyTier](docs/NewLoyaltyTier.md) - [Model.NewManagementKey](docs/NewManagementKey.md) - [Model.NewMultipleAudiencesItem](docs/NewMultipleAudiencesItem.md) + - [Model.NewNotificationTest](docs/NewNotificationTest.md) - [Model.NewNotificationWebhook](docs/NewNotificationWebhook.md) - [Model.NewOutgoingIntegrationWebhook](docs/NewOutgoingIntegrationWebhook.md) - [Model.NewPassword](docs/NewPassword.md) @@ -672,13 +744,20 @@ Class | Method | HTTP request | Description - [Model.NewRoleV2](docs/NewRoleV2.md) - [Model.NewRuleset](docs/NewRuleset.md) - [Model.NewSamlConnection](docs/NewSamlConnection.md) + - [Model.NewStore](docs/NewStore.md) - [Model.NewTemplateDef](docs/NewTemplateDef.md) - [Model.NewUser](docs/NewUser.md) - [Model.NewWebhook](docs/NewWebhook.md) - [Model.Notification](docs/Notification.md) - - [Model.NotificationWebhook](docs/NotificationWebhook.md) + - [Model.NotificationActivation](docs/NotificationActivation.md) + - [Model.NotificationListItem](docs/NotificationListItem.md) + - [Model.NotificationTest](docs/NotificationTest.md) + - [Model.OneTimeCode](docs/OneTimeCode.md) - [Model.OutgoingIntegrationBrazePolicy](docs/OutgoingIntegrationBrazePolicy.md) + - [Model.OutgoingIntegrationCleverTapPolicy](docs/OutgoingIntegrationCleverTapPolicy.md) - [Model.OutgoingIntegrationConfiguration](docs/OutgoingIntegrationConfiguration.md) + - [Model.OutgoingIntegrationIterablePolicy](docs/OutgoingIntegrationIterablePolicy.md) + - [Model.OutgoingIntegrationMoEngagePolicy](docs/OutgoingIntegrationMoEngagePolicy.md) - [Model.OutgoingIntegrationTemplate](docs/OutgoingIntegrationTemplate.md) - [Model.OutgoingIntegrationTemplateWithConfigurationDetails](docs/OutgoingIntegrationTemplateWithConfigurationDetails.md) - [Model.OutgoingIntegrationTemplates](docs/OutgoingIntegrationTemplates.md) @@ -688,6 +767,7 @@ Class | Method | HTTP request | Description - [Model.PatchManyItemsCatalogAction](docs/PatchManyItemsCatalogAction.md) - [Model.PendingPointsNotificationPolicy](docs/PendingPointsNotificationPolicy.md) - [Model.Picklist](docs/Picklist.md) + - [Model.Product](docs/Product.md) - [Model.ProfileAudiencesChanges](docs/ProfileAudiencesChanges.md) - [Model.RedeemReferralEffectProps](docs/RedeemReferralEffectProps.md) - [Model.Referral](docs/Referral.md) @@ -696,6 +776,7 @@ Class | Method | HTTP request | Description - [Model.ReferralRejectionReason](docs/ReferralRejectionReason.md) - [Model.RejectCouponEffectProps](docs/RejectCouponEffectProps.md) - [Model.RejectReferralEffectProps](docs/RejectReferralEffectProps.md) + - [Model.RemoveFromAudienceEffectProps](docs/RemoveFromAudienceEffectProps.md) - [Model.RemoveItemCatalogAction](docs/RemoveItemCatalogAction.md) - [Model.RemoveManyItemsCatalogAction](docs/RemoveManyItemsCatalogAction.md) - [Model.ReopenSessionResponse](docs/ReopenSessionResponse.md) @@ -720,7 +801,9 @@ Class | Method | HTTP request | Description - [Model.Rule](docs/Rule.md) - [Model.RuleFailureReason](docs/RuleFailureReason.md) - [Model.Ruleset](docs/Ruleset.md) + - [Model.SSOConfig](docs/SSOConfig.md) - [Model.SamlConnection](docs/SamlConnection.md) + - [Model.SamlConnectionInternal](docs/SamlConnectionInternal.md) - [Model.SamlConnectionMetadata](docs/SamlConnectionMetadata.md) - [Model.SamlLoginEndpoint](docs/SamlLoginEndpoint.md) - [Model.Session](docs/Session.md) @@ -731,6 +814,7 @@ Class | Method | HTTP request | Description - [Model.ShowBundleMetadataEffectProps](docs/ShowBundleMetadataEffectProps.md) - [Model.ShowNotificationEffectProps](docs/ShowNotificationEffectProps.md) - [Model.SlotDef](docs/SlotDef.md) + - [Model.Store](docs/Store.md) - [Model.StrikethroughChangedItem](docs/StrikethroughChangedItem.md) - [Model.StrikethroughCustomEffectPerItemProps](docs/StrikethroughCustomEffectPerItemProps.md) - [Model.StrikethroughEffect](docs/StrikethroughEffect.md) @@ -743,10 +827,19 @@ Class | Method | HTTP request | Description - [Model.TemplateDef](docs/TemplateDef.md) - [Model.TemplateLimitConfig](docs/TemplateLimitConfig.md) - [Model.Tier](docs/Tier.md) + - [Model.TierDowngradeNotificationPolicy](docs/TierDowngradeNotificationPolicy.md) + - [Model.TierUpgradeNotificationPolicy](docs/TierUpgradeNotificationPolicy.md) + - [Model.TierWillDowngradeNotificationPolicy](docs/TierWillDowngradeNotificationPolicy.md) + - [Model.TierWillDowngradeNotificationTrigger](docs/TierWillDowngradeNotificationTrigger.md) + - [Model.TimePoint](docs/TimePoint.md) + - [Model.TrackEventV2Response](docs/TrackEventV2Response.md) - [Model.TransferLoyaltyCard](docs/TransferLoyaltyCard.md) - [Model.TriggerWebhookEffectProps](docs/TriggerWebhookEffectProps.md) + - [Model.TwoFAConfig](docs/TwoFAConfig.md) - [Model.UpdateAccount](docs/UpdateAccount.md) + - [Model.UpdateAchievement](docs/UpdateAchievement.md) - [Model.UpdateApplication](docs/UpdateApplication.md) + - [Model.UpdateApplicationAPIKey](docs/UpdateApplicationAPIKey.md) - [Model.UpdateAttributeEffectProps](docs/UpdateAttributeEffectProps.md) - [Model.UpdateAudience](docs/UpdateAudience.md) - [Model.UpdateCampaign](docs/UpdateCampaign.md) @@ -765,6 +858,7 @@ Class | Method | HTTP request | Description - [Model.UpdateReferral](docs/UpdateReferral.md) - [Model.UpdateReferralBatch](docs/UpdateReferralBatch.md) - [Model.UpdateRole](docs/UpdateRole.md) + - [Model.UpdateStore](docs/UpdateStore.md) - [Model.UpdateUser](docs/UpdateUser.md) - [Model.User](docs/User.md) - [Model.UserEntity](docs/UserEntity.md) diff --git a/docs/AccountAnalytics.md b/docs/AccountAnalytics.md index 0a0c19d..9a8b625 100644 --- a/docs/AccountAnalytics.md +++ b/docs/AccountAnalytics.md @@ -22,6 +22,7 @@ Name | Type | Description | Notes **Webhooks** | **int** | Total number of webhooks in the account. | **LoyaltyPrograms** | **int** | Total number of all loyalty programs in the account. | **LiveLoyaltyPrograms** | **int** | Total number of live loyalty programs in the account. | +**LastUpdatedAt** | **DateTime** | The point in time when the analytics numbers were updated last. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AccountDashboardStatistic.md b/docs/AccountDashboardStatistic.md index eb156f8..d116538 100644 --- a/docs/AccountDashboardStatistic.md +++ b/docs/AccountDashboardStatistic.md @@ -7,7 +7,6 @@ Name | Type | Description | Notes **Discounts** | [**List<AccountDashboardStatisticDiscount>**](AccountDashboardStatisticDiscount.md) | Aggregated statistic for account discount. | [optional] **LoyaltyPoints** | [**List<AccountDashboardStatisticLoyaltyPoints>**](AccountDashboardStatisticLoyaltyPoints.md) | Aggregated statistic for account loyalty points. | [optional] **Referrals** | [**List<AccountDashboardStatisticReferrals>**](AccountDashboardStatisticReferrals.md) | Aggregated statistic for account referrals. | [optional] -**ApiCalls** | [**List<AccountDashboardStatisticApiCalls>**](AccountDashboardStatisticApiCalls.md) | Aggregated statistic for the number of account API calls. | [optional] **Campaigns** | [**AccountDashboardStatisticCampaigns**](AccountDashboardStatisticCampaigns.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AccountDashboardStatisticCampaigns.md b/docs/AccountDashboardStatisticCampaigns.md index dccf302..891c621 100644 --- a/docs/AccountDashboardStatisticCampaigns.md +++ b/docs/AccountDashboardStatisticCampaigns.md @@ -4,7 +4,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Live** | **int** | Number of campaigns that are active and live (across all Applications). | -**EndingSoon** | **int** | Campaigns with a schedule ending in 7 days or with only 10% of budget left. | +**EndingSoon** | **int** | Campaigns scheduled to expire sometime in the next 7 days. | +**LowOnBudget** | **int** | Campaigns with less than 10% of budget left. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/Achievement.md b/docs/Achievement.md new file mode 100644 index 0000000..c28e193 --- /dev/null +++ b/docs/Achievement.md @@ -0,0 +1,20 @@ +# TalonOne.Model.Achievement +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **int** | Internal ID of this entity. | +**Created** | **DateTime** | The time this entity was created. | +**Name** | **string** | The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created. | +**Title** | **string** | The display name for the achievement in the Campaign Manager. | +**Description** | **string** | A description of the achievement. | +**Target** | **decimal** | The required number of actions or the transactional milestone to complete the achievement. | +**Period** | **string** | The relative duration after which the achievement ends and resets for a particular customer profile. **Note**: The `period` does not start when the achievement is created. The period is a **positive real number** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can also round certain units down to the beginning of period and up to the end of period.: - `_D` for rounding down days only. Signifies the start of the day. Example: `30D_D` - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. Example: `23W_U` **Note**: You can either use the round down and round up option or set an absolute period. | +**PeriodEndOverride** | [**TimePoint**](TimePoint.md) | | [optional] +**CampaignId** | **int** | ID of the campaign, to which the achievement belongs to | +**UserId** | **int** | ID of the user that created this achievement. | +**CreatedBy** | **string** | Name of the user that created the achievement. **Note**: This is not available if the user has been deleted. | +**HasProgress** | **bool** | Indicates if a customer has made progress in the achievement. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/AchievementAdditionalProperties.md b/docs/AchievementAdditionalProperties.md new file mode 100644 index 0000000..6618e8b --- /dev/null +++ b/docs/AchievementAdditionalProperties.md @@ -0,0 +1,12 @@ +# TalonOne.Model.AchievementAdditionalProperties +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**CampaignId** | **int** | ID of the campaign, to which the achievement belongs to | +**UserId** | **int** | ID of the user that created this achievement. | +**CreatedBy** | **string** | Name of the user that created the achievement. **Note**: This is not available if the user has been deleted. | +**HasProgress** | **bool** | Indicates if a customer has made progress in the achievement. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/AchievementProgress.md b/docs/AchievementProgress.md new file mode 100644 index 0000000..60fc173 --- /dev/null +++ b/docs/AchievementProgress.md @@ -0,0 +1,18 @@ +# TalonOne.Model.AchievementProgress +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AchievementId** | **int** | The internal ID of the achievement. | +**Name** | **string** | The internal name of the achievement used in API requests. | +**Title** | **string** | The display name of the achievement in the Campaign Manager. | +**CampaignId** | **int** | The ID of the campaign the achievement belongs to. | +**Status** | **string** | The status of the achievement. | +**Target** | **decimal** | The required number of actions or the transactional milestone to complete the achievement. | [optional] +**Progress** | **decimal** | The current progress of the customer in the achievement. | +**StartDate** | **DateTime** | Timestamp at which the customer started the achievement. | +**CompletionDate** | **DateTime** | Timestamp at which point the customer completed the achievement. | [optional] +**EndDate** | **DateTime** | Timestamp at which point the achievement ends and resets for the customer. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ActivateUserRequest.md b/docs/ActivateUserRequest.md new file mode 100644 index 0000000..be883d8 --- /dev/null +++ b/docs/ActivateUserRequest.md @@ -0,0 +1,9 @@ +# TalonOne.Model.ActivateUserRequest +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Email** | **string** | The email address associated with the user profile. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/AddItemCatalogAction.md b/docs/AddItemCatalogAction.md index 2f788af..cd0ca44 100644 --- a/docs/AddItemCatalogAction.md +++ b/docs/AddItemCatalogAction.md @@ -1,5 +1,5 @@ # TalonOne.Model.AddItemCatalogAction -The specific properties of the \"ADD\" catalog sync action. +The specific properties of the \"ADD\" catalog sync action. ## Properties Name | Type | Description | Notes @@ -7,7 +7,8 @@ Name | Type | Description | Notes **Sku** | **string** | The unique SKU of the item to add. | **Price** | **decimal** | Price of the item. | [optional] **Attributes** | [**Object**](.md) | The attributes of the item to add. | [optional] -**ReplaceIfExists** | **bool** | Indicates whether to replace the attributes of the item if the same SKU exists. | [optional] [default to false] +**Product** | [**Product**](Product.md) | | [optional] +**ReplaceIfExists** | **bool** | Indicates whether to replace the attributes of the item if the same SKU exists. **Note**: When set to `true`: - If you do not provide a new `price` value, the existing `price` value is retained. - If you do not provide a new `product` value, the `product` value is set to `null`. | [optional] [default to false] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AddLoyaltyPointsEffectProps.md b/docs/AddLoyaltyPointsEffectProps.md index afdd683..72535da 100644 --- a/docs/AddLoyaltyPointsEffectProps.md +++ b/docs/AddLoyaltyPointsEffectProps.md @@ -14,7 +14,7 @@ Name | Type | Description | Notes **ExpiryDate** | **DateTime** | Date after which points will expire. | [optional] **TransactionUUID** | **string** | The identifier of this addition in the loyalty ledger. | **CartItemPosition** | **decimal** | The index of the item in the cart items list on which the loyal points addition should be applied. | [optional] -**CartItemSubPosition** | **decimal** | The sub position is triggered when application flattening is enabled. It indicates to which item the loyalty points addition applies, for cart items with `quantity` > 1. | [optional] +**CartItemSubPosition** | **decimal** | For cart items with `quantity` > 1, the sub position indicates to which item the loyalty points addition is applied. | [optional] **CardIdentifier** | **string** | The alphanumeric identifier of the loyalty card. | [optional] **BundleIndex** | **int** | The position of the bundle in a list of item bundles created from the same bundle definition. | [optional] **BundleName** | **string** | The name of the bundle definition. | [optional] diff --git a/docs/AddToAudienceEffectProps.md b/docs/AddToAudienceEffectProps.md new file mode 100644 index 0000000..28eb181 --- /dev/null +++ b/docs/AddToAudienceEffectProps.md @@ -0,0 +1,13 @@ +# TalonOne.Model.AddToAudienceEffectProps +The properties specific to the \"addToAudience\" effect. This gets triggered whenever a validated rule contains an \"addToAudience\" effect. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AudienceId** | **int** | The internal ID of the audience. | [optional] +**AudienceName** | **string** | The name of the audience. | [optional] +**ProfileIntegrationId** | **string** | The ID of the customer profile in the third-party integration platform. | [optional] +**ProfileId** | **int** | The internal ID of the customer profile. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/AdditionalCampaignProperties.md b/docs/AdditionalCampaignProperties.md new file mode 100644 index 0000000..276c0ae --- /dev/null +++ b/docs/AdditionalCampaignProperties.md @@ -0,0 +1,30 @@ +# TalonOne.Model.AdditionalCampaignProperties +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Budgets** | [**List<CampaignBudget>**](CampaignBudget.md) | A list of all the budgets that are defined by this campaign and their usage. **Note:** Budgets that are not defined do not appear in this list and their usage is not counted until they are defined. | +**CouponRedemptionCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Number of coupons redeemed in the campaign. | [optional] +**ReferralRedemptionCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Number of referral codes redeemed in the campaign. | [optional] +**DiscountCount** | **decimal** | This property is **deprecated**. The count should be available under *budgets* property. Total amount of discounts redeemed in the campaign. | [optional] +**DiscountEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of times discounts were redeemed in this campaign. | [optional] +**CouponCreationCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of coupons created by rules in this campaign. | [optional] +**CustomEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of custom effects triggered by rules in this campaign. | [optional] +**ReferralCreationCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of referrals created by rules in this campaign. | [optional] +**AddFreeItemEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of times the [add free item effect](https://docs.talon.one/docs/dev/integration-api/api-effects#addfreeitem) can be triggered in this campaign. | [optional] +**AwardedGiveawaysCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of giveaways awarded by rules in this campaign. | [optional] +**CreatedLoyaltyPointsCount** | **decimal** | This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points created by rules in this campaign. | [optional] +**CreatedLoyaltyPointsEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point creation effects triggered by rules in this campaign. | [optional] +**RedeemedLoyaltyPointsCount** | **decimal** | This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points redeemed by rules in this campaign. | [optional] +**RedeemedLoyaltyPointsEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point redemption effects triggered by rules in this campaign. | [optional] +**CallApiEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of webhooks triggered by rules in this campaign. | [optional] +**ReservecouponEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of reserve coupon effects triggered by rules in this campaign. | [optional] +**LastActivity** | **DateTime** | Timestamp of the most recent event received by this campaign. | [optional] +**Updated** | **DateTime** | Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are **not** registered by this property, such as collection or coupon updates. | [optional] +**CreatedBy** | **string** | Name of the user who created this campaign if available. | [optional] +**UpdatedBy** | **string** | Name of the user who last updated this campaign if available. | [optional] +**TemplateId** | **int** | The ID of the Campaign Template this Campaign was created from. | [optional] +**FrontendState** | **string** | A campaign state described exactly as in the Campaign Manager. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/Application.md b/docs/Application.md index 8747033..cc5d156 100644 --- a/docs/Application.md +++ b/docs/Application.md @@ -16,7 +16,7 @@ Name | Type | Description | Notes **Limits** | [**List<LimitConfig>**](LimitConfig.md) | Default limits for campaigns created in this application. | [optional] **DefaultDiscountScope** | **string** | The default scope to apply `setDiscount` effects on if no scope was provided with the effect. | [optional] **EnableCascadingDiscounts** | **bool** | Indicates if discounts should cascade for this Application. | [optional] -**EnableFlattenedCartItems** | **bool** | Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See the [docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). | [optional] +**EnableFlattenedCartItems** | **bool** | Indicates if cart items of quantity larger than one should be separated into different items of quantity one. | [optional] **AttributesSettings** | [**AttributesSettings**](AttributesSettings.md) | | [optional] **Sandbox** | **bool** | Indicates if this is a live or sandbox Application. | [optional] **EnablePartialDiscounts** | **bool** | Indicates if this Application supports partial discounts. | [optional] diff --git a/docs/ApplicationAPIKey.md b/docs/ApplicationAPIKey.md index 5afaa25..f93dbdc 100644 --- a/docs/ApplicationAPIKey.md +++ b/docs/ApplicationAPIKey.md @@ -3,9 +3,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Title** | **string** | Title for API Key. | -**Expires** | **DateTime** | The date the API key expired. | +**Title** | **string** | Title of the API key. | +**Expires** | **DateTime** | The date the API key expires. | **Platform** | **string** | The third-party platform the API key is valid for. Use `none` for a generic API key to be used from your own integration layer. | [optional] +**Type** | **string** | The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. | [optional] +**TimeOffset** | **int** | A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. | [optional] **Id** | **int** | ID of the API Key. | **CreatedBy** | **int** | ID of user who created. | **AccountID** | **int** | ID of account the key is used for. | diff --git a/docs/ApplicationAnalyticsDataPoint.md b/docs/ApplicationAnalyticsDataPoint.md new file mode 100644 index 0000000..31103a5 --- /dev/null +++ b/docs/ApplicationAnalyticsDataPoint.md @@ -0,0 +1,16 @@ +# TalonOne.Model.ApplicationAnalyticsDataPoint +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**StartTime** | **DateTime** | The start of the aggregation time frame in UTC. | [optional] +**EndTime** | **DateTime** | The end of the aggregation time frame in UTC. | [optional] +**TotalRevenue** | [**ApplicationAnalyticsDataPointTotalRevenue**](ApplicationAnalyticsDataPointTotalRevenue.md) | | [optional] +**SessionsCount** | [**ApplicationAnalyticsDataPointSessionsCount**](ApplicationAnalyticsDataPointSessionsCount.md) | | [optional] +**AvgItemsPerSession** | [**ApplicationAnalyticsDataPointAvgItemsPerSession**](ApplicationAnalyticsDataPointAvgItemsPerSession.md) | | [optional] +**AvgSessionValue** | [**ApplicationAnalyticsDataPointAvgSessionValue**](ApplicationAnalyticsDataPointAvgSessionValue.md) | | [optional] +**TotalDiscounts** | **decimal** | The total value of discounts given for cart items in influenced sessions. | [optional] +**CouponsCount** | **decimal** | The number of times a coupon was successfully redeemed in influenced sessions. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationAnalyticsDataPointAvgItemsPerSession.md b/docs/ApplicationAnalyticsDataPointAvgItemsPerSession.md new file mode 100644 index 0000000..e01eac1 --- /dev/null +++ b/docs/ApplicationAnalyticsDataPointAvgItemsPerSession.md @@ -0,0 +1,11 @@ +# TalonOne.Model.ApplicationAnalyticsDataPointAvgItemsPerSession +The number of items from sessions divided by the number of sessions. The `influenced` value includes only sessions with at least one applied effect. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Total** | **decimal** | | [optional] +**Influenced** | **decimal** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationAnalyticsDataPointAvgSessionValue.md b/docs/ApplicationAnalyticsDataPointAvgSessionValue.md new file mode 100644 index 0000000..c0b67c7 --- /dev/null +++ b/docs/ApplicationAnalyticsDataPointAvgSessionValue.md @@ -0,0 +1,11 @@ +# TalonOne.Model.ApplicationAnalyticsDataPointAvgSessionValue +The average customer session value, calculated by dividing the revenue value by the number of sessions. The `influenced` value includes only sessions with at least one applied effect. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Total** | **decimal** | | [optional] +**Influenced** | **decimal** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationAnalyticsDataPointSessionsCount.md b/docs/ApplicationAnalyticsDataPointSessionsCount.md new file mode 100644 index 0000000..19dffac --- /dev/null +++ b/docs/ApplicationAnalyticsDataPointSessionsCount.md @@ -0,0 +1,11 @@ +# TalonOne.Model.ApplicationAnalyticsDataPointSessionsCount +The number of all closed sessions. The `influenced` value includes only sessions with at least one applied effect. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Total** | **decimal** | | [optional] +**Influenced** | **decimal** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationAnalyticsDataPointTotalRevenue.md b/docs/ApplicationAnalyticsDataPointTotalRevenue.md new file mode 100644 index 0000000..51f9415 --- /dev/null +++ b/docs/ApplicationAnalyticsDataPointTotalRevenue.md @@ -0,0 +1,11 @@ +# TalonOne.Model.ApplicationAnalyticsDataPointTotalRevenue +The total, pre-discount value of all items purchased in a customer session. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Total** | **decimal** | | [optional] +**Influenced** | **decimal** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationCampaignAnalytics.md b/docs/ApplicationCampaignAnalytics.md new file mode 100644 index 0000000..7f3fa19 --- /dev/null +++ b/docs/ApplicationCampaignAnalytics.md @@ -0,0 +1,23 @@ +# TalonOne.Model.ApplicationCampaignAnalytics +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**StartTime** | **DateTime** | The start of the aggregation time frame in UTC. | [optional] +**EndTime** | **DateTime** | The end of the aggregation time frame in UTC. | [optional] +**CampaignId** | **int** | The ID of the campaign. | [optional] +**CampaignName** | **string** | The name of the campaign. | [optional] +**CampaignTags** | **List<string>** | A list of tags for the campaign. | [optional] +**CampaignState** | **string** | The state of the campaign. **Note:** A disabled or archived campaign is not evaluated for rules or coupons. | [optional] [default to CampaignStateEnum.Enabled] +**CampaignActiveRulesetId** | **int** | The [ID of the ruleset](https://docs.talon.one/management-api#operation/getRulesets) this campaign applies on customer session evaluation. | [optional] +**CampaignStartTime** | **DateTime** | Date and time when the campaign becomes active. | [optional] +**CampaignEndTime** | **DateTime** | Date and time when the campaign becomes inactive. | [optional] +**TotalRevenue** | [**ApplicationCampaignAnalyticsTotalRevenue**](ApplicationCampaignAnalyticsTotalRevenue.md) | | [optional] +**SessionsCount** | [**ApplicationCampaignAnalyticsSessionsCount**](ApplicationCampaignAnalyticsSessionsCount.md) | | [optional] +**AvgItemsPerSession** | [**ApplicationCampaignAnalyticsAvgItemsPerSession**](ApplicationCampaignAnalyticsAvgItemsPerSession.md) | | [optional] +**AvgSessionValue** | [**ApplicationCampaignAnalyticsAvgSessionValue**](ApplicationCampaignAnalyticsAvgSessionValue.md) | | [optional] +**TotalDiscounts** | [**ApplicationCampaignAnalyticsTotalDiscounts**](ApplicationCampaignAnalyticsTotalDiscounts.md) | | [optional] +**CouponsCount** | [**ApplicationCampaignAnalyticsCouponsCount**](ApplicationCampaignAnalyticsCouponsCount.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationCampaignAnalyticsAvgItemsPerSession.md b/docs/ApplicationCampaignAnalyticsAvgItemsPerSession.md new file mode 100644 index 0000000..26089a4 --- /dev/null +++ b/docs/ApplicationCampaignAnalyticsAvgItemsPerSession.md @@ -0,0 +1,12 @@ +# TalonOne.Model.ApplicationCampaignAnalyticsAvgItemsPerSession +The number of items from sessions divided by the number of sessions. The `influenced` value includes only sessions with at least one applied effect. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Value** | **decimal** | | [optional] +**Uplift** | **decimal** | | [optional] +**Trend** | **decimal** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationCampaignAnalyticsAvgSessionValue.md b/docs/ApplicationCampaignAnalyticsAvgSessionValue.md new file mode 100644 index 0000000..df1a12a --- /dev/null +++ b/docs/ApplicationCampaignAnalyticsAvgSessionValue.md @@ -0,0 +1,12 @@ +# TalonOne.Model.ApplicationCampaignAnalyticsAvgSessionValue +The average customer session value, calculated by dividing the revenue value by the number of sessions. The `influenced` value includes only sessions with at least one applied effect. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Value** | **decimal** | | [optional] +**Uplift** | **decimal** | | [optional] +**Trend** | **decimal** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationCampaignAnalyticsCouponsCount.md b/docs/ApplicationCampaignAnalyticsCouponsCount.md new file mode 100644 index 0000000..5390678 --- /dev/null +++ b/docs/ApplicationCampaignAnalyticsCouponsCount.md @@ -0,0 +1,11 @@ +# TalonOne.Model.ApplicationCampaignAnalyticsCouponsCount +The number of times a coupon was successfully redeemed in influenced sessions. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Value** | **decimal** | | [optional] +**Trend** | **decimal** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationCampaignAnalyticsSessionsCount.md b/docs/ApplicationCampaignAnalyticsSessionsCount.md new file mode 100644 index 0000000..7d53785 --- /dev/null +++ b/docs/ApplicationCampaignAnalyticsSessionsCount.md @@ -0,0 +1,12 @@ +# TalonOne.Model.ApplicationCampaignAnalyticsSessionsCount +The number of all closed sessions. The `influenced` value includes only sessions with at least one applied effect. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Value** | **decimal** | | [optional] +**InfluenceRate** | **decimal** | | [optional] +**Trend** | **decimal** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationCampaignAnalyticsTotalDiscounts.md b/docs/ApplicationCampaignAnalyticsTotalDiscounts.md new file mode 100644 index 0000000..bbcecdf --- /dev/null +++ b/docs/ApplicationCampaignAnalyticsTotalDiscounts.md @@ -0,0 +1,11 @@ +# TalonOne.Model.ApplicationCampaignAnalyticsTotalDiscounts +The total value of discounts given for cart items in influenced sessions. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Value** | **decimal** | | [optional] +**Trend** | **decimal** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationCampaignAnalyticsTotalRevenue.md b/docs/ApplicationCampaignAnalyticsTotalRevenue.md new file mode 100644 index 0000000..34b6aa5 --- /dev/null +++ b/docs/ApplicationCampaignAnalyticsTotalRevenue.md @@ -0,0 +1,12 @@ +# TalonOne.Model.ApplicationCampaignAnalyticsTotalRevenue +The total, pre-discount value of all items purchased in a customer session. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Value** | **decimal** | | [optional] +**InfluenceRate** | **decimal** | | [optional] +**Trend** | **decimal** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ApplicationCustomer.md b/docs/ApplicationCustomer.md index a68a767..ca9b832 100644 --- a/docs/ApplicationCustomer.md +++ b/docs/ApplicationCustomer.md @@ -12,8 +12,8 @@ Name | Type | Description | Notes **TotalSales** | **decimal** | The total amount of money spent by the customer **before** discounts are applied. The total sales amount excludes the following: - Cancelled or reopened sessions. - Returned items. | **LoyaltyMemberships** | [**List<LoyaltyMembership>**](LoyaltyMembership.md) | **DEPRECATED** A list of loyalty programs joined by the customer. | [optional] **AudienceMemberships** | [**List<AudienceMembership>**](AudienceMembership.md) | The audiences the customer belongs to. | [optional] -**LastActivity** | **DateTime** | Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. | -**Sandbox** | **bool** | Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). | [optional] +**LastActivity** | **DateTime** | Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. | +**Sandbox** | **bool** | An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). | [optional] **AdvocateIntegrationId** | **string** | The Integration ID of the Customer Profile that referred this Customer in the Application. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/ApplicationEvent.md b/docs/ApplicationEvent.md index 40b89e4..1ae48ea 100644 --- a/docs/ApplicationEvent.md +++ b/docs/ApplicationEvent.md @@ -7,6 +7,8 @@ Name | Type | Description | Notes **Created** | **DateTime** | The time this entity was created. | **ApplicationId** | **int** | The ID of the application that owns this entity. | **ProfileId** | **int** | The globally unique Talon.One ID of the customer that created this entity. | [optional] +**StoreId** | **int** | The ID of the store. | [optional] +**StoreIntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. | [optional] **SessionId** | **int** | The globally unique Talon.One ID of the session that contains this event. | [optional] **Type** | **string** | A string representing the event. Must not be a reserved event name. | **Attributes** | [**Object**](.md) | Additional JSON serialized data associated with the event. | diff --git a/docs/ApplicationSession.md b/docs/ApplicationSession.md index e673ac8..64671f8 100644 --- a/docs/ApplicationSession.md +++ b/docs/ApplicationSession.md @@ -5,13 +5,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Id** | **int** | Internal ID of this entity. | **Created** | **DateTime** | The time this entity was created. The time this entity was created. | +**IntegrationId** | **string** | The integration ID set by your integration layer. | +**StoreIntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. | [optional] **ApplicationId** | **int** | The ID of the application that owns this entity. | **ProfileId** | **int** | The globally unique Talon.One ID of the customer that created this entity. | [optional] -**IntegrationId** | **string** | The integration ID set by your integration layer. | **Profileintegrationid** | **string** | Integration ID of the customer for the session. | [optional] **Coupon** | **string** | Any coupon code entered. | **Referral** | **string** | Any referral code entered. | -**State** | **string** | Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). | +**State** | **string** | Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). | **CartItems** | [**List<CartItem>**](CartItem.md) | Serialized JSON representation. | **Discounts** | **Dictionary<string, decimal>** | **API V1 only.** A map of labeled discount values, in the same currency as the session. If you are using the V2 endpoints, refer to the `totalDiscounts` property instead. | **TotalDiscounts** | **decimal** | The total sum of the discounts applied to this session. | diff --git a/docs/ApplicationStoreEntity.md b/docs/ApplicationStoreEntity.md new file mode 100644 index 0000000..46568e0 --- /dev/null +++ b/docs/ApplicationStoreEntity.md @@ -0,0 +1,9 @@ +# TalonOne.Model.ApplicationStoreEntity +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**StoreId** | **int** | The ID of the store. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/AudienceAnalytics.md b/docs/AudienceAnalytics.md index a2c1e6a..a02ff57 100644 --- a/docs/AudienceAnalytics.md +++ b/docs/AudienceAnalytics.md @@ -1,11 +1,11 @@ # TalonOne.Model.AudienceAnalytics -The audiences and their members count. +The audiences and their member count. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **AudienceId** | **int** | The ID of the audience. | [optional] -**MembersCount** | **int** | The count of members under a single audience. | [optional] +**MembersCount** | **int** | The member count of the audience. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AudienceCustomer.md b/docs/AudienceCustomer.md index 80e344c..f728570 100644 --- a/docs/AudienceCustomer.md +++ b/docs/AudienceCustomer.md @@ -12,8 +12,8 @@ Name | Type | Description | Notes **TotalSales** | **decimal** | The total amount of money spent by the customer **before** discounts are applied. The total sales amount excludes the following: - Cancelled or reopened sessions. - Returned items. | **LoyaltyMemberships** | [**List<LoyaltyMembership>**](LoyaltyMembership.md) | **DEPRECATED** A list of loyalty programs joined by the customer. | [optional] **AudienceMemberships** | [**List<AudienceMembership>**](AudienceMembership.md) | The audiences the customer belongs to. | [optional] -**LastActivity** | **DateTime** | Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. | -**Sandbox** | **bool** | Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). | [optional] +**LastActivity** | **DateTime** | Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. | +**Sandbox** | **bool** | An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). | [optional] **ConnectedApplicationsIds** | **List<int>** | A list of the IDs of the Applications that are connected to this customer profile. | [optional] **ConnectedAudiences** | **List<int>** | A list of the IDs of the audiences that are connected to this customer profile. | [optional] diff --git a/docs/BaseCampaign.md b/docs/BaseCampaign.md index 6a72e07..f547335 100644 --- a/docs/BaseCampaign.md +++ b/docs/BaseCampaign.md @@ -16,6 +16,8 @@ Name | Type | Description | Notes **ReferralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **Limits** | [**List<LimitConfig>**](LimitConfig.md) | The set of [budget limits](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets) for this campaign. | **CampaignGroups** | **List<int>** | The IDs of the [campaign groups](https://docs.talon.one/docs/product/account/managing-campaign-groups) this campaign belongs to. | [optional] +**Type** | **string** | The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. | [optional] [default to TypeEnum.Advanced] +**LinkedStoreIds** | **List<int>** | A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/BaseLoyaltyProgram.md b/docs/BaseLoyaltyProgram.md index a8abbc7..cd87bab 100644 --- a/docs/BaseLoyaltyProgram.md +++ b/docs/BaseLoyaltyProgram.md @@ -11,8 +11,10 @@ Name | Type | Description | Notes **AllowSubledger** | **bool** | Indicates if this program supports subledgers inside the program. | [optional] **UsersPerCardLimit** | **int** | The max amount of user profiles with whom a card can be shared. This can be set to 0 for no limit. This property is only used when `cardBased` is `true`. | [optional] **Sandbox** | **bool** | Indicates if this program is a live or sandbox program. Programs of a given type can only be connected to Applications of the same type. | [optional] -**TiersExpireIn** | **string** | The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. | [optional] +**TiersExpirationPolicy** | **string** | The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. | [optional] +**TiersExpireIn** | **string** | The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. | [optional] **TiersDowngradePolicy** | **string** | Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. | [optional] +**ProgramJoinPolicy** | **string** | The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/BaseNotification.md b/docs/BaseNotification.md index d761a12..305e975 100644 --- a/docs/BaseNotification.md +++ b/docs/BaseNotification.md @@ -4,8 +4,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Policy** | [**Object**](.md) | | +**Enabled** | **bool** | Indicates whether the notification is activated. | [optional] [default to true] **Webhook** | [**BaseNotificationWebhook**](BaseNotificationWebhook.md) | | **Id** | **int** | Unique ID for this entity. | +**Type** | **string** | The notification type. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/BaseNotificationEntity.md b/docs/BaseNotificationEntity.md index e1b1788..8f37010 100644 --- a/docs/BaseNotificationEntity.md +++ b/docs/BaseNotificationEntity.md @@ -4,6 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Policy** | [**Object**](.md) | | +**Enabled** | **bool** | Indicates whether the notification is activated. | [optional] [default to true] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/BaseNotificationWebhook.md b/docs/BaseNotificationWebhook.md index 4b4562b..6644322 100644 --- a/docs/BaseNotificationWebhook.md +++ b/docs/BaseNotificationWebhook.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **Modified** | **DateTime** | The time this entity was last modified. | **Url** | **string** | API URL for the given webhook-based notification. | **Headers** | **List<string>** | List of API HTTP headers for the given webhook-based notification. | +**Enabled** | **bool** | Indicates whether the notification is activated. | [optional] [default to true] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/BulkOperationOnCampaigns.md b/docs/BulkOperationOnCampaigns.md new file mode 100644 index 0000000..5c706e0 --- /dev/null +++ b/docs/BulkOperationOnCampaigns.md @@ -0,0 +1,10 @@ +# TalonOne.Model.BulkOperationOnCampaigns +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Operation** | **string** | The operation to perform on the specified campaign IDs. | +**CampaignIds** | **List<int>** | The list of campaign IDs on which the operation will be performed. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/Campaign.md b/docs/Campaign.md index 072892f..729b745 100644 --- a/docs/Campaign.md +++ b/docs/Campaign.md @@ -20,26 +20,30 @@ Name | Type | Description | Notes **ReferralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **Limits** | [**List<LimitConfig>**](LimitConfig.md) | The set of [budget limits](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets) for this campaign. | **CampaignGroups** | **List<int>** | The IDs of the [campaign groups](https://docs.talon.one/docs/product/account/managing-campaign-groups) this campaign belongs to. | [optional] -**CouponRedemptionCount** | **int** | Number of coupons redeemed in the campaign. | [optional] -**ReferralRedemptionCount** | **int** | Number of referral codes redeemed in the campaign. | [optional] -**DiscountCount** | **decimal** | Total amount of discounts redeemed in the campaign. | [optional] -**DiscountEffectCount** | **int** | Total number of times discounts were redeemed in this campaign. | [optional] -**CouponCreationCount** | **int** | Total number of coupons created by rules in this campaign. | [optional] -**CustomEffectCount** | **int** | Total number of custom effects triggered by rules in this campaign. | [optional] -**ReferralCreationCount** | **int** | Total number of referrals created by rules in this campaign. | [optional] -**AddFreeItemEffectCount** | **int** | Total number of times triggering add free item effext is allowed in this campaign. | [optional] -**AwardedGiveawaysCount** | **int** | Total number of giveaways awarded by rules in this campaign. | [optional] -**CreatedLoyaltyPointsCount** | **decimal** | Total number of loyalty points created by rules in this campaign. | [optional] -**CreatedLoyaltyPointsEffectCount** | **int** | Total number of loyalty point creation effects triggered by rules in this campaign. | [optional] -**RedeemedLoyaltyPointsCount** | **decimal** | Total number of loyalty points redeemed by rules in this campaign. | [optional] -**RedeemedLoyaltyPointsEffectCount** | **int** | Total number of loyalty point redemption effects triggered by rules in this campaign. | [optional] -**CallApiEffectCount** | **int** | Total number of webhook triggered by rules in this campaign. | [optional] -**ReservecouponEffectCount** | **int** | Total number of reserve coupon effects triggered by rules in this campaign. | [optional] +**Type** | **string** | The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. | [default to TypeEnum.Advanced] +**LinkedStoreIds** | **List<int>** | A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. | [optional] +**Budgets** | [**List<CampaignBudget>**](CampaignBudget.md) | A list of all the budgets that are defined by this campaign and their usage. **Note:** Budgets that are not defined do not appear in this list and their usage is not counted until they are defined. | +**CouponRedemptionCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Number of coupons redeemed in the campaign. | [optional] +**ReferralRedemptionCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Number of referral codes redeemed in the campaign. | [optional] +**DiscountCount** | **decimal** | This property is **deprecated**. The count should be available under *budgets* property. Total amount of discounts redeemed in the campaign. | [optional] +**DiscountEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of times discounts were redeemed in this campaign. | [optional] +**CouponCreationCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of coupons created by rules in this campaign. | [optional] +**CustomEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of custom effects triggered by rules in this campaign. | [optional] +**ReferralCreationCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of referrals created by rules in this campaign. | [optional] +**AddFreeItemEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of times the [add free item effect](https://docs.talon.one/docs/dev/integration-api/api-effects#addfreeitem) can be triggered in this campaign. | [optional] +**AwardedGiveawaysCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of giveaways awarded by rules in this campaign. | [optional] +**CreatedLoyaltyPointsCount** | **decimal** | This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points created by rules in this campaign. | [optional] +**CreatedLoyaltyPointsEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point creation effects triggered by rules in this campaign. | [optional] +**RedeemedLoyaltyPointsCount** | **decimal** | This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points redeemed by rules in this campaign. | [optional] +**RedeemedLoyaltyPointsEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point redemption effects triggered by rules in this campaign. | [optional] +**CallApiEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of webhooks triggered by rules in this campaign. | [optional] +**ReservecouponEffectCount** | **int** | This property is **deprecated**. The count should be available under *budgets* property. Total number of reserve coupon effects triggered by rules in this campaign. | [optional] **LastActivity** | **DateTime** | Timestamp of the most recent event received by this campaign. | [optional] **Updated** | **DateTime** | Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are **not** registered by this property, such as collection or coupon updates. | [optional] **CreatedBy** | **string** | Name of the user who created this campaign if available. | [optional] **UpdatedBy** | **string** | Name of the user who last updated this campaign if available. | [optional] **TemplateId** | **int** | The ID of the Campaign Template this Campaign was created from. | [optional] +**FrontendState** | **string** | A campaign state described exactly as in the Campaign Manager. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CampaignBudget.md b/docs/CampaignBudget.md new file mode 100644 index 0000000..bc79876 --- /dev/null +++ b/docs/CampaignBudget.md @@ -0,0 +1,11 @@ +# TalonOne.Model.CampaignBudget +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Action** | **string** | The limitable action to which this limit applies. For example: - `setDiscount` - `setDiscountEffect` - `redeemCoupon` - `createCoupon` | +**Limit** | **decimal** | The value to set for the limit. | +**Counter** | **decimal** | The number of occurrences of the limited action in the context of the campaign. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CampaignEvaluationGroup.md b/docs/CampaignEvaluationGroup.md index 28e9f66..8e1643d 100644 --- a/docs/CampaignEvaluationGroup.md +++ b/docs/CampaignEvaluationGroup.md @@ -7,7 +7,8 @@ Name | Type | Description | Notes **Name** | **string** | The name of the campaign evaluation group. | **ParentId** | **int** | The ID of the parent group that contains the campaign evaluation group. | **Description** | **string** | A description of the campaign evaluation group. | [optional] -**EvaluationMode** | **string** | | +**EvaluationMode** | **string** | The mode by which campaigns in the campaign evaluation group are evaluated. | +**EvaluationScope** | **string** | The evaluation scope of the campaign evaluation group. | **Locked** | **bool** | An indicator of whether the campaign evaluation group is locked for modification. | **Id** | **int** | Unique ID for this entity. Not to be confused with the Integration ID, which is set by your integration layer and used in most endpoints. | diff --git a/docs/CampaignGroup.md b/docs/CampaignGroup.md index bba507f..882eb87 100644 --- a/docs/CampaignGroup.md +++ b/docs/CampaignGroup.md @@ -7,10 +7,10 @@ Name | Type | Description | Notes **Created** | **DateTime** | The time this entity was created. | **Modified** | **DateTime** | The time this entity was last modified. | **AccountId** | **int** | The ID of the account that owns this entity. | -**Name** | **string** | The name of this campaign group. | -**Description** | **string** | A longer description of the campaign group. | [optional] -**SubscribedApplicationsIds** | **List<int>** | A list of the IDs of the applications that this campaign group is enabled for. | [optional] -**CampaignIds** | **List<int>** | A list of the IDs of the campaigns that this campaign group owns. | [optional] +**Name** | **string** | The name of the campaign access group. | +**Description** | **string** | A longer description of the campaign access group. | [optional] +**SubscribedApplicationsIds** | **List<int>** | A list of IDs of the Applications that this campaign access group is enabled for. | [optional] +**CampaignIds** | **List<int>** | A list of IDs of the campaigns that are part of the campaign access group. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CampaignNotificationPolicy.md b/docs/CampaignNotificationPolicy.md new file mode 100644 index 0000000..5f241f8 --- /dev/null +++ b/docs/CampaignNotificationPolicy.md @@ -0,0 +1,9 @@ +# TalonOne.Model.CampaignNotificationPolicy +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | Notification name. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CampaignSetBranchNode.md b/docs/CampaignSetBranchNode.md index 5d6c060..d1d431a 100644 --- a/docs/CampaignSetBranchNode.md +++ b/docs/CampaignSetBranchNode.md @@ -10,7 +10,8 @@ Name | Type | Description | Notes **GroupId** | **int** | The ID of the campaign set. | **Locked** | **bool** | An indicator of whether the campaign set is locked for modification. | **Description** | **string** | A description of the campaign set. | [optional] -**EvaluationMode** | **string** | | +**EvaluationMode** | **string** | The mode by which campaigns in the campaign evaluation group are evaluated. | +**EvaluationScope** | **string** | The evaluation scope of the campaign evaluation group. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CampaignTemplate.md b/docs/CampaignTemplate.md index 2f328fc..c821b5a 100644 --- a/docs/CampaignTemplate.md +++ b/docs/CampaignTemplate.md @@ -23,6 +23,7 @@ Name | Type | Description | Notes **ApplicationsIds** | **List<int>** | A list of IDs of the Applications that are subscribed to this campaign template. | **CampaignCollections** | [**List<CampaignTemplateCollection>**](CampaignTemplateCollection.md) | The campaign collections from the blueprint campaign for the template. | [optional] **DefaultCampaignGroupId** | **int** | The default campaign group ID. | [optional] +**CampaignType** | **string** | The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. | [default to CampaignTypeEnum.Advanced] **Updated** | **DateTime** | Timestamp of the most recent update to the campaign template or any of its elements. | [optional] **UpdatedBy** | **string** | Name of the user who last updated this campaign template, if available. | [optional] **ValidApplicationIds** | **List<int>** | The IDs of the Applications that are related to this entity. | diff --git a/docs/CardExpiringPointsNotificationPolicy.md b/docs/CardExpiringPointsNotificationPolicy.md new file mode 100644 index 0000000..1f9edd0 --- /dev/null +++ b/docs/CardExpiringPointsNotificationPolicy.md @@ -0,0 +1,11 @@ +# TalonOne.Model.CardExpiringPointsNotificationPolicy +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | Notification name. | +**Triggers** | [**List<CardExpiringPointsNotificationTrigger>**](CardExpiringPointsNotificationTrigger.md) | | +**BatchingEnabled** | **bool** | Indicates whether batching is activated. | [optional] [default to true] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CardExpiringPointsNotificationTrigger.md b/docs/CardExpiringPointsNotificationTrigger.md new file mode 100644 index 0000000..cbb6cb7 --- /dev/null +++ b/docs/CardExpiringPointsNotificationTrigger.md @@ -0,0 +1,10 @@ +# TalonOne.Model.CardExpiringPointsNotificationTrigger +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Amount** | **int** | The amount of period. | +**Period** | **string** | Notification period indicated by a letter; \"w\" means week, \"d\" means day. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CardLedgerPointsEntryIntegrationAPI.md b/docs/CardLedgerPointsEntryIntegrationAPI.md new file mode 100644 index 0000000..c6b10f6 --- /dev/null +++ b/docs/CardLedgerPointsEntryIntegrationAPI.md @@ -0,0 +1,19 @@ +# TalonOne.Model.CardLedgerPointsEntryIntegrationAPI +Loyalty card points with start and expiry dates. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **int** | ID of the transaction that adds loyalty points. | +**Created** | **DateTime** | Date and time the loyalty card points were added. | +**ProgramId** | **int** | ID of the loyalty program. | +**CustomerProfileID** | **string** | Integration ID of the customer profile linked to the card. | [optional] +**CustomerSessionId** | **string** | ID of the customer session where points were added. | [optional] +**Name** | **string** | Name or reason of the transaction that adds loyalty points. | +**StartDate** | **string** | When points become active. Possible values: - `immediate`: Points are active immediately. - `timestamp value`: Points become active at a given date and time. | +**ExpiryDate** | **string** | Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date and time. | +**SubledgerId** | **string** | ID of the subledger. | +**Amount** | **decimal** | Amount of loyalty points added in the transaction. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CartItem.md b/docs/CartItem.md index 495a9d9..a24df0f 100644 --- a/docs/CartItem.md +++ b/docs/CartItem.md @@ -5,11 +5,12 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | Name of item. | [optional] **Sku** | **string** | Stock keeping unit of item. | -**Quantity** | **int** | Quantity of item. **Important:** If you enabled [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening), the quantity is always one and the same cart item might receive multiple per-item discounts. Ensure you can process multiple discounts on one cart item correctly. | +**Quantity** | **int** | Number of units of this item. Due to [cart item flattening](https://docs.talon.one/docs/product/rules/understanding-cart-item-flattening), if you provide a quantity greater than 1, the item will be split in as many items as the provided quantity. This will impact the number of **per-item** effects triggered from your campaigns. | **ReturnedQuantity** | **int** | Number of returned items, calculated internally based on returns of this item. | [optional] **RemainingQuantity** | **int** | Remaining quantity of the item, calculated internally based on returns of this item. | [optional] **Price** | **decimal** | Price of the item in the currency defined by your Application. This field is required if this item is not part of a [catalog](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). If it is part of a catalog, setting a price here overrides the price from the catalog. | [optional] **Category** | **string** | Type, group or model of the item. | [optional] +**Product** | [**Product**](Product.md) | | [optional] **Weight** | **decimal** | Weight of item in grams. | [optional] **Height** | **decimal** | Height of item in mm. | [optional] **Width** | **decimal** | Width of item in mm. | [optional] @@ -17,7 +18,7 @@ Name | Type | Description | Notes **Position** | **decimal** | Position of the Cart Item in the Cart (calculated internally). | [optional] **Attributes** | [**Object**](.md) | Use this property to set a value for the attributes of your choice. [Attributes](https://docs.talon.one/docs/dev/concepts/attributes) represent any information to attach to this cart item. Custom _cart item_ attributes must be created in the Campaign Manager before you set them with this property. | [optional] **AdditionalCosts** | [**Dictionary<string, AdditionalCost>**](AdditionalCost.md) | Use this property to set a value for the additional costs of this item, such as a shipping cost. They must be created in the Campaign Manager before you set them with this property. See [Managing additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). | [optional] -**CatalogItemID** | **int** | The [catalog item ID](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs/#synchronizing-cart-item-catalogs). | [optional] +**CatalogItemID** | **int** | The [catalog item ID](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs/#synchronizing-a-cart-item-catalog). | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CatalogItem.md b/docs/CatalogItem.md index 782bab7..ba95ad1 100644 --- a/docs/CatalogItem.md +++ b/docs/CatalogItem.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **Catalogid** | **int** | The ID of the catalog the item belongs to. | **Version** | **int** | The version of the catalog item. | **Attributes** | [**List<ItemAttribute>**](ItemAttribute.md) | | [optional] +**Product** | [**Product**](Product.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/ChangeLoyaltyTierLevelEffectProps.md b/docs/ChangeLoyaltyTierLevelEffectProps.md new file mode 100644 index 0000000..7d127cd --- /dev/null +++ b/docs/ChangeLoyaltyTierLevelEffectProps.md @@ -0,0 +1,15 @@ +# TalonOne.Model.ChangeLoyaltyTierLevelEffectProps +The properties specific to the \"changeLoyaltyTierLevel\" effect. This is triggered whenever the user's loyalty tier is upgraded due to a validated rule that contained an \"addLoyaltyPoints\" effect. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**RuleTitle** | **string** | The title of the rule that triggered the tier upgrade. | +**ProgramId** | **int** | The ID of the loyalty program where these points were added. | +**SubLedgerId** | **string** | The ID of the subledger within the loyalty program where these points were added. | +**PreviousTierName** | **string** | The name of the tier from which the user was upgraded. | [optional] +**NewTierName** | **string** | The name of the tier to which the user has been upgraded. | +**ExpiryDate** | **DateTime** | The expiration date of the new tier. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/Coupon.md b/docs/Coupon.md index 36d64a0..90a7a66 100644 --- a/docs/Coupon.md +++ b/docs/Coupon.md @@ -21,9 +21,10 @@ Name | Type | Description | Notes **ReferralId** | **int** | The integration ID of the referring customer (if any) for whom this coupon was created as an effect. | [optional] **RecipientIntegrationId** | **string** | The Integration ID of the customer that is allowed to redeem this coupon. | [optional] **ImportId** | **int** | The ID of the Import which created this coupon. | [optional] -**Reservation** | **bool** | Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. | [optional] [default to true] +**Reservation** | **bool** | Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. | [optional] [default to true] **BatchId** | **string** | The id of the batch the coupon belongs to. | [optional] -**IsReservationMandatory** | **bool** | Whether the reservation effect actually created a new reservation. | [optional] [default to true] +**IsReservationMandatory** | **bool** | An indication of whether the code can be redeemed only if it has been reserved first. | [optional] [default to false] +**ImplicitlyReserved** | **bool** | An indication of whether the coupon is implicitly reserved for all customers. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CouponCreationJob.md b/docs/CouponCreationJob.md index 45ddb15..ac3d9f1 100644 --- a/docs/CouponCreationJob.md +++ b/docs/CouponCreationJob.md @@ -17,7 +17,7 @@ Name | Type | Description | Notes **CouponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **Attributes** | [**Object**](.md) | Arbitrary properties associated with coupons. | **BatchId** | **string** | The batch ID coupons created by this job will bear. | -**Status** | **string** | The current status of this request. Possible values: - `pending` - `completed` - `failed` - `coupon pattern full` | +**Status** | **string** | The current status of this request. Possible values: - `pending verification` - `pending` - `completed` - `failed` - `coupon pattern full` | **CreatedAmount** | **int** | The number of coupon codes that were already created for this request. | **FailCount** | **int** | The number of times this job failed. | **Errors** | **List<string>** | An array of individual problems encountered during the request. | diff --git a/docs/CouponsNotificationPolicy.md b/docs/CouponsNotificationPolicy.md index 507e03d..dd798f2 100644 --- a/docs/CouponsNotificationPolicy.md +++ b/docs/CouponsNotificationPolicy.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | Notification name. | **Scopes** | **List<string>** | | +**BatchingEnabled** | **bool** | Indicates whether batching is activated. | [optional] [default to true] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CreateAchievement.md b/docs/CreateAchievement.md new file mode 100644 index 0000000..03827e0 --- /dev/null +++ b/docs/CreateAchievement.md @@ -0,0 +1,14 @@ +# TalonOne.Model.CreateAchievement +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created. | +**Title** | **string** | The display name for the achievement in the Campaign Manager. | +**Description** | **string** | A description of the achievement. | +**Target** | **decimal** | The required number of actions or the transactional milestone to complete the achievement. | +**Period** | **string** | The relative duration after which the achievement ends and resets for a particular customer profile. **Note**: The `period` does not start when the achievement is created. The period is a **positive real number** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can also round certain units down to the beginning of period and up to the end of period.: - `_D` for rounding down days only. Signifies the start of the day. Example: `30D_D` - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. Example: `23W_U` **Note**: You can either use the round down and round up option or set an absolute period. | +**PeriodEndOverride** | [**TimePoint**](TimePoint.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CreateApplicationAPIKey.md b/docs/CreateApplicationAPIKey.md index 0b1c90a..1dc77ed 100644 --- a/docs/CreateApplicationAPIKey.md +++ b/docs/CreateApplicationAPIKey.md @@ -3,9 +3,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Title** | **string** | Title for API Key. | -**Expires** | **DateTime** | The date the API key expired. | +**Title** | **string** | Title of the API key. | +**Expires** | **DateTime** | The date the API key expires. | **Platform** | **string** | The third-party platform the API key is valid for. Use `none` for a generic API key to be used from your own integration layer. | [optional] +**Type** | **string** | The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. | [optional] +**TimeOffset** | **int** | A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CreateTemplateCampaign.md b/docs/CreateTemplateCampaign.md index c62ab5b..717af00 100644 --- a/docs/CreateTemplateCampaign.md +++ b/docs/CreateTemplateCampaign.md @@ -12,6 +12,7 @@ Name | Type | Description | Notes **CampaignGroups** | **List<int>** | The IDs of the [campaign groups](https://docs.talon.one/docs/product/account/account-settings/managing-campaign-groups) this campaign belongs to. | [optional] **Tags** | **List<string>** | A list of tags for the campaign. If the campaign template has tags, they will be overridden by this list. | [optional] **EvaluationGroupId** | **int** | The ID of the campaign evaluation group the campaign belongs to. | [optional] +**LinkedStoreIds** | **List<int>** | A list of store IDs that are linked to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CustomEffectProps.md b/docs/CustomEffectProps.md index 6a38250..ee59087 100644 --- a/docs/CustomEffectProps.md +++ b/docs/CustomEffectProps.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes **EffectId** | **int** | The ID of the custom effect that was triggered. | **Name** | **string** | The type of the custom effect. | **CartItemPosition** | **decimal** | The index of the item in the cart item list to which the custom effect is applied. | [optional] -**CartItemSubPosition** | **decimal** | When cart item flattening is enabled, the sub position indicates to which item unit the custom effect is applied, for cart items with quantity > 1. | [optional] +**CartItemSubPosition** | **decimal** | For cart items with quantity > 1, the sub position indicates to which item unit the custom effect is applied. | [optional] **BundleIndex** | **int** | The position of the bundle in a list of item bundles created from the same bundle definition. | [optional] **BundleName** | **string** | The name of the bundle definition. | [optional] **Payload** | [**Object**](.md) | The JSON payload of the custom effect. | diff --git a/docs/CustomerInventory.md b/docs/CustomerInventory.md index 516ea9e..beddbd5 100644 --- a/docs/CustomerInventory.md +++ b/docs/CustomerInventory.md @@ -6,8 +6,9 @@ Name | Type | Description | Notes **Profile** | [**CustomerProfile**](CustomerProfile.md) | | [optional] **Loyalty** | [**Loyalty**](Loyalty.md) | | [optional] **Referrals** | [**List<InventoryReferral>**](InventoryReferral.md) | | [optional] -**Coupons** | [**List<InventoryCoupon>**](InventoryCoupon.md) | The coupons reserved by this profile. This array includes hard and soft reservations. See each coupon's `reservation` property. | [optional] +**Coupons** | [**List<InventoryCoupon>**](InventoryCoupon.md) | The coupons reserved by this profile. This array includes hard and soft reservations. | [optional] **Giveaways** | [**List<Giveaway>**](Giveaway.md) | | [optional] +**Achievements** | [**List<AchievementProgress>**](AchievementProgress.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CustomerProfile.md b/docs/CustomerProfile.md index 7c578cd..fc4880e 100644 --- a/docs/CustomerProfile.md +++ b/docs/CustomerProfile.md @@ -12,8 +12,8 @@ Name | Type | Description | Notes **TotalSales** | **decimal** | The total amount of money spent by the customer **before** discounts are applied. The total sales amount excludes the following: - Cancelled or reopened sessions. - Returned items. | **LoyaltyMemberships** | [**List<LoyaltyMembership>**](LoyaltyMembership.md) | **DEPRECATED** A list of loyalty programs joined by the customer. | [optional] **AudienceMemberships** | [**List<AudienceMembership>**](AudienceMembership.md) | The audiences the customer belongs to. | [optional] -**LastActivity** | **DateTime** | Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. | -**Sandbox** | **bool** | Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). | [optional] +**LastActivity** | **DateTime** | Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. | +**Sandbox** | **bool** | An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CustomerProfileAudienceRequestItem.md b/docs/CustomerProfileAudienceRequestItem.md index 1f9e284..1303fad 100644 --- a/docs/CustomerProfileAudienceRequestItem.md +++ b/docs/CustomerProfileAudienceRequestItem.md @@ -3,7 +3,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Action** | **string** | Defines the action to perform: - `add`: Adds the customer profile to the audience. - `delete`: Removes the customer profile from the audience. | +**Action** | **string** | Defines the action to perform: - `add`: Adds the customer profile to the audience. If the customer profile does not exist, it will be created. - `delete`: Removes the customer profile from the audience. | **ProfileIntegrationId** | **string** | The ID of this customer profile in the third-party integration. | **AudienceId** | **int** | The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). | diff --git a/docs/CustomerProfileIntegrationResponseV2.md b/docs/CustomerProfileIntegrationResponseV2.md new file mode 100644 index 0000000..be6aede --- /dev/null +++ b/docs/CustomerProfileIntegrationResponseV2.md @@ -0,0 +1,18 @@ +# TalonOne.Model.CustomerProfileIntegrationResponseV2 +This is the response type returned by the updateCustomerProfileV2 endpoint. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**CustomerProfile** | [**CustomerProfile**](CustomerProfile.md) | | [optional] +**Event** | [**Event**](Event.md) | | [optional] +**Loyalty** | [**Loyalty**](Loyalty.md) | | [optional] +**TriggeredCampaigns** | [**List<Campaign>**](Campaign.md) | | [optional] +**RuleFailureReasons** | [**List<RuleFailureReason>**](RuleFailureReason.md) | | [optional] +**AwardedGiveaways** | [**List<Giveaway>**](Giveaway.md) | | [optional] +**Effects** | [**List<Effect>**](Effect.md) | The effects generated by the rules in your running campaigns. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). | +**CreatedCoupons** | [**List<Coupon>**](Coupon.md) | | +**CreatedReferrals** | [**List<Referral>**](Referral.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CustomerSession.md b/docs/CustomerSession.md index dc8f161..3d2eec7 100644 --- a/docs/CustomerSession.md +++ b/docs/CustomerSession.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **ProfileId** | **string** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. | **Coupon** | **string** | Any coupon code entered. | **Referral** | **string** | Any referral code entered. | -**State** | **string** | Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). | [default to StateEnum.Open] +**State** | **string** | Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). | [default to StateEnum.Open] **CartItems** | [**List<CartItem>**](CartItem.md) | Serialized JSON representation. | **Identifiers** | **List<string>** | Session custom identifiers that you can set limits on or use inside your rules. For example, you can use IP addresses as identifiers to potentially identify devices and limit discounts abuse in case of customers creating multiple accounts. See the [tutorial](https://docs.talon.one/docs/dev/tutorials/using-identifiers). | [optional] **Total** | **decimal** | The total sum of the cart in one session. | diff --git a/docs/CustomerSessionV2.md b/docs/CustomerSessionV2.md index 8cc8b07..ed4972a 100644 --- a/docs/CustomerSessionV2.md +++ b/docs/CustomerSessionV2.md @@ -8,19 +8,20 @@ Name | Type | Description | Notes **IntegrationId** | **string** | The integration ID set by your integration layer. | **ApplicationId** | **int** | The ID of the application that owns this entity. | **ProfileId** | **string** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. | +**StoreIntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. | [optional] **EvaluableCampaignIds** | **List<int>** | When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. | [optional] **CouponCodes** | **List<string>** | Any coupon codes entered. **Important**: If you [create a coupon budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a coupon code by the time you close it. | [optional] **ReferralCode** | **string** | Any referral code entered. **Important**: If you [create a referral budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a referral code by the time you close it. | [optional] -**LoyaltyCards** | **List<string>** | Any loyalty cards used. | [optional] -**State** | **string** | Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). | [default to StateEnum.Open] -**CartItems** | [**List<CartItem>**](CartItem.md) | The items to add to this sessions. - If cart item flattening is disabled: **Do not exceed 1000 items** (regardless of their `quantity`) per request. - If cart item flattening is enabled: **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. | +**LoyaltyCards** | **List<string>** | Identifier of a loyalty card. | [optional] +**State** | **string** | Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). | [default to StateEnum.Open] +**CartItems** | [**List<CartItem>**](CartItem.md) | The items to add to this session. **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. | **AdditionalCosts** | [**Dictionary<string, AdditionalCost>**](AdditionalCost.md) | Use this property to set a value for the additional costs of this session, such as a shipping cost. They must be created in the Campaign Manager before you set them with this property. See [Managing additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). | [optional] **Identifiers** | **List<string>** | Session custom identifiers that you can set limits on or use inside your rules. For example, you can use IP addresses as identifiers to potentially identify devices and limit discounts abuse in case of customers creating multiple accounts. See the [tutorial](https://docs.talon.one/docs/dev/tutorials/using-identifiers). **Important**: Ensure the session contains an identifier by the time you close it if: - You [create a unique identifier budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign. - Your campaign has [coupons](https://docs.talon.one/docs/product/campaigns/coupons/coupon-page-overview). | [optional] **Attributes** | [**Object**](.md) | Use this property to set a value for the attributes of your choice. Attributes represent any information to attach to your session, like the shipping city. You can use [built-in attributes](https://docs.talon.one/docs/dev/concepts/attributes#built-in-attributes) or [custom ones](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes). Custom attributes must be created in the Campaign Manager before you set them with this property. | **FirstSession** | **bool** | Indicates whether this is the first session for the customer's profile. Will always be true for anonymous sessions. | -**Total** | **decimal** | The total sum of cart-items, as well as additional costs, before any discounts applied. | -**CartItemTotal** | **decimal** | The total sum of cart-items before any discounts applied. | -**AdditionalCostTotal** | **decimal** | The total sum of additional costs before any discounts applied. | +**Total** | **decimal** | The total value of cart items and additional costs in the session, before any discounts are applied. | +**CartItemTotal** | **decimal** | The total value of cart items, before any discounts are applied. | +**AdditionalCostTotal** | **decimal** | The total value of additional costs, before any discounts are applied. | **Updated** | **DateTime** | Timestamp of the most recent event received on this session. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/DeactivateUserRequest.md b/docs/DeactivateUserRequest.md new file mode 100644 index 0000000..b585d9d --- /dev/null +++ b/docs/DeactivateUserRequest.md @@ -0,0 +1,9 @@ +# TalonOne.Model.DeactivateUserRequest +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Email** | **string** | The email address associated with the user profile. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/DeleteUserRequest.md b/docs/DeleteUserRequest.md new file mode 100644 index 0000000..7b1b51c --- /dev/null +++ b/docs/DeleteUserRequest.md @@ -0,0 +1,9 @@ +# TalonOne.Model.DeleteUserRequest +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Email** | **string** | The email address associated with the user profile. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/Effect.md b/docs/Effect.md index b9d592a..1bbc1e5 100644 --- a/docs/Effect.md +++ b/docs/Effect.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **EffectType** | **string** | The type of effect that was triggered. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). | **TriggeredByCoupon** | **int** | The ID of the coupon that was being evaluated when this effect was triggered. | [optional] **TriggeredForCatalogItem** | **int** | The ID of the catalog item that was being evaluated when this effect was triggered. | [optional] +**ConditionIndex** | **int** | The index of the condition that was triggered. | [optional] **Props** | [**Object**](.md) | The properties of the effect. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/EffectEntity.md b/docs/EffectEntity.md index acfffd2..110f8d2 100644 --- a/docs/EffectEntity.md +++ b/docs/EffectEntity.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **EffectType** | **string** | The type of effect that was triggered. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). | **TriggeredByCoupon** | **int** | The ID of the coupon that was being evaluated when this effect was triggered. | [optional] **TriggeredForCatalogItem** | **int** | The ID of the catalog item that was being evaluated when this effect was triggered. | [optional] +**ConditionIndex** | **int** | The index of the condition that was triggered. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/EmailEntity.md b/docs/EmailEntity.md index ea82605..19e089b 100644 --- a/docs/EmailEntity.md +++ b/docs/EmailEntity.md @@ -3,7 +3,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Email** | **string** | The email address associated with your account. | +**Email** | **string** | The email address associated with the user profile. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/Environment.md b/docs/Environment.md index 475a5a6..5a55721 100644 --- a/docs/Environment.md +++ b/docs/Environment.md @@ -12,6 +12,7 @@ Name | Type | Description | Notes **Variables** | **string** | A stringified version of the environment's Talang variables scope. | **GiveawaysPools** | [**List<GiveawaysPool>**](GiveawaysPool.md) | The giveaways pools that the application is subscribed to. | [optional] **LoyaltyPrograms** | [**List<LoyaltyProgram>**](LoyaltyProgram.md) | The loyalty programs that the application is subscribed to. | [optional] +**Achievements** | [**List<Achievement>**](Achievement.md) | The achievements, linked to the campaigns, belonging to the application. | [optional] **Attributes** | [**List<Attribute>**](Attribute.md) | The attributes that the application is subscribed to. | [optional] **AdditionalCosts** | [**List<AccountAdditionalCost>**](AccountAdditionalCost.md) | The additional costs that the application is subscribed to. | [optional] **Audiences** | [**List<Audience>**](Audience.md) | The audiences contained in the account which the application belongs to. | [optional] diff --git a/docs/Event.md b/docs/Event.md index 3d058e9..0568b57 100644 --- a/docs/Event.md +++ b/docs/Event.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes **Created** | **DateTime** | The time this entity was created. | **ApplicationId** | **int** | The ID of the application that owns this entity. | **ProfileId** | **string** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. | [optional] +**StoreIntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. | [optional] **Type** | **string** | A string representing the event. Must not be a reserved event name. | **Attributes** | [**Object**](.md) | Arbitrary additional JSON data associated with the event. | **SessionId** | **string** | The ID of the session that this event occurred in. | [optional] diff --git a/docs/EventV2.md b/docs/EventV2.md index ea923e1..00510a6 100644 --- a/docs/EventV2.md +++ b/docs/EventV2.md @@ -4,9 +4,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **ProfileId** | **string** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. | [optional] +**StoreIntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. | [optional] **EvaluableCampaignIds** | **List<int>** | When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. | [optional] -**Type** | **string** | A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event) of type `event` in the Campaign Manager. | -**Attributes** | [**Object**](.md) | Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-custom-attributes). | [optional] +**Type** | **string** | A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. | +**Attributes** | [**Object**](.md) | Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute). | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/ExpiringCouponsNotificationPolicy.md b/docs/ExpiringCouponsNotificationPolicy.md new file mode 100644 index 0000000..4f3f5a6 --- /dev/null +++ b/docs/ExpiringCouponsNotificationPolicy.md @@ -0,0 +1,11 @@ +# TalonOne.Model.ExpiringCouponsNotificationPolicy +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | Notification name. | +**Triggers** | [**List<ExpiringCouponsNotificationTrigger>**](ExpiringCouponsNotificationTrigger.md) | | +**BatchingEnabled** | **bool** | Indicates whether batching is activated. | [optional] [default to true] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ExpiringCouponsNotificationTrigger.md b/docs/ExpiringCouponsNotificationTrigger.md new file mode 100644 index 0000000..41075d7 --- /dev/null +++ b/docs/ExpiringCouponsNotificationTrigger.md @@ -0,0 +1,10 @@ +# TalonOne.Model.ExpiringCouponsNotificationTrigger +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Amount** | **int** | The amount of period. | +**Period** | **string** | Notification period indicated by a letter; \"w\" means week, \"d\" means day. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ExpiringPointsNotificationPolicy.md b/docs/ExpiringPointsNotificationPolicy.md index af28a83..7357754 100644 --- a/docs/ExpiringPointsNotificationPolicy.md +++ b/docs/ExpiringPointsNotificationPolicy.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | Notification name. | **Triggers** | [**List<ExpiringPointsNotificationTrigger>**](ExpiringPointsNotificationTrigger.md) | | +**BatchingEnabled** | **bool** | Indicates whether batching is activated. | [optional] [default to true] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/FuncArgDef.md b/docs/FuncArgDef.md index 5e4e951..fd8949f 100644 --- a/docs/FuncArgDef.md +++ b/docs/FuncArgDef.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Type** | **string** | The type of value this argument expects. | -**Description** | **string** | A campaigner-friendly description of the argument, this will also be shown in the rule editor. | +**Description** | **string** | A campaigner-friendly description of the argument, this will also be shown in the rule editor. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetIntegrationCouponRequest.md b/docs/GetIntegrationCouponRequest.md new file mode 100644 index 0000000..a96d602 --- /dev/null +++ b/docs/GetIntegrationCouponRequest.md @@ -0,0 +1,10 @@ +# TalonOne.Model.GetIntegrationCouponRequest +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**CampaignIds** | **List<int>** | A list of IDs of the campaigns to get coupons from. | +**Limit** | **int** | The maximum number of coupons included in the response. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/IncreaseAchievementProgressEffectProps.md b/docs/IncreaseAchievementProgressEffectProps.md new file mode 100644 index 0000000..997bb96 --- /dev/null +++ b/docs/IncreaseAchievementProgressEffectProps.md @@ -0,0 +1,16 @@ +# TalonOne.Model.IncreaseAchievementProgressEffectProps +The properties specific to the \"increaseAchievementProgress\" effect. This gets triggered whenever a validated rule contained an \"increase customer progress\" effect. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AchievementId** | **int** | The internal ID of the achievement. | +**AchievementName** | **string** | The name of the achievement. | +**ProgressTrackerId** | **int** | The internal ID of the achievement progress tracker. | [optional] +**Delta** | **decimal** | The value by which the customer's current progress in the achievement is increased. | +**Value** | **decimal** | The current progress of the customer in the achievement. | +**Target** | **decimal** | The required number of actions or the transactional milestone to complete the achievement. | +**IsJustCompleted** | **bool** | Indicates if the customer has completed the achievement in the current session. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/InlineResponse20010.md b/docs/InlineResponse20010.md index 53a0bed..862633c 100644 --- a/docs/InlineResponse20010.md +++ b/docs/InlineResponse20010.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **HasMore** | **bool** | | -**Data** | [**List<CampaignTemplate>**](CampaignTemplate.md) | | +**Data** | [**List<Referral>**](Referral.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20011.md b/docs/InlineResponse20011.md index 0253872..86588e6 100644 --- a/docs/InlineResponse20011.md +++ b/docs/InlineResponse20011.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **TotalResultSize** | **int** | | -**Data** | [**List<LoyaltyProgram>**](LoyaltyProgram.md) | | +**Data** | [**List<CampaignGroup>**](CampaignGroup.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20012.md b/docs/InlineResponse20012.md index 300f6f4..71e2946 100644 --- a/docs/InlineResponse20012.md +++ b/docs/InlineResponse20012.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **HasMore** | **bool** | | -**Data** | [**List<LoyaltyProgramTransaction>**](LoyaltyProgramTransaction.md) | | +**Data** | [**List<CampaignTemplate>**](CampaignTemplate.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20013.md b/docs/InlineResponse20013.md index 544b995..659ec5c 100644 --- a/docs/InlineResponse20013.md +++ b/docs/InlineResponse20013.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**HasMore** | **bool** | | -**Data** | [**List<LoyaltyCard>**](LoyaltyCard.md) | | +**TotalResultSize** | **int** | | +**Data** | [**List<LoyaltyProgram>**](LoyaltyProgram.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20014.md b/docs/InlineResponse20014.md index ae6ee95..e4047d7 100644 --- a/docs/InlineResponse20014.md +++ b/docs/InlineResponse20014.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**HasMore** | **bool** | true means there is more data in the source collection to request.. | -**Data** | [**List<CardLedgerTransactionLogEntry>**](CardLedgerTransactionLogEntry.md) | List of loyalty card transaction logs. | +**HasMore** | **bool** | | +**Data** | [**List<LoyaltyProgramTransaction>**](LoyaltyProgramTransaction.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20015.md b/docs/InlineResponse20015.md index 0ad1d65..c044f32 100644 --- a/docs/InlineResponse20015.md +++ b/docs/InlineResponse20015.md @@ -3,9 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**HasMore** | **bool** | | [optional] -**TotalResultSize** | **int** | | [optional] -**Data** | [**List<CollectionWithoutPayload>**](CollectionWithoutPayload.md) | | +**HasMore** | **bool** | | +**Data** | [**List<LoyaltyCard>**](LoyaltyCard.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20016.md b/docs/InlineResponse20016.md index d01e4ed..07100da 100644 --- a/docs/InlineResponse20016.md +++ b/docs/InlineResponse20016.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**HasMore** | **bool** | | -**Data** | [**List<CollectionItem>**](CollectionItem.md) | | +**HasMore** | **bool** | true means there is more data in the source collection to request.. | +**Data** | [**List<CardLedgerTransactionLogEntry>**](CardLedgerTransactionLogEntry.md) | List of loyalty card transaction logs. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20017.md b/docs/InlineResponse20017.md index 69a56ca..9b7d5b4 100644 --- a/docs/InlineResponse20017.md +++ b/docs/InlineResponse20017.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **HasMore** | **bool** | | [optional] **TotalResultSize** | **int** | | [optional] -**Data** | **List<Collection>** | | +**Data** | [**List<CollectionWithoutPayload>**](CollectionWithoutPayload.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20018.md b/docs/InlineResponse20018.md index a0af92f..b1ce971 100644 --- a/docs/InlineResponse20018.md +++ b/docs/InlineResponse20018.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **HasMore** | **bool** | | -**Data** | [**List<AccessLogEntry>**](AccessLogEntry.md) | | +**Data** | [**List<CollectionItem>**](CollectionItem.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20019.md b/docs/InlineResponse20019.md index 8be4d0b..b7ce995 100644 --- a/docs/InlineResponse20019.md +++ b/docs/InlineResponse20019.md @@ -3,7 +3,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**TotalResultSize** | **int** | | +**HasMore** | **bool** | | **Data** | [**List<AccessLogEntry>**](AccessLogEntry.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20020.md b/docs/InlineResponse20020.md index 760e29a..d71abc9 100644 --- a/docs/InlineResponse20020.md +++ b/docs/InlineResponse20020.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **TotalResultSize** | **int** | | -**Data** | [**List<CampaignAnalytics>**](CampaignAnalytics.md) | | +**Data** | [**List<AccessLogEntry>**](AccessLogEntry.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20021.md b/docs/InlineResponse20021.md index 67c69e8..54aeaf4 100644 --- a/docs/InlineResponse20021.md +++ b/docs/InlineResponse20021.md @@ -3,9 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**TotalResultSize** | **int** | | [optional] -**HasMore** | **bool** | | [optional] -**Data** | [**List<ApplicationCustomer>**](ApplicationCustomer.md) | | +**TotalResultSize** | **int** | | +**Data** | [**List<CampaignAnalytics>**](CampaignAnalytics.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20022.md b/docs/InlineResponse20022.md index 0cf17d3..3debf59 100644 --- a/docs/InlineResponse20022.md +++ b/docs/InlineResponse20022.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**HasMore** | **bool** | | [optional] **TotalResultSize** | **int** | | [optional] +**HasMore** | **bool** | | [optional] **Data** | [**List<ApplicationCustomer>**](ApplicationCustomer.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20023.md b/docs/InlineResponse20023.md index 953ff53..65f9f1b 100644 --- a/docs/InlineResponse20023.md +++ b/docs/InlineResponse20023.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **HasMore** | **bool** | | [optional] **TotalResultSize** | **int** | | [optional] -**Data** | [**List<CustomerProfile>**](CustomerProfile.md) | | +**Data** | [**List<ApplicationCustomer>**](ApplicationCustomer.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20024.md b/docs/InlineResponse20024.md index 71c7628..bd6a9a8 100644 --- a/docs/InlineResponse20024.md +++ b/docs/InlineResponse20024.md @@ -3,7 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**HasMore** | **bool** | | +**HasMore** | **bool** | | [optional] +**TotalResultSize** | **int** | | [optional] **Data** | [**List<CustomerProfile>**](CustomerProfile.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20025.md b/docs/InlineResponse20025.md index f9c2c59..fd5027c 100644 --- a/docs/InlineResponse20025.md +++ b/docs/InlineResponse20025.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **HasMore** | **bool** | | -**Data** | [**List<CustomerActivityReport>**](CustomerActivityReport.md) | | +**Data** | [**List<CustomerProfile>**](CustomerProfile.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20026.md b/docs/InlineResponse20026.md index c3cb69d..7759cee 100644 --- a/docs/InlineResponse20026.md +++ b/docs/InlineResponse20026.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**HasMore** | **bool** | | [optional] -**Data** | [**List<ApplicationSession>**](ApplicationSession.md) | | +**HasMore** | **bool** | | +**Data** | [**List<CustomerActivityReport>**](CustomerActivityReport.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20027.md b/docs/InlineResponse20027.md index ec1e21f..0806f49 100644 --- a/docs/InlineResponse20027.md +++ b/docs/InlineResponse20027.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**HasMore** | **bool** | | -**Data** | [**List<ApplicationEvent>**](ApplicationEvent.md) | | +**HasMore** | **bool** | | [optional] +**Data** | [**List<ApplicationSession>**](ApplicationSession.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20028.md b/docs/InlineResponse20028.md index f0ce38b..cd5e0f6 100644 --- a/docs/InlineResponse20028.md +++ b/docs/InlineResponse20028.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**TotalResultSize** | **int** | | -**Data** | **List<string>** | | +**HasMore** | **bool** | | +**Data** | [**List<ApplicationEvent>**](ApplicationEvent.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20029.md b/docs/InlineResponse20029.md index c5c05ef..7a65d82 100644 --- a/docs/InlineResponse20029.md +++ b/docs/InlineResponse20029.md @@ -3,9 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**HasMore** | **bool** | | [optional] -**TotalResultSize** | **int** | | [optional] -**Data** | [**List<Audience>**](Audience.md) | | +**TotalResultSize** | **int** | | +**Data** | **List<string>** | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse2003.md b/docs/InlineResponse2003.md index c37c7f4..b3ca493 100644 --- a/docs/InlineResponse2003.md +++ b/docs/InlineResponse2003.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**TotalResultSize** | **int** | | -**Data** | [**List<Application>**](Application.md) | | +**HasMore** | **bool** | | +**Data** | [**List<CardLedgerPointsEntryIntegrationAPI>**](CardLedgerPointsEntryIntegrationAPI.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20030.md b/docs/InlineResponse20030.md index 0f6faee..0f3f785 100644 --- a/docs/InlineResponse20030.md +++ b/docs/InlineResponse20030.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **HasMore** | **bool** | | [optional] **TotalResultSize** | **int** | | [optional] -**Data** | [**List<ApplicationReferee>**](ApplicationReferee.md) | | +**Data** | [**List<Audience>**](Audience.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20031.md b/docs/InlineResponse20031.md index a8c865a..86df55b 100644 --- a/docs/InlineResponse20031.md +++ b/docs/InlineResponse20031.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**TotalResultSize** | **int** | | -**Data** | [**List<Attribute>**](Attribute.md) | | +**HasMore** | **bool** | | [optional] +**Data** | [**List<AudienceAnalytics>**](AudienceAnalytics.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20032.md b/docs/InlineResponse20032.md index 34283a9..13bdb3c 100644 --- a/docs/InlineResponse20032.md +++ b/docs/InlineResponse20032.md @@ -4,8 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **HasMore** | **bool** | | [optional] -**TotalResultSize** | **int** | | [optional] -**Data** | [**List<CatalogItem>**](CatalogItem.md) | | +**Data** | [**List<CustomerProfile>**](CustomerProfile.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20033.md b/docs/InlineResponse20033.md index bdde66e..581f298 100644 --- a/docs/InlineResponse20033.md +++ b/docs/InlineResponse20033.md @@ -3,8 +3,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**TotalResultSize** | **int** | | -**Data** | [**List<AccountAdditionalCost>**](AccountAdditionalCost.md) | | +**HasMore** | **bool** | | [optional] +**TotalResultSize** | **int** | | [optional] +**Data** | [**List<ApplicationReferee>**](ApplicationReferee.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20034.md b/docs/InlineResponse20034.md index bfa8830..6f23956 100644 --- a/docs/InlineResponse20034.md +++ b/docs/InlineResponse20034.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **TotalResultSize** | **int** | | -**Data** | [**List<WebhookWithOutgoingIntegrationDetails>**](WebhookWithOutgoingIntegrationDetails.md) | | +**Data** | [**List<Attribute>**](Attribute.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20035.md b/docs/InlineResponse20035.md index 3e71606..578e4d6 100644 --- a/docs/InlineResponse20035.md +++ b/docs/InlineResponse20035.md @@ -3,8 +3,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**TotalResultSize** | **int** | | -**Data** | [**List<WebhookActivationLogEntry>**](WebhookActivationLogEntry.md) | | +**HasMore** | **bool** | | [optional] +**TotalResultSize** | **int** | | [optional] +**Data** | [**List<CatalogItem>**](CatalogItem.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20036.md b/docs/InlineResponse20036.md index b08a836..e431c8c 100644 --- a/docs/InlineResponse20036.md +++ b/docs/InlineResponse20036.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **TotalResultSize** | **int** | | -**Data** | [**List<WebhookLogEntry>**](WebhookLogEntry.md) | | +**Data** | [**List<AccountAdditionalCost>**](AccountAdditionalCost.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20037.md b/docs/InlineResponse20037.md index 290b464..7205421 100644 --- a/docs/InlineResponse20037.md +++ b/docs/InlineResponse20037.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **TotalResultSize** | **int** | | -**Data** | [**List<EventType>**](EventType.md) | | +**Data** | [**List<WebhookWithOutgoingIntegrationDetails>**](WebhookWithOutgoingIntegrationDetails.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20038.md b/docs/InlineResponse20038.md index 9e1079b..420d3c8 100644 --- a/docs/InlineResponse20038.md +++ b/docs/InlineResponse20038.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **TotalResultSize** | **int** | | -**Data** | [**List<User>**](User.md) | | +**Data** | [**List<WebhookActivationLogEntry>**](WebhookActivationLogEntry.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20039.md b/docs/InlineResponse20039.md index ad3e8d1..99e3d9d 100644 --- a/docs/InlineResponse20039.md +++ b/docs/InlineResponse20039.md @@ -3,9 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**TotalResultSize** | **int** | | [optional] -**HasMore** | **bool** | | [optional] -**Data** | [**List<Change>**](Change.md) | | +**TotalResultSize** | **int** | | +**Data** | [**List<WebhookLogEntry>**](WebhookLogEntry.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse2004.md b/docs/InlineResponse2004.md index 5512be7..382cfe2 100644 --- a/docs/InlineResponse2004.md +++ b/docs/InlineResponse2004.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**TotalResultSize** | **int** | | -**Data** | [**List<Campaign>**](Campaign.md) | | +**HasMore** | **bool** | | +**Data** | [**List<LedgerPointsEntryIntegrationAPI>**](LedgerPointsEntryIntegrationAPI.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20040.md b/docs/InlineResponse20040.md index 6f46bf3..9c40811 100644 --- a/docs/InlineResponse20040.md +++ b/docs/InlineResponse20040.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **TotalResultSize** | **int** | | -**Data** | [**List<Export>**](Export.md) | | +**Data** | [**List<EventType>**](EventType.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20041.md b/docs/InlineResponse20041.md index a11b8cb..2174390 100644 --- a/docs/InlineResponse20041.md +++ b/docs/InlineResponse20041.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **TotalResultSize** | **int** | | -**Data** | [**List<Role>**](Role.md) | | +**Data** | [**List<User>**](User.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse20042.md b/docs/InlineResponse20042.md new file mode 100644 index 0000000..6dc344a --- /dev/null +++ b/docs/InlineResponse20042.md @@ -0,0 +1,11 @@ +# TalonOne.Model.InlineResponse20042 +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**TotalResultSize** | **int** | | [optional] +**HasMore** | **bool** | | [optional] +**Data** | [**List<Change>**](Change.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/InlineResponse20043.md b/docs/InlineResponse20043.md new file mode 100644 index 0000000..69bb326 --- /dev/null +++ b/docs/InlineResponse20043.md @@ -0,0 +1,10 @@ +# TalonOne.Model.InlineResponse20043 +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**TotalResultSize** | **int** | | +**Data** | [**List<Export>**](Export.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/InlineResponse20044.md b/docs/InlineResponse20044.md new file mode 100644 index 0000000..d5104b4 --- /dev/null +++ b/docs/InlineResponse20044.md @@ -0,0 +1,10 @@ +# TalonOne.Model.InlineResponse20044 +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**TotalResultSize** | **int** | | +**Data** | [**List<RoleV2>**](RoleV2.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/InlineResponse20045.md b/docs/InlineResponse20045.md new file mode 100644 index 0000000..5494261 --- /dev/null +++ b/docs/InlineResponse20045.md @@ -0,0 +1,11 @@ +# TalonOne.Model.InlineResponse20045 +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**HasMore** | **bool** | | [optional] +**TotalResultSize** | **int** | | [optional] +**Data** | [**List<Store>**](Store.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/InlineResponse20046.md b/docs/InlineResponse20046.md new file mode 100644 index 0000000..ff77762 --- /dev/null +++ b/docs/InlineResponse20046.md @@ -0,0 +1,10 @@ +# TalonOne.Model.InlineResponse20046 +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**HasMore** | **bool** | | [optional] +**Data** | [**List<Achievement>**](Achievement.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/InlineResponse20047.md b/docs/InlineResponse20047.md new file mode 100644 index 0000000..e9da1ca --- /dev/null +++ b/docs/InlineResponse20047.md @@ -0,0 +1,10 @@ +# TalonOne.Model.InlineResponse20047 +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**HasMore** | **bool** | | +**Data** | [**List<AchievementProgress>**](AchievementProgress.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/InlineResponse2005.md b/docs/InlineResponse2005.md index 81574a1..a9a501a 100644 --- a/docs/InlineResponse2005.md +++ b/docs/InlineResponse2005.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **TotalResultSize** | **int** | | -**Data** | [**List<NotificationWebhook>**](NotificationWebhook.md) | | +**Data** | [**List<Application>**](Application.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse2006.md b/docs/InlineResponse2006.md index 6a8aadc..e0f010d 100644 --- a/docs/InlineResponse2006.md +++ b/docs/InlineResponse2006.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **TotalResultSize** | **int** | | -**Data** | [**List<Ruleset>**](Ruleset.md) | | +**Data** | [**List<Campaign>**](Campaign.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse2007.md b/docs/InlineResponse2007.md index e2daa93..5741b92 100644 --- a/docs/InlineResponse2007.md +++ b/docs/InlineResponse2007.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **TotalResultSize** | **int** | | -**Data** | [**List<Coupon>**](Coupon.md) | | +**Data** | [**List<Ruleset>**](Ruleset.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse2008.md b/docs/InlineResponse2008.md index 79de1e1..78b3a05 100644 --- a/docs/InlineResponse2008.md +++ b/docs/InlineResponse2008.md @@ -3,7 +3,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**HasMore** | **bool** | | +**TotalResultSize** | **int** | | **Data** | [**List<Coupon>**](Coupon.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InlineResponse2009.md b/docs/InlineResponse2009.md index 6b83f22..5d005f0 100644 --- a/docs/InlineResponse2009.md +++ b/docs/InlineResponse2009.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **HasMore** | **bool** | | -**Data** | [**List<Referral>**](Referral.md) | | +**Data** | [**List<Coupon>**](Coupon.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/IntegrationApi.md b/docs/IntegrationApi.md index 0828e1a..6fabd5c 100644 --- a/docs/IntegrationApi.md +++ b/docs/IntegrationApi.md @@ -16,7 +16,9 @@ Method | HTTP request | Description [**GetCustomerSession**](IntegrationApi.md#getcustomersession) | **GET** /v2/customer_sessions/{customerSessionId} | Get customer session [**GetLoyaltyBalances**](IntegrationApi.md#getloyaltybalances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/balances | Get customer's loyalty points [**GetLoyaltyCardBalances**](IntegrationApi.md#getloyaltycardbalances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/balances | Get card's point balances +[**GetLoyaltyCardPoints**](IntegrationApi.md#getloyaltycardpoints) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/points | List card's unused loyalty points [**GetLoyaltyCardTransactions**](IntegrationApi.md#getloyaltycardtransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transactions | List card's transactions +[**GetLoyaltyProgramProfilePoints**](IntegrationApi.md#getloyaltyprogramprofilepoints) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/points | List customer's unused loyalty points [**GetLoyaltyProgramProfileTransactions**](IntegrationApi.md#getloyaltyprogramprofiletransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/transactions | List customer's loyalty transactions [**GetReservedCustomers**](IntegrationApi.md#getreservedcustomers) | **GET** /v1/coupon_reservations/customerprofiles/{couponValue} | List customers that have this coupon reserved [**LinkLoyaltyCardToProfile**](IntegrationApi.md#linkloyaltycardtoprofile) | **POST** /v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/link_profile | Link customer profile to card @@ -116,7 +118,7 @@ Name | Type | Description | Notes Create coupon reservation -Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and `List customer data` to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store.

Important

This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the `recipientsIntegrationId` property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code).
To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. +Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon will be associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. ### Example ```csharp @@ -377,7 +379,7 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new IntegrationApi(config); - var audienceId = 56; // int | The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + var audienceId = 56; // int | The ID of the audience. try { @@ -399,7 +401,7 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **audienceId** | **int**| The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). | + **audienceId** | **int**| The ID of the audience. | ### Return type @@ -453,7 +455,7 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new IntegrationApi(config); - var audienceId = 56; // int | The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + var audienceId = 56; // int | The ID of the audience. try { @@ -475,7 +477,7 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **audienceId** | **int**| The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). | + **audienceId** | **int**| The ID of the audience. | ### Return type @@ -657,7 +659,7 @@ void (empty response body) # **GetCustomerInventory** -> CustomerInventory GetCustomerInventory (string integrationId, bool? profile = null, bool? referrals = null, bool? coupons = null, bool? loyalty = null, bool? giveaways = null) +> CustomerInventory GetCustomerInventory (string integrationId, bool? profile = null, bool? referrals = null, bool? coupons = null, bool? loyalty = null, bool? giveaways = null, bool? achievements = null) List customer data @@ -691,11 +693,12 @@ namespace Example var coupons = true; // bool? | Set to `true` to include coupon information in the response. (optional) var loyalty = true; // bool? | Set to `true` to include loyalty information in the response. (optional) var giveaways = true; // bool? | Set to `true` to include giveaways information in the response. (optional) + var achievements = true; // bool? | Set to `true` to include achievement information in the response. (optional) try { // List customer data - CustomerInventory result = apiInstance.GetCustomerInventory(integrationId, profile, referrals, coupons, loyalty, giveaways); + CustomerInventory result = apiInstance.GetCustomerInventory(integrationId, profile, referrals, coupons, loyalty, giveaways, achievements); Debug.WriteLine(result); } catch (ApiException e) @@ -719,6 +722,7 @@ Name | Type | Description | Notes **coupons** | **bool?**| Set to `true` to include coupon information in the response. | [optional] **loyalty** | **bool?**| Set to `true` to include loyalty information in the response. | [optional] **giveaways** | **bool?**| Set to `true` to include giveaways information in the response. | [optional] + **achievements** | **bool?**| Set to `true` to include achievement information in the response. | [optional] ### Return type @@ -821,11 +825,11 @@ Name | Type | Description | Notes # **GetLoyaltyBalances** -> LoyaltyBalances GetLoyaltyBalances (int loyaltyProgramId, string integrationId, DateTime? endDate = null) +> LoyaltyBalances GetLoyaltyBalances (int loyaltyProgramId, string integrationId, DateTime? endDate = null, string subledgerId = null) Get customer's loyalty points -Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date. If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. **Note:** For more information, see [our documentation on managing loyalty data](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-data#obtaining-the-loyalty-balances-of-a-customer). +Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID. **Note**: If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data) ### Example ```csharp @@ -849,14 +853,15 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new IntegrationApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var loyaltyProgramId = 56; // int | Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. var integrationId = integrationId_example; // string | The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. - var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var subledgerId = subledgerId_example; // string | The ID of the subledger by which we filter the data. (optional) try { // Get customer's loyalty points - LoyaltyBalances result = apiInstance.GetLoyaltyBalances(loyaltyProgramId, integrationId, endDate); + LoyaltyBalances result = apiInstance.GetLoyaltyBalances(loyaltyProgramId, integrationId, endDate, subledgerId); Debug.WriteLine(result); } catch (ApiException e) @@ -874,9 +879,10 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **loyaltyProgramId** | **int**| Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | **integrationId** | **string**| The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. | - **endDate** | **DateTime?**| Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. | [optional] + **endDate** | **DateTime?**| Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **subledgerId** | **string**| The ID of the subledger by which we filter the data. | [optional] ### Return type @@ -903,7 +909,7 @@ Name | Type | Description | Notes # **GetLoyaltyCardBalances** -> LoyaltyBalances GetLoyaltyCardBalances (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = null) +> LoyaltyCardBalances GetLoyaltyCardBalances (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = null, List subledgerId = null) Get card's point balances @@ -933,12 +939,13 @@ namespace Example var apiInstance = new IntegrationApi(config); var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var subledgerId = new List(); // List | Filter results by one or more subledger IDs. Must be exact match. (optional) try { // Get card's point balances - LoyaltyBalances result = apiInstance.GetLoyaltyCardBalances(loyaltyProgramId, loyaltyCardId, endDate); + LoyaltyCardBalances result = apiInstance.GetLoyaltyCardBalances(loyaltyProgramId, loyaltyCardId, endDate, subledgerId); Debug.WriteLine(result); } catch (ApiException e) @@ -958,11 +965,100 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | - **endDate** | **DateTime?**| Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. | [optional] + **endDate** | **DateTime?**| Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **subledgerId** | [**List<string>**](string.md)| Filter results by one or more subledger IDs. Must be exact match. | [optional] ### Return type -[**LoyaltyBalances**](LoyaltyBalances.md) +[**LoyaltyCardBalances**](LoyaltyCardBalances.md) + +### Authorization + +[api_key_v1](../README.md#api_key_v1) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetLoyaltyCardPoints** +> InlineResponse2003 GetLoyaltyCardPoints (int loyaltyProgramId, string loyaltyCardId, string status = null, List subledgerId = null, int? pageSize = null, int? skip = null) + +List card's unused loyalty points + +Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetLoyaltyCardPointsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: api_key_v1 + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new IntegrationApi(config); + var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + var status = status_example; // string | Filter points based on their status. (optional) (default to active) + var subledgerId = new List(); // List | Filter results by one or more subledger IDs. Must be exact match. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 50) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + + try + { + // List card's unused loyalty points + InlineResponse2003 result = apiInstance.GetLoyaltyCardPoints(loyaltyProgramId, loyaltyCardId, status, subledgerId, pageSize, skip); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling IntegrationApi.GetLoyaltyCardPoints: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | + **status** | **string**| Filter points based on their status. | [optional] [default to active] + **subledgerId** | [**List<string>**](string.md)| Filter results by one or more subledger IDs. Must be exact match. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 50] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + +### Return type + +[**InlineResponse2003**](InlineResponse2003.md) ### Authorization @@ -985,7 +1081,7 @@ Name | Type | Description | Notes # **GetLoyaltyCardTransactions** -> InlineResponse2001 GetLoyaltyCardTransactions (int loyaltyProgramId, string loyaltyCardId, string subledgerId = null, DateTime? startDate = null, DateTime? endDate = null, int? pageSize = null, int? skip = null) +> InlineResponse2001 GetLoyaltyCardTransactions (int loyaltyProgramId, string loyaltyCardId, List subledgerId = null, string loyaltyTransactionType = null, DateTime? startDate = null, DateTime? endDate = null, int? pageSize = null, int? skip = null) List card's transactions @@ -1015,16 +1111,17 @@ namespace Example var apiInstance = new IntegrationApi(config); var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - var subledgerId = subledgerId_example; // string | The ID of the subledger by which we filter the data. (optional) - var startDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var subledgerId = new List(); // List | Filter results by one or more subledger IDs. Must be exact match. (optional) + var loyaltyTransactionType = loyaltyTransactionType_example; // string | Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + var startDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) try { // List card's transactions - InlineResponse2001 result = apiInstance.GetLoyaltyCardTransactions(loyaltyProgramId, loyaltyCardId, subledgerId, startDate, endDate, pageSize, skip); + InlineResponse2001 result = apiInstance.GetLoyaltyCardTransactions(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip); Debug.WriteLine(result); } catch (ApiException e) @@ -1044,10 +1141,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | - **subledgerId** | **string**| The ID of the subledger by which we filter the data. | [optional] - **startDate** | **DateTime?**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional] - **endDate** | **DateTime?**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional] - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **subledgerId** | [**List<string>**](string.md)| Filter results by one or more subledger IDs. Must be exact match. | [optional] + **loyaltyTransactionType** | **string**| Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. | [optional] + **startDate** | **DateTime?**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **endDate** | **DateTime?**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] ### Return type @@ -1073,9 +1171,97 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetLoyaltyProgramProfilePoints** +> InlineResponse2004 GetLoyaltyProgramProfilePoints (int loyaltyProgramId, string integrationId, string status = null, string subledgerId = null, int? pageSize = null, int? skip = null) + +List customer's unused loyalty points + +Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetLoyaltyProgramProfilePointsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: api_key_v1 + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new IntegrationApi(config); + var loyaltyProgramId = 56; // int | Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var integrationId = integrationId_example; // string | The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. + var status = status_example; // string | Filter points based on their status. (optional) (default to active) + var subledgerId = subledgerId_example; // string | The ID of the subledger by which we filter the data. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 50) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + + try + { + // List customer's unused loyalty points + InlineResponse2004 result = apiInstance.GetLoyaltyProgramProfilePoints(loyaltyProgramId, integrationId, status, subledgerId, pageSize, skip); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling IntegrationApi.GetLoyaltyProgramProfilePoints: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **loyaltyProgramId** | **int**| Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **integrationId** | **string**| The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. | + **status** | **string**| Filter points based on their status. | [optional] [default to active] + **subledgerId** | **string**| The ID of the subledger by which we filter the data. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 50] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + +### Return type + +[**InlineResponse2004**](InlineResponse2004.md) + +### Authorization + +[api_key_v1](../README.md#api_key_v1) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **GetLoyaltyProgramProfileTransactions** -> InlineResponse2002 GetLoyaltyProgramProfileTransactions (int loyaltyProgramId, string integrationId, string subledgerId = null, DateTime? startDate = null, DateTime? endDate = null, int? pageSize = null, int? skip = null) +> InlineResponse2002 GetLoyaltyProgramProfileTransactions (int loyaltyProgramId, string integrationId, string subledgerId = null, string loyaltyTransactionType = null, DateTime? startDate = null, DateTime? endDate = null, int? pageSize = null, int? skip = null) List customer's loyalty transactions @@ -1103,18 +1289,19 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new IntegrationApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var loyaltyProgramId = 56; // int | Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. var integrationId = integrationId_example; // string | The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. var subledgerId = subledgerId_example; // string | The ID of the subledger by which we filter the data. (optional) - var startDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 50) + var loyaltyTransactionType = loyaltyTransactionType_example; // string | Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + var startDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 50) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) try { // List customer's loyalty transactions - InlineResponse2002 result = apiInstance.GetLoyaltyProgramProfileTransactions(loyaltyProgramId, integrationId, subledgerId, startDate, endDate, pageSize, skip); + InlineResponse2002 result = apiInstance.GetLoyaltyProgramProfileTransactions(loyaltyProgramId, integrationId, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip); Debug.WriteLine(result); } catch (ApiException e) @@ -1132,12 +1319,13 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **loyaltyProgramId** | **int**| Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | **integrationId** | **string**| The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. | **subledgerId** | **string**| The ID of the subledger by which we filter the data. | [optional] - **startDate** | **DateTime?**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional] - **endDate** | **DateTime?**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional] - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 50] + **loyaltyTransactionType** | **string**| Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. | [optional] + **startDate** | **DateTime?**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **endDate** | **DateTime?**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 50] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] ### Return type @@ -1169,7 +1357,7 @@ Name | Type | Description | Notes List customers that have this coupon reserved -Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given `recipientIntegrationId` or use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints. +Return all customers that have this coupon marked as reserved. This includes hard and soft reservations. ### Example ```csharp @@ -1247,7 +1435,7 @@ Name | Type | Description | Notes Link customer profile to card -[Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/creating-loyalty-programs#creating-card-based-loyalty-programs) allows. +[Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/card-based/creating-cb-programs) allows. ### Example ```csharp @@ -1329,7 +1517,7 @@ Name | Type | Description | Notes Reopen customer session -Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below.
Effects and budgets unimpacted by a session reopening

The following effects and budgets are left the way they were once the session was originally closed:

  • Add free item effect
  • Any not pending pending loyalty points.
  • Award giveaway
  • Coupon and referral creation
  • Coupon reservation
  • Custom effect
  • Update attribute value
  • Update cart item attribute value

To see an example of roll back, see the Cancelling a session with campaign budgets tutorial.

**Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. +Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below.
Effects and budgets unimpacted by a session reopening

The following effects and budgets are left the way they were once the session was originally closed:

  • Add free item effect
  • Any non-pending loyalty points
  • Award giveaway
  • Coupon and referral creation
  • Coupon reservation
  • Custom effect
  • Update attribute value
  • Update cart item attribute value

To see an example of roll back, see the Cancelling a session with campaign budgets tutorial.

**Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. ### Example ```csharp @@ -1406,7 +1594,7 @@ Name | Type | Description | Notes Return cart items -Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. Its behavior depends on whether [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled for the Application. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). +Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). ### Example ```csharp @@ -1487,7 +1675,7 @@ Name | Type | Description | Notes Sync cart item catalog -Perform one or more of the following sync actions on this cart item catalog, up to 1000 actions: - Add an item to the catalog. - Edit the attributes of an item in the catalog. - Edit the attributes of more than one item in the catalog. - Remove an item from the catalog. - Remove more than one item from the catalog. **Note:** For more information, see [our documentation on managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs#displaying-the-details-and-content-of-a-catalog) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action:
Adding an item to the catalog
```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoe\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100 }, \"type\": \"ADD\" } ] } ```
Editing the attributes of an item in the catalog
```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\" }, \"type\": \"PATCH\" } ] } ```
Editing the attributes of several items at once
```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ```
Removing an item from the catalog
```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ```
Removing several items from the catalog at once
```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ```
Removing shoes of sizes above 45 from the catalog

Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:

```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ```
+Perform one or more of the following actions for a given cart item catalog: - Adding an item to the catalog. - Adding several items to the catalog. - Editing the attributes of an item in the catalog. - Editing the attributes of several items in the catalog. - Removing an item from the catalog. - Removing several items from the catalog. You can add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique `SKU`. **Important**: Syncing items with duplicate `SKU` values in a single request returns an error message with a `400` status code. For more information, read [managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action:
Adding an item to the catalog
```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ```
Adding several items to the catalog
```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241027\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" }, { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ```
Editing the attributes of an item in the catalog
```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\", \"product\": { \"name\": \"sneakers\" } }, \"type\": \"PATCH\" } ] } ```
Editing the attributes of several items in the catalog
```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ```
Removing an item from the catalog
```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ```
Removing several items from the catalog
```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ```
Removing shoes of sizes above 45 from the catalog

Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:

```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ```
### Example ```csharp @@ -1563,11 +1751,11 @@ Name | Type | Description | Notes # **TrackEventV2** -> IntegrationStateV2 TrackEventV2 (IntegrationEventV2Request body, string silent = null, bool? dry = null) +> TrackEventV2Response TrackEventV2 (IntegrationEventV2Request body, string silent = null, bool? dry = null) Track event -Triggers a custom event. You can build a condition around this event in your rules. Talon.One offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). **Important:** - `profileId` is required. An event is associated with a customer profile. - Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event). - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). When you successfully sent an event to Talon.One, you can list received events in the **Events** view in the Campaign Manager. +Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing).

Important

1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests).
### Example ```csharp @@ -1598,7 +1786,7 @@ namespace Example try { // Track event - IntegrationStateV2 result = apiInstance.TrackEventV2(body, silent, dry); + TrackEventV2Response result = apiInstance.TrackEventV2(body, silent, dry); Debug.WriteLine(result); } catch (ApiException e) @@ -1622,7 +1810,7 @@ Name | Type | Description | Notes ### Return type -[**IntegrationStateV2**](IntegrationStateV2.md) +[**TrackEventV2Response**](TrackEventV2Response.md) ### Authorization @@ -1639,6 +1827,7 @@ Name | Type | Description | Notes | **200** | OK | - | | **400** | Bad request | - | | **401** | Unauthorized - Invalid API key | - | +| **409** | Too many requests or limit reached - Avoid parallel requests. See the [docs](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one#managing-parallel-requests). | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -1672,7 +1861,7 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new IntegrationApi(config); - var audienceId = 56; // int | The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + var audienceId = 56; // int | The ID of the audience. var body = ; // Object | body try @@ -1695,7 +1884,7 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **audienceId** | **int**| The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). | + **audienceId** | **int**| The ID of the audience. | **body** | **Object**| body | ### Return type @@ -1726,7 +1915,7 @@ void (empty response body) Update audience name -Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the rule engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. +Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the Rule Engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. ### Example ```csharp @@ -1750,7 +1939,7 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new IntegrationApi(config); - var audienceId = 56; // int | The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + var audienceId = 56; // int | The ID of the audience. var body = new UpdateAudience(); // UpdateAudience | body try @@ -1774,7 +1963,7 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **audienceId** | **int**| The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). | + **audienceId** | **int**| The ID of the audience. | **body** | [**UpdateAudience**](UpdateAudience.md)| body | ### Return type @@ -1805,7 +1994,7 @@ Name | Type | Description | Notes Update multiple customer profiles' audiences -Update the specified customer profiles with the specified audiences. Use this endpoint when customers join or leave audiences. The limit of customer profiles per request is 1000. +Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (`add` or `remove`) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect. ### Example ```csharp @@ -1878,11 +2067,11 @@ void (empty response body) # **UpdateCustomerProfileV2** -> IntegrationStateV2 UpdateCustomerProfileV2 (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = null, bool? dry = null) +> CustomerProfileIntegrationResponseV2 UpdateCustomerProfileV2 (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = null, bool? dry = null) Update customer profile -Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities#customer-profile). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of.

Performance tips

- Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests).
+Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of.

Performance tips

- Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests).
### Example ```csharp @@ -1914,7 +2103,7 @@ namespace Example try { // Update customer profile - IntegrationStateV2 result = apiInstance.UpdateCustomerProfileV2(integrationId, body, runRuleEngine, dry); + CustomerProfileIntegrationResponseV2 result = apiInstance.UpdateCustomerProfileV2(integrationId, body, runRuleEngine, dry); Debug.WriteLine(result); } catch (ApiException e) @@ -1939,7 +2128,7 @@ Name | Type | Description | Notes ### Return type -[**IntegrationStateV2**](IntegrationStateV2.md) +[**CustomerProfileIntegrationResponseV2**](CustomerProfileIntegrationResponseV2.md) ### Authorization @@ -1956,7 +2145,7 @@ Name | Type | Description | Notes | **200** | OK | - | | **400** | Bad request | - | | **401** | Unauthorized - Invalid API key | - | -| **409** | Too many requests - Avoid parallel requests. See the [docs](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one#managing-parallel-requests). | - | +| **409** | Too many requests or limit reached - Avoid parallel requests. See the [docs](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one#managing-parallel-requests). | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -1966,7 +2155,7 @@ Name | Type | Description | Notes Update multiple customer profiles -Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities#customer-profile) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). +Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. ### Example ```csharp @@ -2041,11 +2230,11 @@ Name | Type | Description | Notes # **UpdateCustomerSessionV2** -> IntegrationStateV2 UpdateCustomerSessionV2 (string customerSessionId, IntegrationRequest body, bool? dry = null) +> IntegrationStateV2 UpdateCustomerSessionV2 (string customerSessionId, IntegrationRequest body, bool? dry = null, DateTime? now = null) Update customer session -Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities#customer-session) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2).

Performance tips

- Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests).
For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). +Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2).

Performance tips

- Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests).
For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). ### Example ```csharp @@ -2071,12 +2260,13 @@ namespace Example var apiInstance = new IntegrationApi(config); var customerSessionId = customerSessionId_example; // string | The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. var body = new IntegrationRequest(); // IntegrationRequest | body - var dry = true; // bool? | Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) + var dry = true; // bool? | Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional) + var now = 2013-10-20T19:20:30+01:00; // DateTime? | A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the `dry` parameter in the query is set to `true`. (optional) try { // Update customer session - IntegrationStateV2 result = apiInstance.UpdateCustomerSessionV2(customerSessionId, body, dry); + IntegrationStateV2 result = apiInstance.UpdateCustomerSessionV2(customerSessionId, body, dry, now); Debug.WriteLine(result); } catch (ApiException e) @@ -2096,7 +2286,8 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **customerSessionId** | **string**| The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. | **body** | [**IntegrationRequest**](IntegrationRequest.md)| body | - **dry** | **bool?**| Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. | [optional] + **dry** | **bool?**| Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). | [optional] + **now** | **DateTime?**| A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the `dry` parameter in the query is set to `true`. | [optional] ### Return type @@ -2117,7 +2308,7 @@ Name | Type | Description | Notes | **200** | OK | - | | **400** | Bad request | - | | **401** | Unauthorized - Invalid API key | - | -| **409** | Too many requests - Avoid parallel requests. See the [docs](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one#managing-parallel-requests). | - | +| **409** | Too many requests or limit reached - Avoid parallel requests. See the [docs](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one#managing-parallel-requests). | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/IntegrationCoupon.md b/docs/IntegrationCoupon.md index 0dd28f8..466e255 100644 --- a/docs/IntegrationCoupon.md +++ b/docs/IntegrationCoupon.md @@ -21,9 +21,10 @@ Name | Type | Description | Notes **ReferralId** | **int** | The integration ID of the referring customer (if any) for whom this coupon was created as an effect. | [optional] **RecipientIntegrationId** | **string** | The Integration ID of the customer that is allowed to redeem this coupon. | [optional] **ImportId** | **int** | The ID of the Import which created this coupon. | [optional] -**Reservation** | **bool** | Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. | [optional] [default to true] +**Reservation** | **bool** | Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. | [optional] [default to true] **BatchId** | **string** | The id of the batch the coupon belongs to. | [optional] -**IsReservationMandatory** | **bool** | Whether the reservation effect actually created a new reservation. | [optional] [default to true] +**IsReservationMandatory** | **bool** | An indication of whether the code can be redeemed only if it has been reserved first. | [optional] [default to false] +**ImplicitlyReserved** | **bool** | An indication of whether the coupon is implicitly reserved for all customers. | [optional] **ProfileRedemptionCount** | **int** | The number of times the coupon was redeemed by the profile. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/IntegrationEvent.md b/docs/IntegrationEvent.md index 918f476..794a115 100644 --- a/docs/IntegrationEvent.md +++ b/docs/IntegrationEvent.md @@ -4,6 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **ProfileId** | **string** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. | [optional] +**StoreIntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. | [optional] **Type** | **string** | A string representing the event. Must not be a reserved event name. | **Attributes** | [**Object**](.md) | Arbitrary additional JSON data associated with the event. | diff --git a/docs/IntegrationEventV2Request.md b/docs/IntegrationEventV2Request.md index 176b536..05ef832 100644 --- a/docs/IntegrationEventV2Request.md +++ b/docs/IntegrationEventV2Request.md @@ -4,9 +4,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **ProfileId** | **string** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. | [optional] +**StoreIntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. | [optional] **EvaluableCampaignIds** | **List<int>** | When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. | [optional] -**Type** | **string** | A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event) of type `event` in the Campaign Manager. | -**Attributes** | [**Object**](.md) | Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-custom-attributes). | [optional] +**Type** | **string** | A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. | +**Attributes** | [**Object**](.md) | Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute). | [optional] **ResponseContent** | **List<string>** | Optional list of requested information to be present on the response related to the tracking custom event. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/IntegrationStoreEntity.md b/docs/IntegrationStoreEntity.md new file mode 100644 index 0000000..844d0a9 --- /dev/null +++ b/docs/IntegrationStoreEntity.md @@ -0,0 +1,9 @@ +# TalonOne.Model.IntegrationStoreEntity +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**StoreIntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/InventoryCoupon.md b/docs/InventoryCoupon.md index bd14b59..c5b1391 100644 --- a/docs/InventoryCoupon.md +++ b/docs/InventoryCoupon.md @@ -21,11 +21,12 @@ Name | Type | Description | Notes **ReferralId** | **int** | The integration ID of the referring customer (if any) for whom this coupon was created as an effect. | [optional] **RecipientIntegrationId** | **string** | The Integration ID of the customer that is allowed to redeem this coupon. | [optional] **ImportId** | **int** | The ID of the Import which created this coupon. | [optional] -**Reservation** | **bool** | Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. | [optional] [default to true] +**Reservation** | **bool** | Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. | [optional] [default to true] **BatchId** | **string** | The id of the batch the coupon belongs to. | [optional] -**IsReservationMandatory** | **bool** | Whether the reservation effect actually created a new reservation. | [optional] [default to true] +**IsReservationMandatory** | **bool** | An indication of whether the code can be redeemed only if it has been reserved first. | [optional] [default to false] +**ImplicitlyReserved** | **bool** | An indication of whether the coupon is implicitly reserved for all customers. | [optional] **ProfileRedemptionCount** | **int** | The number of times the coupon was redeemed by the profile. | -**State** | **string** | Can be: - `active`: The coupon can be used. It is a reserved coupon that is neither pending, used nor expired, and has a non-exhausted limit counter. - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration. - `expired`: The coupon was never redeemed and it is now expired. It is non-pending, non-active and non-used by the profile. - `pending`: The coupon will be usable in the future. - `disabled`: The coupon is part of a non-active campaign. | +**State** | **string** | Can be: - `active`: The coupon can be used. It is a reserved coupon that is not pending, used, or expired, and it has a non-exhausted limit counter. **Note:** This coupon state is returned for [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule), but the coupon cannot be used until the campaign is **running**. - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration. - `expired`: The coupon was never redeemed, and it is now expired. It is non-pending, non-active, and non-used by the profile. - `pending`: The coupon will be usable in the future. - `disabled`: The coupon is part of a non-active campaign. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/LedgerPointsEntryIntegrationAPI.md b/docs/LedgerPointsEntryIntegrationAPI.md new file mode 100644 index 0000000..a11491c --- /dev/null +++ b/docs/LedgerPointsEntryIntegrationAPI.md @@ -0,0 +1,18 @@ +# TalonOne.Model.LedgerPointsEntryIntegrationAPI +Loyalty profile points with start and expiry dates. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **int** | ID of the transaction that adds loyalty points. | +**Created** | **DateTime** | Date and time the loyalty points were added. | +**ProgramId** | **int** | ID of the loyalty program. | +**CustomerSessionId** | **string** | ID of the customer session where points were added. | [optional] +**Name** | **string** | Name or reason of the transaction that adds loyalty points. | +**StartDate** | **string** | When points become active. Possible values: - `immediate`: Points are active immediately. - `timestamp value`: Points become active at a given date and time. | +**ExpiryDate** | **string** | Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date and time. | +**SubledgerId** | **string** | ID of the subledger. | +**Amount** | **decimal** | Amount of loyalty points added in the transaction. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/LoginParams.md b/docs/LoginParams.md index ef813e9..0c64bf8 100644 --- a/docs/LoginParams.md +++ b/docs/LoginParams.md @@ -3,7 +3,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Email** | **string** | The email address associated with your account. | +**Email** | **string** | The email address associated with the user profile. | **Password** | **string** | The password for your account. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/LoyaltyCardBalances.md b/docs/LoyaltyCardBalances.md new file mode 100644 index 0000000..9bf0e30 --- /dev/null +++ b/docs/LoyaltyCardBalances.md @@ -0,0 +1,11 @@ +# TalonOne.Model.LoyaltyCardBalances +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Balance** | [**LoyaltyBalance**](LoyaltyBalance.md) | | [optional] +**SubledgerBalances** | [**Dictionary<string, LoyaltyBalance>**](LoyaltyBalance.md) | Map of the loyalty balances of the subledgers of a ledger. | [optional] +**Profiles** | [**List<LoyaltyCardProfileRegistration>**](LoyaltyCardProfileRegistration.md) | Customer profiles linked to the loyalty card. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/LoyaltyCardProfileRegistration.md b/docs/LoyaltyCardProfileRegistration.md index 3ddeda4..a6adfd0 100644 --- a/docs/LoyaltyCardProfileRegistration.md +++ b/docs/LoyaltyCardProfileRegistration.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **IntegrationId** | **string** | Integration ID of the customer profile linked to the card. | -**Timestamp** | **DateTime** | Timestamp of the registration to the card. | +**Timestamp** | **DateTime** | Timestamp the customer profile was linked to the card. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/LoyaltyLedgerTransactions.md b/docs/LoyaltyLedgerTransactions.md index 35bbe9a..7950803 100644 --- a/docs/LoyaltyLedgerTransactions.md +++ b/docs/LoyaltyLedgerTransactions.md @@ -4,7 +4,7 @@ List of loyalty ledger transactions. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**HasMore** | **bool** | true means there is more data in the source collection to request. | [optional] +**HasMore** | **bool** | If `true`, it means that there is more data to request in the source collection. | [optional] **Data** | [**List<LoyaltyLedgerEntry>**](LoyaltyLedgerEntry.md) | List of transaction entries from a loyalty ledger. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/LoyaltyProgram.md b/docs/LoyaltyProgram.md index 0148946..b538b99 100644 --- a/docs/LoyaltyProgram.md +++ b/docs/LoyaltyProgram.md @@ -13,15 +13,18 @@ Name | Type | Description | Notes **AllowSubledger** | **bool** | Indicates if this program supports subledgers inside the program. | **UsersPerCardLimit** | **int** | The max amount of user profiles with whom a card can be shared. This can be set to 0 for no limit. This property is only used when `cardBased` is `true`. | [optional] **Sandbox** | **bool** | Indicates if this program is a live or sandbox program. Programs of a given type can only be connected to Applications of the same type. | -**TiersExpireIn** | **string** | The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. | [optional] +**TiersExpirationPolicy** | **string** | The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. | [optional] +**TiersExpireIn** | **string** | The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. | [optional] **TiersDowngradePolicy** | **string** | Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. | [optional] +**ProgramJoinPolicy** | **string** | The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. | [optional] **AccountID** | **int** | The ID of the Talon.One account that owns this program. | **Name** | **string** | The internal name for the Loyalty Program. This is an immutable value. | **Tiers** | [**List<LoyaltyTier>**](LoyaltyTier.md) | The tiers in this loyalty program. | [optional] **Timezone** | **string** | A string containing an IANA timezone descriptor. | **CardBased** | **bool** | Defines the type of loyalty program: - `true`: the program is a card-based. - `false`: the program is profile-based. | [default to false] -**CanUpdateTiers** | **bool** | True if it is possible to change tiers definition. | [optional] [default to false] -**CanUpgradeToAdvancedTiers** | **bool** | True if it is possible to introduce tiersExpireIn and tiersDowngradePolicy. | [optional] [default to false] +**CanUpdateTiers** | **bool** | `True` if the tier definitions can be updated. | [optional] [default to false] +**CanUpdateJoinPolicy** | **bool** | Indicates whether the program join policy can be updated. The join policy can be updated when this value is set to `true`. | [optional] +**CanUpgradeToAdvancedTiers** | **bool** | `True` if the program can be upgraded to use the `tiersExpireIn` and `tiersDowngradePolicy` properties. | [optional] [default to false] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/LoyaltyProgramLedgers.md b/docs/LoyaltyProgramLedgers.md index 9334258..0b3aa10 100644 --- a/docs/LoyaltyProgramLedgers.md +++ b/docs/LoyaltyProgramLedgers.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes **Id** | **int** | The internal ID of loyalty program. | **Title** | **string** | Visible name of loyalty program. | **Name** | **string** | Internal name of loyalty program. | +**JoinDate** | **DateTime** | The date on which the customer joined the loyalty program in RFC3339. **Note**: This is in the loyalty program's time zone. | [optional] **Ledger** | [**LedgerInfo**](LedgerInfo.md) | | **SubLedgers** | [**Dictionary<string, LedgerInfo>**](LedgerInfo.md) | A map containing information about each loyalty subledger. | [optional] diff --git a/docs/LoyaltyProgramTransaction.md b/docs/LoyaltyProgramTransaction.md index deb5f5d..d72c3da 100644 --- a/docs/LoyaltyProgramTransaction.md +++ b/docs/LoyaltyProgramTransaction.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Id** | **int** | ID of the loyalty ledger transaction. | **ProgramId** | **int** | ID of the loyalty program. | +**CampaignId** | **int** | ID of the campaign. | [optional] **Created** | **DateTime** | Date and time the loyalty transaction occurred. | **Type** | **string** | Type of transaction. Possible values: - `addition`: Signifies added points. - `subtraction`: Signifies deducted points. | **Amount** | **decimal** | Amount of loyalty points added or deducted in the transaction. | @@ -16,8 +17,8 @@ Name | Type | Description | Notes **SubledgerId** | **string** | ID of the subledger. | **CustomerSessionId** | **string** | ID of the customer session where the transaction occurred. | [optional] **ImportId** | **int** | ID of the import where the transaction occurred. | [optional] -**UserId** | **int** | ID of the user who manually added or deducted points. Applies only for manual transactions. | [optional] -**UserEmail** | **string** | The email of the user who manually added or deducted points. Applies only for manual transactions. | [optional] +**UserId** | **int** | ID of the user who manually added or deducted points. Applies only to manual transactions. | [optional] +**UserEmail** | **string** | The email of the Campaign Manager account that manually added or deducted points. Applies only to manual transactions. | [optional] **RulesetId** | **int** | ID of the ruleset containing the rule that triggered the effect. Applies only for transactions that resulted from a customer session. | [optional] **RuleName** | **string** | Name of the rule that triggered the effect. Applies only for transactions that resulted from a customer session. | [optional] diff --git a/docs/ManagementApi.md b/docs/ManagementApi.md index 5986186..7d41bfc 100644 --- a/docs/ManagementApi.md +++ b/docs/ManagementApi.md @@ -4,34 +4,45 @@ All URIs are relative to *https://yourbaseurl.talon.one* Method | HTTP request | Description ------------- | ------------- | ------------- +[**ActivateUserByEmail**](ManagementApi.md#activateuserbyemail) | **POST** /v1/users/activate | Activate user by email address [**AddLoyaltyCardPoints**](ManagementApi.md#addloyaltycardpoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/add_points | Add points to card [**AddLoyaltyPoints**](ManagementApi.md#addloyaltypoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/add_points | Add points to customer profile [**CopyCampaignToApplications**](ManagementApi.md#copycampaigntoapplications) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/copy | Copy the campaign into the specified Application [**CreateAccountCollection**](ManagementApi.md#createaccountcollection) | **POST** /v1/collections | Create account-level collection +[**CreateAchievement**](ManagementApi.md#createachievement) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements | Create achievement [**CreateAdditionalCost**](ManagementApi.md#createadditionalcost) | **POST** /v1/additional_costs | Create additional cost [**CreateAttribute**](ManagementApi.md#createattribute) | **POST** /v1/attributes | Create custom attribute [**CreateCampaignFromTemplate**](ManagementApi.md#createcampaignfromtemplate) | **POST** /v1/applications/{applicationId}/create_campaign_from_template | Create campaign from campaign template -[**CreateCollection**](ManagementApi.md#createcollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | Create collection +[**CreateCollection**](ManagementApi.md#createcollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | Create campaign-level collection [**CreateCoupons**](ManagementApi.md#createcoupons) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Create coupons [**CreateCouponsAsync**](ManagementApi.md#createcouponsasync) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons_async | Create coupons asynchronously [**CreateCouponsForMultipleRecipients**](ManagementApi.md#createcouponsformultiplerecipients) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons_with_recipients | Create coupons for multiple recipients -[**CreateNotificationWebhook**](ManagementApi.md#createnotificationwebhook) | **POST** /v1/applications/{applicationId}/notification_webhooks | Create notification about campaign-related changes +[**CreateInviteEmail**](ManagementApi.md#createinviteemail) | **POST** /v1/invite_emails | Resend invitation email +[**CreateInviteV2**](ManagementApi.md#createinvitev2) | **POST** /v2/invites | Invite user [**CreatePasswordRecoveryEmail**](ManagementApi.md#createpasswordrecoveryemail) | **POST** /v1/password_recovery_emails | Request a password reset [**CreateSession**](ManagementApi.md#createsession) | **POST** /v1/sessions | Create session +[**CreateStore**](ManagementApi.md#createstore) | **POST** /v1/applications/{applicationId}/stores | Create store +[**DeactivateUserByEmail**](ManagementApi.md#deactivateuserbyemail) | **POST** /v1/users/deactivate | Deactivate user by email address [**DeductLoyaltyCardPoints**](ManagementApi.md#deductloyaltycardpoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/deduct_points | Deduct points from card [**DeleteAccountCollection**](ManagementApi.md#deleteaccountcollection) | **DELETE** /v1/collections/{collectionId} | Delete account-level collection +[**DeleteAchievement**](ManagementApi.md#deleteachievement) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId} | Delete achievement [**DeleteCampaign**](ManagementApi.md#deletecampaign) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId} | Delete campaign -[**DeleteCollection**](ManagementApi.md#deletecollection) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Delete collection +[**DeleteCollection**](ManagementApi.md#deletecollection) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Delete campaign-level collection [**DeleteCoupon**](ManagementApi.md#deletecoupon) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId} | Delete coupon [**DeleteCoupons**](ManagementApi.md#deletecoupons) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Delete coupons [**DeleteLoyaltyCard**](ManagementApi.md#deleteloyaltycard) | **DELETE** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId} | Delete loyalty card -[**DeleteNotificationWebhook**](ManagementApi.md#deletenotificationwebhook) | **DELETE** /v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId} | Delete notification about campaign-related changes [**DeleteReferral**](ManagementApi.md#deletereferral) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId} | Delete referral +[**DeleteStore**](ManagementApi.md#deletestore) | **DELETE** /v1/applications/{applicationId}/stores/{storeId} | Delete store +[**DeleteUser**](ManagementApi.md#deleteuser) | **DELETE** /v1/users/{userId} | Delete user +[**DeleteUserByEmail**](ManagementApi.md#deleteuserbyemail) | **POST** /v1/users/delete | Delete user by email address [**DestroySession**](ManagementApi.md#destroysession) | **DELETE** /v1/sessions | Destroy session [**ExportAccountCollectionItems**](ManagementApi.md#exportaccountcollectionitems) | **GET** /v1/collections/{collectionId}/export | Export account-level collection's items -[**ExportCollectionItems**](ManagementApi.md#exportcollectionitems) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export | Export a collection's items +[**ExportAchievements**](ManagementApi.md#exportachievements) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}/export | Export achievement customer data +[**ExportAudiencesMemberships**](ManagementApi.md#exportaudiencesmemberships) | **GET** /v1/audiences/{audienceId}/memberships/export | Export audience members +[**ExportCollectionItems**](ManagementApi.md#exportcollectionitems) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export | Export campaign-level collection's items [**ExportCoupons**](ManagementApi.md#exportcoupons) | **GET** /v1/applications/{applicationId}/export_coupons | Export coupons [**ExportCustomerSessions**](ManagementApi.md#exportcustomersessions) | **GET** /v1/applications/{applicationId}/export_customer_sessions | Export customer sessions +[**ExportCustomersTiers**](ManagementApi.md#exportcustomerstiers) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/export_customers_tiers | Export customers' tier data [**ExportEffects**](ManagementApi.md#exporteffects) | **GET** /v1/applications/{applicationId}/export_effects | Export triggered effects [**ExportLoyaltyBalance**](ManagementApi.md#exportloyaltybalance) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/export_customer_balance | Export customer loyalty balance to CSV [**ExportLoyaltyBalances**](ManagementApi.md#exportloyaltybalances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/export_customer_balances | Export customer loyalty balances @@ -44,10 +55,10 @@ Method | HTTP request | Description [**GetAccount**](ManagementApi.md#getaccount) | **GET** /v1/accounts/{accountId} | Get account details [**GetAccountAnalytics**](ManagementApi.md#getaccountanalytics) | **GET** /v1/accounts/{accountId}/analytics | Get account analytics [**GetAccountCollection**](ManagementApi.md#getaccountcollection) | **GET** /v1/collections/{collectionId} | Get account-level collection +[**GetAchievement**](ManagementApi.md#getachievement) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId} | Get achievement [**GetAdditionalCost**](ManagementApi.md#getadditionalcost) | **GET** /v1/additional_costs/{additionalCostId} | Get additional cost [**GetAdditionalCosts**](ManagementApi.md#getadditionalcosts) | **GET** /v1/additional_costs | List additional costs [**GetAllAccessLogs**](ManagementApi.md#getallaccesslogs) | **GET** /v1/access_logs | List access logs -[**GetAllRoles**](ManagementApi.md#getallroles) | **GET** /v1/roles | List roles [**GetApplication**](ManagementApi.md#getapplication) | **GET** /v1/applications/{applicationId} | Get Application [**GetApplicationApiHealth**](ManagementApi.md#getapplicationapihealth) | **GET** /v1/applications/{applicationId}/health_report | Get Application health [**GetApplicationCustomer**](ManagementApi.md#getapplicationcustomer) | **GET** /v1/applications/{applicationId}/customers/{customerId} | Get application's customer @@ -61,20 +72,25 @@ Method | HTTP request | Description [**GetApplications**](ManagementApi.md#getapplications) | **GET** /v1/applications | List Applications [**GetAttribute**](ManagementApi.md#getattribute) | **GET** /v1/attributes/{attributeId} | Get custom attribute [**GetAttributes**](ManagementApi.md#getattributes) | **GET** /v1/attributes | List custom attributes +[**GetAudienceMemberships**](ManagementApi.md#getaudiencememberships) | **GET** /v1/audiences/{audienceId}/memberships | List audience members [**GetAudiences**](ManagementApi.md#getaudiences) | **GET** /v1/audiences | List audiences +[**GetAudiencesAnalytics**](ManagementApi.md#getaudiencesanalytics) | **GET** /v1/audiences/analytics | List audience analytics [**GetCampaign**](ManagementApi.md#getcampaign) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId} | Get campaign [**GetCampaignAnalytics**](ManagementApi.md#getcampaignanalytics) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/analytics | Get analytics of campaigns [**GetCampaignByAttributes**](ManagementApi.md#getcampaignbyattributes) | **POST** /v1/applications/{applicationId}/campaigns_search | List campaigns that match the given attributes +[**GetCampaignGroup**](ManagementApi.md#getcampaigngroup) | **GET** /v1/campaign_groups/{campaignGroupId} | Get campaign access group +[**GetCampaignGroups**](ManagementApi.md#getcampaigngroups) | **GET** /v1/campaign_groups | List campaign access groups [**GetCampaignTemplates**](ManagementApi.md#getcampaigntemplates) | **GET** /v1/campaign_templates | List campaign templates [**GetCampaigns**](ManagementApi.md#getcampaigns) | **GET** /v1/applications/{applicationId}/campaigns | List campaigns [**GetChanges**](ManagementApi.md#getchanges) | **GET** /v1/changes | Get audit logs for an account -[**GetCollection**](ManagementApi.md#getcollection) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Get collection +[**GetCollection**](ManagementApi.md#getcollection) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Get campaign-level collection [**GetCollectionItems**](ManagementApi.md#getcollectionitems) | **GET** /v1/collections/{collectionId}/items | Get collection items [**GetCouponsWithoutTotalCount**](ManagementApi.md#getcouponswithouttotalcount) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons/no_total | List coupons [**GetCustomerActivityReport**](ManagementApi.md#getcustomeractivityreport) | **GET** /v1/applications/{applicationId}/customer_activity_reports/{customerId} | Get customer's activity report [**GetCustomerActivityReportsWithoutTotalCount**](ManagementApi.md#getcustomeractivityreportswithouttotalcount) | **GET** /v1/applications/{applicationId}/customer_activity_reports/no_total | Get Activity Reports for Application Customers [**GetCustomerAnalytics**](ManagementApi.md#getcustomeranalytics) | **GET** /v1/applications/{applicationId}/customers/{customerId}/analytics | Get customer's analytics report [**GetCustomerProfile**](ManagementApi.md#getcustomerprofile) | **GET** /v1/customers/{customerId} | Get customer profile +[**GetCustomerProfileAchievementProgress**](ManagementApi.md#getcustomerprofileachievementprogress) | **GET** /v1/applications/{applicationId}/achievement_progress/{integrationId} | List customer achievements [**GetCustomerProfiles**](ManagementApi.md#getcustomerprofiles) | **GET** /v1/customers/no_total | List customer profiles [**GetCustomersByAttributes**](ManagementApi.md#getcustomersbyattributes) | **POST** /v1/customer_search/no_total | List customer profiles matching the given attributes [**GetEventTypes**](ManagementApi.md#geteventtypes) | **GET** /v1/event_types | List event types @@ -87,33 +103,38 @@ Method | HTTP request | Description [**GetLoyaltyProgramTransactions**](ManagementApi.md#getloyaltyprogramtransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/transactions | List loyalty program transactions [**GetLoyaltyPrograms**](ManagementApi.md#getloyaltyprograms) | **GET** /v1/loyalty_programs | List loyalty programs [**GetLoyaltyStatistics**](ManagementApi.md#getloyaltystatistics) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/statistics | Get loyalty program statistics -[**GetNotificationWebhook**](ManagementApi.md#getnotificationwebhook) | **GET** /v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId} | Get notification about campaign-related changes -[**GetNotificationWebhooks**](ManagementApi.md#getnotificationwebhooks) | **GET** /v1/applications/{applicationId}/notification_webhooks | List notifications about campaign-related changes [**GetReferralsWithoutTotalCount**](ManagementApi.md#getreferralswithouttotalcount) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/referrals/no_total | List referrals -[**GetRole**](ManagementApi.md#getrole) | **GET** /v1/roles/{roleId} | Get role +[**GetRoleV2**](ManagementApi.md#getrolev2) | **GET** /v2/roles/{roleId} | Get role [**GetRuleset**](ManagementApi.md#getruleset) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/rulesets/{rulesetId} | Get ruleset [**GetRulesets**](ManagementApi.md#getrulesets) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/rulesets | List campaign rulesets +[**GetStore**](ManagementApi.md#getstore) | **GET** /v1/applications/{applicationId}/stores/{storeId} | Get store [**GetUser**](ManagementApi.md#getuser) | **GET** /v1/users/{userId} | Get user [**GetUsers**](ManagementApi.md#getusers) | **GET** /v1/users | List users in account [**GetWebhook**](ManagementApi.md#getwebhook) | **GET** /v1/webhooks/{webhookId} | Get webhook [**GetWebhookActivationLogs**](ManagementApi.md#getwebhookactivationlogs) | **GET** /v1/webhook_activation_logs | List webhook activation log entries [**GetWebhookLogs**](ManagementApi.md#getwebhooklogs) | **GET** /v1/webhook_logs | List webhook log entries [**GetWebhooks**](ManagementApi.md#getwebhooks) | **GET** /v1/webhooks | List webhooks -[**ImportAccountCollection**](ManagementApi.md#importaccountcollection) | **POST** /v1/collections/{collectionId}/import | Import data in existing account-level collection +[**ImportAccountCollection**](ManagementApi.md#importaccountcollection) | **POST** /v1/collections/{collectionId}/import | Import data into existing account-level collection [**ImportAllowedList**](ManagementApi.md#importallowedlist) | **POST** /v1/attributes/{attributeId}/allowed_list/import | Import allowed values for attribute -[**ImportCollection**](ManagementApi.md#importcollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/import | Import data in existing collection +[**ImportAudiencesMemberships**](ManagementApi.md#importaudiencesmemberships) | **POST** /v1/audiences/{audienceId}/memberships/import | Import audience members +[**ImportCollection**](ManagementApi.md#importcollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/import | Import data into existing campaign-level collection [**ImportCoupons**](ManagementApi.md#importcoupons) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/import_coupons | Import coupons [**ImportLoyaltyCards**](ManagementApi.md#importloyaltycards) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/import_cards | Import loyalty cards [**ImportLoyaltyCustomersTiers**](ManagementApi.md#importloyaltycustomerstiers) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/import_customers_tiers | Import customers into loyalty tiers [**ImportLoyaltyPoints**](ManagementApi.md#importloyaltypoints) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/import_points | Import loyalty points [**ImportPoolGiveaways**](ManagementApi.md#importpoolgiveaways) | **POST** /v1/giveaways/pools/{poolId}/import | Import giveaway codes into a giveaway pool [**ImportReferrals**](ManagementApi.md#importreferrals) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/import_referrals | Import referrals +[**InviteUserExternal**](ManagementApi.md#inviteuserexternal) | **POST** /v1/users/invite | Invite user from identity provider [**ListAccountCollections**](ManagementApi.md#listaccountcollections) | **GET** /v1/collections | List collections in account +[**ListAchievements**](ManagementApi.md#listachievements) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements | List achievements +[**ListAllRolesV2**](ManagementApi.md#listallrolesv2) | **GET** /v2/roles | List roles [**ListCatalogItems**](ManagementApi.md#listcatalogitems) | **GET** /v1/catalogs/{catalogId}/items | List items in a catalog -[**ListCollections**](ManagementApi.md#listcollections) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | List collections -[**ListCollectionsInApplication**](ManagementApi.md#listcollectionsinapplication) | **GET** /v1/applications/{applicationId}/collections | List collections in application +[**ListCollections**](ManagementApi.md#listcollections) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | List collections in campaign +[**ListCollectionsInApplication**](ManagementApi.md#listcollectionsinapplication) | **GET** /v1/applications/{applicationId}/collections | List collections in Application +[**ListStores**](ManagementApi.md#liststores) | **GET** /v1/applications/{applicationId}/stores | List stores +[**NotificationActivation**](ManagementApi.md#notificationactivation) | **PUT** /v1/notifications/{notificationId}/activation | Activate or deactivate notification [**PostAddedDeductedPointsNotification**](ManagementApi.md#postaddeddeductedpointsnotification) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/notifications/added_deducted_points | Create notification about added or deducted loyalty points -[**PostCatalogsStrikethroughNotification**](ManagementApi.md#postcatalogsstrikethroughnotification) | **POST** /v1/catalogs/{applicationId}/notifications/strikethrough | Create strikethrough notification +[**PostCatalogsStrikethroughNotification**](ManagementApi.md#postcatalogsstrikethroughnotification) | **POST** /v1/applications/{applicationId}/catalogs/notifications/strikethrough | Create strikethrough notification [**PostPendingPointsNotification**](ManagementApi.md#postpendingpointsnotification) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/notifications/pending_points | Create notification about pending loyalty points [**RemoveLoyaltyPoints**](ManagementApi.md#removeloyaltypoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points | Deduct points from customer profile [**ResetPassword**](ManagementApi.md#resetpassword) | **POST** /v1/reset_password | Reset password @@ -121,17 +142,98 @@ Method | HTTP request | Description [**SearchCouponsAdvancedWithoutTotalCount**](ManagementApi.md#searchcouponsadvancedwithouttotalcount) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons_search_advanced/no_total | List coupons that match the given attributes in campaign (without total count) [**TransferLoyaltyCard**](ManagementApi.md#transferloyaltycard) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transfer | Transfer card data [**UpdateAccountCollection**](ManagementApi.md#updateaccountcollection) | **PUT** /v1/collections/{collectionId} | Update account-level collection +[**UpdateAchievement**](ManagementApi.md#updateachievement) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId} | Update achievement [**UpdateAdditionalCost**](ManagementApi.md#updateadditionalcost) | **PUT** /v1/additional_costs/{additionalCostId} | Update additional cost [**UpdateAttribute**](ManagementApi.md#updateattribute) | **PUT** /v1/attributes/{attributeId} | Update custom attribute [**UpdateCampaign**](ManagementApi.md#updatecampaign) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId} | Update campaign -[**UpdateCollection**](ManagementApi.md#updatecollection) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Update collection description +[**UpdateCollection**](ManagementApi.md#updatecollection) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Update campaign-level collection's description [**UpdateCoupon**](ManagementApi.md#updatecoupon) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId} | Update coupon [**UpdateCouponBatch**](ManagementApi.md#updatecouponbatch) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Update coupons [**UpdateLoyaltyCard**](ManagementApi.md#updateloyaltycard) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId} | Update loyalty card status -[**UpdateNotificationWebhook**](ManagementApi.md#updatenotificationwebhook) | **PUT** /v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId} | Update notification about campaign-related changes [**UpdateReferral**](ManagementApi.md#updatereferral) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId} | Update referral +[**UpdateRoleV2**](ManagementApi.md#updaterolev2) | **PUT** /v2/roles/{roleId} | Update role +[**UpdateStore**](ManagementApi.md#updatestore) | **PUT** /v1/applications/{applicationId}/stores/{storeId} | Update store +[**UpdateUser**](ManagementApi.md#updateuser) | **PUT** /v1/users/{userId} | Update user + +# **ActivateUserByEmail** +> void ActivateUserByEmail (ActivateUserRequest body) + +Activate user by email address + +Activate a deactivated user by their email address. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class ActivateUserByEmailExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var body = new ActivateUserRequest(); // ActivateUserRequest | body + + try + { + // Activate user by email address + apiInstance.ActivateUserByEmail(body); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.ActivateUserByEmail: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**ActivateUserRequest**](ActivateUserRequest.md)| body | + +### Return type + +void (empty response body) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **204** | No Content | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **AddLoyaltyCardPoints** > void AddLoyaltyCardPoints (int loyaltyProgramId, string loyaltyCardId, AddLoyaltyPoints body) @@ -304,7 +406,7 @@ void (empty response body) # **CopyCampaignToApplications** -> InlineResponse2004 CopyCampaignToApplications (int applicationId, int campaignId, CampaignCopy body) +> InlineResponse2006 CopyCampaignToApplications (int applicationId, int campaignId, CampaignCopy body) Copy the campaign into the specified Application @@ -343,7 +445,7 @@ namespace Example try { // Copy the campaign into the specified Application - InlineResponse2004 result = apiInstance.CopyCampaignToApplications(applicationId, campaignId, body); + InlineResponse2006 result = apiInstance.CopyCampaignToApplications(applicationId, campaignId, body); Debug.WriteLine(result); } catch (ApiException e) @@ -367,7 +469,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2004**](InlineResponse2004.md) +[**InlineResponse2006**](InlineResponse2006.md) ### Authorization @@ -391,7 +493,7 @@ Name | Type | Description | Notes Create account-level collection -Create account-level collection. +Create an account-level collection. ### Example ```csharp @@ -463,7 +565,93 @@ Name | Type | Description | Notes | **201** | Created | - | | **400** | Bad request | - | | **401** | Unauthorized | - | -| **409** | Conflict. A Collection with this name already exists. | - | +| **409** | Conflict. A collection with this name already exists. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **CreateAchievement** +> Achievement CreateAchievement (int applicationId, int campaignId, CreateAchievement body) + +Create achievement + +Create a new achievement in a specific campaign. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class CreateAchievementExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var body = new CreateAchievement(); // CreateAchievement | body + + try + { + // Create achievement + Achievement result = apiInstance.CreateAchievement(applicationId, campaignId, body); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.CreateAchievement: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **body** | [**CreateAchievement**](CreateAchievement.md)| body | + +### Return type + +[**Achievement**](Achievement.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | Created | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **409** | Conflict. An achievement with this name or title already exists. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -710,9 +898,9 @@ Name | Type | Description | Notes # **CreateCollection** > Collection CreateCollection (int applicationId, int campaignId, NewCampaignCollection body) -Create collection +Create campaign-level collection -Create a collection. +Create a campaign-level collection in a given campaign. ### Example ```csharp @@ -746,7 +934,7 @@ namespace Example try { - // Create collection + // Create campaign-level collection Collection result = apiInstance.CreateCollection(applicationId, campaignId, body); Debug.WriteLine(result); } @@ -791,7 +979,7 @@ Name | Type | Description | Notes # **CreateCoupons** -> InlineResponse2007 CreateCoupons (int applicationId, int campaignId, NewCoupons body, string silent = null) +> InlineResponse2008 CreateCoupons (int applicationId, int campaignId, NewCoupons body, string silent = null) Create coupons @@ -831,7 +1019,7 @@ namespace Example try { // Create coupons - InlineResponse2007 result = apiInstance.CreateCoupons(applicationId, campaignId, body, silent); + InlineResponse2008 result = apiInstance.CreateCoupons(applicationId, campaignId, body, silent); Debug.WriteLine(result); } catch (ApiException e) @@ -856,7 +1044,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2007**](InlineResponse2007.md) +[**InlineResponse2008**](InlineResponse2008.md) ### Authorization @@ -960,7 +1148,7 @@ Name | Type | Description | Notes # **CreateCouponsForMultipleRecipients** -> InlineResponse2007 CreateCouponsForMultipleRecipients (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = null) +> InlineResponse2008 CreateCouponsForMultipleRecipients (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = null) Create coupons for multiple recipients @@ -1000,7 +1188,7 @@ namespace Example try { // Create coupons for multiple recipients - InlineResponse2007 result = apiInstance.CreateCouponsForMultipleRecipients(applicationId, campaignId, body, silent); + InlineResponse2008 result = apiInstance.CreateCouponsForMultipleRecipients(applicationId, campaignId, body, silent); Debug.WriteLine(result); } catch (ApiException e) @@ -1025,7 +1213,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2007**](InlineResponse2007.md) +[**InlineResponse2008**](InlineResponse2008.md) ### Authorization @@ -1044,13 +1232,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **CreateNotificationWebhook** -> NotificationWebhook CreateNotificationWebhook (int applicationId, NewNotificationWebhook body) + +# **CreateInviteEmail** +> NewInviteEmail CreateInviteEmail (NewInviteEmail body) -Create notification about campaign-related changes +Resend invitation email -Create a [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). A notification about campaign-related changes is different from regular webhooks in that it is Application-scoped and has a predefined payload. [Regular webhooks](https://docs.talon.one/docs/dev/getting-started/webhooks) have user-definable payloads. **Tip:** - You can create these notifications using the Campaign Manager. See [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). - You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_created/post). +Resend an email invitation to an existing user. **Note:** The invitation token is valid for 24 hours after the email has been sent. ### Example ```csharp @@ -1062,7 +1250,7 @@ using TalonOne.Model; namespace Example { - public class CreateNotificationWebhookExample + public class CreateInviteEmailExample { public static void Main() { @@ -1078,18 +1266,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var body = new NewNotificationWebhook(); // NewNotificationWebhook | body + var body = new NewInviteEmail(); // NewInviteEmail | body try { - // Create notification about campaign-related changes - NotificationWebhook result = apiInstance.CreateNotificationWebhook(applicationId, body); + // Resend invitation email + NewInviteEmail result = apiInstance.CreateInviteEmail(body); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.CreateNotificationWebhook: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.CreateInviteEmail: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -1102,12 +1289,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **body** | [**NewNotificationWebhook**](NewNotificationWebhook.md)| body | + **body** | [**NewInviteEmail**](NewInviteEmail.md)| body | ### Return type -[**NotificationWebhook**](NotificationWebhook.md) +[**NewInviteEmail**](NewInviteEmail.md) ### Authorization @@ -1125,13 +1311,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **CreatePasswordRecoveryEmail** -> NewPasswordEmail CreatePasswordRecoveryEmail (NewPasswordEmail body) + +# **CreateInviteV2** +> User CreateInviteV2 (NewInvitation body) -Request a password reset +Invite user -Send an email with a password recovery link to the email address of an existing account. **Note:** The password recovery link expires 30 minutes after this endpoint is triggered. +Create a new user in the account and send an invitation to their email address. **Note**: The invitation token is valid for 24 hours after the email has been sent. You can resend an invitation to a user with the [Resend invitation email](https://docs.talon.one/management-api#tag/Accounts-and-users/operation/createInviteEmail) endpoint. ### Example ```csharp @@ -1143,7 +1329,7 @@ using TalonOne.Model; namespace Example { - public class CreatePasswordRecoveryEmailExample + public class CreateInviteV2Example { public static void Main() { @@ -1159,17 +1345,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var body = new NewPasswordEmail(); // NewPasswordEmail | body + var body = new NewInvitation(); // NewInvitation | body try { - // Request a password reset - NewPasswordEmail result = apiInstance.CreatePasswordRecoveryEmail(body); + // Invite user + User result = apiInstance.CreateInviteV2(body); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.CreatePasswordRecoveryEmail: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.CreateInviteV2: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -1182,11 +1368,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **body** | [**NewPasswordEmail**](NewPasswordEmail.md)| body | + **body** | [**NewInvitation**](NewInvitation.md)| body | ### Return type -[**NewPasswordEmail**](NewPasswordEmail.md) +[**User**](User.md) ### Authorization @@ -1200,17 +1386,17 @@ Name | Type | Description | Notes ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **204** | Created | - | +| **201** | Created | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **CreateSession** -> Session CreateSession (LoginParams body) + +# **CreatePasswordRecoveryEmail** +> NewPasswordEmail CreatePasswordRecoveryEmail (NewPasswordEmail body) -Create session +Request a password reset -Create a session to use the Management API endpoints. Use the value of the `token` property provided in the response as bearer token in other API calls. A token is valid for 3 months. In accordance with best pratices, use your generated token for all your API requests. Do **not** regenerate a token for each request. This endpoint has a rate limit of 3 to 6 requests per second per account, depending on your setup.

Granular API key

Instead of using a session, you can also use the Management API key feature in the Campaign Manager to decide which endpoints can be used with a given key.
+Send an email with a password recovery link to the email address of an existing account. **Note:** The password recovery link expires 30 minutes after this endpoint is triggered. ### Example ```csharp @@ -1222,7 +1408,7 @@ using TalonOne.Model; namespace Example { - public class CreateSessionExample + public class CreatePasswordRecoveryEmailExample { public static void Main() { @@ -1238,17 +1424,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var body = new LoginParams(); // LoginParams | body + var body = new NewPasswordEmail(); // NewPasswordEmail | body try { - // Create session - Session result = apiInstance.CreateSession(body); + // Request a password reset + NewPasswordEmail result = apiInstance.CreatePasswordRecoveryEmail(body); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.CreateSession: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.CreatePasswordRecoveryEmail: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -1261,11 +1447,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **body** | [**LoginParams**](LoginParams.md)| body | + **body** | [**NewPasswordEmail**](NewPasswordEmail.md)| body | ### Return type -[**Session**](Session.md) +[**NewPasswordEmail**](NewPasswordEmail.md) ### Authorization @@ -1279,17 +1465,17 @@ Name | Type | Description | Notes ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **201** | Created | - | +| **204** | Created | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DeductLoyaltyCardPoints** -> void DeductLoyaltyCardPoints (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body) + +# **CreateSession** +> Session CreateSession (LoginParams body) -Deduct points from card +Create session -Deduct points from the given loyalty card in the specified card-based loyalty program. +Create a session to use the Management API endpoints. Use the value of the `token` property provided in the response as bearer token in other API calls. A token is valid for 3 months. In accordance with best pratices, use your generated token for all your API requests. Do **not** regenerate a token for each request. This endpoint has a rate limit of 3 to 6 requests per second per account, depending on your setup.

Granular API key

Instead of using a session, you can also use the Management API key feature in the Campaign Manager to decide which endpoints can be used with a given key.
### Example ```csharp @@ -1301,7 +1487,7 @@ using TalonOne.Model; namespace Example { - public class DeductLoyaltyCardPointsExample + public class CreateSessionExample { public static void Main() { @@ -1317,18 +1503,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - var body = new DeductLoyaltyPoints(); // DeductLoyaltyPoints | body + var body = new LoginParams(); // LoginParams | body try { - // Deduct points from card - apiInstance.DeductLoyaltyCardPoints(loyaltyProgramId, loyaltyCardId, body); + // Create session + Session result = apiInstance.CreateSession(body); + Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.DeductLoyaltyCardPoints: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.CreateSession: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -1341,13 +1526,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | - **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | - **body** | [**DeductLoyaltyPoints**](DeductLoyaltyPoints.md)| body | + **body** | [**LoginParams**](LoginParams.md)| body | ### Return type -void (empty response body) +[**Session**](Session.md) ### Authorization @@ -1361,20 +1544,17 @@ void (empty response body) ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **204** | No Content | - | -| **400** | Bad request | - | -| **401** | Unauthorized | - | -| **404** | Not found | - | +| **201** | Created | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DeleteAccountCollection** -> void DeleteAccountCollection (int collectionId) + +# **CreateStore** +> Store CreateStore (int applicationId, NewStore body) -Delete account-level collection +Create store -Delete the given account-level collection. +Create a new store in a specific Application. ### Example ```csharp @@ -1386,7 +1566,7 @@ using TalonOne.Model; namespace Example { - public class DeleteAccountCollectionExample + public class CreateStoreExample { public static void Main() { @@ -1402,16 +1582,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var collectionId = 56; // int | The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var body = new NewStore(); // NewStore | body try { - // Delete account-level collection - apiInstance.DeleteAccountCollection(collectionId); + // Create store + Store result = apiInstance.CreateStore(applicationId, body); + Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.DeleteAccountCollection: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.CreateStore: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -1424,11 +1606,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **collectionId** | **int**| The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. | + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **body** | [**NewStore**](NewStore.md)| body | ### Return type -void (empty response body) +[**Store**](Store.md) ### Authorization @@ -1436,24 +1619,25 @@ void (empty response body) ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **204** | No Content | - | -| **404** | Not found | - | +| **201** | Created | - | +| **400** | Bad request | - | +| **409** | Conflict. A store with this integration ID already exists for this application. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DeleteCampaign** -> void DeleteCampaign (int applicationId, int campaignId) + +# **DeactivateUserByEmail** +> void DeactivateUserByEmail (DeactivateUserRequest body) -Delete campaign +Deactivate user by email address -Delete the given campaign. +Deactivate a specific user by their email address. ### Example ```csharp @@ -1465,7 +1649,7 @@ using TalonOne.Model; namespace Example { - public class DeleteCampaignExample + public class DeactivateUserByEmailExample { public static void Main() { @@ -1481,17 +1665,16 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var body = new DeactivateUserRequest(); // DeactivateUserRequest | body try { - // Delete campaign - apiInstance.DeleteCampaign(applicationId, campaignId); + // Deactivate user by email address + apiInstance.DeactivateUserByEmail(body); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.DeleteCampaign: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeactivateUserByEmail: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -1504,8 +1687,7 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **body** | [**DeactivateUserRequest**](DeactivateUserRequest.md)| body | ### Return type @@ -1517,7 +1699,7 @@ void (empty response body) ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: Not defined ### HTTP response details @@ -1527,13 +1709,13 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DeleteCollection** -> void DeleteCollection (int applicationId, int campaignId, int collectionId) + +# **DeductLoyaltyCardPoints** +> void DeductLoyaltyCardPoints (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body) -Delete collection +Deduct points from card -Delete the given collection. +Deduct points from the given loyalty card in the specified card-based loyalty program. ### Example ```csharp @@ -1545,7 +1727,7 @@ using TalonOne.Model; namespace Example { - public class DeleteCollectionExample + public class DeductLoyaltyCardPointsExample { public static void Main() { @@ -1561,18 +1743,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var collectionId = 56; // int | The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + var body = new DeductLoyaltyPoints(); // DeductLoyaltyPoints | body try { - // Delete collection - apiInstance.DeleteCollection(applicationId, campaignId, collectionId); + // Deduct points from card + apiInstance.DeductLoyaltyCardPoints(loyaltyProgramId, loyaltyCardId, body); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.DeleteCollection: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeductLoyaltyCardPoints: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -1585,9 +1767,9 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **collectionId** | **int**| The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. | + **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | + **body** | [**DeductLoyaltyPoints**](DeductLoyaltyPoints.md)| body | ### Return type @@ -1599,24 +1781,26 @@ void (empty response body) ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **204** | No Content | - | +| **400** | Bad request | - | | **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DeleteCoupon** -> void DeleteCoupon (int applicationId, int campaignId, string couponId) + +# **DeleteAccountCollection** +> void DeleteAccountCollection (int collectionId) -Delete coupon +Delete account-level collection -Delete the specified coupon. +Delete a given account-level collection. ### Example ```csharp @@ -1628,7 +1812,7 @@ using TalonOne.Model; namespace Example { - public class DeleteCouponExample + public class DeleteAccountCollectionExample { public static void Main() { @@ -1644,18 +1828,16 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var couponId = couponId_example; // string | The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + var collectionId = 56; // int | The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. try { - // Delete coupon - apiInstance.DeleteCoupon(applicationId, campaignId, couponId); + // Delete account-level collection + apiInstance.DeleteAccountCollection(collectionId); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.DeleteCoupon: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeleteAccountCollection: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -1668,9 +1850,7 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **couponId** | **string**| The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. | + **collectionId** | **int**| The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. | ### Return type @@ -1683,22 +1863,23 @@ void (empty response body) ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: Not defined + - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **204** | No Content | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DeleteCoupons** -> void DeleteCoupons (int applicationId, int campaignId, string value = null, DateTime? createdBefore = null, DateTime? createdAfter = null, DateTime? startsAfter = null, DateTime? startsBefore = null, DateTime? expiresAfter = null, DateTime? expiresBefore = null, string valid = null, string batchId = null, string usable = null, int? referralId = null, string recipientIntegrationId = null, bool? exactMatch = null) + +# **DeleteAchievement** +> void DeleteAchievement (int applicationId, int campaignId, int achievementId) -Delete coupons +Delete achievement -Deletes all the coupons matching the specified criteria. +Delete the specified achievement. ### Example ```csharp @@ -1710,7 +1891,7 @@ using TalonOne.Model; namespace Example { - public class DeleteCouponsExample + public class DeleteAchievementExample { public static void Main() { @@ -1728,28 +1909,16 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var value = value_example; // string | Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var startsAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var startsBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var expiresAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var expiresBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var valid = valid_example; // string | - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) - var batchId = batchId_example; // string | Filter results by batches of coupons (optional) - var usable = usable_example; // string | - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) - var referralId = 56; // int? | Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - var recipientIntegrationId = recipientIntegrationId_example; // string | Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. (optional) - var exactMatch = true; // bool? | Filter results to an exact case-insensitive matching against the coupon code (optional) (default to false) + var achievementId = 56; // int | The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. try { - // Delete coupons - apiInstance.DeleteCoupons(applicationId, campaignId, value, createdBefore, createdAfter, startsAfter, startsBefore, expiresAfter, expiresBefore, valid, batchId, usable, referralId, recipientIntegrationId, exactMatch); + // Delete achievement + apiInstance.DeleteAchievement(applicationId, campaignId, achievementId); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.DeleteCoupons: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeleteAchievement: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -1764,19 +1933,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **value** | **string**| Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. | [optional] - **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **startsAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **startsBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **expiresAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **expiresBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **valid** | **string**| - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. | [optional] - **batchId** | **string**| Filter results by batches of coupons | [optional] - **usable** | **string**| - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. | [optional] - **referralId** | **int?**| Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. | [optional] - **recipientIntegrationId** | **string**| Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. | [optional] - **exactMatch** | **bool?**| Filter results to an exact case-insensitive matching against the coupon code | [optional] [default to false] + **achievementId** | **int**| The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. | ### Return type @@ -1789,22 +1946,24 @@ void (empty response body) ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: Not defined + - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **204** | No Content | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DeleteLoyaltyCard** -> void DeleteLoyaltyCard (int loyaltyProgramId, string loyaltyCardId) + +# **DeleteCampaign** +> void DeleteCampaign (int applicationId, int campaignId) -Delete loyalty card +Delete campaign -Delete the given loyalty card. +Delete the given campaign. ### Example ```csharp @@ -1816,7 +1975,7 @@ using TalonOne.Model; namespace Example { - public class DeleteLoyaltyCardExample + public class DeleteCampaignExample { public static void Main() { @@ -1832,17 +1991,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. try { - // Delete loyalty card - apiInstance.DeleteLoyaltyCard(loyaltyProgramId, loyaltyCardId); + // Delete campaign + apiInstance.DeleteCampaign(applicationId, campaignId); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.DeleteLoyaltyCard: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeleteCampaign: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -1855,8 +2014,8 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | - **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | ### Return type @@ -1869,24 +2028,22 @@ void (empty response body) ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/json + - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **204** | No Content | - | -| **401** | Unauthorized | - | -| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DeleteNotificationWebhook** -> void DeleteNotificationWebhook (int applicationId, int notificationWebhookId) + +# **DeleteCollection** +> void DeleteCollection (int applicationId, int campaignId, int collectionId) -Delete notification about campaign-related changes +Delete campaign-level collection -Remove the given existing [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). +Delete a given campaign-level collection. ### Example ```csharp @@ -1898,7 +2055,7 @@ using TalonOne.Model; namespace Example { - public class DeleteNotificationWebhookExample + public class DeleteCollectionExample { public static void Main() { @@ -1915,16 +2072,17 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var notificationWebhookId = 56; // int | The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var collectionId = 56; // int | The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. try { - // Delete notification about campaign-related changes - apiInstance.DeleteNotificationWebhook(applicationId, notificationWebhookId); + // Delete campaign-level collection + apiInstance.DeleteCollection(applicationId, campaignId, collectionId); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.DeleteNotificationWebhook: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeleteCollection: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -1938,7 +2096,8 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **notificationWebhookId** | **int**| The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **collectionId** | **int**| The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. | ### Return type @@ -1951,22 +2110,23 @@ void (empty response body) ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: Not defined + - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **204** | No Content | - | +| **401** | Unauthorized | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DeleteReferral** -> void DeleteReferral (int applicationId, int campaignId, string referralId) + +# **DeleteCoupon** +> void DeleteCoupon (int applicationId, int campaignId, string couponId) -Delete referral +Delete coupon -Delete the specified referral. +Delete the specified coupon. ### Example ```csharp @@ -1978,7 +2138,7 @@ using TalonOne.Model; namespace Example { - public class DeleteReferralExample + public class DeleteCouponExample { public static void Main() { @@ -1996,16 +2156,16 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var referralId = referralId_example; // string | The ID of the referral code. + var couponId = couponId_example; // string | The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. try { - // Delete referral - apiInstance.DeleteReferral(applicationId, campaignId, referralId); + // Delete coupon + apiInstance.DeleteCoupon(applicationId, campaignId, couponId); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.DeleteReferral: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeleteCoupon: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2020,7 +2180,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **referralId** | **string**| The ID of the referral code. | + **couponId** | **string**| The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. | ### Return type @@ -2042,13 +2202,13 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DestroySession** -> void DestroySession () + +# **DeleteCoupons** +> void DeleteCoupons (int applicationId, int campaignId, string value = null, DateTime? createdBefore = null, DateTime? createdAfter = null, DateTime? startsAfter = null, DateTime? startsBefore = null, DateTime? expiresAfter = null, DateTime? expiresBefore = null, string valid = null, string batchId = null, string usable = null, int? referralId = null, string recipientIntegrationId = null, bool? exactMatch = null) -Destroy session +Delete coupons -Destroys the session. +Deletes all the coupons matching the specified criteria. ### Example ```csharp @@ -2060,7 +2220,7 @@ using TalonOne.Model; namespace Example { - public class DestroySessionExample + public class DeleteCouponsExample { public static void Main() { @@ -2076,15 +2236,30 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var value = value_example; // string | Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var startsAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var startsBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var expiresAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var expiresBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var valid = valid_example; // string | - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) + var batchId = batchId_example; // string | Filter results by batches of coupons (optional) + var usable = usable_example; // string | - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) + var referralId = 56; // int? | Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + var recipientIntegrationId = recipientIntegrationId_example; // string | Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. (optional) + var exactMatch = true; // bool? | Filter results to an exact case-insensitive matching against the coupon code (optional) (default to false) try { - // Destroy session - apiInstance.DestroySession(); + // Delete coupons + apiInstance.DeleteCoupons(applicationId, campaignId, value, createdBefore, createdAfter, startsAfter, startsBefore, expiresAfter, expiresBefore, valid, batchId, usable, referralId, recipientIntegrationId, exactMatch); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.DestroySession: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeleteCoupons: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2094,7 +2269,24 @@ namespace Example ``` ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **value** | **string**| Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. | [optional] + **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **startsAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **startsBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **expiresAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **expiresBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **valid** | **string**| - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. | [optional] + **batchId** | **string**| Filter results by batches of coupons | [optional] + **usable** | **string**| - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. | [optional] + **referralId** | **int?**| Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. | [optional] + **recipientIntegrationId** | **string**| Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. | [optional] + **exactMatch** | **bool?**| Filter results to an exact case-insensitive matching against the coupon code | [optional] [default to false] ### Return type @@ -2116,13 +2308,13 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportAccountCollectionItems** -> string ExportAccountCollectionItems (int collectionId) + +# **DeleteLoyaltyCard** +> void DeleteLoyaltyCard (int loyaltyProgramId, string loyaltyCardId) -Export account-level collection's items +Delete loyalty card -Download a CSV file containing items from an account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). +Delete the given loyalty card. ### Example ```csharp @@ -2134,7 +2326,7 @@ using TalonOne.Model; namespace Example { - public class ExportAccountCollectionItemsExample + public class DeleteLoyaltyCardExample { public static void Main() { @@ -2150,17 +2342,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var collectionId = 56; // int | The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. try { - // Export account-level collection's items - string result = apiInstance.ExportAccountCollectionItems(collectionId); - Debug.WriteLine(result); + // Delete loyalty card + apiInstance.DeleteLoyaltyCard(loyaltyProgramId, loyaltyCardId); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportAccountCollectionItems: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeleteLoyaltyCard: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2173,11 +2365,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **collectionId** | **int**| The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. | + **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | ### Return type -**string** +void (empty response body) ### Authorization @@ -2186,24 +2379,24 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/csv + - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | OK | - | -| **401** | Unauthorized - Invalid API key | - | +| **204** | No Content | - | +| **401** | Unauthorized | - | | **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportCollectionItems** -> string ExportCollectionItems (int applicationId, int campaignId, int collectionId) + +# **DeleteReferral** +> void DeleteReferral (int applicationId, int campaignId, string referralId) -Export a collection's items +Delete referral -Download a CSV file containing a collection's items. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). +Delete the specified referral. ### Example ```csharp @@ -2215,7 +2408,7 @@ using TalonOne.Model; namespace Example { - public class ExportCollectionItemsExample + public class DeleteReferralExample { public static void Main() { @@ -2233,17 +2426,16 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var collectionId = 56; // int | The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + var referralId = referralId_example; // string | The ID of the referral code. try { - // Export a collection's items - string result = apiInstance.ExportCollectionItems(applicationId, campaignId, collectionId); - Debug.WriteLine(result); + // Delete referral + apiInstance.DeleteReferral(applicationId, campaignId, referralId); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportCollectionItems: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeleteReferral: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2258,11 +2450,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **collectionId** | **int**| The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. | + **referralId** | **string**| The ID of the referral code. | ### Return type -**string** +void (empty response body) ### Authorization @@ -2271,24 +2463,22 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/csv + - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | OK | - | -| **401** | Unauthorized | - | -| **404** | Not found | - | +| **204** | No Content | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportCoupons** -> string ExportCoupons (int applicationId, decimal? campaignId = null, string sort = null, string value = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, int? referralId = null, string recipientIntegrationId = null, string batchId = null, bool? exactMatch = null, string dateFormat = null, string campaignState = null) + +# **DeleteStore** +> void DeleteStore (int applicationId, string storeId) -Export coupons +Delete store -Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the customer considered as recipient of the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon is reserved. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. +Delete the specified store. ### Example ```csharp @@ -2300,7 +2490,7 @@ using TalonOne.Model; namespace Example { - public class ExportCouponsExample + public class DeleteStoreExample { public static void Main() { @@ -2317,29 +2507,16 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 8.14; // decimal? | Filter results by campaign. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var value = value_example; // string | Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var valid = valid_example; // string | Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - var usable = usable_example; // string | Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - var referralId = 56; // int? | Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - var recipientIntegrationId = recipientIntegrationId_example; // string | Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - var batchId = batchId_example; // string | Filter results by batches of coupons (optional) - var exactMatch = true; // bool? | Filter results to an exact case-insensitive matching against the coupon code (optional) (default to false) - var dateFormat = dateFormat_example; // string | Determines the format of dates in the export document. (optional) - var campaignState = campaignState_example; // string | Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + var storeId = storeId_example; // string | The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. try { - // Export coupons - string result = apiInstance.ExportCoupons(applicationId, campaignId, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, dateFormat, campaignState); - Debug.WriteLine(result); + // Delete store + apiInstance.DeleteStore(applicationId, storeId); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportCoupons: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeleteStore: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2353,23 +2530,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **decimal?**| Filter results by campaign. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **value** | **string**| Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. | [optional] - **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **valid** | **string**| Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. | [optional] - **usable** | **string**| Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. | [optional] - **referralId** | **int?**| Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. | [optional] - **recipientIntegrationId** | **string**| Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field | [optional] - **batchId** | **string**| Filter results by batches of coupons | [optional] - **exactMatch** | **bool?**| Filter results to an exact case-insensitive matching against the coupon code | [optional] [default to false] - **dateFormat** | **string**| Determines the format of dates in the export document. | [optional] - **campaignState** | **string**| Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. | [optional] + **storeId** | **string**| The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. | ### Return type -**string** +void (empty response body) ### Authorization @@ -2378,22 +2543,23 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/csv + - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | OK | - | +| **204** | No Content | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportCustomerSessions** -> string ExportCustomerSessions (int applicationId, DateTime? createdBefore = null, DateTime? createdAfter = null, string profileIntegrationId = null, string dateFormat = null, string customerSessionState = null) + +# **DeleteUser** +> void DeleteUser (int userId) -Export customer sessions +Delete user -Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of the session. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `coupons`: Coupon codes in the session. +Delete a specific user. ### Example ```csharp @@ -2405,7 +2571,7 @@ using TalonOne.Model; namespace Example { - public class ExportCustomerSessionsExample + public class DeleteUserExample { public static void Main() { @@ -2421,22 +2587,16 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) - var profileIntegrationId = profileIntegrationId_example; // string | Only return sessions for the customer that matches this customer integration ID. (optional) - var dateFormat = dateFormat_example; // string | Determines the format of dates in the export document. (optional) - var customerSessionState = customerSessionState_example; // string | Filter results by state. (optional) + var userId = 56; // int | The ID of the user. try { - // Export customer sessions - string result = apiInstance.ExportCustomerSessions(applicationId, createdBefore, createdAfter, profileIntegrationId, dateFormat, customerSessionState); - Debug.WriteLine(result); + // Delete user + apiInstance.DeleteUser(userId); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportCustomerSessions: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeleteUser: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2449,16 +2609,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. | [optional] - **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. | [optional] - **profileIntegrationId** | **string**| Only return sessions for the customer that matches this customer integration ID. | [optional] - **dateFormat** | **string**| Determines the format of dates in the export document. | [optional] - **customerSessionState** | **string**| Filter results by state. | [optional] + **userId** | **int**| The ID of the user. | ### Return type -**string** +void (empty response body) ### Authorization @@ -2467,22 +2622,22 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/csv + - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | OK | - | +| **204** | No Content | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportEffects** -> string ExportEffects (int applicationId, decimal? campaignId = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string dateFormat = null) + +# **DeleteUserByEmail** +> void DeleteUserByEmail (DeleteUserRequest body) -Export triggered effects +Delete user by email address -Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. +Delete a specific user by their email address. ### Example ```csharp @@ -2494,7 +2649,7 @@ using TalonOne.Model; namespace Example { - public class ExportEffectsExample + public class DeleteUserByEmailExample { public static void Main() { @@ -2510,21 +2665,16 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 8.14; // decimal? | Filter results by campaign. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var dateFormat = dateFormat_example; // string | Determines the format of dates in the export document. (optional) + var body = new DeleteUserRequest(); // DeleteUserRequest | body try { - // Export triggered effects - string result = apiInstance.ExportEffects(applicationId, campaignId, createdBefore, createdAfter, dateFormat); - Debug.WriteLine(result); + // Delete user by email address + apiInstance.DeleteUserByEmail(body); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportEffects: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DeleteUserByEmail: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2537,15 +2687,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **decimal?**| Filter results by campaign. | [optional] - **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **dateFormat** | **string**| Determines the format of dates in the export document. | [optional] + **body** | [**DeleteUserRequest**](DeleteUserRequest.md)| body | ### Return type -**string** +void (empty response body) ### Authorization @@ -2553,23 +2699,23 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: application/csv + - **Content-Type**: application/json + - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | OK | - | +| **204** | No Content | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportLoyaltyBalance** -> string ExportLoyaltyBalance (string loyaltyProgramId, DateTime? endDate = null) + +# **DestroySession** +> void DestroySession () -Export customer loyalty balance to CSV +Destroy session -⚠️ Deprecation notice: Support for requests to this endpoint will end soon. To export customer loyalty balances to CSV, use the [Export customer loyalty balances to CSV](/management-api#tag/Loyalty/operation/exportLoyaltyBalances) endpoint. Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). +Destroys the session. ### Example ```csharp @@ -2581,7 +2727,7 @@ using TalonOne.Model; namespace Example { - public class ExportLoyaltyBalanceExample + public class DestroySessionExample { public static void Main() { @@ -2597,18 +2743,15 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = loyaltyProgramId_example; // string | The identifier for the loyalty program. - var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) try { - // Export customer loyalty balance to CSV - string result = apiInstance.ExportLoyaltyBalance(loyaltyProgramId, endDate); - Debug.WriteLine(result); + // Destroy session + apiInstance.DestroySession(); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportLoyaltyBalance: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.DestroySession: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2618,15 +2761,11 @@ namespace Example ``` ### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **string**| The identifier for the loyalty program. | - **endDate** | **DateTime?**| Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. | [optional] +This endpoint does not need any parameter. ### Return type -**string** +void (empty response body) ### Authorization @@ -2635,24 +2774,22 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/csv + - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | OK | - | -| **400** | Bad request | - | -| **401** | Unauthorized | - | +| **204** | No Content | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportLoyaltyBalances** -> string ExportLoyaltyBalances (string loyaltyProgramId, DateTime? endDate = null) + +# **ExportAccountCollectionItems** +> string ExportAccountCollectionItems (int collectionId) -Export customer loyalty balances +Export account-level collection's items -Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. +Download a CSV file containing items from a given account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). ### Example ```csharp @@ -2664,7 +2801,7 @@ using TalonOne.Model; namespace Example { - public class ExportLoyaltyBalancesExample + public class ExportAccountCollectionItemsExample { public static void Main() { @@ -2680,18 +2817,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = loyaltyProgramId_example; // string | The identifier for the loyalty program. - var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + var collectionId = 56; // int | The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. try { - // Export customer loyalty balances - string result = apiInstance.ExportLoyaltyBalances(loyaltyProgramId, endDate); + // Export account-level collection's items + string result = apiInstance.ExportAccountCollectionItems(collectionId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportLoyaltyBalances: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportAccountCollectionItems: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2704,8 +2840,7 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **string**| The identifier for the loyalty program. | - **endDate** | **DateTime?**| Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. | [optional] + **collectionId** | **int**| The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. | ### Return type @@ -2724,18 +2859,18 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **400** | Bad request | - | -| **401** | Unauthorized | - | +| **401** | Unauthorized - Invalid API key | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportLoyaltyCardBalances** -> string ExportLoyaltyCardBalances (int loyaltyProgramId, DateTime? endDate = null) + +# **ExportAchievements** +> string ExportAchievements (int applicationId, int campaignId, int achievementId) -Export all card transaction logs +Export achievement customer data -Download a CSV file containing the balances of all cards in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `cardIdentifier`: The alphanumeric identifier of the loyalty card. - `cardState`:The state of the loyalty card. It can be `active` or `inactive`. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. +Download a CSV file containing a list of all the customers who have participated in and are currently participating in the given achievement. The CSV file contains the following columns: - `profileIntegrationID`: The integration ID of the customer profile participating in the achievement. - `title`: The display name of the achievement in the Campaign Manager. - `target`: The required number of actions or the transactional milestone to complete the achievement. - `progress`: The current progress of the customer in the achievement. - `status`: The status of the achievement. Can be one of: ['inprogress', 'completed', 'expired']. - `startDate`: The date on which the customer profile started the achievement in RFC3339. - `endDate`: The date on which the achievement ends and resets for the customer profile in RFC3339. - `completionDate`: The date on which the customer profile completed the achievement in RFC3339. ### Example ```csharp @@ -2747,7 +2882,7 @@ using TalonOne.Model; namespace Example { - public class ExportLoyaltyCardBalancesExample + public class ExportAchievementsExample { public static void Main() { @@ -2763,18 +2898,19 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var achievementId = 56; // int | The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. try { - // Export all card transaction logs - string result = apiInstance.ExportLoyaltyCardBalances(loyaltyProgramId, endDate); + // Export achievement customer data + string result = apiInstance.ExportAchievements(applicationId, campaignId, achievementId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportLoyaltyCardBalances: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportAchievements: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2787,8 +2923,9 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | - **endDate** | **DateTime?**| Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. | [optional] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **achievementId** | **int**| The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. | ### Return type @@ -2809,16 +2946,17 @@ Name | Type | Description | Notes | **200** | OK | - | | **400** | Bad request | - | | **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportLoyaltyCardLedger** -> string ExportLoyaltyCardLedger (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = null) + +# **ExportAudiencesMemberships** +> string ExportAudiencesMemberships (int audienceId) -Export card's ledger log +Export audience members -Download a CSV file containing a loyalty card ledger log of the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). +Download a CSV file containing the integration IDs of the members of an audience. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The file contains the following column: - `profileintegrationid`: The integration ID of the customer profile. ### Example ```csharp @@ -2830,7 +2968,7 @@ using TalonOne.Model; namespace Example { - public class ExportLoyaltyCardLedgerExample + public class ExportAudiencesMembershipsExample { public static void Main() { @@ -2846,21 +2984,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. This must be an RFC3339 timestamp string. - var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. This must be an RFC3339 timestamp string. - var dateFormat = dateFormat_example; // string | Determines the format of dates in the export document. (optional) + var audienceId = 56; // int | The ID of the audience. try { - // Export card's ledger log - string result = apiInstance.ExportLoyaltyCardLedger(loyaltyProgramId, loyaltyCardId, rangeStart, rangeEnd, dateFormat); + // Export audience members + string result = apiInstance.ExportAudiencesMemberships(audienceId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportLoyaltyCardLedger: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportAudiencesMemberships: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2873,11 +3007,7 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | - **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | - **rangeStart** | **DateTime**| Only return results from after this timestamp. This must be an RFC3339 timestamp string. | - **rangeEnd** | **DateTime**| Only return results from before this timestamp. This must be an RFC3339 timestamp string. | - **dateFormat** | **string**| Determines the format of dates in the export document. | [optional] + **audienceId** | **int**| The ID of the audience. | ### Return type @@ -2896,18 +3026,19 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **401** | Unauthorized | - | +| **400** | Bad request | - | +| **401** | Unauthorized - Invalid API key | - | | **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportLoyaltyLedger** -> string ExportLoyaltyLedger (DateTime rangeStart, DateTime rangeEnd, string loyaltyProgramId, string integrationId, string dateFormat = null) + +# **ExportCollectionItems** +> string ExportCollectionItems (int applicationId, int campaignId, int collectionId) -Export customer's transaction logs +Export campaign-level collection's items -Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. +Download a CSV file containing items from a given campaign-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). ### Example ```csharp @@ -2919,7 +3050,7 @@ using TalonOne.Model; namespace Example { - public class ExportLoyaltyLedgerExample + public class ExportCollectionItemsExample { public static void Main() { @@ -2935,21 +3066,19 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. This must be an RFC3339 timestamp string. - var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. This must be an RFC3339 timestamp string. - var loyaltyProgramId = loyaltyProgramId_example; // string | The identifier for the loyalty program. - var integrationId = integrationId_example; // string | The identifier of the profile. - var dateFormat = dateFormat_example; // string | Determines the format of dates in the export document. (optional) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var collectionId = 56; // int | The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. try { - // Export customer's transaction logs - string result = apiInstance.ExportLoyaltyLedger(rangeStart, rangeEnd, loyaltyProgramId, integrationId, dateFormat); + // Export campaign-level collection's items + string result = apiInstance.ExportCollectionItems(applicationId, campaignId, collectionId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportLoyaltyLedger: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportCollectionItems: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -2962,11 +3091,9 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **rangeStart** | **DateTime**| Only return results from after this timestamp. This must be an RFC3339 timestamp string. | - **rangeEnd** | **DateTime**| Only return results from before this timestamp. This must be an RFC3339 timestamp string. | - **loyaltyProgramId** | **string**| The identifier for the loyalty program. | - **integrationId** | **string**| The identifier of the profile. | - **dateFormat** | **string**| Determines the format of dates in the export document. | [optional] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **collectionId** | **int**| The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. | ### Return type @@ -2985,16 +3112,18 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportPoolGiveaways** -> string ExportPoolGiveaways (int poolId, DateTime? createdBefore = null, DateTime? createdAfter = null) + +# **ExportCoupons** +> string ExportCoupons (int applicationId, decimal? campaignId = null, string sort = null, string value = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, int? referralId = null, string recipientIntegrationId = null, string batchId = null, bool? exactMatch = null, string dateFormat = null, string campaignState = null, bool? valuesOnly = null) -Export giveaway codes of a giveaway pool +Export coupons -Download a CSV file containing the giveaway codes of a specific giveaway pool. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `id`: The internal ID of the giveaway. - `poolid`: The internal ID of the giveaway pool. - `code`: The giveaway code. - `startdate`: The validity start date in RFC3339 of the giveaway (can be empty). - `enddate`: The validity end date in RFC3339 of the giveaway (can be empty). - `attributes`: Any custom attributes associated with the giveaway code (can be empty). - `used`: An indication of whether the giveaway is already awarded. - `importid`: The ID of the import which created the giveaway. - `created`: The creation time of the giveaway code. - `profileintegrationid`: The third-party integration ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded. - `profileid`: The internal ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded or an internal ID does not exist. +Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file can contain the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon can be reserved for multiple customers. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. ### Example ```csharp @@ -3006,7 +3135,7 @@ using TalonOne.Model; namespace Example { - public class ExportPoolGiveawaysExample + public class ExportCouponsExample { public static void Main() { @@ -3022,19 +3151,31 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var poolId = 56; // int | The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. (optional) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 8.14; // decimal? | Filter results by campaign. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var value = value_example; // string | Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var valid = valid_example; // string | Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + var usable = usable_example; // string | Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + var referralId = 56; // int? | Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + var recipientIntegrationId = recipientIntegrationId_example; // string | Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field. (optional) + var batchId = batchId_example; // string | Filter results by batches of coupons (optional) + var exactMatch = true; // bool? | Filter results to an exact case-insensitive matching against the coupon code. (optional) (default to false) + var dateFormat = dateFormat_example; // string | Determines the format of dates in the export document. (optional) + var campaignState = campaignState_example; // string | Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + var valuesOnly = true; // bool? | Filter results to only return the coupon codes (`value` column) without the associated coupon data. (optional) (default to false) try { - // Export giveaway codes of a giveaway pool - string result = apiInstance.ExportPoolGiveaways(poolId, createdBefore, createdAfter); + // Export coupons + string result = apiInstance.ExportCoupons(applicationId, campaignId, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, dateFormat, campaignState, valuesOnly); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportPoolGiveaways: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportCoupons: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3047,9 +3188,21 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **poolId** | **int**| The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. | - **createdBefore** | **DateTime?**| Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. | [optional] - **createdAfter** | **DateTime?**| Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. | [optional] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **decimal?**| Filter results by campaign. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **value** | **string**| Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. | [optional] + **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **valid** | **string**| Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. | [optional] + **usable** | **string**| Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. | [optional] + **referralId** | **int?**| Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. | [optional] + **recipientIntegrationId** | **string**| Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field. | [optional] + **batchId** | **string**| Filter results by batches of coupons | [optional] + **exactMatch** | **bool?**| Filter results to an exact case-insensitive matching against the coupon code. | [optional] [default to false] + **dateFormat** | **string**| Determines the format of dates in the export document. | [optional] + **campaignState** | **string**| Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. | [optional] + **valuesOnly** | **bool?**| Filter results to only return the coupon codes (`value` column) without the associated coupon data. | [optional] [default to false] ### Return type @@ -3071,13 +3224,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ExportReferrals** -> string ExportReferrals (int applicationId, decimal? campaignId = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, string batchId = null, string dateFormat = null) + +# **ExportCustomerSessions** +> string ExportCustomerSessions (int applicationId, DateTime? createdBefore = null, DateTime? createdAfter = null, string profileIntegrationId = null, string dateFormat = null, string customerSessionState = null) -Export referrals +Export customer sessions -Download a CSV file containing the referrals that match the given parameters. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `code`: The referral code. - `advocateprofileintegrationid`: The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. +Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session. ### Example ```csharp @@ -3089,7 +3242,7 @@ using TalonOne.Model; namespace Example { - public class ExportReferralsExample + public class ExportCustomerSessionsExample { public static void Main() { @@ -3106,23 +3259,21 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 8.14; // decimal? | Filter results by campaign. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var valid = valid_example; // string | - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) - var usable = usable_example; // string | - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) - var batchId = batchId_example; // string | Filter results by batches of referrals (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) + var profileIntegrationId = profileIntegrationId_example; // string | Only return sessions for the customer that matches this customer integration ID. (optional) var dateFormat = dateFormat_example; // string | Determines the format of dates in the export document. (optional) + var customerSessionState = customerSessionState_example; // string | Filter results by state. (optional) try { - // Export referrals - string result = apiInstance.ExportReferrals(applicationId, campaignId, createdBefore, createdAfter, valid, usable, batchId, dateFormat); + // Export customer sessions + string result = apiInstance.ExportCustomerSessions(applicationId, createdBefore, createdAfter, profileIntegrationId, dateFormat, customerSessionState); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ExportReferrals: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportCustomerSessions: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3136,13 +3287,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **decimal?**| Filter results by campaign. | [optional] - **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **valid** | **string**| - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. | [optional] - **usable** | **string**| - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. | [optional] - **batchId** | **string**| Filter results by batches of referrals | [optional] + **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. | [optional] + **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. | [optional] + **profileIntegrationId** | **string**| Only return sessions for the customer that matches this customer integration ID. | [optional] **dateFormat** | **string**| Determines the format of dates in the export document. | [optional] + **customerSessionState** | **string**| Filter results by state. | [optional] ### Return type @@ -3164,13 +3313,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetAccessLogsWithoutTotalCount** -> InlineResponse20018 GetAccessLogsWithoutTotalCount (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = null, string method = null, string status = null, int? pageSize = null, int? skip = null, string sort = null) + +# **ExportCustomersTiers** +> string ExportCustomersTiers (string loyaltyProgramId, List subledgerIds = null, List tierNames = null) -Get access logs for Application +Export customers' tier data -Retrieve the list of API calls sent to the specified Application. +Download a CSV file containing the tier information for customers of the specified loyalty program. The generated file contains the following columns: - `programid`: The identifier of the loyalty program. It is displayed in your Talon.One deployment URL. - `subledgerid`: The ID of the subledger associated with the loyalty program. This column is empty if the loyalty program has no subledger. In this case, refer to the export file name to get the ID of the loyalty program. - `customerprofileid`: The ID used to integrate customer profiles with the loyalty program. - `tiername`: The name of the tier. - `startdate`: The tier start date in RFC3339. - `expirydate`: The tier expiry date in RFC3339. You can filter the results by providing the following optional input parameters: - `subledgerId` (optional): Filter results by subledger ID. If no value is provided, all subledger data for the specified loyalty program will be exported. - `tierName` (optional): Filter results by tier name. If no value is provided, all tier data for the specified loyalty program will be exported. ### Example ```csharp @@ -3182,7 +3331,7 @@ using TalonOne.Model; namespace Example { - public class GetAccessLogsWithoutTotalCountExample + public class ExportCustomersTiersExample { public static void Main() { @@ -3198,25 +3347,19 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. This must be an RFC3339 timestamp string. - var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. This must be an RFC3339 timestamp string. - var path = path_example; // string | Only return results where the request path matches the given regular expression. (optional) - var method = method_example; // string | Only return results where the request method matches the given regular expression. (optional) - var status = status_example; // string | Filter results by HTTP status codes. (optional) - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var loyaltyProgramId = loyaltyProgramId_example; // string | The identifier for the loyalty program. + var subledgerIds = new List(); // List | An array of subledgers IDs to filter the export by. (optional) + var tierNames = new List(); // List | An array of tier names to filter the export by. (optional) try { - // Get access logs for Application - InlineResponse20018 result = apiInstance.GetAccessLogsWithoutTotalCount(applicationId, rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); + // Export customers' tier data + string result = apiInstance.ExportCustomersTiers(loyaltyProgramId, subledgerIds, tierNames); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetAccessLogsWithoutTotalCount: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportCustomersTiers: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3229,19 +3372,13 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **rangeStart** | **DateTime**| Only return results from after this timestamp. This must be an RFC3339 timestamp string. | - **rangeEnd** | **DateTime**| Only return results from before this timestamp. This must be an RFC3339 timestamp string. | - **path** | **string**| Only return results where the request path matches the given regular expression. | [optional] - **method** | **string**| Only return results where the request method matches the given regular expression. | [optional] - **status** | **string**| Filter results by HTTP status codes. | [optional] - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **loyaltyProgramId** | **string**| The identifier for the loyalty program. | + **subledgerIds** | [**List<string>**](string.md)| An array of subledgers IDs to filter the export by. | [optional] + **tierNames** | [**List<string>**](string.md)| An array of tier names to filter the export by. | [optional] ### Return type -[**InlineResponse20018**](InlineResponse20018.md) +**string** ### Authorization @@ -3250,7 +3387,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/json + - **Accept**: application/csv ### HTTP response details | Status code | Description | Response headers | @@ -3259,13 +3396,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetAccount** -> Account GetAccount (int accountId) + +# **ExportEffects** +> string ExportEffects (int applicationId, decimal? campaignId = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string dateFormat = null) -Get account details +Export triggered effects -Return the details of your companies Talon.One account. +Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. - `store_integration_id`: The integration ID of the store. You choose this ID when you create a store. ### Example ```csharp @@ -3277,7 +3414,7 @@ using TalonOne.Model; namespace Example { - public class GetAccountExample + public class ExportEffectsExample { public static void Main() { @@ -3293,17 +3430,21 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var accountId = 56; // int | The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 8.14; // decimal? | Filter results by campaign. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var dateFormat = dateFormat_example; // string | Determines the format of dates in the export document. (optional) try { - // Get account details - Account result = apiInstance.GetAccount(accountId); + // Export triggered effects + string result = apiInstance.ExportEffects(applicationId, campaignId, createdBefore, createdAfter, dateFormat); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetAccount: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportEffects: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3316,11 +3457,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **accountId** | **int**| The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. | + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **decimal?**| Filter results by campaign. | [optional] + **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **dateFormat** | **string**| Determines the format of dates in the export document. | [optional] ### Return type -[**Account**](Account.md) +**string** ### Authorization @@ -3329,7 +3474,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/json + - **Accept**: application/csv ### HTTP response details | Status code | Description | Response headers | @@ -3338,13 +3483,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetAccountAnalytics** -> AccountAnalytics GetAccountAnalytics (int accountId) + +# **ExportLoyaltyBalance** +> string ExportLoyaltyBalance (string loyaltyProgramId, DateTime? endDate = null) -Get account analytics +Export customer loyalty balance to CSV -Return the analytics of your Talon.One account. +⚠️ Deprecation notice: Support for requests to this endpoint will end soon. To export customer loyalty balances to CSV, use the [Export customer loyalty balances to CSV](/management-api#tag/Loyalty/operation/exportLoyaltyBalances) endpoint. Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). ### Example ```csharp @@ -3356,7 +3501,7 @@ using TalonOne.Model; namespace Example { - public class GetAccountAnalyticsExample + public class ExportLoyaltyBalanceExample { public static void Main() { @@ -3372,17 +3517,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var accountId = 56; // int | The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. + var loyaltyProgramId = loyaltyProgramId_example; // string | The identifier for the loyalty program. + var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) try { - // Get account analytics - AccountAnalytics result = apiInstance.GetAccountAnalytics(accountId); + // Export customer loyalty balance to CSV + string result = apiInstance.ExportLoyaltyBalance(loyaltyProgramId, endDate); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetAccountAnalytics: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportLoyaltyBalance: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3395,11 +3541,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **accountId** | **int**| The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. | + **loyaltyProgramId** | **string**| The identifier for the loyalty program. | + **endDate** | **DateTime?**| Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] ### Return type -[**AccountAnalytics**](AccountAnalytics.md) +**string** ### Authorization @@ -3408,22 +3555,24 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/json + - **Accept**: application/csv ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetAccountCollection** -> Collection GetAccountCollection (int collectionId) + +# **ExportLoyaltyBalances** +> string ExportLoyaltyBalances (string loyaltyProgramId, DateTime? endDate = null) -Get account-level collection +Export customer loyalty balances -Retrieve a given account-level collection. +Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. ### Example ```csharp @@ -3435,7 +3584,7 @@ using TalonOne.Model; namespace Example { - public class GetAccountCollectionExample + public class ExportLoyaltyBalancesExample { public static void Main() { @@ -3451,17 +3600,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var collectionId = 56; // int | The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + var loyaltyProgramId = loyaltyProgramId_example; // string | The identifier for the loyalty program. + var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) try { - // Get account-level collection - Collection result = apiInstance.GetAccountCollection(collectionId); + // Export customer loyalty balances + string result = apiInstance.ExportLoyaltyBalances(loyaltyProgramId, endDate); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetAccountCollection: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportLoyaltyBalances: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3474,11 +3624,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **collectionId** | **int**| The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. | + **loyaltyProgramId** | **string**| The identifier for the loyalty program. | + **endDate** | **DateTime?**| Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] ### Return type -**Collection** +**string** ### Authorization @@ -3487,23 +3638,24 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/json + - **Accept**: application/csv ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **404** | Not found | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetAdditionalCost** -> AccountAdditionalCost GetAdditionalCost (int additionalCostId) + +# **ExportLoyaltyCardBalances** +> string ExportLoyaltyCardBalances (int loyaltyProgramId, DateTime? endDate = null) -Get additional cost +Export all card transaction logs -Returns the additional cost. +Download a CSV file containing the balances of all cards in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `cardIdentifier`: The alphanumeric identifier of the loyalty card. - `cardState`:The state of the loyalty card. It can be `active` or `inactive`. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. ### Example ```csharp @@ -3515,7 +3667,7 @@ using TalonOne.Model; namespace Example { - public class GetAdditionalCostExample + public class ExportLoyaltyCardBalancesExample { public static void Main() { @@ -3531,17 +3683,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var additionalCostId = 56; // int | The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. + var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) try { - // Get additional cost - AccountAdditionalCost result = apiInstance.GetAdditionalCost(additionalCostId); + // Export all card transaction logs + string result = apiInstance.ExportLoyaltyCardBalances(loyaltyProgramId, endDate); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetAdditionalCost: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportLoyaltyCardBalances: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3554,11 +3707,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **additionalCostId** | **int**| The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. | + **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **endDate** | **DateTime?**| Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] ### Return type -[**AccountAdditionalCost**](AccountAdditionalCost.md) +**string** ### Authorization @@ -3567,22 +3721,24 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/json + - **Accept**: application/csv ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetAdditionalCosts** -> InlineResponse20033 GetAdditionalCosts (int? pageSize = null, int? skip = null, string sort = null) + +# **ExportLoyaltyCardLedger** +> string ExportLoyaltyCardLedger (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = null) -List additional costs +Export card's ledger log -Returns all the defined additional costs for the account. +Download a CSV file containing a loyalty card ledger log of the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). ### Example ```csharp @@ -3594,7 +3750,7 @@ using TalonOne.Model; namespace Example { - public class GetAdditionalCostsExample + public class ExportLoyaltyCardLedgerExample { public static void Main() { @@ -3610,19 +3766,21 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var dateFormat = dateFormat_example; // string | Determines the format of dates in the export document. (optional) try { - // List additional costs - InlineResponse20033 result = apiInstance.GetAdditionalCosts(pageSize, skip, sort); + // Export card's ledger log + string result = apiInstance.ExportLoyaltyCardLedger(loyaltyProgramId, loyaltyCardId, rangeStart, rangeEnd, dateFormat); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetAdditionalCosts: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportLoyaltyCardLedger: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3635,13 +3793,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | + **rangeStart** | **DateTime**| Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **rangeEnd** | **DateTime**| Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **dateFormat** | **string**| Determines the format of dates in the export document. | [optional] ### Return type -[**InlineResponse20033**](InlineResponse20033.md) +**string** ### Authorization @@ -3650,22 +3810,24 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/json + - **Accept**: application/csv ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetAllAccessLogs** -> InlineResponse20019 GetAllAccessLogs (DateTime rangeStart, DateTime rangeEnd, string path = null, string method = null, string status = null, int? pageSize = null, int? skip = null, string sort = null) + +# **ExportLoyaltyLedger** +> string ExportLoyaltyLedger (DateTime rangeStart, DateTime rangeEnd, string loyaltyProgramId, string integrationId, string dateFormat = null) -List access logs +Export customer's transaction logs -Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. +Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. - `campaignid`: The ID of the campaign. ### Example ```csharp @@ -3677,7 +3839,7 @@ using TalonOne.Model; namespace Example { - public class GetAllAccessLogsExample + public class ExportLoyaltyLedgerExample { public static void Main() { @@ -3693,24 +3855,21 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. This must be an RFC3339 timestamp string. - var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. This must be an RFC3339 timestamp string. - var path = path_example; // string | Only return results where the request path matches the given regular expression. (optional) - var method = method_example; // string | Only return results where the request method matches the given regular expression. (optional) - var status = status_example; // string | Filter results by HTTP status codes. (optional) - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var loyaltyProgramId = loyaltyProgramId_example; // string | The identifier for the loyalty program. + var integrationId = integrationId_example; // string | The identifier of the profile. + var dateFormat = dateFormat_example; // string | Determines the format of dates in the export document. (optional) try { - // List access logs - InlineResponse20019 result = apiInstance.GetAllAccessLogs(rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); + // Export customer's transaction logs + string result = apiInstance.ExportLoyaltyLedger(rangeStart, rangeEnd, loyaltyProgramId, integrationId, dateFormat); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetAllAccessLogs: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportLoyaltyLedger: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3723,18 +3882,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **rangeStart** | **DateTime**| Only return results from after this timestamp. This must be an RFC3339 timestamp string. | - **rangeEnd** | **DateTime**| Only return results from before this timestamp. This must be an RFC3339 timestamp string. | - **path** | **string**| Only return results where the request path matches the given regular expression. | [optional] - **method** | **string**| Only return results where the request method matches the given regular expression. | [optional] - **status** | **string**| Filter results by HTTP status codes. | [optional] - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **rangeStart** | **DateTime**| Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **rangeEnd** | **DateTime**| Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **loyaltyProgramId** | **string**| The identifier for the loyalty program. | + **integrationId** | **string**| The identifier of the profile. | + **dateFormat** | **string**| Determines the format of dates in the export document. | [optional] ### Return type -[**InlineResponse20019**](InlineResponse20019.md) +**string** ### Authorization @@ -3743,7 +3899,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/json + - **Accept**: application/csv ### HTTP response details | Status code | Description | Response headers | @@ -3752,13 +3908,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetAllRoles** -> InlineResponse20041 GetAllRoles () + +# **ExportPoolGiveaways** +> string ExportPoolGiveaways (int poolId, DateTime? createdBefore = null, DateTime? createdAfter = null) -List roles +Export giveaway codes of a giveaway pool -List all roles. +Download a CSV file containing the giveaway codes of a specific giveaway pool. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `id`: The internal ID of the giveaway. - `poolid`: The internal ID of the giveaway pool. - `code`: The giveaway code. - `startdate`: The validity start date in RFC3339 of the giveaway (can be empty). - `enddate`: The validity end date in RFC3339 of the giveaway (can be empty). - `attributes`: Any custom attributes associated with the giveaway code (can be empty). - `used`: An indication of whether the giveaway is already awarded. - `importid`: The ID of the import which created the giveaway. - `created`: The creation time of the giveaway code. - `profileintegrationid`: The third-party integration ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded. - `profileid`: The internal ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded or an internal ID does not exist. ### Example ```csharp @@ -3770,7 +3926,7 @@ using TalonOne.Model; namespace Example { - public class GetAllRolesExample + public class ExportPoolGiveawaysExample { public static void Main() { @@ -3786,16 +3942,19 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); + var poolId = 56; // int | The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. (optional) try { - // List roles - InlineResponse20041 result = apiInstance.GetAllRoles(); + // Export giveaway codes of a giveaway pool + string result = apiInstance.ExportPoolGiveaways(poolId, createdBefore, createdAfter); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetAllRoles: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportPoolGiveaways: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3805,11 +3964,16 @@ namespace Example ``` ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **poolId** | **int**| The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. | + **createdBefore** | **DateTime?**| Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. | [optional] + **createdAfter** | **DateTime?**| Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. | [optional] ### Return type -[**InlineResponse20041**](InlineResponse20041.md) +**string** ### Authorization @@ -3818,22 +3982,23 @@ This endpoint does not need any parameter. ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/json + - **Accept**: application/csv ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **400** | Bad request | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetApplication** -> Application GetApplication (int applicationId) + +# **ExportReferrals** +> string ExportReferrals (int applicationId, decimal? campaignId = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, string batchId = null, string dateFormat = null) -Get Application +Export referrals -Get the application specified by the ID. +Download a CSV file containing the referrals that match the given parameters. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `code`: The referral code. - `advocateprofileintegrationid`: The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. ### Example ```csharp @@ -3845,7 +4010,7 @@ using TalonOne.Model; namespace Example { - public class GetApplicationExample + public class ExportReferralsExample { public static void Main() { @@ -3862,16 +4027,23 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 8.14; // decimal? | Filter results by campaign. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var valid = valid_example; // string | - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) + var usable = usable_example; // string | - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) + var batchId = batchId_example; // string | Filter results by batches of referrals (optional) + var dateFormat = dateFormat_example; // string | Determines the format of dates in the export document. (optional) try { - // Get Application - Application result = apiInstance.GetApplication(applicationId); + // Export referrals + string result = apiInstance.ExportReferrals(applicationId, campaignId, createdBefore, createdAfter, valid, usable, batchId, dateFormat); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetApplication: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ExportReferrals: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3885,10 +4057,17 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **decimal?**| Filter results by campaign. | [optional] + **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **valid** | **string**| - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. | [optional] + **usable** | **string**| - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. | [optional] + **batchId** | **string**| Filter results by batches of referrals | [optional] + **dateFormat** | **string**| Determines the format of dates in the export document. | [optional] ### Return type -[**Application**](Application.md) +**string** ### Authorization @@ -3897,7 +4076,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/json + - **Accept**: application/csv ### HTTP response details | Status code | Description | Response headers | @@ -3906,13 +4085,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetApplicationApiHealth** -> ApplicationApiHealth GetApplicationApiHealth (int applicationId) + +# **GetAccessLogsWithoutTotalCount** +> InlineResponse20019 GetAccessLogsWithoutTotalCount (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = null, string method = null, string status = null, int? pageSize = null, int? skip = null, string sort = null) -Get Application health +Get access logs for Application -Display the health of the Application and show the last time the Application was used. You can also display this information from the **Settings** of an Application, in the **Developer Settings** menu. See the [docs](https://docs.talon.one/docs/dev/tutorials/monitoring-integration-status). +Retrieve the list of API calls sent to the specified Application. ### Example ```csharp @@ -3924,7 +4103,7 @@ using TalonOne.Model; namespace Example { - public class GetApplicationApiHealthExample + public class GetAccessLogsWithoutTotalCountExample { public static void Main() { @@ -3941,16 +4120,24 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var path = path_example; // string | Only return results where the request path matches the given regular expression. (optional) + var method = method_example; // string | Only return results where the request method matches the given regular expression. (optional) + var status = status_example; // string | Filter results by HTTP status codes. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) try { - // Get Application health - ApplicationApiHealth result = apiInstance.GetApplicationApiHealth(applicationId); + // Get access logs for Application + InlineResponse20019 result = apiInstance.GetAccessLogsWithoutTotalCount(applicationId, rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetApplicationApiHealth: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAccessLogsWithoutTotalCount: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -3964,10 +4151,18 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **rangeStart** | **DateTime**| Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **rangeEnd** | **DateTime**| Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **path** | **string**| Only return results where the request path matches the given regular expression. | [optional] + **method** | **string**| Only return results where the request method matches the given regular expression. | [optional] + **status** | **string**| Filter results by HTTP status codes. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] ### Return type -[**ApplicationApiHealth**](ApplicationApiHealth.md) +[**InlineResponse20019**](InlineResponse20019.md) ### Authorization @@ -3985,13 +4180,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetApplicationCustomer** -> ApplicationCustomer GetApplicationCustomer (int applicationId, int customerId) + +# **GetAccount** +> Account GetAccount (int accountId) -Get application's customer +Get account details -Retrieve the customers of the specified application. +Return the details of your companies Talon.One account. ### Example ```csharp @@ -4003,7 +4198,7 @@ using TalonOne.Model; namespace Example { - public class GetApplicationCustomerExample + public class GetAccountExample { public static void Main() { @@ -4019,18 +4214,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var customerId = 56; // int | The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + var accountId = 56; // int | The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. try { - // Get application's customer - ApplicationCustomer result = apiInstance.GetApplicationCustomer(applicationId, customerId); + // Get account details + Account result = apiInstance.GetAccount(accountId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetApplicationCustomer: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAccount: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -4043,12 +4237,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **customerId** | **int**| The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. | + **accountId** | **int**| The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. | ### Return type -[**ApplicationCustomer**](ApplicationCustomer.md) +[**Account**](Account.md) ### Authorization @@ -4066,13 +4259,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetApplicationCustomerFriends** -> InlineResponse20030 GetApplicationCustomerFriends (int applicationId, string integrationId, int? pageSize = null, int? skip = null, string sort = null, bool? withTotalResultSize = null) + +# **GetAccountAnalytics** +> AccountAnalytics GetAccountAnalytics (int accountId) -List friends referred by customer profile +Get account analytics -List the friends referred by the specified customer profile in this Application. +Return the analytics of your Talon.One account. ### Example ```csharp @@ -4084,7 +4277,7 @@ using TalonOne.Model; namespace Example { - public class GetApplicationCustomerFriendsExample + public class GetAccountAnalyticsExample { public static void Main() { @@ -4100,22 +4293,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var integrationId = integrationId_example; // string | The Integration ID of the Advocate's Profile. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + var accountId = 56; // int | The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. try { - // List friends referred by customer profile - InlineResponse20030 result = apiInstance.GetApplicationCustomerFriends(applicationId, integrationId, pageSize, skip, sort, withTotalResultSize); + // Get account analytics + AccountAnalytics result = apiInstance.GetAccountAnalytics(accountId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetApplicationCustomerFriends: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAccountAnalytics: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -4128,16 +4316,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **integrationId** | **string**| The Integration ID of the Advocate's Profile. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] + **accountId** | **int**| The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. | ### Return type -[**InlineResponse20030**](InlineResponse20030.md) +[**AccountAnalytics**](AccountAnalytics.md) ### Authorization @@ -4155,13 +4338,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetApplicationCustomers** -> InlineResponse20021 GetApplicationCustomers (int applicationId, string integrationId = null, int? pageSize = null, int? skip = null, bool? withTotalResultSize = null) + +# **GetAccountCollection** +> Collection GetAccountCollection (int collectionId) -List application's customers +Get account-level collection -List all the customers of the specified application. +Retrieve a given account-level collection. ### Example ```csharp @@ -4173,7 +4356,7 @@ using TalonOne.Model; namespace Example { - public class GetApplicationCustomersExample + public class GetAccountCollectionExample { public static void Main() { @@ -4189,21 +4372,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var integrationId = integrationId_example; // string | Filter results performing an exact matching against the profile integration identifier. (optional) - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + var collectionId = 56; // int | The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. try { - // List application's customers - InlineResponse20021 result = apiInstance.GetApplicationCustomers(applicationId, integrationId, pageSize, skip, withTotalResultSize); + // Get account-level collection + Collection result = apiInstance.GetAccountCollection(collectionId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetApplicationCustomers: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAccountCollection: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -4216,15 +4395,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **integrationId** | **string**| Filter results performing an exact matching against the profile integration identifier. | [optional] - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] + **collectionId** | **int**| The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. | ### Return type -[**InlineResponse20021**](InlineResponse20021.md) +**Collection** ### Authorization @@ -4239,16 +4414,17 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetApplicationCustomersByAttributes** -> InlineResponse20022 GetApplicationCustomersByAttributes (int applicationId, CustomerProfileSearchQuery body, int? pageSize = null, int? skip = null, bool? withTotalResultSize = null) + +# **GetAchievement** +> Achievement GetAchievement (int applicationId, int campaignId, int achievementId) -List application customers matching the given attributes +Get achievement -Get a list of the application customers matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. +Get the details of a specific achievement. ### Example ```csharp @@ -4260,7 +4436,7 @@ using TalonOne.Model; namespace Example { - public class GetApplicationCustomersByAttributesExample + public class GetAchievementExample { public static void Main() { @@ -4277,20 +4453,18 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var body = new CustomerProfileSearchQuery(); // CustomerProfileSearchQuery | body - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var achievementId = 56; // int | The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. try { - // List application customers matching the given attributes - InlineResponse20022 result = apiInstance.GetApplicationCustomersByAttributes(applicationId, body, pageSize, skip, withTotalResultSize); + // Get achievement + Achievement result = apiInstance.GetAchievement(applicationId, campaignId, achievementId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetApplicationCustomersByAttributes: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAchievement: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -4304,14 +4478,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **body** | [**CustomerProfileSearchQuery**](CustomerProfileSearchQuery.md)| body | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **achievementId** | **int**| The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. | ### Return type -[**InlineResponse20022**](InlineResponse20022.md) +[**Achievement**](Achievement.md) ### Authorization @@ -4319,23 +4491,25 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: application/json + - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetApplicationEventTypes** -> InlineResponse20028 GetApplicationEventTypes (int applicationId, int? pageSize = null, int? skip = null, string sort = null) + +# **GetAdditionalCost** +> AccountAdditionalCost GetAdditionalCost (int additionalCostId) -List Applications event types +Get additional cost -Get all of the distinct values of the Event `type` property for events recorded in the application. See also: [Track an event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) +Returns the additional cost. ### Example ```csharp @@ -4347,7 +4521,7 @@ using TalonOne.Model; namespace Example { - public class GetApplicationEventTypesExample + public class GetAdditionalCostExample { public static void Main() { @@ -4363,20 +4537,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var additionalCostId = 56; // int | The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. try { - // List Applications event types - InlineResponse20028 result = apiInstance.GetApplicationEventTypes(applicationId, pageSize, skip, sort); + // Get additional cost + AccountAdditionalCost result = apiInstance.GetAdditionalCost(additionalCostId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetApplicationEventTypes: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAdditionalCost: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -4389,14 +4560,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **additionalCostId** | **int**| The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. | ### Return type -[**InlineResponse20028**](InlineResponse20028.md) +[**AccountAdditionalCost**](AccountAdditionalCost.md) ### Authorization @@ -4414,13 +4582,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetApplicationEventsWithoutTotalCount** -> InlineResponse20027 GetApplicationEventsWithoutTotalCount (int applicationId, int? pageSize = null, int? skip = null, string sort = null, string type = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string session = null, string profile = null, string customerName = null, string customerEmail = null, string couponCode = null, string referralCode = null, string ruleQuery = null, string campaignQuery = null) + +# **GetAdditionalCosts** +> InlineResponse20036 GetAdditionalCosts (int? pageSize = null, int? skip = null, string sort = null) -List Applications events +List additional costs -Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. +Returns all the defined additional costs for the account. ### Example ```csharp @@ -4432,7 +4600,7 @@ using TalonOne.Model; namespace Example { - public class GetApplicationEventsWithoutTotalCountExample + public class GetAdditionalCostsExample { public static void Main() { @@ -4448,31 +4616,19 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var type = type_example; // string | Comma-separated list of types by which to filter events. Must be exact match(es). (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var session = session_example; // string | Session integration ID filter for events. Must be exact match. (optional) - var profile = profile_example; // string | Profile integration ID filter for events. Must be exact match. (optional) - var customerName = customerName_example; // string | Customer name filter for events. Will match substrings case-insensitively. (optional) - var customerEmail = customerEmail_example; // string | Customer e-mail address filter for events. Will match substrings case-insensitively. (optional) - var couponCode = couponCode_example; // string | Coupon code (optional) - var referralCode = referralCode_example; // string | Referral code (optional) - var ruleQuery = ruleQuery_example; // string | Rule name filter for events (optional) - var campaignQuery = campaignQuery_example; // string | Campaign name filter for events (optional) try { - // List Applications events - InlineResponse20027 result = apiInstance.GetApplicationEventsWithoutTotalCount(applicationId, pageSize, skip, sort, type, createdBefore, createdAfter, session, profile, customerName, customerEmail, couponCode, referralCode, ruleQuery, campaignQuery); + // List additional costs + InlineResponse20036 result = apiInstance.GetAdditionalCosts(pageSize, skip, sort); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetApplicationEventsWithoutTotalCount: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAdditionalCosts: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -4485,25 +4641,13 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **type** | **string**| Comma-separated list of types by which to filter events. Must be exact match(es). | [optional] - **createdBefore** | **DateTime?**| Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **session** | **string**| Session integration ID filter for events. Must be exact match. | [optional] - **profile** | **string**| Profile integration ID filter for events. Must be exact match. | [optional] - **customerName** | **string**| Customer name filter for events. Will match substrings case-insensitively. | [optional] - **customerEmail** | **string**| Customer e-mail address filter for events. Will match substrings case-insensitively. | [optional] - **couponCode** | **string**| Coupon code | [optional] - **referralCode** | **string**| Referral code | [optional] - **ruleQuery** | **string**| Rule name filter for events | [optional] - **campaignQuery** | **string**| Campaign name filter for events | [optional] ### Return type -[**InlineResponse20027**](InlineResponse20027.md) +[**InlineResponse20036**](InlineResponse20036.md) ### Authorization @@ -4521,13 +4665,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetApplicationSession** -> ApplicationSession GetApplicationSession (int applicationId, int sessionId) + +# **GetAllAccessLogs** +> InlineResponse20020 GetAllAccessLogs (DateTime? rangeStart = null, DateTime? rangeEnd = null, string path = null, string method = null, string status = null, int? pageSize = null, int? skip = null, string sort = null) -Get Application session +List access logs -Get the details of the given session. You can list the sessions with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. +Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. ### Example ```csharp @@ -4539,7 +4683,7 @@ using TalonOne.Model; namespace Example { - public class GetApplicationSessionExample + public class GetAllAccessLogsExample { public static void Main() { @@ -4555,18 +4699,24 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var sessionId = 56; // int | The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. + var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime? | Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime? | Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var path = path_example; // string | Only return results where the request path matches the given regular expression. (optional) + var method = method_example; // string | Only return results where the request method matches the given regular expression. (optional) + var status = status_example; // string | Filter results by HTTP status codes. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) try { - // Get Application session - ApplicationSession result = apiInstance.GetApplicationSession(applicationId, sessionId); + // List access logs + InlineResponse20020 result = apiInstance.GetAllAccessLogs(rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetApplicationSession: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAllAccessLogs: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -4579,12 +4729,18 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **sessionId** | **int**| The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. | + **rangeStart** | **DateTime?**| Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **rangeEnd** | **DateTime?**| Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **path** | **string**| Only return results where the request path matches the given regular expression. | [optional] + **method** | **string**| Only return results where the request method matches the given regular expression. | [optional] + **status** | **string**| Filter results by HTTP status codes. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] ### Return type -[**ApplicationSession**](ApplicationSession.md) +[**InlineResponse20020**](InlineResponse20020.md) ### Authorization @@ -4602,13 +4758,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetApplicationSessions** -> InlineResponse20026 GetApplicationSessions (int applicationId, int? pageSize = null, int? skip = null, string sort = null, string profile = null, string state = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string coupon = null, string referral = null, string integrationId = null) + +# **GetApplication** +> Application GetApplication (int applicationId) -List Application sessions +Get Application -List all the sessions of the specified Application. +Get the application specified by the ID. ### Example ```csharp @@ -4620,7 +4776,7 @@ using TalonOne.Model; namespace Example { - public class GetApplicationSessionsExample + public class GetApplicationExample { public static void Main() { @@ -4637,26 +4793,16 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var profile = profile_example; // string | Profile integration ID filter for sessions. Must be exact match. (optional) - var state = state_example; // string | Filter by sessions with this state. Must be exact match. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var coupon = coupon_example; // string | Filter by sessions with this coupon. Must be exact match. (optional) - var referral = referral_example; // string | Filter by sessions with this referral. Must be exact match. (optional) - var integrationId = integrationId_example; // string | Filter by sessions with this integrationId. Must be exact match. (optional) try { - // List Application sessions - InlineResponse20026 result = apiInstance.GetApplicationSessions(applicationId, pageSize, skip, sort, profile, state, createdBefore, createdAfter, coupon, referral, integrationId); + // Get Application + Application result = apiInstance.GetApplication(applicationId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetApplicationSessions: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetApplication: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -4670,20 +4816,10 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **profile** | **string**| Profile integration ID filter for sessions. Must be exact match. | [optional] - **state** | **string**| Filter by sessions with this state. Must be exact match. | [optional] - **createdBefore** | **DateTime?**| Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **coupon** | **string**| Filter by sessions with this coupon. Must be exact match. | [optional] - **referral** | **string**| Filter by sessions with this referral. Must be exact match. | [optional] - **integrationId** | **string**| Filter by sessions with this integrationId. Must be exact match. | [optional] ### Return type -[**InlineResponse20026**](InlineResponse20026.md) +[**Application**](Application.md) ### Authorization @@ -4701,13 +4837,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetApplications** -> InlineResponse2003 GetApplications (int? pageSize = null, int? skip = null, string sort = null) + +# **GetApplicationApiHealth** +> ApplicationApiHealth GetApplicationApiHealth (int applicationId) -List Applications +Get Application health -List all applications in the current account. +Display the health of the Application and show the last time the Application was used. You can also display this information from the **Settings** of an Application, in the **Developer Settings** menu. See the [docs](https://docs.talon.one/docs/dev/tutorials/monitoring-integration-status). ### Example ```csharp @@ -4719,7 +4855,7 @@ using TalonOne.Model; namespace Example { - public class GetApplicationsExample + public class GetApplicationApiHealthExample { public static void Main() { @@ -4735,19 +4871,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. try { - // List Applications - InlineResponse2003 result = apiInstance.GetApplications(pageSize, skip, sort); + // Get Application health + ApplicationApiHealth result = apiInstance.GetApplicationApiHealth(applicationId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetApplications: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetApplicationApiHealth: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -4760,13 +4894,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | ### Return type -[**InlineResponse2003**](InlineResponse2003.md) +[**ApplicationApiHealth**](ApplicationApiHealth.md) ### Authorization @@ -4784,13 +4916,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetAttribute** -> Attribute GetAttribute (int attributeId) + +# **GetApplicationCustomer** +> ApplicationCustomer GetApplicationCustomer (int applicationId, int customerId) -Get custom attribute +Get application's customer -Retrieve the specified custom attribute. +Retrieve the customers of the specified application. ### Example ```csharp @@ -4802,7 +4934,7 @@ using TalonOne.Model; namespace Example { - public class GetAttributeExample + public class GetApplicationCustomerExample { public static void Main() { @@ -4818,17 +4950,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var attributeId = 56; // int | The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var customerId = 56; // int | The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. try { - // Get custom attribute - Attribute result = apiInstance.GetAttribute(attributeId); + // Get application's customer + ApplicationCustomer result = apiInstance.GetApplicationCustomer(applicationId, customerId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetAttribute: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetApplicationCustomer: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -4841,11 +4974,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **attributeId** | **int**| The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. | + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **customerId** | **int**| The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. | ### Return type -[**Attribute**](Attribute.md) +[**ApplicationCustomer**](ApplicationCustomer.md) ### Authorization @@ -4863,13 +4997,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetAttributes** -> InlineResponse20031 GetAttributes (int? pageSize = null, int? skip = null, string sort = null, string entity = null) + +# **GetApplicationCustomerFriends** +> InlineResponse20033 GetApplicationCustomerFriends (int applicationId, string integrationId, int? pageSize = null, int? skip = null, string sort = null, bool? withTotalResultSize = null) -List custom attributes +List friends referred by customer profile -Return all the custom attributes for the account. +List the friends referred by the specified customer profile in this Application. ### Example ```csharp @@ -4881,7 +5015,7 @@ using TalonOne.Model; namespace Example { - public class GetAttributesExample + public class GetApplicationCustomerFriendsExample { public static void Main() { @@ -4897,20 +5031,22 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var integrationId = integrationId_example; // string | The Integration ID of the Advocate's Profile. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var entity = entity_example; // string | Returned attributes will be filtered by supplied entity. (optional) + var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) try { - // List custom attributes - InlineResponse20031 result = apiInstance.GetAttributes(pageSize, skip, sort, entity); + // List friends referred by customer profile + InlineResponse20033 result = apiInstance.GetApplicationCustomerFriends(applicationId, integrationId, pageSize, skip, sort, withTotalResultSize); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetAttributes: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetApplicationCustomerFriends: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -4923,14 +5059,16 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **integrationId** | **string**| The Integration ID of the Advocate's Profile. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **entity** | **string**| Returned attributes will be filtered by supplied entity. | [optional] + **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] ### Return type -[**InlineResponse20031**](InlineResponse20031.md) +[**InlineResponse20033**](InlineResponse20033.md) ### Authorization @@ -4948,13 +5086,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetAudiences** -> InlineResponse20029 GetAudiences (int? pageSize = null, int? skip = null, string sort = null, bool? withTotalResultSize = null) + +# **GetApplicationCustomers** +> InlineResponse20022 GetApplicationCustomers (int applicationId, string integrationId = null, int? pageSize = null, int? skip = null, bool? withTotalResultSize = null) -List audiences +List application's customers -Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). +List all the customers of the specified application. ### Example ```csharp @@ -4966,7 +5104,7 @@ using TalonOne.Model; namespace Example { - public class GetAudiencesExample + public class GetApplicationCustomersExample { public static void Main() { @@ -4982,20 +5120,21 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var integrationId = integrationId_example; // string | Filter results performing an exact matching against the profile integration identifier. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) try { - // List audiences - InlineResponse20029 result = apiInstance.GetAudiences(pageSize, skip, sort, withTotalResultSize); + // List application's customers + InlineResponse20022 result = apiInstance.GetApplicationCustomers(applicationId, integrationId, pageSize, skip, withTotalResultSize); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetAudiences: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetApplicationCustomers: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -5008,14 +5147,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **integrationId** | **string**| Filter results performing an exact matching against the profile integration identifier. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] ### Return type -[**InlineResponse20029**](InlineResponse20029.md) +[**InlineResponse20022**](InlineResponse20022.md) ### Authorization @@ -5033,13 +5173,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCampaign** -> Campaign GetCampaign (int applicationId, int campaignId) + +# **GetApplicationCustomersByAttributes** +> InlineResponse20023 GetApplicationCustomersByAttributes (int applicationId, CustomerProfileSearchQuery body, int? pageSize = null, int? skip = null, bool? withTotalResultSize = null) -Get campaign +List application customers matching the given attributes -Retrieve the given campaign. +Get a list of the application customers matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. ### Example ```csharp @@ -5051,7 +5191,7 @@ using TalonOne.Model; namespace Example { - public class GetCampaignExample + public class GetApplicationCustomersByAttributesExample { public static void Main() { @@ -5068,17 +5208,20 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var body = new CustomerProfileSearchQuery(); // CustomerProfileSearchQuery | body + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) try { - // Get campaign - Campaign result = apiInstance.GetCampaign(applicationId, campaignId); + // List application customers matching the given attributes + InlineResponse20023 result = apiInstance.GetApplicationCustomersByAttributes(applicationId, body, pageSize, skip, withTotalResultSize); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCampaign: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetApplicationCustomersByAttributes: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -5092,11 +5235,14 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **body** | [**CustomerProfileSearchQuery**](CustomerProfileSearchQuery.md)| body | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] ### Return type -[**Campaign**](Campaign.md) +[**InlineResponse20023**](InlineResponse20023.md) ### Authorization @@ -5104,7 +5250,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details @@ -5114,13 +5260,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCampaignAnalytics** -> InlineResponse20020 GetCampaignAnalytics (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = null) + +# **GetApplicationEventTypes** +> InlineResponse20029 GetApplicationEventTypes (int applicationId, int? pageSize = null, int? skip = null, string sort = null) -Get analytics of campaigns +List Applications event types -Retrieve statistical data about the performance of the given campaign. +Get all of the distinct values of the Event `type` property for events recorded in the application. See also: [Track an event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) ### Example ```csharp @@ -5132,7 +5278,7 @@ using TalonOne.Model; namespace Example { - public class GetCampaignAnalyticsExample + public class GetApplicationEventTypesExample { public static void Main() { @@ -5149,20 +5295,19 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. This must be an RFC3339 timestamp string. - var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. This must be an RFC3339 timestamp string. - var granularity = granularity_example; // string | The time interval between the results in the returned time-series. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) try { - // Get analytics of campaigns - InlineResponse20020 result = apiInstance.GetCampaignAnalytics(applicationId, campaignId, rangeStart, rangeEnd, granularity); + // List Applications event types + InlineResponse20029 result = apiInstance.GetApplicationEventTypes(applicationId, pageSize, skip, sort); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCampaignAnalytics: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetApplicationEventTypes: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -5176,14 +5321,13 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **rangeStart** | **DateTime**| Only return results from after this timestamp. This must be an RFC3339 timestamp string. | - **rangeEnd** | **DateTime**| Only return results from before this timestamp. This must be an RFC3339 timestamp string. | - **granularity** | **string**| The time interval between the results in the returned time-series. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] ### Return type -[**InlineResponse20020**](InlineResponse20020.md) +[**InlineResponse20029**](InlineResponse20029.md) ### Authorization @@ -5201,13 +5345,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCampaignByAttributes** -> InlineResponse2004 GetCampaignByAttributes (int applicationId, CampaignSearch body, int? pageSize = null, int? skip = null, string sort = null, string campaignState = null) + +# **GetApplicationEventsWithoutTotalCount** +> InlineResponse20028 GetApplicationEventsWithoutTotalCount (int applicationId, int? pageSize = null, int? skip = null, string sort = null, string type = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string session = null, string profile = null, string customerName = null, string customerEmail = null, string couponCode = null, string referralCode = null, string ruleQuery = null, string campaignQuery = null) -List campaigns that match the given attributes +List Applications events -Get a list of all the campaigns that match a set of attributes. +Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. ### Example ```csharp @@ -5219,7 +5363,7 @@ using TalonOne.Model; namespace Example { - public class GetCampaignByAttributesExample + public class GetApplicationEventsWithoutTotalCountExample { public static void Main() { @@ -5236,21 +5380,30 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var body = new CampaignSearch(); // CampaignSearch | body - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var campaignState = campaignState_example; // string | Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + var type = type_example; // string | Comma-separated list of types by which to filter events. Must be exact match(es). (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var session = session_example; // string | Session integration ID filter for events. Must be exact match. (optional) + var profile = profile_example; // string | Profile integration ID filter for events. Must be exact match. (optional) + var customerName = customerName_example; // string | Customer name filter for events. Will match substrings case-insensitively. (optional) + var customerEmail = customerEmail_example; // string | Customer e-mail address filter for events. Will match substrings case-insensitively. (optional) + var couponCode = couponCode_example; // string | Coupon code (optional) + var referralCode = referralCode_example; // string | Referral code (optional) + var ruleQuery = ruleQuery_example; // string | Rule name filter for events (optional) + var campaignQuery = campaignQuery_example; // string | Campaign name filter for events (optional) try { - // List campaigns that match the given attributes - InlineResponse2004 result = apiInstance.GetCampaignByAttributes(applicationId, body, pageSize, skip, sort, campaignState); + // List Applications events + InlineResponse20028 result = apiInstance.GetApplicationEventsWithoutTotalCount(applicationId, pageSize, skip, sort, type, createdBefore, createdAfter, session, profile, customerName, customerEmail, couponCode, referralCode, ruleQuery, campaignQuery); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCampaignByAttributes: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetApplicationEventsWithoutTotalCount: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -5264,15 +5417,24 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **body** | [**CampaignSearch**](CampaignSearch.md)| body | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **campaignState** | **string**| Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. | [optional] + **type** | **string**| Comma-separated list of types by which to filter events. Must be exact match(es). | [optional] + **createdBefore** | **DateTime?**| Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **session** | **string**| Session integration ID filter for events. Must be exact match. | [optional] + **profile** | **string**| Profile integration ID filter for events. Must be exact match. | [optional] + **customerName** | **string**| Customer name filter for events. Will match substrings case-insensitively. | [optional] + **customerEmail** | **string**| Customer e-mail address filter for events. Will match substrings case-insensitively. | [optional] + **couponCode** | **string**| Coupon code | [optional] + **referralCode** | **string**| Referral code | [optional] + **ruleQuery** | **string**| Rule name filter for events | [optional] + **campaignQuery** | **string**| Campaign name filter for events | [optional] ### Return type -[**InlineResponse2004**](InlineResponse2004.md) +[**InlineResponse20028**](InlineResponse20028.md) ### Authorization @@ -5280,7 +5442,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: application/json + - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details @@ -5290,13 +5452,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCampaignTemplates** -> InlineResponse20010 GetCampaignTemplates (int? pageSize = null, int? skip = null, string sort = null, string state = null, string name = null, string tags = null, int? userId = null) + +# **GetApplicationSession** +> ApplicationSession GetApplicationSession (int applicationId, int sessionId) -List campaign templates +Get Application session -Retrieve a list of campaign templates. +Get the details of the given session. You can list the sessions with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. ### Example ```csharp @@ -5308,7 +5470,7 @@ using TalonOne.Model; namespace Example { - public class GetCampaignTemplatesExample + public class GetApplicationSessionExample { public static void Main() { @@ -5324,23 +5486,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var state = state_example; // string | Filter results by the state of the campaign template. (optional) - var name = name_example; // string | Filter results performing case-insensitive matching against the name of the campaign template. (optional) - var tags = tags_example; // string | Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) - var userId = 56; // int? | Filter results by user ID. (optional) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var sessionId = 56; // int | The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. try { - // List campaign templates - InlineResponse20010 result = apiInstance.GetCampaignTemplates(pageSize, skip, sort, state, name, tags, userId); + // Get Application session + ApplicationSession result = apiInstance.GetApplicationSession(applicationId, sessionId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCampaignTemplates: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetApplicationSession: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -5353,17 +5510,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **state** | **string**| Filter results by the state of the campaign template. | [optional] - **name** | **string**| Filter results performing case-insensitive matching against the name of the campaign template. | [optional] - **tags** | **string**| Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. | [optional] - **userId** | **int?**| Filter results by user ID. | [optional] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **sessionId** | **int**| The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. | ### Return type -[**InlineResponse20010**](InlineResponse20010.md) +[**ApplicationSession**](ApplicationSession.md) ### Authorization @@ -5381,13 +5533,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCampaigns** -> InlineResponse2004 GetCampaigns (int applicationId, int? pageSize = null, int? skip = null, string sort = null, string campaignState = null, string name = null, string tags = null, DateTime? createdBefore = null, DateTime? createdAfter = null, int? campaignGroupId = null, int? templateId = null) + +# **GetApplicationSessions** +> InlineResponse20027 GetApplicationSessions (int applicationId, int? pageSize = null, int? skip = null, string sort = null, string profile = null, string state = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string coupon = null, string referral = null, string integrationId = null, string storeIntegrationId = null) -List campaigns +List Application sessions -List the campaigns of the specified application that match your filter criteria. +List all the sessions of the specified Application. ### Example ```csharp @@ -5399,7 +5551,7 @@ using TalonOne.Model; namespace Example { - public class GetCampaignsExample + public class GetApplicationSessionsExample { public static void Main() { @@ -5416,26 +5568,27 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var campaignState = campaignState_example; // string | Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - var name = name_example; // string | Filter results performing case-insensitive matching against the name of the campaign. (optional) - var tags = tags_example; // string | Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var campaignGroupId = 56; // int? | Filter results to campaigns owned by the specified campaign group ID. (optional) - var templateId = 56; // int? | The ID of the Campaign Template this Campaign was created from. (optional) + var profile = profile_example; // string | Profile integration ID filter for sessions. Must be exact match. (optional) + var state = state_example; // string | Filter by sessions with this state. Must be exact match. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var coupon = coupon_example; // string | Filter by sessions with this coupon. Must be exact match. (optional) + var referral = referral_example; // string | Filter by sessions with this referral. Must be exact match. (optional) + var integrationId = integrationId_example; // string | Filter by sessions with this integrationId. Must be exact match. (optional) + var storeIntegrationId = storeIntegrationId_example; // string | The integration ID of the store. You choose this ID when you create a store. (optional) try { - // List campaigns - InlineResponse2004 result = apiInstance.GetCampaigns(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId); + // List Application sessions + InlineResponse20027 result = apiInstance.GetApplicationSessions(applicationId, pageSize, skip, sort, profile, state, createdBefore, createdAfter, coupon, referral, integrationId, storeIntegrationId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCampaigns: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetApplicationSessions: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -5449,20 +5602,21 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **campaignState** | **string**| Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. | [optional] - **name** | **string**| Filter results performing case-insensitive matching against the name of the campaign. | [optional] - **tags** | **string**| Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values | [optional] - **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **campaignGroupId** | **int?**| Filter results to campaigns owned by the specified campaign group ID. | [optional] - **templateId** | **int?**| The ID of the Campaign Template this Campaign was created from. | [optional] + **profile** | **string**| Profile integration ID filter for sessions. Must be exact match. | [optional] + **state** | **string**| Filter by sessions with this state. Must be exact match. | [optional] + **createdBefore** | **DateTime?**| Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **coupon** | **string**| Filter by sessions with this coupon. Must be exact match. | [optional] + **referral** | **string**| Filter by sessions with this referral. Must be exact match. | [optional] + **integrationId** | **string**| Filter by sessions with this integrationId. Must be exact match. | [optional] + **storeIntegrationId** | **string**| The integration ID of the store. You choose this ID when you create a store. | [optional] ### Return type -[**InlineResponse2004**](InlineResponse2004.md) +[**InlineResponse20027**](InlineResponse20027.md) ### Authorization @@ -5477,17 +5631,16 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **400** | Bad request | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetChanges** -> InlineResponse20039 GetChanges (int? pageSize = null, int? skip = null, string sort = null, decimal? applicationId = null, string entityPath = null, int? userId = null, DateTime? createdBefore = null, DateTime? createdAfter = null, bool? withTotalResultSize = null, int? managementKeyId = null, bool? includeOld = null) + +# **GetApplications** +> InlineResponse2005 GetApplications (int? pageSize = null, int? skip = null, string sort = null) -Get audit logs for an account +List Applications -Retrieve the audit logs displayed in **Accounts > Audit logs**. +List all applications in the current account. ### Example ```csharp @@ -5499,7 +5652,7 @@ using TalonOne.Model; namespace Example { - public class GetChangesExample + public class GetApplicationsExample { public static void Main() { @@ -5515,27 +5668,19 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var applicationId = 8.14; // decimal? | Filter results by Application ID. (optional) - var entityPath = entityPath_example; // string | Filter results on a case insensitive matching of the url path of the entity (optional) - var userId = 56; // int? | Filter results by user ID. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - var managementKeyId = 56; // int? | Filter results that match the given management key ID. (optional) - var includeOld = true; // bool? | When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) try { - // Get audit logs for an account - InlineResponse20039 result = apiInstance.GetChanges(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld); + // List Applications + InlineResponse2005 result = apiInstance.GetApplications(pageSize, skip, sort); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetChanges: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetApplications: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -5548,21 +5693,13 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **applicationId** | **decimal?**| Filter results by Application ID. | [optional] - **entityPath** | **string**| Filter results on a case insensitive matching of the url path of the entity | [optional] - **userId** | **int?**| Filter results by user ID. | [optional] - **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] - **managementKeyId** | **int?**| Filter results that match the given management key ID. | [optional] - **includeOld** | **bool?**| When this flag is set to false, the state without the change will not be returned. The default value is true. | [optional] ### Return type -[**InlineResponse20039**](InlineResponse20039.md) +[**InlineResponse2005**](InlineResponse2005.md) ### Authorization @@ -5580,13 +5717,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCollection** -> Collection GetCollection (int applicationId, int campaignId, int collectionId) + +# **GetAttribute** +> Attribute GetAttribute (int attributeId) -Get collection +Get custom attribute -Retrieve a given collection. +Retrieve the specified custom attribute. ### Example ```csharp @@ -5598,7 +5735,7 @@ using TalonOne.Model; namespace Example { - public class GetCollectionExample + public class GetAttributeExample { public static void Main() { @@ -5614,19 +5751,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var collectionId = 56; // int | The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + var attributeId = 56; // int | The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. try { - // Get collection - Collection result = apiInstance.GetCollection(applicationId, campaignId, collectionId); + // Get custom attribute + Attribute result = apiInstance.GetAttribute(attributeId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCollection: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAttribute: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -5639,13 +5774,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **collectionId** | **int**| The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. | + **attributeId** | **int**| The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. | ### Return type -**Collection** +[**Attribute**](Attribute.md) ### Authorization @@ -5660,17 +5793,16 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCollectionItems** -> InlineResponse20016 GetCollectionItems (int collectionId, int? pageSize = null, int? skip = null) + +# **GetAttributes** +> InlineResponse20034 GetAttributes (int? pageSize = null, int? skip = null, string sort = null, string entity = null) -Get collection items +List custom attributes -Retrieve the items from the given collection. +Return all the custom attributes for the account. ### Example ```csharp @@ -5682,7 +5814,7 @@ using TalonOne.Model; namespace Example { - public class GetCollectionItemsExample + public class GetAttributesExample { public static void Main() { @@ -5698,19 +5830,20 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var collectionId = 56; // int | The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var entity = entity_example; // string | Returned attributes will be filtered by supplied entity. (optional) try { - // Get collection items - InlineResponse20016 result = apiInstance.GetCollectionItems(collectionId, pageSize, skip); + // List custom attributes + InlineResponse20034 result = apiInstance.GetAttributes(pageSize, skip, sort, entity); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCollectionItems: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAttributes: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -5723,13 +5856,14 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **collectionId** | **int**| The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **entity** | **string**| Returned attributes will be filtered by supplied entity. | [optional] ### Return type -[**InlineResponse20016**](InlineResponse20016.md) +[**InlineResponse20034**](InlineResponse20034.md) ### Authorization @@ -5744,17 +5878,16 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCouponsWithoutTotalCount** -> InlineResponse2008 GetCouponsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = null, int? skip = null, string sort = null, string value = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, int? referralId = null, string recipientIntegrationId = null, string batchId = null, bool? exactMatch = null) + +# **GetAudienceMemberships** +> InlineResponse20032 GetAudienceMemberships (int audienceId, int? pageSize = null, int? skip = null, string sort = null, string profileQuery = null) -List coupons +List audience members -List all the coupons matching the specified criteria. +Get a paginated list of the customer profiles in a given audience. A maximum of 1000 customer profiles per page is allowed. ### Example ```csharp @@ -5766,7 +5899,7 @@ using TalonOne.Model; namespace Example { - public class GetCouponsWithoutTotalCountExample + public class GetAudienceMembershipsExample { public static void Main() { @@ -5782,30 +5915,21 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var audienceId = 56; // int | The ID of the audience. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var value = value_example; // string | Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var valid = valid_example; // string | Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - var usable = usable_example; // string | Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - var referralId = 56; // int? | Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - var recipientIntegrationId = recipientIntegrationId_example; // string | Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - var batchId = batchId_example; // string | Filter results by batches of coupons (optional) - var exactMatch = true; // bool? | Filter results to an exact case-insensitive matching against the coupon code (optional) (default to false) + var profileQuery = profileQuery_example; // string | The filter to select a profile. (optional) try { - // List coupons - InlineResponse2008 result = apiInstance.GetCouponsWithoutTotalCount(applicationId, campaignId, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch); + // List audience members + InlineResponse20032 result = apiInstance.GetAudienceMemberships(audienceId, pageSize, skip, sort, profileQuery); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCouponsWithoutTotalCount: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAudienceMemberships: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -5818,24 +5942,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **audienceId** | **int**| The ID of the audience. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **value** | **string**| Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. | [optional] - **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **valid** | **string**| Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. | [optional] - **usable** | **string**| Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. | [optional] - **referralId** | **int?**| Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. | [optional] - **recipientIntegrationId** | **string**| Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field | [optional] - **batchId** | **string**| Filter results by batches of coupons | [optional] - **exactMatch** | **bool?**| Filter results to an exact case-insensitive matching against the coupon code | [optional] [default to false] + **profileQuery** | **string**| The filter to select a profile. | [optional] ### Return type -[**InlineResponse2008**](InlineResponse2008.md) +[**InlineResponse20032**](InlineResponse20032.md) ### Authorization @@ -5850,16 +5965,17 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCustomerActivityReport** -> CustomerActivityReport GetCustomerActivityReport (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = null, int? skip = null) + +# **GetAudiences** +> InlineResponse20030 GetAudiences (int? pageSize = null, int? skip = null, string sort = null, bool? withTotalResultSize = null) -Get customer's activity report +List audiences -Fetch the summary report of a given customer in the given application, in a time range. +Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). ### Example ```csharp @@ -5871,7 +5987,7 @@ using TalonOne.Model; namespace Example { - public class GetCustomerActivityReportExample + public class GetAudiencesExample { public static void Main() { @@ -5887,22 +6003,20 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. This must be an RFC3339 timestamp string. - var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. This must be an RFC3339 timestamp string. - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var customerId = 56; // int | The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) try { - // Get customer's activity report - CustomerActivityReport result = apiInstance.GetCustomerActivityReport(rangeStart, rangeEnd, applicationId, customerId, pageSize, skip); + // List audiences + InlineResponse20030 result = apiInstance.GetAudiences(pageSize, skip, sort, withTotalResultSize); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCustomerActivityReport: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAudiences: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -5915,16 +6029,14 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **rangeStart** | **DateTime**| Only return results from after this timestamp. This must be an RFC3339 timestamp string. | - **rangeEnd** | **DateTime**| Only return results from before this timestamp. This must be an RFC3339 timestamp string. | - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **customerId** | **int**| The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] ### Return type -[**CustomerActivityReport**](CustomerActivityReport.md) +[**InlineResponse20030**](InlineResponse20030.md) ### Authorization @@ -5942,13 +6054,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCustomerActivityReportsWithoutTotalCount** -> InlineResponse20025 GetCustomerActivityReportsWithoutTotalCount (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = null, int? skip = null, string sort = null, string name = null, string integrationId = null, string campaignName = null, string advocateName = null) + +# **GetAudiencesAnalytics** +> InlineResponse20031 GetAudiencesAnalytics (string audienceIds, string sort = null) -Get Activity Reports for Application Customers +List audience analytics -Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. +Get a list of audience IDs and their member count. ### Example ```csharp @@ -5960,7 +6072,7 @@ using TalonOne.Model; namespace Example { - public class GetCustomerActivityReportsWithoutTotalCountExample + public class GetAudiencesAnalyticsExample { public static void Main() { @@ -5976,26 +6088,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. This must be an RFC3339 timestamp string. - var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. This must be an RFC3339 timestamp string. - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var audienceIds = audienceIds_example; // string | The IDs of one or more audiences, separated by commas, by which to filter results. var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var name = name_example; // string | Only return reports matching the customer name (optional) - var integrationId = integrationId_example; // string | Filter results performing an exact matching against the profile integration identifier. (optional) - var campaignName = campaignName_example; // string | Only return reports matching the campaignName (optional) - var advocateName = advocateName_example; // string | Only return reports matching the current customer referrer name (optional) try { - // Get Activity Reports for Application Customers - InlineResponse20025 result = apiInstance.GetCustomerActivityReportsWithoutTotalCount(rangeStart, rangeEnd, applicationId, pageSize, skip, sort, name, integrationId, campaignName, advocateName); + // List audience analytics + InlineResponse20031 result = apiInstance.GetAudiencesAnalytics(audienceIds, sort); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCustomerActivityReportsWithoutTotalCount: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetAudiencesAnalytics: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6008,20 +6112,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **rangeStart** | **DateTime**| Only return results from after this timestamp. This must be an RFC3339 timestamp string. | - **rangeEnd** | **DateTime**| Only return results from before this timestamp. This must be an RFC3339 timestamp string. | - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **audienceIds** | **string**| The IDs of one or more audiences, separated by commas, by which to filter results. | **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **name** | **string**| Only return reports matching the customer name | [optional] - **integrationId** | **string**| Filter results performing an exact matching against the profile integration identifier. | [optional] - **campaignName** | **string**| Only return reports matching the campaignName | [optional] - **advocateName** | **string**| Only return reports matching the current customer referrer name | [optional] ### Return type -[**InlineResponse20025**](InlineResponse20025.md) +[**InlineResponse20031**](InlineResponse20031.md) ### Authorization @@ -6039,13 +6135,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCustomerAnalytics** -> CustomerAnalytics GetCustomerAnalytics (int applicationId, int customerId, int? pageSize = null, int? skip = null, string sort = null) + +# **GetCampaign** +> Campaign GetCampaign (int applicationId, int campaignId) -Get customer's analytics report +Get campaign -Fetch analytics for a given customer in the given application. +Retrieve the given campaign. ### Example ```csharp @@ -6057,7 +6153,7 @@ using TalonOne.Model; namespace Example { - public class GetCustomerAnalyticsExample + public class GetCampaignExample { public static void Main() { @@ -6074,20 +6170,17 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var customerId = 56; // int | The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. try { - // Get customer's analytics report - CustomerAnalytics result = apiInstance.GetCustomerAnalytics(applicationId, customerId, pageSize, skip, sort); + // Get campaign + Campaign result = apiInstance.GetCampaign(applicationId, campaignId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCustomerAnalytics: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCampaign: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6101,14 +6194,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **customerId** | **int**| The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | ### Return type -[**CustomerAnalytics**](CustomerAnalytics.md) +[**Campaign**](Campaign.md) ### Authorization @@ -6126,13 +6216,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCustomerProfile** -> CustomerProfile GetCustomerProfile (int customerId) + +# **GetCampaignAnalytics** +> InlineResponse20021 GetCampaignAnalytics (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = null) -Get customer profile +Get analytics of campaigns -Return the details of the specified customer profile.

Performance tips

You can retrieve the same information via the Integration API, which can save you extra API requests. consider these options: - Request the customer profile to be part of the response content using [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2). - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`.
+Retrieve statistical data about the performance of the given campaign. ### Example ```csharp @@ -6144,7 +6234,7 @@ using TalonOne.Model; namespace Example { - public class GetCustomerProfileExample + public class GetCampaignAnalyticsExample { public static void Main() { @@ -6160,17 +6250,21 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var customerId = 56; // int | The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var granularity = granularity_example; // string | The time interval between the results in the returned time-series. (optional) try { - // Get customer profile - CustomerProfile result = apiInstance.GetCustomerProfile(customerId); + // Get analytics of campaigns + InlineResponse20021 result = apiInstance.GetCampaignAnalytics(applicationId, campaignId, rangeStart, rangeEnd, granularity); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCustomerProfile: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCampaignAnalytics: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6183,11 +6277,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **customerId** | **int**| The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. | + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **rangeStart** | **DateTime**| Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **rangeEnd** | **DateTime**| Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **granularity** | **string**| The time interval between the results in the returned time-series. | [optional] ### Return type -[**CustomerProfile**](CustomerProfile.md) +[**InlineResponse20021**](InlineResponse20021.md) ### Authorization @@ -6205,13 +6303,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCustomerProfiles** -> InlineResponse20024 GetCustomerProfiles (int? pageSize = null, int? skip = null, bool? sandbox = null) + +# **GetCampaignByAttributes** +> InlineResponse2006 GetCampaignByAttributes (int applicationId, CampaignSearch body, int? pageSize = null, int? skip = null, string sort = null, string campaignState = null) -List customer profiles +List campaigns that match the given attributes -List all customer profiles. +Get a list of all the campaigns that match a set of attributes. ### Example ```csharp @@ -6223,7 +6321,7 @@ using TalonOne.Model; namespace Example { - public class GetCustomerProfilesExample + public class GetCampaignByAttributesExample { public static void Main() { @@ -6239,19 +6337,22 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var body = new CampaignSearch(); // CampaignSearch | body + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sandbox = true; // bool? | Indicates whether you are pointing to a sandbox or Live customer. (optional) (default to false) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var campaignState = campaignState_example; // string | Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) try { - // List customer profiles - InlineResponse20024 result = apiInstance.GetCustomerProfiles(pageSize, skip, sandbox); + // List campaigns that match the given attributes + InlineResponse2006 result = apiInstance.GetCampaignByAttributes(applicationId, body, pageSize, skip, sort, campaignState); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCustomerProfiles: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCampaignByAttributes: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6264,13 +6365,16 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **body** | [**CampaignSearch**](CampaignSearch.md)| body | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sandbox** | **bool?**| Indicates whether you are pointing to a sandbox or Live customer. | [optional] [default to false] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **campaignState** | **string**| Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. | [optional] ### Return type -[**InlineResponse20024**](InlineResponse20024.md) +[**InlineResponse2006**](InlineResponse2006.md) ### Authorization @@ -6278,7 +6382,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details @@ -6288,13 +6392,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCustomersByAttributes** -> InlineResponse20023 GetCustomersByAttributes (CustomerProfileSearchQuery body, int? pageSize = null, int? skip = null, bool? sandbox = null) + +# **GetCampaignGroup** +> CampaignGroup GetCampaignGroup (int campaignGroupId) -List customer profiles matching the given attributes +Get campaign access group -Get a list of the customer profiles matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. +Get a campaign access group specified by its ID. ### Example ```csharp @@ -6306,7 +6410,7 @@ using TalonOne.Model; namespace Example { - public class GetCustomersByAttributesExample + public class GetCampaignGroupExample { public static void Main() { @@ -6322,20 +6426,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var body = new CustomerProfileSearchQuery(); // CustomerProfileSearchQuery | body - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sandbox = true; // bool? | Indicates whether you are pointing to a sandbox or Live customer. (optional) (default to false) + var campaignGroupId = 56; // int | The ID of the campaign access group. try { - // List customer profiles matching the given attributes - InlineResponse20023 result = apiInstance.GetCustomersByAttributes(body, pageSize, skip, sandbox); + // Get campaign access group + CampaignGroup result = apiInstance.GetCampaignGroup(campaignGroupId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetCustomersByAttributes: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCampaignGroup: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6348,14 +6449,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **body** | [**CustomerProfileSearchQuery**](CustomerProfileSearchQuery.md)| body | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sandbox** | **bool?**| Indicates whether you are pointing to a sandbox or Live customer. | [optional] [default to false] + **campaignGroupId** | **int**| The ID of the campaign access group. | ### Return type -[**InlineResponse20023**](InlineResponse20023.md) +[**CampaignGroup**](CampaignGroup.md) ### Authorization @@ -6363,7 +6461,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: application/json + - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details @@ -6373,13 +6471,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetEventTypes** -> InlineResponse20037 GetEventTypes (string name = null, bool? includeOldVersions = null, int? pageSize = null, int? skip = null, string sort = null) + +# **GetCampaignGroups** +> InlineResponse20011 GetCampaignGroups (int? pageSize = null, int? skip = null, string sort = null) -List event types +List campaign access groups -Fetch all event type definitions for your account. +List the campaign access groups in the current account. ### Example ```csharp @@ -6391,7 +6489,7 @@ using TalonOne.Model; namespace Example { - public class GetEventTypesExample + public class GetCampaignGroupsExample { public static void Main() { @@ -6407,21 +6505,19 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var name = name_example; // string | Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) - var includeOldVersions = true; // bool? | Include all versions of every event type. (optional) (default to false) - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) try { - // List event types - InlineResponse20037 result = apiInstance.GetEventTypes(name, includeOldVersions, pageSize, skip, sort); + // List campaign access groups + InlineResponse20011 result = apiInstance.GetCampaignGroups(pageSize, skip, sort); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetEventTypes: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCampaignGroups: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6434,15 +6530,13 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **name** | **string**| Filter results to event types with the given name. This parameter implies `includeOldVersions`. | [optional] - **includeOldVersions** | **bool?**| Include all versions of every event type. | [optional] [default to false] - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] ### Return type -[**InlineResponse20037**](InlineResponse20037.md) +[**InlineResponse20011**](InlineResponse20011.md) ### Authorization @@ -6460,13 +6554,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetExports** -> InlineResponse20040 GetExports (int? pageSize = null, int? skip = null, decimal? applicationId = null, int? campaignId = null, string entity = null) + +# **GetCampaignTemplates** +> InlineResponse20012 GetCampaignTemplates (int? pageSize = null, int? skip = null, string sort = null, string state = null, string name = null, string tags = null, int? userId = null) -Get exports +List campaign templates -List all past exports +Retrieve a list of campaign templates. ### Example ```csharp @@ -6478,7 +6572,7 @@ using TalonOne.Model; namespace Example { - public class GetExportsExample + public class GetCampaignTemplatesExample { public static void Main() { @@ -6494,21 +6588,23 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var applicationId = 8.14; // decimal? | Filter results by Application ID. (optional) - var campaignId = 56; // int? | Filter by the campaign ID on which the limit counters are used. (optional) - var entity = entity_example; // string | The name of the entity type that was exported. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var state = state_example; // string | Filter results by the state of the campaign template. (optional) + var name = name_example; // string | Filter results performing case-insensitive matching against the name of the campaign template. (optional) + var tags = tags_example; // string | Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) + var userId = 56; // int? | Filter results by user ID. (optional) try { - // Get exports - InlineResponse20040 result = apiInstance.GetExports(pageSize, skip, applicationId, campaignId, entity); + // List campaign templates + InlineResponse20012 result = apiInstance.GetCampaignTemplates(pageSize, skip, sort, state, name, tags, userId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetExports: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCampaignTemplates: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6521,15 +6617,17 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **applicationId** | **decimal?**| Filter results by Application ID. | [optional] - **campaignId** | **int?**| Filter by the campaign ID on which the limit counters are used. | [optional] - **entity** | **string**| The name of the entity type that was exported. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **state** | **string**| Filter results by the state of the campaign template. | [optional] + **name** | **string**| Filter results performing case-insensitive matching against the name of the campaign template. | [optional] + **tags** | **string**| Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. | [optional] + **userId** | **int?**| Filter results by user ID. | [optional] ### Return type -[**InlineResponse20040**](InlineResponse20040.md) +[**InlineResponse20012**](InlineResponse20012.md) ### Authorization @@ -6547,13 +6645,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetLoyaltyCard** -> LoyaltyCard GetLoyaltyCard (int loyaltyProgramId, string loyaltyCardId) + +# **GetCampaigns** +> InlineResponse2006 GetCampaigns (int applicationId, int? pageSize = null, int? skip = null, string sort = null, string campaignState = null, string name = null, string tags = null, DateTime? createdBefore = null, DateTime? createdAfter = null, int? campaignGroupId = null, int? templateId = null, int? storeId = null) -Get loyalty card +List campaigns -Get the given loyalty card. +List the campaigns of the specified application that match your filter criteria. ### Example ```csharp @@ -6565,7 +6663,7 @@ using TalonOne.Model; namespace Example { - public class GetLoyaltyCardExample + public class GetCampaignsExample { public static void Main() { @@ -6581,18 +6679,28 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var campaignState = campaignState_example; // string | Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + var name = name_example; // string | Filter results performing case-insensitive matching against the name of the campaign. (optional) + var tags = tags_example; // string | Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var campaignGroupId = 56; // int? | Filter results to campaigns owned by the specified campaign access group ID. (optional) + var templateId = 56; // int? | The ID of the Campaign Template this Campaign was created from. (optional) + var storeId = 56; // int? | Filter results to campaigns linked to the specified store ID. (optional) try { - // Get loyalty card - LoyaltyCard result = apiInstance.GetLoyaltyCard(loyaltyProgramId, loyaltyCardId); + // List campaigns + InlineResponse2006 result = apiInstance.GetCampaigns(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId, storeId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetLoyaltyCard: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCampaigns: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6605,12 +6713,22 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | - **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **campaignState** | **string**| Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. | [optional] + **name** | **string**| Filter results performing case-insensitive matching against the name of the campaign. | [optional] + **tags** | **string**| Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values | [optional] + **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **campaignGroupId** | **int?**| Filter results to campaigns owned by the specified campaign access group ID. | [optional] + **templateId** | **int?**| The ID of the Campaign Template this Campaign was created from. | [optional] + **storeId** | **int?**| Filter results to campaigns linked to the specified store ID. | [optional] ### Return type -[**LoyaltyCard**](LoyaltyCard.md) +[**InlineResponse2006**](InlineResponse2006.md) ### Authorization @@ -6626,18 +6744,16 @@ Name | Type | Description | Notes |-------------|-------------|------------------| | **200** | OK | - | | **400** | Bad request | - | -| **401** | Unauthorized | - | -| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetLoyaltyCardTransactionLogs** -> InlineResponse20014 GetLoyaltyCardTransactionLogs (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = null, DateTime? endDate = null, int? pageSize = null, int? skip = null, string subledgerId = null) + +# **GetChanges** +> InlineResponse20042 GetChanges (int? pageSize = null, int? skip = null, string sort = null, decimal? applicationId = null, string entityPath = null, int? userId = null, DateTime? createdBefore = null, DateTime? createdAfter = null, bool? withTotalResultSize = null, int? managementKeyId = null, bool? includeOld = null) -List card's transactions +Get audit logs for an account -Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. +Retrieve the audit logs displayed in **Accounts > Audit logs**. ### Example ```csharp @@ -6649,7 +6765,7 @@ using TalonOne.Model; namespace Example { - public class GetLoyaltyCardTransactionLogsExample + public class GetChangesExample { public static void Main() { @@ -6665,23 +6781,27 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - var startDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var subledgerId = subledgerId_example; // string | The ID of the subledger by which we filter the data. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var applicationId = 8.14; // decimal? | Filter results by Application ID. (optional) + var entityPath = entityPath_example; // string | Filter results on a case insensitive matching of the url path of the entity (optional) + var userId = 56; // int? | Filter results by user ID. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + var managementKeyId = 56; // int? | Filter results that match the given management key ID. (optional) + var includeOld = true; // bool? | When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) try { - // List card's transactions - InlineResponse20014 result = apiInstance.GetLoyaltyCardTransactionLogs(loyaltyProgramId, loyaltyCardId, startDate, endDate, pageSize, skip, subledgerId); + // Get audit logs for an account + InlineResponse20042 result = apiInstance.GetChanges(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetLoyaltyCardTransactionLogs: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetChanges: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6694,17 +6814,21 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | - **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | - **startDate** | **DateTime?**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional] - **endDate** | **DateTime?**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional] - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **subledgerId** | **string**| The ID of the subledger by which we filter the data. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **applicationId** | **decimal?**| Filter results by Application ID. | [optional] + **entityPath** | **string**| Filter results on a case insensitive matching of the url path of the entity | [optional] + **userId** | **int?**| Filter results by user ID. | [optional] + **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] + **managementKeyId** | **int?**| Filter results that match the given management key ID. | [optional] + **includeOld** | **bool?**| When this flag is set to false, the state without the change will not be returned. The default value is true. | [optional] ### Return type -[**InlineResponse20014**](InlineResponse20014.md) +[**InlineResponse20042**](InlineResponse20042.md) ### Authorization @@ -6719,18 +6843,16 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **401** | Unauthorized | - | -| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetLoyaltyCards** -> InlineResponse20013 GetLoyaltyCards (int loyaltyProgramId, int? pageSize = null, int? skip = null, string sort = null, string identifier = null, int? profileId = null) + +# **GetCollection** +> Collection GetCollection (int applicationId, int campaignId, int collectionId) -List loyalty cards +Get campaign-level collection -For the given card-based loyalty program, list the loyalty cards that match your filter criteria. +Retrieve a given campaign-level collection. ### Example ```csharp @@ -6742,7 +6864,7 @@ using TalonOne.Model; namespace Example { - public class GetLoyaltyCardsExample + public class GetCollectionExample { public static void Main() { @@ -6758,22 +6880,19 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var identifier = identifier_example; // string | Optional query parameter to search cards by identifier. (optional) - var profileId = 56; // int? | Filter by the profile ID. (optional) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var collectionId = 56; // int | The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. try { - // List loyalty cards - InlineResponse20013 result = apiInstance.GetLoyaltyCards(loyaltyProgramId, pageSize, skip, sort, identifier, profileId); + // Get campaign-level collection + Collection result = apiInstance.GetCollection(applicationId, campaignId, collectionId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetLoyaltyCards: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCollection: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6786,16 +6905,13 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **identifier** | **string**| Optional query parameter to search cards by identifier. | [optional] - **profileId** | **int?**| Filter by the profile ID. | [optional] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **collectionId** | **int**| The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. | ### Return type -[**InlineResponse20013**](InlineResponse20013.md) +**Collection** ### Authorization @@ -6810,18 +6926,17 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **400** | Bad request | - | -| **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetLoyaltyPoints** -> LoyaltyLedger GetLoyaltyPoints (string loyaltyProgramId, string integrationId) + +# **GetCollectionItems** +> InlineResponse20018 GetCollectionItems (int collectionId, int? pageSize = null, int? skip = null) -Get customer's full loyalty ledger +Get collection items -Get the loyalty ledger for this profile integration ID. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). +Retrieve items from a given collection. You can retrieve items from both account-level collections and campaign-level collections using this endpoint. ### Example ```csharp @@ -6833,7 +6948,7 @@ using TalonOne.Model; namespace Example { - public class GetLoyaltyPointsExample + public class GetCollectionItemsExample { public static void Main() { @@ -6849,18 +6964,19 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = loyaltyProgramId_example; // string | The identifier for the loyalty program. - var integrationId = integrationId_example; // string | The identifier of the profile. + var collectionId = 56; // int | The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) try { - // Get customer's full loyalty ledger - LoyaltyLedger result = apiInstance.GetLoyaltyPoints(loyaltyProgramId, integrationId); + // Get collection items + InlineResponse20018 result = apiInstance.GetCollectionItems(collectionId, pageSize, skip); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetLoyaltyPoints: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCollectionItems: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6873,12 +6989,13 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **string**| The identifier for the loyalty program. | - **integrationId** | **string**| The identifier of the profile. | + **collectionId** | **int**| The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] ### Return type -[**LoyaltyLedger**](LoyaltyLedger.md) +[**InlineResponse20018**](InlineResponse20018.md) ### Authorization @@ -6893,16 +7010,17 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetLoyaltyProgram** -> LoyaltyProgram GetLoyaltyProgram (int loyaltyProgramId) + +# **GetCouponsWithoutTotalCount** +> InlineResponse2009 GetCouponsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = null, int? skip = null, string sort = null, string value = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, int? referralId = null, string recipientIntegrationId = null, string batchId = null, bool? exactMatch = null) -Get loyalty program +List coupons -Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) +List all the coupons matching the specified criteria. ### Example ```csharp @@ -6914,7 +7032,7 @@ using TalonOne.Model; namespace Example { - public class GetLoyaltyProgramExample + public class GetCouponsWithoutTotalCountExample { public static void Main() { @@ -6930,17 +7048,30 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var value = value_example; // string | Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var valid = valid_example; // string | Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + var usable = usable_example; // string | Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + var referralId = 56; // int? | Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + var recipientIntegrationId = recipientIntegrationId_example; // string | Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + var batchId = batchId_example; // string | Filter results by batches of coupons (optional) + var exactMatch = true; // bool? | Filter results to an exact case-insensitive matching against the coupon code (optional) (default to false) try { - // Get loyalty program - LoyaltyProgram result = apiInstance.GetLoyaltyProgram(loyaltyProgramId); + // List coupons + InlineResponse2009 result = apiInstance.GetCouponsWithoutTotalCount(applicationId, campaignId, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetLoyaltyProgram: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCouponsWithoutTotalCount: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -6953,11 +7084,24 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **value** | **string**| Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. | [optional] + **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **valid** | **string**| Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. | [optional] + **usable** | **string**| Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. | [optional] + **referralId** | **int?**| Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. | [optional] + **recipientIntegrationId** | **string**| Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field | [optional] + **batchId** | **string**| Filter results by batches of coupons | [optional] + **exactMatch** | **bool?**| Filter results to an exact case-insensitive matching against the coupon code | [optional] [default to false] ### Return type -[**LoyaltyProgram**](LoyaltyProgram.md) +[**InlineResponse2009**](InlineResponse2009.md) ### Authorization @@ -6975,13 +7119,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetLoyaltyProgramTransactions** -> InlineResponse20012 GetLoyaltyProgramTransactions (int loyaltyProgramId, string loyaltyTransactionType = null, string subledgerId = null, DateTime? startDate = null, DateTime? endDate = null, int? pageSize = null, int? skip = null) + +# **GetCustomerActivityReport** +> CustomerActivityReport GetCustomerActivityReport (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = null, int? skip = null) -List loyalty program transactions +Get customer's activity report -Retrieve all loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). +Fetch the summary report of a given customer in the given application, in a time range. ### Example ```csharp @@ -6993,7 +7137,7 @@ using TalonOne.Model; namespace Example { - public class GetLoyaltyProgramTransactionsExample + public class GetCustomerActivityReportExample { public static void Main() { @@ -7009,23 +7153,22 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - var loyaltyTransactionType = loyaltyTransactionType_example; // string | Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) - var subledgerId = subledgerId_example; // string | The ID of the subledger by which we filter the data. (optional) - var startDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 50) + var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var customerId = 56; // int | The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) try { - // List loyalty program transactions - InlineResponse20012 result = apiInstance.GetLoyaltyProgramTransactions(loyaltyProgramId, loyaltyTransactionType, subledgerId, startDate, endDate, pageSize, skip); + // Get customer's activity report + CustomerActivityReport result = apiInstance.GetCustomerActivityReport(rangeStart, rangeEnd, applicationId, customerId, pageSize, skip); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetLoyaltyProgramTransactions: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCustomerActivityReport: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7038,17 +7181,16 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | - **loyaltyTransactionType** | **string**| Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. | [optional] - **subledgerId** | **string**| The ID of the subledger by which we filter the data. | [optional] - **startDate** | **DateTime?**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional] - **endDate** | **DateTime?**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional] - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 50] + **rangeStart** | **DateTime**| Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **rangeEnd** | **DateTime**| Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **customerId** | **int**| The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] ### Return type -[**InlineResponse20012**](InlineResponse20012.md) +[**CustomerActivityReport**](CustomerActivityReport.md) ### Authorization @@ -7063,19 +7205,16 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **400** | Bad request | - | -| **401** | Unauthorized | - | -| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetLoyaltyPrograms** -> InlineResponse20011 GetLoyaltyPrograms () + +# **GetCustomerActivityReportsWithoutTotalCount** +> InlineResponse20026 GetCustomerActivityReportsWithoutTotalCount (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = null, int? skip = null, string sort = null, string name = null, string integrationId = null, string campaignName = null, string advocateName = null) -List loyalty programs +Get Activity Reports for Application Customers -List the loyalty programs of the account. +Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. ### Example ```csharp @@ -7087,7 +7226,7 @@ using TalonOne.Model; namespace Example { - public class GetLoyaltyProgramsExample + public class GetCustomerActivityReportsWithoutTotalCountExample { public static void Main() { @@ -7103,16 +7242,26 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); + var rangeStart = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var rangeEnd = 2013-10-20T19:20:30+01:00; // DateTime | Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var name = name_example; // string | Only return reports matching the customer name (optional) + var integrationId = integrationId_example; // string | Filter results performing an exact matching against the profile integration identifier. (optional) + var campaignName = campaignName_example; // string | Only return reports matching the campaignName (optional) + var advocateName = advocateName_example; // string | Only return reports matching the current customer referrer name (optional) try { - // List loyalty programs - InlineResponse20011 result = apiInstance.GetLoyaltyPrograms(); + // Get Activity Reports for Application Customers + InlineResponse20026 result = apiInstance.GetCustomerActivityReportsWithoutTotalCount(rangeStart, rangeEnd, applicationId, pageSize, skip, sort, name, integrationId, campaignName, advocateName); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetLoyaltyPrograms: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCustomerActivityReportsWithoutTotalCount: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7122,11 +7271,23 @@ namespace Example ``` ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **rangeStart** | **DateTime**| Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **rangeEnd** | **DateTime**| Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **name** | **string**| Only return reports matching the customer name | [optional] + **integrationId** | **string**| Filter results performing an exact matching against the profile integration identifier. | [optional] + **campaignName** | **string**| Only return reports matching the campaignName | [optional] + **advocateName** | **string**| Only return reports matching the current customer referrer name | [optional] ### Return type -[**InlineResponse20011**](InlineResponse20011.md) +[**InlineResponse20026**](InlineResponse20026.md) ### Authorization @@ -7144,13 +7305,13 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetLoyaltyStatistics** -> LoyaltyStatistics GetLoyaltyStatistics (int loyaltyProgramId) + +# **GetCustomerAnalytics** +> CustomerAnalytics GetCustomerAnalytics (int applicationId, int customerId, int? pageSize = null, int? skip = null, string sort = null) -Get loyalty program statistics +Get customer's analytics report -Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. +Fetch analytics for a given customer in the given application. ### Example ```csharp @@ -7162,7 +7323,7 @@ using TalonOne.Model; namespace Example { - public class GetLoyaltyStatisticsExample + public class GetCustomerAnalyticsExample { public static void Main() { @@ -7178,17 +7339,21 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var customerId = 56; // int | The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) try { - // Get loyalty program statistics - LoyaltyStatistics result = apiInstance.GetLoyaltyStatistics(loyaltyProgramId); + // Get customer's analytics report + CustomerAnalytics result = apiInstance.GetCustomerAnalytics(applicationId, customerId, pageSize, skip, sort); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetLoyaltyStatistics: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCustomerAnalytics: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7201,11 +7366,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **customerId** | **int**| The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] ### Return type -[**LoyaltyStatistics**](LoyaltyStatistics.md) +[**CustomerAnalytics**](CustomerAnalytics.md) ### Authorization @@ -7223,13 +7392,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetNotificationWebhook** -> NotificationWebhook GetNotificationWebhook (int applicationId, int notificationWebhookId) + +# **GetCustomerProfile** +> CustomerProfile GetCustomerProfile (int customerId) -Get notification about campaign-related changes +Get customer profile -Return the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). +Return the details of the specified customer profile.

Performance tips

You can retrieve the same information via the Integration API, which can save you extra API requests. consider these options: - Request the customer profile to be part of the response content using [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2). - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`.
### Example ```csharp @@ -7241,7 +7410,7 @@ using TalonOne.Model; namespace Example { - public class GetNotificationWebhookExample + public class GetCustomerProfileExample { public static void Main() { @@ -7257,18 +7426,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var notificationWebhookId = 56; // int | The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + var customerId = 56; // int | The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. try { - // Get notification about campaign-related changes - NotificationWebhook result = apiInstance.GetNotificationWebhook(applicationId, notificationWebhookId); + // Get customer profile + CustomerProfile result = apiInstance.GetCustomerProfile(customerId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetNotificationWebhook: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCustomerProfile: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7281,12 +7449,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **notificationWebhookId** | **int**| The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. | + **customerId** | **int**| The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. | ### Return type -[**NotificationWebhook**](NotificationWebhook.md) +[**CustomerProfile**](CustomerProfile.md) ### Authorization @@ -7304,13 +7471,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetNotificationWebhooks** -> InlineResponse2005 GetNotificationWebhooks (int applicationId) + +# **GetCustomerProfileAchievementProgress** +> InlineResponse20047 GetCustomerProfileAchievementProgress (int applicationId, string integrationId, int? pageSize = null, int? skip = null, int? achievementId = null, string title = null) -List notifications about campaign-related changes +List customer achievements -List all [notifications about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications) for the given Application. +For the given customer profile, list all the achievements that match your filter criteria. ### Example ```csharp @@ -7322,7 +7489,7 @@ using TalonOne.Model; namespace Example { - public class GetNotificationWebhooksExample + public class GetCustomerProfileAchievementProgressExample { public static void Main() { @@ -7339,16 +7506,21 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var integrationId = integrationId_example; // string | The identifier of the profile. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 50) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var achievementId = 56; // int? | The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. (optional) + var title = title_example; // string | Filter results by the `title` of an achievement. (optional) try { - // List notifications about campaign-related changes - InlineResponse2005 result = apiInstance.GetNotificationWebhooks(applicationId); + // List customer achievements + InlineResponse20047 result = apiInstance.GetCustomerProfileAchievementProgress(applicationId, integrationId, pageSize, skip, achievementId, title); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetNotificationWebhooks: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCustomerProfileAchievementProgress: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7362,10 +7534,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **integrationId** | **string**| The identifier of the profile. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 50] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **achievementId** | **int?**| The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. | [optional] + **title** | **string**| Filter results by the `title` of an achievement. | [optional] ### Return type -[**InlineResponse2005**](InlineResponse2005.md) +[**InlineResponse20047**](InlineResponse20047.md) ### Authorization @@ -7380,16 +7557,18 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetReferralsWithoutTotalCount** -> InlineResponse2009 GetReferralsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = null, int? skip = null, string sort = null, string code = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, string advocate = null) + +# **GetCustomerProfiles** +> InlineResponse20025 GetCustomerProfiles (int? pageSize = null, int? skip = null, bool? sandbox = null) -List referrals +List customer profiles -List all referrals of the specified campaign. +List all customer profiles. ### Example ```csharp @@ -7401,7 +7580,7 @@ using TalonOne.Model; namespace Example { - public class GetReferralsWithoutTotalCountExample + public class GetCustomerProfilesExample { public static void Main() { @@ -7417,27 +7596,19 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var code = code_example; // string | Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var valid = valid_example; // string | Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) - var usable = usable_example; // string | Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) - var advocate = advocate_example; // string | Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) + var sandbox = true; // bool? | Indicates whether you are pointing to a sandbox or Live customer. (optional) (default to false) try { - // List referrals - InlineResponse2009 result = apiInstance.GetReferralsWithoutTotalCount(applicationId, campaignId, pageSize, skip, sort, code, createdBefore, createdAfter, valid, usable, advocate); + // List customer profiles + InlineResponse20025 result = apiInstance.GetCustomerProfiles(pageSize, skip, sandbox); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetReferralsWithoutTotalCount: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCustomerProfiles: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7450,21 +7621,13 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **code** | **string**| Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. | [optional] - **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **valid** | **string**| Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. | [optional] - **usable** | **string**| Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. | [optional] - **advocate** | **string**| Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field | [optional] + **sandbox** | **bool?**| Indicates whether you are pointing to a sandbox or Live customer. | [optional] [default to false] ### Return type -[**InlineResponse2009**](InlineResponse2009.md) +[**InlineResponse20025**](InlineResponse20025.md) ### Authorization @@ -7482,13 +7645,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetRole** -> Role GetRole (int roleId) + +# **GetCustomersByAttributes** +> InlineResponse20024 GetCustomersByAttributes (CustomerProfileSearchQuery body, int? pageSize = null, int? skip = null, bool? sandbox = null) -Get role +List customer profiles matching the given attributes -Get the details of a specific role. To see all the roles, use [List roles](#operation/getAllRoles). +Get a list of the customer profiles matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. ### Example ```csharp @@ -7500,7 +7663,7 @@ using TalonOne.Model; namespace Example { - public class GetRoleExample + public class GetCustomersByAttributesExample { public static void Main() { @@ -7516,17 +7679,20 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var roleId = 56; // int | The ID of role. + var body = new CustomerProfileSearchQuery(); // CustomerProfileSearchQuery | body + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sandbox = true; // bool? | Indicates whether you are pointing to a sandbox or Live customer. (optional) (default to false) try { - // Get role - Role result = apiInstance.GetRole(roleId); + // List customer profiles matching the given attributes + InlineResponse20024 result = apiInstance.GetCustomersByAttributes(body, pageSize, skip, sandbox); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetRole: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetCustomersByAttributes: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7539,11 +7705,14 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **roleId** | **int**| The ID of role. | + **body** | [**CustomerProfileSearchQuery**](CustomerProfileSearchQuery.md)| body | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sandbox** | **bool?**| Indicates whether you are pointing to a sandbox or Live customer. | [optional] [default to false] ### Return type -[**Role**](Role.md) +[**InlineResponse20024**](InlineResponse20024.md) ### Authorization @@ -7551,7 +7720,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details @@ -7561,13 +7730,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetRuleset** -> Ruleset GetRuleset (int applicationId, int campaignId, int rulesetId) + +# **GetEventTypes** +> InlineResponse20040 GetEventTypes (string name = null, bool? includeOldVersions = null, int? pageSize = null, int? skip = null, string sort = null) -Get ruleset +List event types -Retrieve the specified ruleset. +Fetch all event type definitions for your account. ### Example ```csharp @@ -7579,7 +7748,7 @@ using TalonOne.Model; namespace Example { - public class GetRulesetExample + public class GetEventTypesExample { public static void Main() { @@ -7595,19 +7764,21 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var rulesetId = 56; // int | The ID of the ruleset. + var name = name_example; // string | Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) + var includeOldVersions = true; // bool? | Include all versions of every event type. (optional) (default to false) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) try { - // Get ruleset - Ruleset result = apiInstance.GetRuleset(applicationId, campaignId, rulesetId); + // List event types + InlineResponse20040 result = apiInstance.GetEventTypes(name, includeOldVersions, pageSize, skip, sort); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetRuleset: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetEventTypes: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7620,13 +7791,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **rulesetId** | **int**| The ID of the ruleset. | + **name** | **string**| Filter results to event types with the given name. This parameter implies `includeOldVersions`. | [optional] + **includeOldVersions** | **bool?**| Include all versions of every event type. | [optional] [default to false] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] ### Return type -[**Ruleset**](Ruleset.md) +[**InlineResponse20040**](InlineResponse20040.md) ### Authorization @@ -7644,13 +7817,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetRulesets** -> InlineResponse2006 GetRulesets (int applicationId, int campaignId, int? pageSize = null, int? skip = null, string sort = null) + +# **GetExports** +> InlineResponse20043 GetExports (int? pageSize = null, int? skip = null, decimal? applicationId = null, int? campaignId = null, string entity = null) -List campaign rulesets +Get exports -List all rulesets of this campaign. A ruleset is a revision of the rules of a campaign. **Important:** The response also includes deleted rules. You should only consider the latest revision of the returned rulesets. +List all past exports ### Example ```csharp @@ -7662,7 +7835,7 @@ using TalonOne.Model; namespace Example { - public class GetRulesetsExample + public class GetExportsExample { public static void Main() { @@ -7678,21 +7851,21 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var applicationId = 8.14; // decimal? | Filter results by Application ID. (optional) + var campaignId = 56; // int? | Filter by the campaign ID on which the limit counters are used. (optional) + var entity = entity_example; // string | The name of the entity type that was exported. (optional) try { - // List campaign rulesets - InlineResponse2006 result = apiInstance.GetRulesets(applicationId, campaignId, pageSize, skip, sort); + // Get exports + InlineResponse20043 result = apiInstance.GetExports(pageSize, skip, applicationId, campaignId, entity); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetRulesets: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetExports: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7705,15 +7878,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **applicationId** | **decimal?**| Filter results by Application ID. | [optional] + **campaignId** | **int?**| Filter by the campaign ID on which the limit counters are used. | [optional] + **entity** | **string**| The name of the entity type that was exported. | [optional] ### Return type -[**InlineResponse2006**](InlineResponse2006.md) +[**InlineResponse20043**](InlineResponse20043.md) ### Authorization @@ -7731,13 +7904,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetUser** -> User GetUser (int userId) + +# **GetLoyaltyCard** +> LoyaltyCard GetLoyaltyCard (int loyaltyProgramId, string loyaltyCardId) -Get user +Get loyalty card -Retrieve the data (including an invitation code) for a user. Non-admin users can only get their own profile. +Get the given loyalty card. ### Example ```csharp @@ -7749,7 +7922,7 @@ using TalonOne.Model; namespace Example { - public class GetUserExample + public class GetLoyaltyCardExample { public static void Main() { @@ -7765,17 +7938,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var userId = 56; // int | The ID of the user. + var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. try { - // Get user - User result = apiInstance.GetUser(userId); + // Get loyalty card + LoyaltyCard result = apiInstance.GetLoyaltyCard(loyaltyProgramId, loyaltyCardId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetUser: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetLoyaltyCard: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7788,11 +7962,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **userId** | **int**| The ID of the user. | + **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | ### Return type -[**User**](User.md) +[**LoyaltyCard**](LoyaltyCard.md) ### Authorization @@ -7807,16 +7982,19 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetUsers** -> InlineResponse20038 GetUsers (int? pageSize = null, int? skip = null, string sort = null) + +# **GetLoyaltyCardTransactionLogs** +> InlineResponse20016 GetLoyaltyCardTransactionLogs (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = null, DateTime? endDate = null, int? pageSize = null, int? skip = null, string subledgerId = null) -List users in account +List card's transactions -Retrieve all users in your account. +Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. ### Example ```csharp @@ -7828,7 +8006,7 @@ using TalonOne.Model; namespace Example { - public class GetUsersExample + public class GetLoyaltyCardTransactionLogsExample { public static void Main() { @@ -7844,19 +8022,23 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var loyaltyCardId = loyaltyCardId_example; // string | Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + var startDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var subledgerId = subledgerId_example; // string | The ID of the subledger by which we filter the data. (optional) try { - // List users in account - InlineResponse20038 result = apiInstance.GetUsers(pageSize, skip, sort); + // List card's transactions + InlineResponse20016 result = apiInstance.GetLoyaltyCardTransactionLogs(loyaltyProgramId, loyaltyCardId, startDate, endDate, pageSize, skip, subledgerId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetUsers: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetLoyaltyCardTransactionLogs: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7869,13 +8051,17 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **loyaltyCardId** | **string**| Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. | + **startDate** | **DateTime?**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **endDate** | **DateTime?**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **subledgerId** | **string**| The ID of the subledger by which we filter the data. | [optional] ### Return type -[**InlineResponse20038**](InlineResponse20038.md) +[**InlineResponse20016**](InlineResponse20016.md) ### Authorization @@ -7890,16 +8076,18 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetWebhook** -> Webhook GetWebhook (int webhookId) + +# **GetLoyaltyCards** +> InlineResponse20015 GetLoyaltyCards (int loyaltyProgramId, int? pageSize = null, int? skip = null, string sort = null, string identifier = null, int? profileId = null) -Get webhook +List loyalty cards -Returns a webhook by its id. +For the given card-based loyalty program, list the loyalty cards that match your filter criteria. ### Example ```csharp @@ -7911,7 +8099,7 @@ using TalonOne.Model; namespace Example { - public class GetWebhookExample + public class GetLoyaltyCardsExample { public static void Main() { @@ -7927,17 +8115,22 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var webhookId = 56; // int | The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. + var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var identifier = identifier_example; // string | Optional query parameter to search cards by identifier. (optional) + var profileId = 56; // int? | Filter by the profile ID. (optional) try { - // Get webhook - Webhook result = apiInstance.GetWebhook(webhookId); + // List loyalty cards + InlineResponse20015 result = apiInstance.GetLoyaltyCards(loyaltyProgramId, pageSize, skip, sort, identifier, profileId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetWebhook: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetLoyaltyCards: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -7950,11 +8143,16 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **webhookId** | **int**| The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. | + **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **identifier** | **string**| Optional query parameter to search cards by identifier. | [optional] + **profileId** | **int?**| Filter by the profile ID. | [optional] ### Return type -[**Webhook**](Webhook.md) +[**InlineResponse20015**](InlineResponse20015.md) ### Authorization @@ -7969,16 +8167,18 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetWebhookActivationLogs** -> InlineResponse20035 GetWebhookActivationLogs (int? pageSize = null, int? skip = null, string sort = null, string integrationRequestUuid = null, decimal? webhookId = null, decimal? applicationId = null, decimal? campaignId = null, DateTime? createdBefore = null, DateTime? createdAfter = null) + +# **GetLoyaltyPoints** +> LoyaltyLedger GetLoyaltyPoints (string loyaltyProgramId, string integrationId) -List webhook activation log entries +Get customer's full loyalty ledger -Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). +Get the loyalty ledger for this profile integration ID. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). ### Example ```csharp @@ -7990,7 +8190,7 @@ using TalonOne.Model; namespace Example { - public class GetWebhookActivationLogsExample + public class GetLoyaltyPointsExample { public static void Main() { @@ -8006,25 +8206,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var integrationRequestUuid = integrationRequestUuid_example; // string | Filter results by integration request UUID. (optional) - var webhookId = 8.14; // decimal? | Filter results by Webhook. (optional) - var applicationId = 8.14; // decimal? | Filter results by Application ID. (optional) - var campaignId = 8.14; // decimal? | Filter results by campaign. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) + var loyaltyProgramId = loyaltyProgramId_example; // string | The identifier for the loyalty program. + var integrationId = integrationId_example; // string | The identifier of the profile. try { - // List webhook activation log entries - InlineResponse20035 result = apiInstance.GetWebhookActivationLogs(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter); + // Get customer's full loyalty ledger + LoyaltyLedger result = apiInstance.GetLoyaltyPoints(loyaltyProgramId, integrationId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetWebhookActivationLogs: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetLoyaltyPoints: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8037,19 +8230,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **integrationRequestUuid** | **string**| Filter results by integration request UUID. | [optional] - **webhookId** | **decimal?**| Filter results by Webhook. | [optional] - **applicationId** | **decimal?**| Filter results by Application ID. | [optional] - **campaignId** | **decimal?**| Filter results by campaign. | [optional] - **createdBefore** | **DateTime?**| Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. | [optional] + **loyaltyProgramId** | **string**| The identifier for the loyalty program. | + **integrationId** | **string**| The identifier of the profile. | ### Return type -[**InlineResponse20035**](InlineResponse20035.md) +[**LoyaltyLedger**](LoyaltyLedger.md) ### Authorization @@ -8067,13 +8253,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetWebhookLogs** -> InlineResponse20036 GetWebhookLogs (int? pageSize = null, int? skip = null, string sort = null, string status = null, decimal? webhookId = null, decimal? applicationId = null, decimal? campaignId = null, string requestUuid = null, DateTime? createdBefore = null, DateTime? createdAfter = null) + +# **GetLoyaltyProgram** +> LoyaltyProgram GetLoyaltyProgram (int loyaltyProgramId) -List webhook log entries +Get loyalty program -Retrieve all webhook log entries. +Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) ### Example ```csharp @@ -8085,7 +8271,7 @@ using TalonOne.Model; namespace Example { - public class GetWebhookLogsExample + public class GetLoyaltyProgramExample { public static void Main() { @@ -8101,26 +8287,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var status = status_example; // string | Filter results by HTTP status codes. (optional) - var webhookId = 8.14; // decimal? | Filter results by Webhook. (optional) - var applicationId = 8.14; // decimal? | Filter results by Application ID. (optional) - var campaignId = 8.14; // decimal? | Filter results by campaign. (optional) - var requestUuid = requestUuid_example; // string | Filter results by request UUID. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) + var loyaltyProgramId = 56; // int | Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. try { - // List webhook log entries - InlineResponse20036 result = apiInstance.GetWebhookLogs(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter); + // Get loyalty program + LoyaltyProgram result = apiInstance.GetLoyaltyProgram(loyaltyProgramId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetWebhookLogs: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetLoyaltyProgram: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8133,20 +8310,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **status** | **string**| Filter results by HTTP status codes. | [optional] - **webhookId** | **decimal?**| Filter results by Webhook. | [optional] - **applicationId** | **decimal?**| Filter results by Application ID. | [optional] - **campaignId** | **decimal?**| Filter results by campaign. | [optional] - **requestUuid** | **string**| Filter results by request UUID. | [optional] - **createdBefore** | **DateTime?**| Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. | [optional] + **loyaltyProgramId** | **int**| Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | ### Return type -[**InlineResponse20036**](InlineResponse20036.md) +[**LoyaltyProgram**](LoyaltyProgram.md) ### Authorization @@ -8164,13 +8332,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetWebhooks** -> InlineResponse20034 GetWebhooks (string applicationIds = null, string sort = null, int? pageSize = null, int? skip = null, string creationType = null, string visibility = null, int? outgoingIntegrationsTypeId = null, string title = null) + +# **GetLoyaltyProgramTransactions** +> InlineResponse20014 GetLoyaltyProgramTransactions (int loyaltyProgramId, string loyaltyTransactionType = null, string subledgerId = null, DateTime? startDate = null, DateTime? endDate = null, int? pageSize = null, int? skip = null) -List webhooks +List loyalty program transactions -List all webhooks. +Retrieve loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. **Note:** If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). ### Example ```csharp @@ -8182,7 +8350,7 @@ using TalonOne.Model; namespace Example { - public class GetWebhooksExample + public class GetLoyaltyProgramTransactionsExample { public static void Main() { @@ -8198,24 +8366,23 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationIds = applicationIds_example; // string | Filter by one or more Application IDs, separated by a comma. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var loyaltyProgramId = 56; // int | Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var loyaltyTransactionType = loyaltyTransactionType_example; // string | Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + var subledgerId = subledgerId_example; // string | The ID of the subledger by which we filter the data. (optional) + var startDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var endDate = 2013-10-20T19:20:30+01:00; // DateTime? | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 50) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var creationType = creationType_example; // string | Filter results by creation type. (optional) - var visibility = visibility_example; // string | Filter results by visibility. (optional) - var outgoingIntegrationsTypeId = 56; // int? | Filter results by outgoing integration type ID. (optional) - var title = title_example; // string | Filter results performing case-insensitive matching against the webhook title. (optional) try { - // List webhooks - InlineResponse20034 result = apiInstance.GetWebhooks(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title); + // List loyalty program transactions + InlineResponse20014 result = apiInstance.GetLoyaltyProgramTransactions(loyaltyProgramId, loyaltyTransactionType, subledgerId, startDate, endDate, pageSize, skip); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.GetWebhooks: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.GetLoyaltyProgramTransactions: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8228,18 +8395,17 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationIds** | **string**| Filter by one or more Application IDs, separated by a comma. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **loyaltyProgramId** | **int**| Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **loyaltyTransactionType** | **string**| Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. | [optional] + **subledgerId** | **string**| The ID of the subledger by which we filter the data. | [optional] + **startDate** | **DateTime?**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **endDate** | **DateTime?**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 50] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **creationType** | **string**| Filter results by creation type. | [optional] - **visibility** | **string**| Filter results by visibility. | [optional] - **outgoingIntegrationsTypeId** | **int?**| Filter results by outgoing integration type ID. | [optional] - **title** | **string**| Filter results performing case-insensitive matching against the webhook title. | [optional] ### Return type -[**InlineResponse20034**](InlineResponse20034.md) +[**InlineResponse20014**](InlineResponse20014.md) ### Authorization @@ -8254,16 +8420,1634 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ImportAccountCollection** -> Import ImportAccountCollection (int collectionId, string upFile = null) + +# **GetLoyaltyPrograms** +> InlineResponse20013 GetLoyaltyPrograms () + +List loyalty programs + +List the loyalty programs of the account. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetLoyaltyProgramsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + + try + { + // List loyalty programs + InlineResponse20013 result = apiInstance.GetLoyaltyPrograms(); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetLoyaltyPrograms: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters +This endpoint does not need any parameter. + +### Return type + +[**InlineResponse20013**](InlineResponse20013.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetLoyaltyStatistics** +> LoyaltyDashboardData GetLoyaltyStatistics (int loyaltyProgramId) + +Get loyalty program statistics + +Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetLoyaltyStatisticsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var loyaltyProgramId = 56; // int | Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + + try + { + // Get loyalty program statistics + LoyaltyDashboardData result = apiInstance.GetLoyaltyStatistics(loyaltyProgramId); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetLoyaltyStatistics: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **loyaltyProgramId** | **int**| Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + +### Return type + +[**LoyaltyDashboardData**](LoyaltyDashboardData.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetReferralsWithoutTotalCount** +> InlineResponse20010 GetReferralsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = null, int? skip = null, string sort = null, string code = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, string advocate = null) + +List referrals + +List all referrals of the specified campaign. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetReferralsWithoutTotalCountExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var code = code_example; // string | Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var valid = valid_example; // string | Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) + var usable = usable_example; // string | Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) + var advocate = advocate_example; // string | Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) + + try + { + // List referrals + InlineResponse20010 result = apiInstance.GetReferralsWithoutTotalCount(applicationId, campaignId, pageSize, skip, sort, code, createdBefore, createdAfter, valid, usable, advocate); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetReferralsWithoutTotalCount: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **code** | **string**| Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. | [optional] + **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **valid** | **string**| Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. | [optional] + **usable** | **string**| Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. | [optional] + **advocate** | **string**| Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field | [optional] + +### Return type + +[**InlineResponse20010**](InlineResponse20010.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetRoleV2** +> RoleV2 GetRoleV2 (int roleId) + +Get role + +Get the details of a specific role. To see all the roles, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetRoleV2Example + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var roleId = 56; // int | The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + + try + { + // Get role + RoleV2 result = apiInstance.GetRoleV2(roleId); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetRoleV2: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **roleId** | **int**| The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. | + +### Return type + +[**RoleV2**](RoleV2.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetRuleset** +> Ruleset GetRuleset (int applicationId, int campaignId, int rulesetId) + +Get ruleset + +Retrieve the specified ruleset. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetRulesetExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var rulesetId = 56; // int | The ID of the ruleset. + + try + { + // Get ruleset + Ruleset result = apiInstance.GetRuleset(applicationId, campaignId, rulesetId); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetRuleset: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **rulesetId** | **int**| The ID of the ruleset. | + +### Return type + +[**Ruleset**](Ruleset.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetRulesets** +> InlineResponse2007 GetRulesets (int applicationId, int campaignId, int? pageSize = null, int? skip = null, string sort = null) + +List campaign rulesets + +List all rulesets of this campaign. A ruleset is a revision of the rules of a campaign. **Important:** The response also includes deleted rules. You should only consider the latest revision of the returned rulesets. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetRulesetsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + + try + { + // List campaign rulesets + InlineResponse2007 result = apiInstance.GetRulesets(applicationId, campaignId, pageSize, skip, sort); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetRulesets: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + +### Return type + +[**InlineResponse2007**](InlineResponse2007.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetStore** +> Store GetStore (int applicationId, string storeId) + +Get store + +Get store details for a specific store ID. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetStoreExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var storeId = storeId_example; // string | The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + + try + { + // Get store + Store result = apiInstance.GetStore(applicationId, storeId); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetStore: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **storeId** | **string**| The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. | + +### Return type + +[**Store**](Store.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetUser** +> User GetUser (int userId) + +Get user + +Retrieve the data (including an invitation code) for a user. Non-admin users can only get their own profile. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetUserExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var userId = 56; // int | The ID of the user. + + try + { + // Get user + User result = apiInstance.GetUser(userId); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetUser: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **userId** | **int**| The ID of the user. | + +### Return type + +[**User**](User.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetUsers** +> InlineResponse20041 GetUsers (int? pageSize = null, int? skip = null, string sort = null) + +List users in account + +Retrieve all users in your account. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetUsersExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + + try + { + // List users in account + InlineResponse20041 result = apiInstance.GetUsers(pageSize, skip, sort); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetUsers: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + +### Return type + +[**InlineResponse20041**](InlineResponse20041.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetWebhook** +> Webhook GetWebhook (int webhookId) + +Get webhook + +Returns a webhook by its id. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetWebhookExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var webhookId = 56; // int | The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. + + try + { + // Get webhook + Webhook result = apiInstance.GetWebhook(webhookId); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetWebhook: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **webhookId** | **int**| The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. | + +### Return type + +[**Webhook**](Webhook.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetWebhookActivationLogs** +> InlineResponse20038 GetWebhookActivationLogs (int? pageSize = null, int? skip = null, string sort = null, string integrationRequestUuid = null, decimal? webhookId = null, decimal? applicationId = null, decimal? campaignId = null, DateTime? createdBefore = null, DateTime? createdAfter = null) + +List webhook activation log entries + +Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetWebhookActivationLogsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var integrationRequestUuid = integrationRequestUuid_example; // string | Filter results by integration request UUID. (optional) + var webhookId = 8.14; // decimal? | Filter results by Webhook. (optional) + var applicationId = 8.14; // decimal? | Filter results by Application ID. (optional) + var campaignId = 8.14; // decimal? | Filter results by campaign. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + + try + { + // List webhook activation log entries + InlineResponse20038 result = apiInstance.GetWebhookActivationLogs(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetWebhookActivationLogs: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **integrationRequestUuid** | **string**| Filter results by integration request UUID. | [optional] + **webhookId** | **decimal?**| Filter results by Webhook. | [optional] + **applicationId** | **decimal?**| Filter results by Application ID. | [optional] + **campaignId** | **decimal?**| Filter results by campaign. | [optional] + **createdBefore** | **DateTime?**| Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + +### Return type + +[**InlineResponse20038**](InlineResponse20038.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetWebhookLogs** +> InlineResponse20039 GetWebhookLogs (int? pageSize = null, int? skip = null, string sort = null, string status = null, decimal? webhookId = null, decimal? applicationId = null, decimal? campaignId = null, string requestUuid = null, DateTime? createdBefore = null, DateTime? createdAfter = null) + +List webhook log entries + +Retrieve all webhook log entries. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetWebhookLogsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var status = status_example; // string | Filter results by HTTP status codes. (optional) + var webhookId = 8.14; // decimal? | Filter results by Webhook. (optional) + var applicationId = 8.14; // decimal? | Filter results by Application ID. (optional) + var campaignId = 8.14; // decimal? | Filter results by campaign. (optional) + var requestUuid = requestUuid_example; // string | Filter results by request UUID. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + + try + { + // List webhook log entries + InlineResponse20039 result = apiInstance.GetWebhookLogs(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetWebhookLogs: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **status** | **string**| Filter results by HTTP status codes. | [optional] + **webhookId** | **decimal?**| Filter results by Webhook. | [optional] + **applicationId** | **decimal?**| Filter results by Application ID. | [optional] + **campaignId** | **decimal?**| Filter results by campaign. | [optional] + **requestUuid** | **string**| Filter results by request UUID. | [optional] + **createdBefore** | **DateTime?**| Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + +### Return type + +[**InlineResponse20039**](InlineResponse20039.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetWebhooks** +> InlineResponse20037 GetWebhooks (string applicationIds = null, string sort = null, int? pageSize = null, int? skip = null, string creationType = null, string visibility = null, int? outgoingIntegrationsTypeId = null, string title = null) + +List webhooks + +List all webhooks. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class GetWebhooksExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var applicationIds = applicationIds_example; // string | Filter by one or more Application IDs, separated by a comma. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var creationType = creationType_example; // string | Filter results by creation type. (optional) + var visibility = visibility_example; // string | Filter results by visibility. (optional) + var outgoingIntegrationsTypeId = 56; // int? | Filter results by outgoing integration type ID. (optional) + var title = title_example; // string | Filter results performing case-insensitive matching against the webhook title. (optional) + + try + { + // List webhooks + InlineResponse20037 result = apiInstance.GetWebhooks(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.GetWebhooks: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **applicationIds** | **string**| Filter by one or more Application IDs, separated by a comma. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **creationType** | **string**| Filter results by creation type. | [optional] + **visibility** | **string**| Filter results by visibility. | [optional] + **outgoingIntegrationsTypeId** | **int?**| Filter results by outgoing integration type ID. | [optional] + **title** | **string**| Filter results performing case-insensitive matching against the webhook title. | [optional] + +### Return type + +[**InlineResponse20037**](InlineResponse20037.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **ImportAccountCollection** +> Import ImportAccountCollection (int collectionId, string upFile = null) + +Import data into existing account-level collection + +Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class ImportAccountCollectionExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var collectionId = 56; // int | The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + var upFile = upFile_example; // string | The file containing the data that is being imported. (optional) + + try + { + // Import data into existing account-level collection + Import result = apiInstance.ImportAccountCollection(collectionId, upFile); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.ImportAccountCollection: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **collectionId** | **int**| The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. | + **upFile** | **string**| The file containing the data that is being imported. | [optional] + +### Return type + +[**Import**](Import.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: multipart/form-data + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **ImportAllowedList** +> Import ImportAllowedList (int attributeId, string upFile = null) + +Import allowed values for attribute + +Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item` (required): the values in your allowed list, for example a list of SKU's. An allowed list is limited to 500,000 items. Example: ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ``` + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class ImportAllowedListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var attributeId = 56; // int | The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + var upFile = upFile_example; // string | The file containing the data that is being imported. (optional) + + try + { + // Import allowed values for attribute + Import result = apiInstance.ImportAllowedList(attributeId, upFile); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.ImportAllowedList: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **attributeId** | **int**| The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. | + **upFile** | **string**| The file containing the data that is being imported. | [optional] + +### Return type + +[**Import**](Import.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: multipart/form-data + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized - Invalid API key | - | +| **404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **ImportAudiencesMemberships** +> Import ImportAudiencesMemberships (int audienceId, string upFile = null) + +Import audience members + +Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. **Note:** We recommend limiting your file size to 500MB. Example: ```text profileintegrationid charles alexa ``` + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class ImportAudiencesMembershipsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var audienceId = 56; // int | The ID of the audience. + var upFile = upFile_example; // string | The file containing the data that is being imported. (optional) + + try + { + // Import audience members + Import result = apiInstance.ImportAudiencesMemberships(audienceId, upFile); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.ImportAudiencesMemberships: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **audienceId** | **int**| The ID of the audience. | + **upFile** | **string**| The file containing the data that is being imported. | [optional] + +### Return type + +[**Import**](Import.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: multipart/form-data + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized - Invalid API key | - | +| **404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **ImportCollection** +> Import ImportCollection (int applicationId, int campaignId, int collectionId, string upFile = null) + +Import data into existing campaign-level collection + +Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class ImportCollectionExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var collectionId = 56; // int | The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + var upFile = upFile_example; // string | The file containing the data that is being imported. (optional) + + try + { + // Import data into existing campaign-level collection + Import result = apiInstance.ImportCollection(applicationId, campaignId, collectionId, upFile); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.ImportCollection: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **collectionId** | **int**| The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. | + **upFile** | **string**| The file containing the data that is being imported. | [optional] + +### Return type + +[**Import**](Import.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: multipart/form-data + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **401** | Unauthorized | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **ImportCoupons** +> Import ImportCoupons (int applicationId, int campaignId, bool? skipDuplicates = null, string upFile = null) + +Import coupons + +Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A JSON object describing _custom_ coupon attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the coupon entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class ImportCouponsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var skipDuplicates = true; // bool? | An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional) + var upFile = upFile_example; // string | The file containing the data that is being imported. (optional) + + try + { + // Import coupons + Import result = apiInstance.ImportCoupons(applicationId, campaignId, skipDuplicates, upFile); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.ImportCoupons: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **skipDuplicates** | **bool?**| An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. | [optional] + **upFile** | **string**| The file containing the data that is being imported. | [optional] + +### Return type + +[**Import**](Import.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: multipart/form-data + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **ImportLoyaltyCards** +> Import ImportLoyaltyCards (int loyaltyProgramId, string upFile = null) + +Import loyalty cards + +Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The alphanumeric identifier of the loyalty card. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ``` + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class ImportLoyaltyCardsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var upFile = upFile_example; // string | The file containing the data that is being imported. (optional) + + try + { + // Import loyalty cards + Import result = apiInstance.ImportLoyaltyCards(loyaltyProgramId, upFile); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.ImportLoyaltyCards: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **upFile** | **string**| The file containing the data that is being imported. | [optional] + +### Return type + +[**Import**](Import.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: multipart/form-data + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **ImportLoyaltyCustomersTiers** +> Import ImportLoyaltyCustomersTiers (int loyaltyProgramId, string upFile = null) -Import data in existing account-level collection +Import customers into loyalty tiers -Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. +Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. **Note:** We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` ### Example ```csharp @@ -8275,7 +10059,7 @@ using TalonOne.Model; namespace Example { - public class ImportAccountCollectionExample + public class ImportLoyaltyCustomersTiersExample { public static void Main() { @@ -8291,18 +10075,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var collectionId = 56; // int | The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - var upFile = upFile_example; // string | The file with the information about the data that should be imported. (optional) + var loyaltyProgramId = 56; // int | Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var upFile = upFile_example; // string | The file containing the data that is being imported. (optional) try { - // Import data in existing account-level collection - Import result = apiInstance.ImportAccountCollection(collectionId, upFile); + // Import customers into loyalty tiers + Import result = apiInstance.ImportLoyaltyCustomersTiers(loyaltyProgramId, upFile); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ImportAccountCollection: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ImportLoyaltyCustomersTiers: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8315,8 +10099,8 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **collectionId** | **int**| The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. | - **upFile** | **string**| The file with the information about the data that should be imported. | [optional] + **loyaltyProgramId** | **int**| Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **upFile** | **string**| The file containing the data that is being imported. | [optional] ### Return type @@ -8337,16 +10121,17 @@ Name | Type | Description | Notes | **200** | OK | - | | **400** | Bad request | - | | **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ImportAllowedList** -> Import ImportAllowedList (int attributeId, string upFile = null) + +# **ImportLoyaltyPoints** +> Import ImportLoyaltyPoints (int loyaltyProgramId, string upFile = null) -Import allowed values for attribute +Import loyalty points -Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item` (required): the values in your allowed list, for example a list of SKU's. An allowed list is limited to 500,000 items. Example: ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ``` +Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` ### Example ```csharp @@ -8358,7 +10143,7 @@ using TalonOne.Model; namespace Example { - public class ImportAllowedListExample + public class ImportLoyaltyPointsExample { public static void Main() { @@ -8374,18 +10159,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var attributeId = 56; // int | The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - var upFile = upFile_example; // string | The file with the information about the data that should be imported. (optional) + var loyaltyProgramId = 56; // int | Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + var upFile = upFile_example; // string | The file containing the data that is being imported. (optional) try { - // Import allowed values for attribute - Import result = apiInstance.ImportAllowedList(attributeId, upFile); + // Import loyalty points + Import result = apiInstance.ImportLoyaltyPoints(loyaltyProgramId, upFile); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ImportAllowedList: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ImportLoyaltyPoints: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8398,8 +10183,8 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **attributeId** | **int**| The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. | - **upFile** | **string**| The file with the information about the data that should be imported. | [optional] + **loyaltyProgramId** | **int**| Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **upFile** | **string**| The file containing the data that is being imported. | [optional] ### Return type @@ -8418,19 +10203,16 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **400** | Bad request | - | -| **401** | Unauthorized - Invalid API key | - | -| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ImportCollection** -> Import ImportCollection (int applicationId, int campaignId, int collectionId, string upFile = null) + +# **ImportPoolGiveaways** +> Import ImportPoolGiveaways (int poolId, string upFile = null) -Import data in existing collection +Import giveaway codes into a giveaway pool -Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. +Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. **Note:** - We recommend limiting your file size to 500MB. - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` ### Example ```csharp @@ -8442,7 +10224,7 @@ using TalonOne.Model; namespace Example { - public class ImportCollectionExample + public class ImportPoolGiveawaysExample { public static void Main() { @@ -8458,20 +10240,18 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var collectionId = 56; // int | The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - var upFile = upFile_example; // string | The file with the information about the data that should be imported. (optional) + var poolId = 56; // int | The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. + var upFile = upFile_example; // string | The file containing the data that is being imported. (optional) try { - // Import data in existing collection - Import result = apiInstance.ImportCollection(applicationId, campaignId, collectionId, upFile); + // Import giveaway codes into a giveaway pool + Import result = apiInstance.ImportPoolGiveaways(poolId, upFile); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ImportCollection: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ImportPoolGiveaways: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8484,10 +10264,8 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **collectionId** | **int**| The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. | - **upFile** | **string**| The file with the information about the data that should be imported. | [optional] + **poolId** | **int**| The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. | + **upFile** | **string**| The file containing the data that is being imported. | [optional] ### Return type @@ -8506,17 +10284,16 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **401** | Unauthorized | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ImportCoupons** -> Import ImportCoupons (int applicationId, int campaignId, string upFile = null) + +# **ImportReferrals** +> Import ImportReferrals (int applicationId, int campaignId, string upFile = null) -Import coupons +Import referrals -Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the customer who receives the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the coupon entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). +Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Important:** When you import a CSV file with referrals, a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) is **not** automatically created for each `advocateprofileintegrationid` column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) endpoint to create the customer profiles. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` ### Example ```csharp @@ -8528,7 +10305,7 @@ using TalonOne.Model; namespace Example { - public class ImportCouponsExample + public class ImportReferralsExample { public static void Main() { @@ -8546,17 +10323,17 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var upFile = upFile_example; // string | The file with the information about the data that should be imported. (optional) + var upFile = upFile_example; // string | The file containing the data that is being imported. (optional) try { - // Import coupons - Import result = apiInstance.ImportCoupons(applicationId, campaignId, upFile); + // Import referrals + Import result = apiInstance.ImportReferrals(applicationId, campaignId, upFile); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ImportCoupons: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ImportReferrals: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8571,7 +10348,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **upFile** | **string**| The file with the information about the data that should be imported. | [optional] + **upFile** | **string**| The file containing the data that is being imported. | [optional] ### Return type @@ -8593,13 +10370,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ImportLoyaltyCards** -> Import ImportLoyaltyCards (int loyaltyProgramId, string upFile = null) + +# **InviteUserExternal** +> void InviteUserExternal (NewExternalInvitation body) -Import loyalty cards +Invite user from identity provider -Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The alphanumeric identifier of the loyalty card. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ``` +Invite a user from an external identity provider to Talon.One by sending an invitation to their email address. ### Example ```csharp @@ -8611,7 +10388,7 @@ using TalonOne.Model; namespace Example { - public class ImportLoyaltyCardsExample + public class InviteUserExternalExample { public static void Main() { @@ -8627,18 +10404,16 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - var upFile = upFile_example; // string | The file with the information about the data that should be imported. (optional) + var body = new NewExternalInvitation(); // NewExternalInvitation | body try { - // Import loyalty cards - Import result = apiInstance.ImportLoyaltyCards(loyaltyProgramId, upFile); - Debug.WriteLine(result); + // Invite user from identity provider + apiInstance.InviteUserExternal(body); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ImportLoyaltyCards: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.InviteUserExternal: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8651,12 +10426,11 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | - **upFile** | **string**| The file with the information about the data that should be imported. | [optional] + **body** | [**NewExternalInvitation**](NewExternalInvitation.md)| body | ### Return type -[**Import**](Import.md) +void (empty response body) ### Authorization @@ -8664,25 +10438,23 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: multipart/form-data - - **Accept**: application/json + - **Content-Type**: application/json + - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | OK | - | -| **401** | Unauthorized | - | -| **404** | Not found | - | +| **204** | Invitation email sent | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ImportLoyaltyCustomersTiers** -> Import ImportLoyaltyCustomersTiers (int loyaltyProgramId, string upFile = null) + +# **ListAccountCollections** +> InlineResponse20017 ListAccountCollections (int? pageSize = null, int? skip = null, string sort = null, bool? withTotalResultSize = null, string name = null) -Import customers into loyalty tiers +List collections in account -Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in a tier, the customer is assigned to match the new information provided in the CSV file. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` +List account-level collections in the account. ### Example ```csharp @@ -8694,7 +10466,7 @@ using TalonOne.Model; namespace Example { - public class ImportLoyaltyCustomersTiersExample + public class ListAccountCollectionsExample { public static void Main() { @@ -8710,18 +10482,21 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - var upFile = upFile_example; // string | The file with the information about the data that should be imported. (optional) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + var name = name_example; // string | Filter by collection name. (optional) try { - // Import customers into loyalty tiers - Import result = apiInstance.ImportLoyaltyCustomersTiers(loyaltyProgramId, upFile); + // List collections in account + InlineResponse20017 result = apiInstance.ListAccountCollections(pageSize, skip, sort, withTotalResultSize, name); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ImportLoyaltyCustomersTiers: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ListAccountCollections: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8734,12 +10509,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | - **upFile** | **string**| The file with the information about the data that should be imported. | [optional] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] + **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] + **name** | **string**| Filter by collection name. | [optional] ### Return type -[**Import**](Import.md) +[**InlineResponse20017**](InlineResponse20017.md) ### Authorization @@ -8747,7 +10525,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: multipart/form-data + - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details @@ -8760,13 +10538,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ImportLoyaltyPoints** -> Import ImportLoyaltyPoints (int loyaltyProgramId, string upFile = null) + +# **ListAchievements** +> InlineResponse20046 ListAchievements (int applicationId, int campaignId, int? pageSize = null, int? skip = null, string title = null) -Import loyalty points +List achievements -Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the loyalty program type, you can import the points into a given customer profile or into a given _active_ loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` +List all the achievements for a specific campaign. ### Example ```csharp @@ -8778,7 +10556,7 @@ using TalonOne.Model; namespace Example { - public class ImportLoyaltyPointsExample + public class ListAchievementsExample { public static void Main() { @@ -8794,18 +10572,21 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var loyaltyProgramId = 56; // int | Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - var upFile = upFile_example; // string | The file with the information about the data that should be imported. (optional) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 50) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var title = title_example; // string | Filter by the display name for the achievement in the campaign manager. **Note**: If no `title` is provided, all the achievements from the campaign are returned. (optional) try { - // Import loyalty points - Import result = apiInstance.ImportLoyaltyPoints(loyaltyProgramId, upFile); + // List achievements + InlineResponse20046 result = apiInstance.ListAchievements(applicationId, campaignId, pageSize, skip, title); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ImportLoyaltyPoints: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ListAchievements: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8818,12 +10599,15 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **loyaltyProgramId** | **int**| Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | - **upFile** | **string**| The file with the information about the data that should be imported. | [optional] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 50] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **title** | **string**| Filter by the display name for the achievement in the campaign manager. **Note**: If no `title` is provided, all the achievements from the campaign are returned. | [optional] ### Return type -[**Import**](Import.md) +[**InlineResponse20046**](InlineResponse20046.md) ### Authorization @@ -8831,7 +10615,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: multipart/form-data + - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details @@ -8841,13 +10625,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ImportPoolGiveaways** -> Import ImportPoolGiveaways (int poolId, string upFile = null) + +# **ListAllRolesV2** +> InlineResponse20044 ListAllRolesV2 () -Import giveaway codes into a giveaway pool +List roles -Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): the code of your giveaway, for instance, a gift card redemption code. - `startdate`: the start date in RFC3339 of the code redemption period. - `enddate`: the last date in RFC3339 of the code redemption period. - `attributes`: A json object describing _custom_ giveaway attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated to the giveaway entity, set it with `\"{\"\"provider\"\": \"\"myPartnerCompany\"\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` +List all roles. ### Example ```csharp @@ -8859,7 +10643,7 @@ using TalonOne.Model; namespace Example { - public class ImportPoolGiveawaysExample + public class ListAllRolesV2Example { public static void Main() { @@ -8875,18 +10659,16 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var poolId = 56; // int | The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - var upFile = upFile_example; // string | The file with the information about the data that should be imported. (optional) try { - // Import giveaway codes into a giveaway pool - Import result = apiInstance.ImportPoolGiveaways(poolId, upFile); + // List roles + InlineResponse20044 result = apiInstance.ListAllRolesV2(); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ImportPoolGiveaways: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ListAllRolesV2: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8896,15 +10678,11 @@ namespace Example ``` ### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **poolId** | **int**| The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. | - **upFile** | **string**| The file with the information about the data that should be imported. | [optional] +This endpoint does not need any parameter. ### Return type -[**Import**](Import.md) +[**InlineResponse20044**](InlineResponse20044.md) ### Authorization @@ -8912,7 +10690,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: multipart/form-data + - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details @@ -8922,13 +10700,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ImportReferrals** -> Import ImportReferrals (int applicationId, int campaignId, string upFile = null) + +# **ListCatalogItems** +> InlineResponse20035 ListCatalogItems (int catalogId, int? pageSize = null, int? skip = null, bool? withTotalResultSize = null, List sku = null, List productNames = null) -Import referrals +List items in a catalog -Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the referral entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` +Return a paginated list of cart items in the given catalog. ### Example ```csharp @@ -8940,7 +10718,7 @@ using TalonOne.Model; namespace Example { - public class ImportReferralsExample + public class ListCatalogItemsExample { public static void Main() { @@ -8956,19 +10734,22 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var upFile = upFile_example; // string | The file with the information about the data that should be imported. (optional) + var catalogId = 56; // int | The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) + var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + var sku = new List(); // List | Filter results by one or more SKUs. Must be exact match. (optional) + var productNames = new List(); // List | Filter results by one or more product names. Must be exact match. (optional) try { - // Import referrals - Import result = apiInstance.ImportReferrals(applicationId, campaignId, upFile); + // List items in a catalog + InlineResponse20035 result = apiInstance.ListCatalogItems(catalogId, pageSize, skip, withTotalResultSize, sku, productNames); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ImportReferrals: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ListCatalogItems: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -8981,13 +10762,16 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **upFile** | **string**| The file with the information about the data that should be imported. | [optional] + **catalogId** | **int**| The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] + **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] + **sku** | [**List<string>**](string.md)| Filter results by one or more SKUs. Must be exact match. | [optional] + **productNames** | [**List<string>**](string.md)| Filter results by one or more product names. Must be exact match. | [optional] ### Return type -[**Import**](Import.md) +[**InlineResponse20035**](InlineResponse20035.md) ### Authorization @@ -8995,7 +10779,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: multipart/form-data + - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details @@ -9005,13 +10789,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ListAccountCollections** -> InlineResponse20015 ListAccountCollections (int? pageSize = null, int? skip = null, string sort = null, bool? withTotalResultSize = null, string name = null) + +# **ListCollections** +> InlineResponse20017 ListCollections (int applicationId, int campaignId, int? pageSize = null, int? skip = null, string sort = null, bool? withTotalResultSize = null, string name = null) -List collections in account +List collections in campaign -List collections in account. +List collections in a given campaign. ### Example ```csharp @@ -9023,7 +10807,7 @@ using TalonOne.Model; namespace Example { - public class ListAccountCollectionsExample + public class ListCollectionsExample { public static void Main() { @@ -9039,21 +10823,23 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - var name = name_example; // string | Filter by the name of the Collection. (optional) + var name = name_example; // string | Filter by collection name. (optional) try { - // List collections in account - InlineResponse20015 result = apiInstance.ListAccountCollections(pageSize, skip, sort, withTotalResultSize, name); + // List collections in campaign + InlineResponse20017 result = apiInstance.ListCollections(applicationId, campaignId, pageSize, skip, sort, withTotalResultSize, name); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ListAccountCollections: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ListCollections: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -9066,15 +10852,17 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] - **name** | **string**| Filter by the name of the Collection. | [optional] + **name** | **string**| Filter by collection name. | [optional] ### Return type -[**InlineResponse20015**](InlineResponse20015.md) +[**InlineResponse20017**](InlineResponse20017.md) ### Authorization @@ -9089,19 +10877,17 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **400** | Bad request | - | -| **401** | Unauthorized | - | | **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ListCatalogItems** -> InlineResponse20032 ListCatalogItems (int catalogId, int? pageSize = null, int? skip = null, bool? withTotalResultSize = null, string sku = null) + +# **ListCollectionsInApplication** +> InlineResponse20017 ListCollectionsInApplication (int applicationId, int? pageSize = null, int? skip = null, string sort = null, bool? withTotalResultSize = null, string name = null) -List items in a catalog +List collections in Application -Return a paginated list of cart items in the given catalog. +List campaign-level collections from all campaigns in a given Application. ### Example ```csharp @@ -9113,7 +10899,7 @@ using TalonOne.Model; namespace Example { - public class ListCatalogItemsExample + public class ListCollectionsInApplicationExample { public static void Main() { @@ -9129,21 +10915,22 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var catalogId = 56; // int | The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) + var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - var sku = sku_example; // string | The SKU of the item. (optional) + var name = name_example; // string | Filter by collection name. (optional) try { - // List items in a catalog - InlineResponse20032 result = apiInstance.ListCatalogItems(catalogId, pageSize, skip, withTotalResultSize, sku); + // List collections in Application + InlineResponse20017 result = apiInstance.ListCollectionsInApplication(applicationId, pageSize, skip, sort, withTotalResultSize, name); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ListCatalogItems: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ListCollectionsInApplication: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -9156,15 +10943,16 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **catalogId** | **int**| The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] + **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] - **sku** | **string**| The SKU of the item. | [optional] + **name** | **string**| Filter by collection name. | [optional] ### Return type -[**InlineResponse20032**](InlineResponse20032.md) +[**InlineResponse20017**](InlineResponse20017.md) ### Authorization @@ -9179,16 +10967,17 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ListCollections** -> InlineResponse20017 ListCollections (int applicationId, int campaignId, int? pageSize = null, int? skip = null, string sort = null, bool? withTotalResultSize = null, string name = null) + +# **ListStores** +> InlineResponse20045 ListStores (int applicationId, int? pageSize = null, int? skip = null, string sort = null, bool? withTotalResultSize = null, decimal? campaignId = null, string name = null, string integrationId = null, string query = null) -List collections +List stores -List collections in the campaign. +List all stores for a specific Application. ### Example ```csharp @@ -9200,7 +10989,7 @@ using TalonOne.Model; namespace Example { - public class ListCollectionsExample + public class ListStoresExample { public static void Main() { @@ -9217,22 +11006,24 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - var name = name_example; // string | Filter by the name of the Collection. (optional) + var campaignId = 8.14; // decimal? | Filter results by campaign. (optional) + var name = name_example; // string | The name of the store. (optional) + var integrationId = integrationId_example; // string | The integration ID of the store. (optional) + var query = query_example; // string | Filter results by `name` or `integrationId`. (optional) try { - // List collections - InlineResponse20017 result = apiInstance.ListCollections(applicationId, campaignId, pageSize, skip, sort, withTotalResultSize, name); + // List stores + InlineResponse20045 result = apiInstance.ListStores(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ListCollections: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.ListStores: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -9246,16 +11037,18 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] - **name** | **string**| Filter by the name of the Collection. | [optional] + **campaignId** | **decimal?**| Filter results by campaign. | [optional] + **name** | **string**| The name of the store. | [optional] + **integrationId** | **string**| The integration ID of the store. | [optional] + **query** | **string**| Filter results by `name` or `integrationId`. | [optional] ### Return type -[**InlineResponse20017**](InlineResponse20017.md) +[**InlineResponse20045**](InlineResponse20045.md) ### Authorization @@ -9270,17 +11063,16 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | OK | - | -| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **ListCollectionsInApplication** -> InlineResponse20017 ListCollectionsInApplication (int applicationId, int? pageSize = null, int? skip = null, string sort = null, bool? withTotalResultSize = null, string name = null) + +# **NotificationActivation** +> void NotificationActivation (int notificationId, NotificationActivation body) -List collections in application +Activate or deactivate notification -List collections from all campaigns in the Application. +Activate or deactivate the given notification. When `enabled` is false, updates will no longer be sent for the given notification. ### Example ```csharp @@ -9292,7 +11084,7 @@ using TalonOne.Model; namespace Example { - public class ListCollectionsInApplicationExample + public class NotificationActivationExample { public static void Main() { @@ -9308,22 +11100,17 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) - var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) - var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - var withTotalResultSize = true; // bool? | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - var name = name_example; // string | Filter by the name of the Collection. (optional) + var notificationId = 56; // int | The ID of the notification. Get it with the appropriate _List notifications_ endpoint. + var body = new NotificationActivation(); // NotificationActivation | body try { - // List collections in application - InlineResponse20017 result = apiInstance.ListCollectionsInApplication(applicationId, pageSize, skip, sort, withTotalResultSize, name); - Debug.WriteLine(result); + // Activate or deactivate notification + apiInstance.NotificationActivation(notificationId, body); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.ListCollectionsInApplication: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.NotificationActivation: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -9336,16 +11123,12 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] - **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] - **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] - **withTotalResultSize** | **bool?**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional] - **name** | **string**| Filter by the name of the Collection. | [optional] + **notificationId** | **int**| The ID of the notification. Get it with the appropriate _List notifications_ endpoint. | + **body** | [**NotificationActivation**](NotificationActivation.md)| body | ### Return type -[**InlineResponse20017**](InlineResponse20017.md) +void (empty response body) ### Authorization @@ -9353,14 +11136,13 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: application/json + - **Content-Type**: application/json + - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | OK | - | -| **404** | Not found | - | +| **204** | No Content | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -9370,7 +11152,7 @@ Name | Type | Description | Notes Create notification about added or deducted loyalty points -Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). +Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). ### Example ```csharp @@ -9538,7 +11320,7 @@ Name | Type | Description | Notes Create notification about pending loyalty points -Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). +Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). ### Example ```csharp @@ -9782,11 +11564,11 @@ Name | Type | Description | Notes # **SearchCouponsAdvancedApplicationWideWithoutTotalCount** -> InlineResponse2008 SearchCouponsAdvancedApplicationWideWithoutTotalCount (int applicationId, Object body, int? pageSize = null, int? skip = null, string sort = null, string value = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, int? referralId = null, string recipientIntegrationId = null, string batchId = null, bool? exactMatch = null, string campaignState = null) +> InlineResponse2009 SearchCouponsAdvancedApplicationWideWithoutTotalCount (int applicationId, Object body, int? pageSize = null, int? skip = null, string sort = null, string value = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, int? referralId = null, string recipientIntegrationId = null, string batchId = null, bool? exactMatch = null, string campaignState = null) List coupons that match the given attributes (without total count) -List the coupons whose attributes match the query criteria in all **active** campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. +List the coupons whose attributes match the query criteria in all the campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. ### Example ```csharp @@ -9816,12 +11598,12 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. var body = ; // Object | body - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) var value = value_example; // string | Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) var valid = valid_example; // string | Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) var usable = usable_example; // string | Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) var referralId = 56; // int? | Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) @@ -9833,7 +11615,7 @@ namespace Example try { // List coupons that match the given attributes (without total count) - InlineResponse2008 result = apiInstance.SearchCouponsAdvancedApplicationWideWithoutTotalCount(applicationId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, campaignState); + InlineResponse2009 result = apiInstance.SearchCouponsAdvancedApplicationWideWithoutTotalCount(applicationId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, campaignState); Debug.WriteLine(result); } catch (ApiException e) @@ -9853,12 +11635,12 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | **body** | **Object**| body | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] **value** | **string**| Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. | [optional] - **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] + **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] **valid** | **string**| Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. | [optional] **usable** | **string**| Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. | [optional] **referralId** | **int?**| Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. | [optional] @@ -9869,7 +11651,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2008**](InlineResponse2008.md) +[**InlineResponse2009**](InlineResponse2009.md) ### Authorization @@ -9889,7 +11671,7 @@ Name | Type | Description | Notes # **SearchCouponsAdvancedWithoutTotalCount** -> InlineResponse2008 SearchCouponsAdvancedWithoutTotalCount (int applicationId, int campaignId, Object body, int? pageSize = null, int? skip = null, string sort = null, string value = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, int? referralId = null, string recipientIntegrationId = null, bool? exactMatch = null, string batchId = null) +> InlineResponse2009 SearchCouponsAdvancedWithoutTotalCount (int applicationId, int campaignId, Object body, int? pageSize = null, int? skip = null, string sort = null, string value = null, DateTime? createdBefore = null, DateTime? createdAfter = null, string valid = null, string usable = null, int? referralId = null, string recipientIntegrationId = null, bool? exactMatch = null, string batchId = null) List coupons that match the given attributes in campaign (without total count) @@ -9924,12 +11706,12 @@ namespace Example var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. var body = ; // Object | body - var pageSize = 56; // int? | The number of items in this response. (optional) (default to 1000) + var pageSize = 56; // int? | The number of items in the response. (optional) (default to 1000) var skip = 56; // int? | The number of items to skip when paging through large result sets. (optional) var sort = sort_example; // string | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) var value = value_example; // string | Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + var createdBefore = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + var createdAfter = 2013-10-20T19:20:30+01:00; // DateTime? | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) var valid = valid_example; // string | Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) var usable = usable_example; // string | Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) var referralId = 56; // int? | Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) @@ -9940,7 +11722,7 @@ namespace Example try { // List coupons that match the given attributes in campaign (without total count) - InlineResponse2008 result = apiInstance.SearchCouponsAdvancedWithoutTotalCount(applicationId, campaignId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, exactMatch, batchId); + InlineResponse2009 result = apiInstance.SearchCouponsAdvancedWithoutTotalCount(applicationId, campaignId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, exactMatch, batchId); Debug.WriteLine(result); } catch (ApiException e) @@ -9961,12 +11743,12 @@ Name | Type | Description | Notes **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | **body** | **Object**| body | - **pageSize** | **int?**| The number of items in this response. | [optional] [default to 1000] + **pageSize** | **int?**| The number of items in the response. | [optional] [default to 1000] **skip** | **int?**| The number of items to skip when paging through large result sets. | [optional] **sort** | **string**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. | [optional] **value** | **string**| Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. | [optional] - **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] - **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. | [optional] + **createdBefore** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] + **createdAfter** | **DateTime?**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional] **valid** | **string**| Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. | [optional] **usable** | **string**| Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. | [optional] **referralId** | **int?**| Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. | [optional] @@ -9976,7 +11758,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2008**](InlineResponse2008.md) +[**InlineResponse2009**](InlineResponse2009.md) ### Authorization @@ -10085,7 +11867,7 @@ void (empty response body) Update account-level collection -Edit the description of the account-level collection and enable or disable the collection in the specified Applications. +Edit the description of a given account-level collection and enable or disable the collection in the specified Applications. ### Example ```csharp @@ -10113,7 +11895,7 @@ namespace Example // config.AddApiKeyPrefix("Authorization", "Bearer"); var apiInstance = new ManagementApi(config); - var collectionId = 56; // int | The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + var collectionId = 56; // int | The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. var body = new UpdateCollection(); // UpdateCollection | body try @@ -10137,7 +11919,7 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **collectionId** | **int**| The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. | + **collectionId** | **int**| The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. | **body** | [**UpdateCollection**](UpdateCollection.md)| body | ### Return type @@ -10159,7 +11941,95 @@ Name | Type | Description | Notes | **200** | OK | - | | **400** | Bad request | - | | **401** | Unauthorized | - | -| **409** | Conflict. A Collection with this name already exists. | - | +| **409** | Conflict. A collection with this name already exists. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **UpdateAchievement** +> Achievement UpdateAchievement (int applicationId, int campaignId, int achievementId, UpdateAchievement body) + +Update achievement + +Update the details of a specific achievement. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class UpdateAchievementExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var achievementId = 56; // int | The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + var body = new UpdateAchievement(); // UpdateAchievement | body + + try + { + // Update achievement + Achievement result = apiInstance.UpdateAchievement(applicationId, campaignId, achievementId, body); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.UpdateAchievement: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **achievementId** | **int**| The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. | + **body** | [**UpdateAchievement**](UpdateAchievement.md)| body | + +### Return type + +[**Achievement**](Achievement.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -10169,7 +12039,7 @@ Name | Type | Description | Notes Update additional cost -Updates an existing additional cost. Once created, the only property of an additional cost that can be changed is the title (human readable description). This restriction is in place to prevent accidentally breaking live integrations. +Updates an existing additional cost. Once created, the only property of an additional cost that cannot be changed is the `name` property (or **API name** in the Campaign Manager). This restriction is in place to prevent accidentally breaking live integrations. ### Example ```csharp @@ -10412,9 +12282,9 @@ Name | Type | Description | Notes # **UpdateCollection** > Collection UpdateCollection (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body) -Update collection description +Update campaign-level collection's description -Edit the description of the collection. +Edit the description of a given campaign-level collection. ### Example ```csharp @@ -10444,12 +12314,12 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var collectionId = 56; // int | The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + var collectionId = 56; // int | The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. var body = new UpdateCampaignCollection(); // UpdateCampaignCollection | body try { - // Update collection description + // Update campaign-level collection's description Collection result = apiInstance.UpdateCollection(applicationId, campaignId, collectionId, body); Debug.WriteLine(result); } @@ -10470,7 +12340,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **collectionId** | **int**| The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. | + **collectionId** | **int**| The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. | **body** | [**UpdateCampaignCollection**](UpdateCampaignCollection.md)| body | ### Return type @@ -10585,7 +12455,7 @@ Name | Type | Description | Notes Update coupons -Update all coupons, or a specific batch of coupons, in a campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount).

Important

  • Only send sequential requests to this endpoint.
  • Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.
To update a specific coupon, use [Update coupon](#operation/updateCoupon). +Update all coupons, or a specific batch of coupons in the given campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount).

Important

  • Only send sequential requests to this endpoint.
  • Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.
To update a specific coupon, use [Update coupon](#operation/updateCoupon). ### Example ```csharp @@ -10747,13 +12617,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **UpdateNotificationWebhook** -> NotificationWebhook UpdateNotificationWebhook (int applicationId, int notificationWebhookId, NewNotificationWebhook body) + +# **UpdateReferral** +> Referral UpdateReferral (int applicationId, int campaignId, string referralId, UpdateReferral body) -Update notification about campaign-related changes +Update referral -Update the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). **Tip:** You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_edited/post). +Update the specified referral. ### Example ```csharp @@ -10765,7 +12635,7 @@ using TalonOne.Model; namespace Example { - public class UpdateNotificationWebhookExample + public class UpdateReferralExample { public static void Main() { @@ -10782,18 +12652,19 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var notificationWebhookId = 56; // int | The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. - var body = new NewNotificationWebhook(); // NewNotificationWebhook | body + var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. + var referralId = referralId_example; // string | The ID of the referral code. + var body = new UpdateReferral(); // UpdateReferral | body try { - // Update notification about campaign-related changes - NotificationWebhook result = apiInstance.UpdateNotificationWebhook(applicationId, notificationWebhookId, body); + // Update referral + Referral result = apiInstance.UpdateReferral(applicationId, campaignId, referralId, body); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.UpdateNotificationWebhook: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.UpdateReferral: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -10807,12 +12678,13 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **notificationWebhookId** | **int**| The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. | - **body** | [**NewNotificationWebhook**](NewNotificationWebhook.md)| body | + **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | + **referralId** | **string**| The ID of the referral code. | + **body** | [**UpdateReferral**](UpdateReferral.md)| body | ### Return type -[**NotificationWebhook**](NotificationWebhook.md) +[**Referral**](Referral.md) ### Authorization @@ -10830,13 +12702,13 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **UpdateReferral** -> Referral UpdateReferral (int applicationId, int campaignId, string referralId, UpdateReferral body) + +# **UpdateRoleV2** +> RoleV2 UpdateRoleV2 (int roleId, RoleV2Base body) -Update referral +Update role -Update the specified referral. +Update a specific role. ### Example ```csharp @@ -10848,7 +12720,88 @@ using TalonOne.Model; namespace Example { - public class UpdateReferralExample + public class UpdateRoleV2Example + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var roleId = 56; // int | The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + var body = ; // RoleV2Base | body + + try + { + // Update role + RoleV2 result = apiInstance.UpdateRoleV2(roleId, body); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.UpdateRoleV2: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **roleId** | **int**| The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. | + **body** | **RoleV2Base**| body | + +### Return type + +[**RoleV2**](RoleV2.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **UpdateStore** +> Store UpdateStore (int applicationId, string storeId, NewStore body) + +Update store + +Update store details for a specific store ID. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class UpdateStoreExample { public static void Main() { @@ -10865,19 +12818,18 @@ namespace Example var apiInstance = new ManagementApi(config); var applicationId = 56; // int | The ID of the Application. It is displayed in your Talon.One deployment URL. - var campaignId = 56; // int | The ID of the campaign. It is displayed in your Talon.One deployment URL. - var referralId = referralId_example; // string | The ID of the referral code. - var body = new UpdateReferral(); // UpdateReferral | body + var storeId = storeId_example; // string | The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + var body = new NewStore(); // NewStore | body try { - // Update referral - Referral result = apiInstance.UpdateReferral(applicationId, campaignId, referralId, body); + // Update store + Store result = apiInstance.UpdateStore(applicationId, storeId, body); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling ManagementApi.UpdateReferral: " + e.Message ); + Debug.Print("Exception when calling ManagementApi.UpdateStore: " + e.Message ); Debug.Print("Status Code: "+ e.ErrorCode); Debug.Print(e.StackTrace); } @@ -10891,13 +12843,95 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **applicationId** | **int**| The ID of the Application. It is displayed in your Talon.One deployment URL. | - **campaignId** | **int**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | - **referralId** | **string**| The ID of the referral code. | - **body** | [**UpdateReferral**](UpdateReferral.md)| body | + **storeId** | **string**| The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. | + **body** | [**NewStore**](NewStore.md)| body | ### Return type -[**Referral**](Referral.md) +[**Store**](Store.md) + +### Authorization + +[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **400** | Bad request | - | +| **404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **UpdateUser** +> User UpdateUser (int userId, UpdateUser body) + +Update user + +Update the details of a specific user. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using TalonOne.Api; +using TalonOne.Client; +using TalonOne.Model; + +namespace Example +{ + public class UpdateUserExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://yourbaseurl.talon.one"; + // Configure API key authorization: management_key + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + // Configure API key authorization: manager_auth + config.AddApiKey("Authorization", "YOUR_API_KEY"); + // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed + // config.AddApiKeyPrefix("Authorization", "Bearer"); + + var apiInstance = new ManagementApi(config); + var userId = 56; // int | The ID of the user. + var body = new UpdateUser(); // UpdateUser | body + + try + { + // Update user + User result = apiInstance.UpdateUser(userId, body); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ManagementApi.UpdateUser: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **userId** | **int**| The ID of the user. | + **body** | [**UpdateUser**](UpdateUser.md)| body | + +### Return type + +[**User**](User.md) ### Authorization diff --git a/docs/MessageLogEntries.md b/docs/MessageLogEntries.md new file mode 100644 index 0000000..bf2760f --- /dev/null +++ b/docs/MessageLogEntries.md @@ -0,0 +1,10 @@ +# TalonOne.Model.MessageLogEntries +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**NextCursor** | **byte[]** | The next value in the database. **Note:** If this value is not present, it means that there are no more values in the database for this combination of request parameters. | [optional] +**Data** | [**List<MessageLogEntry>**](MessageLogEntry.md) | List of message logs. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/MessageLogEntry.md b/docs/MessageLogEntry.md new file mode 100644 index 0000000..cc65277 --- /dev/null +++ b/docs/MessageLogEntry.md @@ -0,0 +1,20 @@ +# TalonOne.Model.MessageLogEntry +Message Log. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **string** | Unique identifier of the message. | +**Service** | **string** | Name of the service that generated the log entry. | +**ChangeType** | **string** | Type of change that triggered the notification. | [optional] +**NotificationId** | **int** | ID of the notification. | [optional] +**NotificationName** | **string** | The name of the notification. | [optional] +**Request** | [**MessageLogRequest**](MessageLogRequest.md) | | [optional] +**Response** | [**MessageLogResponse**](MessageLogResponse.md) | | [optional] +**CreatedAt** | **DateTime** | Timestamp when the log entry was created. | +**EntityType** | **string** | The entity type the notification is related to. | [optional] +**ApplicationId** | **int** | Identifier of the Application. | [optional] +**LoyaltyProgramId** | **int** | Identifier of the loyalty program. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/MessageLogRequest.md b/docs/MessageLogRequest.md new file mode 100644 index 0000000..1476fca --- /dev/null +++ b/docs/MessageLogRequest.md @@ -0,0 +1,11 @@ +# TalonOne.Model.MessageLogRequest +Details of the request. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**CreatedAt** | **DateTime** | Timestamp when the request was made. | +**Request** | **byte[]** | Raw request data. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/MessageLogResponse.md b/docs/MessageLogResponse.md new file mode 100644 index 0000000..e3a8e3b --- /dev/null +++ b/docs/MessageLogResponse.md @@ -0,0 +1,12 @@ +# TalonOne.Model.MessageLogResponse +Details of the response. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**CreatedAt** | **DateTime** | Timestamp when the response was received. | +**Response** | **byte[]** | Raw response data. | +**Status** | **int** | HTTP status code of the response. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/NewAccountSignUp.md b/docs/NewAccountSignUp.md index 5c549ee..d68793b 100644 --- a/docs/NewAccountSignUp.md +++ b/docs/NewAccountSignUp.md @@ -3,7 +3,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Email** | **string** | The email address associated with your account. | +**Email** | **string** | The email address associated with the user profile. | **Password** | **string** | The password for your account. | **CompanyName** | **string** | | diff --git a/docs/NewApplication.md b/docs/NewApplication.md index 51717e2..b696764 100644 --- a/docs/NewApplication.md +++ b/docs/NewApplication.md @@ -12,7 +12,7 @@ Name | Type | Description | Notes **Limits** | [**List<LimitConfig>**](LimitConfig.md) | Default limits for campaigns created in this application. | [optional] **DefaultDiscountScope** | **string** | The default scope to apply `setDiscount` effects on if no scope was provided with the effect. | [optional] **EnableCascadingDiscounts** | **bool** | Indicates if discounts should cascade for this Application. | [optional] -**EnableFlattenedCartItems** | **bool** | Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See [the docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). | [optional] +**EnableFlattenedCartItems** | **bool** | Indicates if cart items of quantity larger than one should be separated into different items of quantity one. | [optional] **AttributesSettings** | [**AttributesSettings**](AttributesSettings.md) | | [optional] **Sandbox** | **bool** | Indicates if this is a live or sandbox Application. | [optional] **EnablePartialDiscounts** | **bool** | Indicates if this Application supports partial discounts. | [optional] diff --git a/docs/NewApplicationAPIKey.md b/docs/NewApplicationAPIKey.md index d3c762a..b1bed99 100644 --- a/docs/NewApplicationAPIKey.md +++ b/docs/NewApplicationAPIKey.md @@ -3,9 +3,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Title** | **string** | Title for API Key. | -**Expires** | **DateTime** | The date the API key expired. | +**Title** | **string** | Title of the API key. | +**Expires** | **DateTime** | The date the API key expires. | **Platform** | **string** | The third-party platform the API key is valid for. Use `none` for a generic API key to be used from your own integration layer. | [optional] +**Type** | **string** | The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. | [optional] +**TimeOffset** | **int** | A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. | [optional] **Id** | **int** | ID of the API Key. | **CreatedBy** | **int** | ID of user who created. | **AccountID** | **int** | ID of account the key is used for. | diff --git a/docs/NewBaseNotification.md b/docs/NewBaseNotification.md index 3ba5247..1d36b90 100644 --- a/docs/NewBaseNotification.md +++ b/docs/NewBaseNotification.md @@ -4,6 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Policy** | [**Object**](.md) | | +**Enabled** | **bool** | Indicates whether the notification is activated. | [optional] [default to true] **Webhook** | [**NewNotificationWebhook**](NewNotificationWebhook.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/NewCampaign.md b/docs/NewCampaign.md index 706d940..95da1ef 100644 --- a/docs/NewCampaign.md +++ b/docs/NewCampaign.md @@ -16,6 +16,8 @@ Name | Type | Description | Notes **ReferralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **Limits** | [**List<LimitConfig>**](LimitConfig.md) | The set of [budget limits](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets) for this campaign. | **CampaignGroups** | **List<int>** | The IDs of the [campaign groups](https://docs.talon.one/docs/product/account/managing-campaign-groups) this campaign belongs to. | [optional] +**Type** | **string** | The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. | [optional] [default to TypeEnum.Advanced] +**LinkedStoreIds** | **List<int>** | A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. | [optional] **EvaluationGroupId** | **int** | The ID of the campaign evaluation group the campaign belongs to. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/NewCampaignEvaluationGroup.md b/docs/NewCampaignEvaluationGroup.md index 858a994..31c8daa 100644 --- a/docs/NewCampaignEvaluationGroup.md +++ b/docs/NewCampaignEvaluationGroup.md @@ -6,7 +6,8 @@ Name | Type | Description | Notes **Name** | **string** | The name of the campaign evaluation group. | **ParentId** | **int** | The ID of the parent group that contains the campaign evaluation group. | **Description** | **string** | A description of the campaign evaluation group. | [optional] -**EvaluationMode** | **string** | | +**EvaluationMode** | **string** | The mode by which campaigns in the campaign evaluation group are evaluated. | +**EvaluationScope** | **string** | The evaluation scope of the campaign evaluation group. | **Locked** | **bool** | An indicator of whether the campaign evaluation group is locked for modification. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/NewCampaignGroup.md b/docs/NewCampaignGroup.md index 1c7e840..d82a228 100644 --- a/docs/NewCampaignGroup.md +++ b/docs/NewCampaignGroup.md @@ -3,10 +3,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | **string** | The name of this campaign group. | -**Description** | **string** | A longer description of the campaign group. | [optional] -**SubscribedApplicationsIds** | **List<int>** | A list of the IDs of the applications that this campaign group is enabled for. | [optional] -**CampaignIds** | **List<int>** | A list of the IDs of the campaigns that this campaign group owns. | [optional] +**Name** | **string** | The name of the campaign access group. | +**Description** | **string** | A longer description of the campaign access group. | [optional] +**SubscribedApplicationsIds** | **List<int>** | A list of IDs of the Applications that this campaign access group is enabled for. | [optional] +**CampaignIds** | **List<int>** | A list of IDs of the campaigns that are part of the campaign access group. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/NewCampaignTemplate.md b/docs/NewCampaignTemplate.md index 770b725..0a70a74 100644 --- a/docs/NewCampaignTemplate.md +++ b/docs/NewCampaignTemplate.md @@ -17,6 +17,7 @@ Name | Type | Description | Notes **TemplateParams** | [**List<CampaignTemplateParams>**](CampaignTemplateParams.md) | Fields which can be used to replace values in a rule. | [optional] **CampaignCollections** | [**List<CampaignTemplateCollection>**](CampaignTemplateCollection.md) | The campaign collections from the blueprint campaign for the template. | [optional] **DefaultCampaignGroupId** | **int** | The default campaign group ID. | [optional] +**CampaignType** | **string** | The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. | [default to CampaignTypeEnum.Advanced] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/NewCoupons.md b/docs/NewCoupons.md index 24c79f3..153cd90 100644 --- a/docs/NewCoupons.md +++ b/docs/NewCoupons.md @@ -15,7 +15,8 @@ Name | Type | Description | Notes **RecipientIntegrationId** | **string** | The integration ID for this coupon's beneficiary's profile. | [optional] **ValidCharacters** | **List<string>** | List of characters used to generate the random parts of a code. By default, the list of characters is equivalent to the `[A-Z, 0-9]` regular expression. | [optional] **CouponPattern** | **string** | The pattern used to generate coupon codes. The character `#` is a placeholder and is replaced by a random character from the `validCharacters` set. | [optional] -**IsReservationMandatory** | **bool** | Whether the reservation effect actually created a new reservation. | [optional] [default to true] +**IsReservationMandatory** | **bool** | An indication of whether the code can be redeemed only if it has been reserved first. | [optional] [default to false] +**ImplicitlyReserved** | **bool** | An indication of whether the coupon is implicitly reserved for all customers. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/NewCustomerSession.md b/docs/NewCustomerSession.md index 5ee319e..5bff39b 100644 --- a/docs/NewCustomerSession.md +++ b/docs/NewCustomerSession.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes **ProfileId** | **string** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. | [optional] **Coupon** | **string** | Any coupon code entered. | [optional] **Referral** | **string** | Any referral code entered. | [optional] -**State** | **string** | Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). | [optional] [default to StateEnum.Open] +**State** | **string** | Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). | [optional] [default to StateEnum.Open] **CartItems** | [**List<CartItem>**](CartItem.md) | Serialized JSON representation. | [optional] **Identifiers** | **List<string>** | Session custom identifiers that you can set limits on or use inside your rules. For example, you can use IP addresses as identifiers to potentially identify devices and limit discounts abuse in case of customers creating multiple accounts. See the [tutorial](https://docs.talon.one/docs/dev/tutorials/using-identifiers). | [optional] **Total** | **decimal** | The total sum of the cart in one session. | [optional] diff --git a/docs/NewCustomerSessionV2.md b/docs/NewCustomerSessionV2.md index 1b80737..f1b95eb 100644 --- a/docs/NewCustomerSessionV2.md +++ b/docs/NewCustomerSessionV2.md @@ -5,12 +5,13 @@ The representation of the customer session. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **ProfileId** | **string** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. | [optional] +**StoreIntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. | [optional] **EvaluableCampaignIds** | **List<int>** | When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. | [optional] **CouponCodes** | **List<string>** | Any coupon codes entered. **Important**: If you [create a coupon budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a coupon code by the time you close it. | [optional] **ReferralCode** | **string** | Any referral code entered. **Important**: If you [create a referral budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a referral code by the time you close it. | [optional] -**LoyaltyCards** | **List<string>** | Any loyalty cards used. | [optional] -**State** | **string** | Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). | [optional] [default to StateEnum.Open] -**CartItems** | [**List<CartItem>**](CartItem.md) | The items to add to this sessions. - If cart item flattening is disabled: **Do not exceed 1000 items** (regardless of their `quantity`) per request. - If cart item flattening is enabled: **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. | [optional] +**LoyaltyCards** | **List<string>** | Identifier of a loyalty card. | [optional] +**State** | **string** | Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). | [optional] [default to StateEnum.Open] +**CartItems** | [**List<CartItem>**](CartItem.md) | The items to add to this session. **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. | [optional] **AdditionalCosts** | [**Dictionary<string, AdditionalCost>**](AdditionalCost.md) | Use this property to set a value for the additional costs of this session, such as a shipping cost. They must be created in the Campaign Manager before you set them with this property. See [Managing additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). | [optional] **Identifiers** | **List<string>** | Session custom identifiers that you can set limits on or use inside your rules. For example, you can use IP addresses as identifiers to potentially identify devices and limit discounts abuse in case of customers creating multiple accounts. See the [tutorial](https://docs.talon.one/docs/dev/tutorials/using-identifiers). **Important**: Ensure the session contains an identifier by the time you close it if: - You [create a unique identifier budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign. - Your campaign has [coupons](https://docs.talon.one/docs/product/campaigns/coupons/coupon-page-overview). | [optional] **Attributes** | [**Object**](.md) | Use this property to set a value for the attributes of your choice. Attributes represent any information to attach to your session, like the shipping city. You can use [built-in attributes](https://docs.talon.one/docs/dev/concepts/attributes#built-in-attributes) or [custom ones](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes). Custom attributes must be created in the Campaign Manager before you set them with this property. | [optional] diff --git a/docs/NewEvent.md b/docs/NewEvent.md index ecaf794..41af236 100644 --- a/docs/NewEvent.md +++ b/docs/NewEvent.md @@ -4,6 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **ProfileId** | **string** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. | [optional] +**StoreIntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. | [optional] **Type** | **string** | A string representing the event. Must not be a reserved event name. | **Attributes** | [**Object**](.md) | Arbitrary additional JSON data associated with the event. | **SessionId** | **string** | The ID of the session that this event occurred in. | diff --git a/docs/NewExternalInvitation.md b/docs/NewExternalInvitation.md new file mode 100644 index 0000000..987ee45 --- /dev/null +++ b/docs/NewExternalInvitation.md @@ -0,0 +1,12 @@ +# TalonOne.Model.NewExternalInvitation +Parameters for inviting a new user from an external identity provider. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | Name of the user. | [optional] +**UserGroups** | **List<string>** | List of user groups in the external identity provider. If there are roles in Talon.One whose names match these user groups, those roles will be automatically assigned to the user upon invitation. | [optional] +**Email** | **string** | Email address of the user. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/NewInvitation.md b/docs/NewInvitation.md index 713aca4..5be552c 100644 --- a/docs/NewInvitation.md +++ b/docs/NewInvitation.md @@ -4,10 +4,11 @@ Parameters for inviting a new user. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | **string** | Name of the user being invited. | [optional] -**Email** | **string** | | -**Acl** | **string** | The `Access Control List` json defining the role of the user. This represents the access control on the user level. Use one of the following: - normal user: `{\"Role\": 0}` - admin: `{\"Role\": 127}` | -**Roles** | **List<int>** | An array of roleIDs to assign the new user to. | [optional] +**Name** | **string** | Name of the user. | [optional] +**Email** | **string** | Email address of the user. | +**IsAdmin** | **bool** | Indicates whether the user is an `admin`. | [optional] +**Roles** | **List<int>** | A list of the IDs of the roles assigned to the user. | [optional] +**Acl** | **string** | Indicates the access level of the user. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/NewInviteEmail.md b/docs/NewInviteEmail.md index b46090c..52e58d6 100644 --- a/docs/NewInviteEmail.md +++ b/docs/NewInviteEmail.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Email** | **string** | | -**Token** | **string** | | +**Email** | **string** | Email address of the user. | +**Token** | **string** | Invitation token of the user. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/NewLoyaltyProgram.md b/docs/NewLoyaltyProgram.md index 2bc8196..d26b962 100644 --- a/docs/NewLoyaltyProgram.md +++ b/docs/NewLoyaltyProgram.md @@ -11,8 +11,10 @@ Name | Type | Description | Notes **AllowSubledger** | **bool** | Indicates if this program supports subledgers inside the program. | **UsersPerCardLimit** | **int** | The max amount of user profiles with whom a card can be shared. This can be set to 0 for no limit. This property is only used when `cardBased` is `true`. | [optional] **Sandbox** | **bool** | Indicates if this program is a live or sandbox program. Programs of a given type can only be connected to Applications of the same type. | -**TiersExpireIn** | **string** | The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. | [optional] +**TiersExpirationPolicy** | **string** | The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. | [optional] +**TiersExpireIn** | **string** | The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. | [optional] **TiersDowngradePolicy** | **string** | Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. | [optional] +**ProgramJoinPolicy** | **string** | The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. | [optional] **Name** | **string** | The internal name for the Loyalty Program. This is an immutable value. | **Tiers** | [**List<NewLoyaltyTier>**](NewLoyaltyTier.md) | The tiers in this loyalty program. | [optional] **Timezone** | **string** | A string containing an IANA timezone descriptor. | diff --git a/docs/NewNotificationTest.md b/docs/NewNotificationTest.md new file mode 100644 index 0000000..5b6b485 --- /dev/null +++ b/docs/NewNotificationTest.md @@ -0,0 +1,14 @@ +# TalonOne.Model.NewNotificationTest +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Type** | **string** | The notification type. | +**QueryParams** | **Dictionary<string, string>** | Array of query parameters. | [optional] +**Headers** | **Dictionary<string, string>** | List of API HTTP headers for the given webhook-based notification. | [optional] +**Verb** | **string** | API method for this notification. | +**Url** | **string** | API URL for the given notification. | +**Payload** | **string** | API payload of this notification. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/NewNotificationWebhook.md b/docs/NewNotificationWebhook.md index d1162e7..5cc9d41 100644 --- a/docs/NewNotificationWebhook.md +++ b/docs/NewNotificationWebhook.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Url** | **string** | API URL for the given webhook-based notification. | **Headers** | **List<string>** | List of API HTTP headers for the given webhook-based notification. | +**Enabled** | **bool** | Indicates whether the notification is activated. | [optional] [default to true] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/NewPicklist.md b/docs/NewPicklist.md index 5a18ed1..d4a65bc 100644 --- a/docs/NewPicklist.md +++ b/docs/NewPicklist.md @@ -3,7 +3,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Type** | **string** | The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. | +**Type** | **string** | The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. | **Values** | **List<string>** | The list of allowed values provided by this picklist. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/NewRoleV2.md b/docs/NewRoleV2.md index f8dc799..787a995 100644 --- a/docs/NewRoleV2.md +++ b/docs/NewRoleV2.md @@ -5,9 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | Name of the role. | **Description** | **string** | Description of the role. | -**IsAdmin** | **bool** | Indicates whether the role grants admin permissions. | [optional] **Permissions** | [**RoleV2Permissions**](RoleV2Permissions.md) | | [optional] -**Members** | **List<int>** | A list of user identifiers the role is assigned to. | [optional] +**Members** | **List<int>** | A list of user IDs the role is assigned to. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/NewStore.md b/docs/NewStore.md new file mode 100644 index 0000000..8040bc9 --- /dev/null +++ b/docs/NewStore.md @@ -0,0 +1,12 @@ +# TalonOne.Model.NewStore +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | The name of the store. | +**Description** | **string** | The description of the store. | +**Attributes** | [**Object**](.md) | The attributes of the store. | [optional] +**IntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. **Note**: You cannot edit the `integrationId` after the store has been created. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/NewUser.md b/docs/NewUser.md index 8319132..805baf6 100644 --- a/docs/NewUser.md +++ b/docs/NewUser.md @@ -3,7 +3,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Email** | **string** | The email address associated with your account. | +**Email** | **string** | The email address associated with the user profile. | **Password** | **string** | The password for your account. | **Name** | **string** | Your name. | [optional] **InviteToken** | **string** | | diff --git a/docs/NotificationActivation.md b/docs/NotificationActivation.md new file mode 100644 index 0000000..d031130 --- /dev/null +++ b/docs/NotificationActivation.md @@ -0,0 +1,9 @@ +# TalonOne.Model.NotificationActivation +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Enabled** | **bool** | Indicates whether the notification is activated. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/NotificationListItem.md b/docs/NotificationListItem.md new file mode 100644 index 0000000..32cd61e --- /dev/null +++ b/docs/NotificationListItem.md @@ -0,0 +1,12 @@ +# TalonOne.Model.NotificationListItem +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**NotificationId** | **int** | The ID of the notification. | +**NotificationName** | **string** | The name of the notification. | +**EntityId** | **int** | The ID of the entity to which this notification belongs. For example, in case of a loyalty notification, this value is the ID of the loyalty program. | +**Enabled** | **bool** | Indicates whether the notification is activated. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/NotificationTest.md b/docs/NotificationTest.md new file mode 100644 index 0000000..788f16b --- /dev/null +++ b/docs/NotificationTest.md @@ -0,0 +1,10 @@ +# TalonOne.Model.NotificationTest +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**HttpResponse** | **string** | The returned http response. | +**HttpStatus** | **int** | The returned http status code. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/OneTimeCode.md b/docs/OneTimeCode.md new file mode 100644 index 0000000..d4fd0f2 --- /dev/null +++ b/docs/OneTimeCode.md @@ -0,0 +1,12 @@ +# TalonOne.Model.OneTimeCode +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**UserId** | **int** | The ID of the user. | +**AccountId** | **int** | The ID of the account. | +**Token** | **string** | The two-factor authentication token created during sign-in. This token is used to ensure that the correct user is trying to sign in with a given one-time security code. | +**Code** | **string** | The one-time security code used for signing in. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/OutgoingIntegrationCleverTapPolicy.md b/docs/OutgoingIntegrationCleverTapPolicy.md new file mode 100644 index 0000000..e72d3db --- /dev/null +++ b/docs/OutgoingIntegrationCleverTapPolicy.md @@ -0,0 +1,11 @@ +# TalonOne.Model.OutgoingIntegrationCleverTapPolicy +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**BaseUrl** | **string** | The base URL that is based on the region key of your CleverTap account. | +**AccountId** | **string** | The CleverTap Project ID. | +**Passcode** | **string** | The CleverTap Project passcode. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/OutgoingIntegrationIterablePolicy.md b/docs/OutgoingIntegrationIterablePolicy.md new file mode 100644 index 0000000..0f50029 --- /dev/null +++ b/docs/OutgoingIntegrationIterablePolicy.md @@ -0,0 +1,10 @@ +# TalonOne.Model.OutgoingIntegrationIterablePolicy +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**BaseUrl** | **string** | The base URL that is based on the region key of your Iterable account. | +**ApiKey** | **string** | The API key generated from your Iterable account. See [Iterable API Key Guide](https://support.iterable.com/hc/en-us/articles/360043464871-API-Keys-) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/OutgoingIntegrationMoEngagePolicy.md b/docs/OutgoingIntegrationMoEngagePolicy.md new file mode 100644 index 0000000..1f5b57a --- /dev/null +++ b/docs/OutgoingIntegrationMoEngagePolicy.md @@ -0,0 +1,12 @@ +# TalonOne.Model.OutgoingIntegrationMoEngagePolicy +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**BaseUrl** | **string** | The base URL of your MoEngage deployment, containing the MoEngage data center number (represented by `0X`). | +**AppId** | **string** | MoEngage APP ID. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). | +**DataApiId** | **string** | MoEngage DATA API ID. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). | +**DataApiKey** | **string** | MoEngage DATA API Key. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/PatchItemCatalogAction.md b/docs/PatchItemCatalogAction.md index 6621b6e..d99ad56 100644 --- a/docs/PatchItemCatalogAction.md +++ b/docs/PatchItemCatalogAction.md @@ -1,5 +1,5 @@ # TalonOne.Model.PatchItemCatalogAction -The specific properties of the \"PATCH\" catalog sync action. +The specific properties of the \"PATCH\" catalog sync action. **Note:** - If you do not provide a new `price` value, the existing `price` value is retained. - If you do not provide a new `product` value, the `product` value is set to `null`. ## Properties Name | Type | Description | Notes @@ -7,6 +7,7 @@ Name | Type | Description | Notes **Sku** | **string** | The unique SKU of the item to patch. | **Price** | **decimal** | Price of the item. | [optional] **Attributes** | [**Object**](.md) | The attributes of the item to patch. | [optional] +**Product** | [**Product**](Product.md) | | [optional] **CreateIfNotExists** | **bool** | Indicates whether to create an item if the SKU does not exist. | [optional] [default to false] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/PendingPointsNotificationPolicy.md b/docs/PendingPointsNotificationPolicy.md index df50ef2..0307a39 100644 --- a/docs/PendingPointsNotificationPolicy.md +++ b/docs/PendingPointsNotificationPolicy.md @@ -4,6 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | Notification name. | +**BatchingEnabled** | **bool** | Indicates whether batching is activated. | [optional] [default to true] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/Picklist.md b/docs/Picklist.md index 9630c01..f4a97c4 100644 --- a/docs/Picklist.md +++ b/docs/Picklist.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Id** | **int** | Internal ID of this entity. | **Created** | **DateTime** | The time this entity was created. | -**Type** | **string** | The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. | +**Type** | **string** | The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. | **Values** | **List<string>** | The list of allowed values provided by this picklist. | **ModifiedBy** | **int** | ID of the user who last updated this effect if available. | [optional] **CreatedBy** | **int** | ID of the user who created this effect. | diff --git a/docs/Product.md b/docs/Product.md new file mode 100644 index 0000000..c5b0b19 --- /dev/null +++ b/docs/Product.md @@ -0,0 +1,10 @@ +# TalonOne.Model.Product +The specific properties of the product this item belongs to, if available. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | The name of the product. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RemoveFromAudienceEffectProps.md b/docs/RemoveFromAudienceEffectProps.md new file mode 100644 index 0000000..1b7b1e3 --- /dev/null +++ b/docs/RemoveFromAudienceEffectProps.md @@ -0,0 +1,13 @@ +# TalonOne.Model.RemoveFromAudienceEffectProps +The properties specific to the \"removeFromAudience\" effect. This gets triggered whenever a validated rule contains a \"removeFromAudience\" effect. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AudienceId** | **int** | The internal ID of the audience. | [optional] +**AudienceName** | **string** | The name of the audience. | [optional] +**ProfileIntegrationId** | **string** | The ID of the customer profile in the third-party integration platform. | [optional] +**ProfileId** | **int** | The internal ID of the customer profile. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ReturnedCartItem.md b/docs/ReturnedCartItem.md index 7219f76..28aa50d 100644 --- a/docs/ReturnedCartItem.md +++ b/docs/ReturnedCartItem.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Position** | **int** | The index of the cart item in the provided customer session's `cartItems` property. | -**Quantity** | **int** | Number of cart items to return. It is only available when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. If cart item flattening is disabled, the cart item can only be returned in its entirety. | [optional] +**Quantity** | **int** | Number of cart items to return. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RoleAssign.md b/docs/RoleAssign.md index 30ec34f..bd563b6 100644 --- a/docs/RoleAssign.md +++ b/docs/RoleAssign.md @@ -3,8 +3,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Users** | **List<int>** | An array of userIDs. | -**Roles** | **List<int>** | An array of roleIDs. | +**Users** | **List<int>** | An array of user IDs. | +**Roles** | **List<int>** | An array of role IDs. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RoleV2.md b/docs/RoleV2.md index d4017c2..886366a 100644 --- a/docs/RoleV2.md +++ b/docs/RoleV2.md @@ -9,9 +9,8 @@ Name | Type | Description | Notes **AccountId** | **int** | The ID of the account that owns this entity. | **Name** | **string** | Name of the role. | [optional] **Description** | **string** | Description of the role. | [optional] -**IsAdmin** | **bool** | Indicates whether the role grants admin permissions. | [optional] **Permissions** | [**RoleV2Permissions**](RoleV2Permissions.md) | | [optional] -**Members** | **List<int>** | A list of user identifiers the role is assigned to. | [optional] +**Members** | **List<int>** | A list of user IDs the role is assigned to. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RoleV2ApplicationDetails.md b/docs/RoleV2ApplicationDetails.md index 402e05b..5320094 100644 --- a/docs/RoleV2ApplicationDetails.md +++ b/docs/RoleV2ApplicationDetails.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes **Application** | **string** | Name of the Application-related permission set for the given Application. | [optional] **Campaign** | **string** | Name of the campaign-related permission set for the given Application. | [optional] **DraftCampaign** | **string** | Name of the draft campaign-related permission set for the given Application. | [optional] +**Tools** | **string** | Name of the tools-related permission set. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RoleV2Base.md b/docs/RoleV2Base.md index 7c4220d..1823fb9 100644 --- a/docs/RoleV2Base.md +++ b/docs/RoleV2Base.md @@ -5,9 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | Name of the role. | [optional] **Description** | **string** | Description of the role. | [optional] -**IsAdmin** | **bool** | Indicates whether the role grants admin permissions. | [optional] **Permissions** | [**RoleV2Permissions**](RoleV2Permissions.md) | | [optional] -**Members** | **List<int>** | A list of user identifiers the role is assigned to. | [optional] +**Members** | **List<int>** | A list of user IDs the role is assigned to. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RoleV2PermissionSet.md b/docs/RoleV2PermissionSet.md index 5c0c14a..908445a 100644 --- a/docs/RoleV2PermissionSet.md +++ b/docs/RoleV2PermissionSet.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | Name of the permission set. | -**LogicalOperations** | **List<string>** | List of logical operations in the permission set. Each logical operation must be shown under the `x-logicalPermissionOperation` tag on an endpoint level. | +**LogicalOperations** | **List<string>** | List of logical operations in the permission set. Each logical operation must be shown under the `x-permission` tag on an endpoint level. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RoleV2Permissions.md b/docs/RoleV2Permissions.md index 2fa83b8..5381ad9 100644 --- a/docs/RoleV2Permissions.md +++ b/docs/RoleV2Permissions.md @@ -3,7 +3,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**PermissionSets** | [**List<RoleV2PermissionSet>**](RoleV2PermissionSet.md) | List of grouped logical operations to use as a reference in the roles section. Each group of logical operations has a name. | [optional] +**PermissionSets** | [**List<RoleV2PermissionSet>**](RoleV2PermissionSet.md) | List of grouped logical operations referenced by roles. | [optional] **Roles** | [**RoleV2RolesGroup**](RoleV2RolesGroup.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RollbackAddedLoyaltyPointsEffectProps.md b/docs/RollbackAddedLoyaltyPointsEffectProps.md index 09961d2..2fe46d9 100644 --- a/docs/RollbackAddedLoyaltyPointsEffectProps.md +++ b/docs/RollbackAddedLoyaltyPointsEffectProps.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **RecipientIntegrationId** | **string** | The user for whom these points were originally added. | **TransactionUUID** | **string** | The identifier of 'deduction' entry added to the ledger as the `addLoyaltyPoints` effect is rolled back. | **CartItemPosition** | **decimal** | The index of the item in the cart items for which the loyalty points were rolled back. | [optional] -**CartItemSubPosition** | **decimal** | The sub-position is returned when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. It indicates to which item the loyalty points were rolled back, for cart items with `quantity` > 1. | [optional] +**CartItemSubPosition** | **decimal** | For cart items with `quantity` > 1, the sub-position indicates to which item the loyalty points were rolled back. | [optional] **CardIdentifier** | **string** | The alphanumeric identifier of the loyalty card. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RollbackDiscountEffectProps.md b/docs/RollbackDiscountEffectProps.md index 58eba6b..e95ed57 100644 --- a/docs/RollbackDiscountEffectProps.md +++ b/docs/RollbackDiscountEffectProps.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes **Name** | **string** | The name of the \"setDiscount\" effect that was rolled back. | **Value** | **decimal** | The value of the discount that was rolled back. | **CartItemPosition** | **decimal** | The index of the item in the cart items for which the discount was rolled back. | [optional] -**CartItemSubPosition** | **decimal** | The index of the item unit in its line item. It is only used for cart items with `quantity` > 1 and is only returned when cart item flattening is enabled. | [optional] +**CartItemSubPosition** | **decimal** | For cart items with `quantity` > 1, the subposition returns the index of the item unit in its line item. | [optional] **AdditionalCostId** | **int** | The ID of the additional cost that was rolled back. | [optional] **AdditionalCost** | **string** | The name of the additional cost that was rolled back. | [optional] **Scope** | **string** | The scope of the rolled back discount - For a discount per session, it can be one of `cartItems`, `additionalCosts` or `sessionTotal` - For a discount per item, it can be one of `price`, `additionalCosts` or `itemTotal` | [optional] diff --git a/docs/SSOConfig.md b/docs/SSOConfig.md new file mode 100644 index 0000000..23de019 --- /dev/null +++ b/docs/SSOConfig.md @@ -0,0 +1,9 @@ +# TalonOne.Model.SSOConfig +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Enforced** | **bool** | An indication of whether single sign-on is enforced for the account. When enforced, users cannot use their email and password to sign in to Talon.One. It is not possible to change this to `false` after it is set to `true`. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/SamlConnectionInternal.md b/docs/SamlConnectionInternal.md new file mode 100644 index 0000000..1cb8e46 --- /dev/null +++ b/docs/SamlConnectionInternal.md @@ -0,0 +1,10 @@ +# TalonOne.Model.SamlConnectionInternal +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | ID of the SAML service. | +**MetadataDocument** | **string** | Identity Provider metadata XML document. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/SamlLoginEndpoint.md b/docs/SamlLoginEndpoint.md index 5ed108b..ed969ee 100644 --- a/docs/SamlLoginEndpoint.md +++ b/docs/SamlLoginEndpoint.md @@ -3,8 +3,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**Id** | **int** | ID of the SAML login endpoint. | **Name** | **string** | ID of the SAML service. | -**LoginURL** | **string** | Single Sign-On URL. | +**LoginURL** | **string** | The single sign-on URL. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/SetDiscountPerAdditionalCostPerItemEffectProps.md b/docs/SetDiscountPerAdditionalCostPerItemEffectProps.md index 1876e76..fa9900b 100644 --- a/docs/SetDiscountPerAdditionalCostPerItemEffectProps.md +++ b/docs/SetDiscountPerAdditionalCostPerItemEffectProps.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **AdditionalCostId** | **int** | The ID of the additional cost. | **Value** | **decimal** | The total monetary value of the discount. | **Position** | **decimal** | The index of the item in the cart item list containing the additional cost to be discounted. | -**SubPosition** | **decimal** | Only used when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. Indicates which item the discount applies to for cart items with `quantity` > 1. | [optional] +**SubPosition** | **decimal** | For cart items with `quantity` > 1, the sub position indicates which item the discount applies to. | [optional] **AdditionalCost** | **string** | The name of the additional cost. | **DesiredValue** | **decimal** | Only with [partial discounts enabled](https://docs.talon.one/docs/product/campaigns/campaign-evaluation/#partial-discounts). Represents the monetary value of the discount to be applied to additional discount without considering budget limitations. | [optional] diff --git a/docs/SetDiscountPerItemEffectProps.md b/docs/SetDiscountPerItemEffectProps.md index 4ef304f..e780e37 100644 --- a/docs/SetDiscountPerItemEffectProps.md +++ b/docs/SetDiscountPerItemEffectProps.md @@ -7,13 +7,15 @@ Name | Type | Description | Notes **Name** | **string** | The name of the discount. Contains a hashtag character indicating the index of the position of the item the discount applies to. It is identical to the value of the `position` property. | **Value** | **decimal** | The total monetary value of the discount. | **Position** | **decimal** | The index of the item in the cart items list on which this discount should be applied. | -**SubPosition** | **decimal** | Only used when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. Indicates which item the discount applies to for cart items with `quantity` > 1. | [optional] +**SubPosition** | **decimal** | For cart items with `quantity` > 1, the sub position indicates which item the discount applies to. | [optional] **DesiredValue** | **decimal** | The original value of the discount. | [optional] **Scope** | **string** | The scope of the discount: - `additionalCosts`: The discount applies to all the additional costs of the item. - `itemTotal`: The discount applies to the price of the item + the additional costs of the item. - `price`: The discount applies to the price of the item. | [optional] **TotalDiscount** | **decimal** | The total discount given if this effect is a result of a prorated discount. | [optional] **DesiredTotalDiscount** | **decimal** | The original total discount to give if this effect is a result of a prorated discount. | [optional] **BundleIndex** | **int** | The position of the bundle in a list of item bundles created from the same bundle definition. | [optional] **BundleName** | **string** | The name of the bundle definition. | [optional] +**TargetedItemPosition** | **decimal** | The index of the targeted bundle item on which the applied discount is based. | [optional] +**TargetedItemSubPosition** | **decimal** | The sub-position of the targeted bundle item on which the applied discount is based. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/Store.md b/docs/Store.md new file mode 100644 index 0000000..2057aa7 --- /dev/null +++ b/docs/Store.md @@ -0,0 +1,17 @@ +# TalonOne.Model.Store +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **int** | Internal ID of this entity. | +**Created** | **DateTime** | The time this entity was created. The time this entity was created. | +**Name** | **string** | The name of the store. | +**Description** | **string** | The description of the store. | +**Attributes** | [**Object**](.md) | The attributes of the store. | [optional] +**IntegrationId** | **string** | The integration ID of the store. You choose this ID when you create a store. **Note**: You cannot edit the `integrationId` after the store has been created. | +**ApplicationId** | **int** | The ID of the application that owns this entity. | +**Updated** | **DateTime** | Timestamp of the most recent update on this entity. | +**LinkedCampaignIds** | **List<int>** | A list of IDs of the campaigns that are linked with current store. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/TemplateArgDef.md b/docs/TemplateArgDef.md index 7577a46..f061fd0 100644 --- a/docs/TemplateArgDef.md +++ b/docs/TemplateArgDef.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Type** | **string** | The type of value this argument expects. | -**Description** | **string** | A campaigner-friendly description of the argument, this will also be shown in the rule editor. | +**Description** | **string** | A campaigner-friendly description of the argument, this will also be shown in the rule editor. | [optional] **Title** | **string** | A campaigner friendly name for the argument, this will be shown in the rule editor. | **Ui** | [**Object**](.md) | Arbitrary metadata that may be used to render an input for this argument. | **PicklistID** | **int** | ID of the picklist linked to a template. | [optional] diff --git a/docs/TierDowngradeNotificationPolicy.md b/docs/TierDowngradeNotificationPolicy.md new file mode 100644 index 0000000..1c1e5cf --- /dev/null +++ b/docs/TierDowngradeNotificationPolicy.md @@ -0,0 +1,10 @@ +# TalonOne.Model.TierDowngradeNotificationPolicy +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | The name of the notification. | +**BatchingEnabled** | **bool** | Indicates whether batching is activated. | [optional] [default to true] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/TierUpgradeNotificationPolicy.md b/docs/TierUpgradeNotificationPolicy.md new file mode 100644 index 0000000..b9ecc03 --- /dev/null +++ b/docs/TierUpgradeNotificationPolicy.md @@ -0,0 +1,10 @@ +# TalonOne.Model.TierUpgradeNotificationPolicy +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | Notification name. | +**BatchingEnabled** | **bool** | Indicates whether batching is activated. | [optional] [default to true] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/TierWillDowngradeNotificationPolicy.md b/docs/TierWillDowngradeNotificationPolicy.md new file mode 100644 index 0000000..aa1e57e --- /dev/null +++ b/docs/TierWillDowngradeNotificationPolicy.md @@ -0,0 +1,11 @@ +# TalonOne.Model.TierWillDowngradeNotificationPolicy +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | The name of the notification. | +**BatchingEnabled** | **bool** | Indicates whether batching is activated. | [optional] [default to true] +**Triggers** | [**List<TierWillDowngradeNotificationTrigger>**](TierWillDowngradeNotificationTrigger.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/TierWillDowngradeNotificationTrigger.md b/docs/TierWillDowngradeNotificationTrigger.md new file mode 100644 index 0000000..25a398c --- /dev/null +++ b/docs/TierWillDowngradeNotificationTrigger.md @@ -0,0 +1,10 @@ +# TalonOne.Model.TierWillDowngradeNotificationTrigger +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Amount** | **int** | The amount of period. | +**Period** | **string** | Notification period indicated by a letter; \"w\" means week, \"d\" means day. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/TimePoint.md b/docs/TimePoint.md new file mode 100644 index 0000000..ae274f2 --- /dev/null +++ b/docs/TimePoint.md @@ -0,0 +1,15 @@ +# TalonOne.Model.TimePoint +The absolute duration after which the achievement ends and resets for a particular customer profile. **Note**: The duration follows the time zone of the Application this achievement belongs to. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Month** | **int** | The achievement ends and resets in this month. **Note**: Only applicable if the period is set to `Y`. | [optional] +**DayOfMonth** | **int** | The achievement ends and resets on this day of the month. **Note**: Only applicable if the period is set to `Y` or `M`. | [optional] +**DayOfWeek** | **int** | The achievement ends and resets on this day of the week. `1` represents `Monday` and `7` represents `Sunday`. **Note**: Only applicable if the period is set to `W`. | [optional] +**Hour** | **int** | The achievement ends and resets at this hour. | +**Minute** | **int** | The achievement ends and resets at this minute. | +**Second** | **int** | The achievement ends and resets at this second. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/TrackEventV2Response.md b/docs/TrackEventV2Response.md new file mode 100644 index 0000000..086eb22 --- /dev/null +++ b/docs/TrackEventV2Response.md @@ -0,0 +1,18 @@ +# TalonOne.Model.TrackEventV2Response +This is the response type returned by the trackEventV2 endpoint. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**CustomerProfile** | [**CustomerProfile**](CustomerProfile.md) | | [optional] +**Event** | [**Event**](Event.md) | | [optional] +**Loyalty** | [**Loyalty**](Loyalty.md) | | [optional] +**TriggeredCampaigns** | [**List<Campaign>**](Campaign.md) | | [optional] +**RuleFailureReasons** | [**List<RuleFailureReason>**](RuleFailureReason.md) | | [optional] +**AwardedGiveaways** | [**List<Giveaway>**](Giveaway.md) | | [optional] +**Effects** | [**List<Effect>**](Effect.md) | The effects generated by the rules in your running campaigns. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). | +**CreatedCoupons** | [**List<Coupon>**](Coupon.md) | | +**CreatedReferrals** | [**List<Referral>**](Referral.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/TwoFAConfig.md b/docs/TwoFAConfig.md new file mode 100644 index 0000000..1b6c210 --- /dev/null +++ b/docs/TwoFAConfig.md @@ -0,0 +1,10 @@ +# TalonOne.Model.TwoFAConfig +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Enabled** | **bool** | An indication of whether two-factor authentication is enabled for the account. | +**RequireEverySignIn** | **bool** | Can be `true` or `false`. - `true`: Two-factor authentication is required each time a user signs in to their Talon.One account. - `false`: Two-factor authentication is only required when a user signs in to their Talon.One account on a new device, and every 30 days after that. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/UpdateAchievement.md b/docs/UpdateAchievement.md new file mode 100644 index 0000000..99ef9e7 --- /dev/null +++ b/docs/UpdateAchievement.md @@ -0,0 +1,14 @@ +# TalonOne.Model.UpdateAchievement +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | The internal name of the achievement used in API requests. | [optional] +**Title** | **string** | The display name for the achievement in the Campaign Manager. | [optional] +**Description** | **string** | A description of the achievement. | [optional] +**Target** | **decimal** | The required number of actions or the transactional milestone to complete the achievement. | [optional] +**Period** | **string** | The relative duration after which the achievement ends and resets for a particular customer profile. | [optional] +**PeriodEndOverride** | [**TimePoint**](TimePoint.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/UpdateApplication.md b/docs/UpdateApplication.md index 5dff8cb..0e6f7ca 100644 --- a/docs/UpdateApplication.md +++ b/docs/UpdateApplication.md @@ -12,7 +12,7 @@ Name | Type | Description | Notes **Limits** | [**List<LimitConfig>**](LimitConfig.md) | Default limits for campaigns created in this application. | [optional] **DefaultDiscountScope** | **string** | The default scope to apply `setDiscount` effects on if no scope was provided with the effect. | [optional] **EnableCascadingDiscounts** | **bool** | Indicates if discounts should cascade for this Application. | [optional] -**EnableFlattenedCartItems** | **bool** | Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See the [docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). | [optional] +**EnableFlattenedCartItems** | **bool** | Indicates if cart items of quantity larger than one should be separated into different items of quantity one. | [optional] **AttributesSettings** | [**AttributesSettings**](AttributesSettings.md) | | [optional] **Sandbox** | **bool** | Indicates if this is a live or sandbox Application. | [optional] **EnablePartialDiscounts** | **bool** | Indicates if this Application supports partial discounts. | [optional] diff --git a/docs/UpdateApplicationAPIKey.md b/docs/UpdateApplicationAPIKey.md new file mode 100644 index 0000000..cf1e4f3 --- /dev/null +++ b/docs/UpdateApplicationAPIKey.md @@ -0,0 +1,9 @@ +# TalonOne.Model.UpdateApplicationAPIKey +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**TimeOffset** | **int** | A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/UpdateCampaign.md b/docs/UpdateCampaign.md index 0310011..5096248 100644 --- a/docs/UpdateCampaign.md +++ b/docs/UpdateCampaign.md @@ -16,6 +16,9 @@ Name | Type | Description | Notes **ReferralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **Limits** | [**List<LimitConfig>**](LimitConfig.md) | The set of limits that will operate for this campaign. | **CampaignGroups** | **List<int>** | The IDs of the [campaign groups](https://docs.talon.one/docs/product/account/account-settings/managing-campaign-groups) this campaign belongs to. | [optional] +**EvaluationGroupId** | **int** | The ID of the campaign evaluation group the campaign belongs to. | [optional] +**Type** | **string** | The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. | [optional] [default to TypeEnum.Advanced] +**LinkedStoreIds** | **List<int>** | A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UpdateCampaignEvaluationGroup.md b/docs/UpdateCampaignEvaluationGroup.md index 2162545..27acbbc 100644 --- a/docs/UpdateCampaignEvaluationGroup.md +++ b/docs/UpdateCampaignEvaluationGroup.md @@ -6,7 +6,8 @@ Name | Type | Description | Notes **Name** | **string** | The name of the campaign evaluation group. | **ParentId** | **int** | The ID of the parent group that contains the campaign evaluation group. | **Description** | **string** | A description of the campaign evaluation group. | [optional] -**EvaluationMode** | **string** | | +**EvaluationMode** | **string** | The mode by which campaigns in the campaign evaluation group are evaluated. | +**EvaluationScope** | **string** | The evaluation scope of the campaign evaluation group. | **Locked** | **bool** | An indicator of whether the campaign evaluation group is locked for modification. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UpdateCampaignGroup.md b/docs/UpdateCampaignGroup.md index 1a9606e..169b92b 100644 --- a/docs/UpdateCampaignGroup.md +++ b/docs/UpdateCampaignGroup.md @@ -3,10 +3,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | **string** | The name of this campaign group. | -**Description** | **string** | A longer description of the campaign group. | [optional] -**SubscribedApplicationsIds** | **List<int>** | A list of the IDs of the applications that this campaign group is enabled for. | [optional] -**CampaignIds** | **List<int>** | A list of the IDs of the campaigns that this campaign group owns. | [optional] +**Name** | **string** | The name of the campaign access group. | +**Description** | **string** | A longer description of the campaign access group. | [optional] +**SubscribedApplicationsIds** | **List<int>** | A list of IDs of the Applications that this campaign access group is enabled for. | [optional] +**CampaignIds** | **List<int>** | A list of IDs of the campaigns that are part of the campaign access group. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UpdateCampaignTemplate.md b/docs/UpdateCampaignTemplate.md index f63333c..50e443c 100644 --- a/docs/UpdateCampaignTemplate.md +++ b/docs/UpdateCampaignTemplate.md @@ -19,6 +19,7 @@ Name | Type | Description | Notes **ApplicationsIds** | **List<int>** | A list of IDs of the Applications that are subscribed to this campaign template. | **CampaignCollections** | [**List<CampaignTemplateCollection>**](CampaignTemplateCollection.md) | The campaign collections from the blueprint campaign for the template. | [optional] **DefaultCampaignGroupId** | **int** | The default campaign group ID. | [optional] +**CampaignType** | **string** | The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. | [optional] [default to CampaignTypeEnum.Advanced] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UpdateCoupon.md b/docs/UpdateCoupon.md index ac4f17a..db23959 100644 --- a/docs/UpdateCoupon.md +++ b/docs/UpdateCoupon.md @@ -11,7 +11,8 @@ Name | Type | Description | Notes **Limits** | [**List<LimitConfig>**](LimitConfig.md) | Limits configuration for a coupon. These limits will override the limits set from the campaign. **Note:** Only usable when creating a single coupon which is not tied to a specific recipient. Only per-profile limits are allowed to be configured. | [optional] **RecipientIntegrationId** | **string** | The integration ID for this coupon's beneficiary's profile. | [optional] **Attributes** | [**Object**](.md) | Arbitrary properties associated with this item. | [optional] -**IsReservationMandatory** | **bool** | Whether the reservation effect actually created a new reservation. | [optional] [default to true] +**IsReservationMandatory** | **bool** | An indication of whether the code can be redeemed only if it has been reserved first. | [optional] [default to false] +**ImplicitlyReserved** | **bool** | An indication of whether the coupon is implicitly reserved for all customers. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UpdateCouponBatch.md b/docs/UpdateCouponBatch.md index 216f484..b5dd124 100644 --- a/docs/UpdateCouponBatch.md +++ b/docs/UpdateCouponBatch.md @@ -8,8 +8,8 @@ Name | Type | Description | Notes **ReservationLimit** | **int** | The number of reservations that can be made with this coupon code. | [optional] **StartDate** | **DateTime** | Timestamp at which point the coupon becomes valid. | [optional] **ExpiryDate** | **DateTime** | Expiration date of the coupon. Coupon never expires if this is omitted, zero, or negative. | [optional] -**Attributes** | [**Object**](.md) | Arbitrary properties associated with this item. | [optional] -**BatchID** | **string** | The id of the batch the coupon belongs to. | [optional] +**Attributes** | [**Object**](.md) | Optional property to set the value of custom coupon attributes. They are defined in the Campaign Manager, see [Managing attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes). Coupon attributes can also be set to _mandatory_ in your Application [settings](https://docs.talon.one/docs/product/applications/using-attributes#making-attributes-mandatory). If your Application uses mandatory attributes, you must use this property to set their value. | [optional] +**BatchID** | **string** | The ID of the batch the coupon(s) belong to. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UpdateLoyaltyProgram.md b/docs/UpdateLoyaltyProgram.md index e49bb71..47fd319 100644 --- a/docs/UpdateLoyaltyProgram.md +++ b/docs/UpdateLoyaltyProgram.md @@ -11,8 +11,10 @@ Name | Type | Description | Notes **AllowSubledger** | **bool** | Indicates if this program supports subledgers inside the program. | [optional] **UsersPerCardLimit** | **int** | The max amount of user profiles with whom a card can be shared. This can be set to 0 for no limit. This property is only used when `cardBased` is `true`. | [optional] **Sandbox** | **bool** | Indicates if this program is a live or sandbox program. Programs of a given type can only be connected to Applications of the same type. | [optional] -**TiersExpireIn** | **string** | The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. | [optional] +**TiersExpirationPolicy** | **string** | The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. | [optional] +**TiersExpireIn** | **string** | The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. | [optional] **TiersDowngradePolicy** | **string** | Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. | [optional] +**ProgramJoinPolicy** | **string** | The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. | [optional] **Tiers** | [**List<NewLoyaltyTier>**](NewLoyaltyTier.md) | The tiers in this loyalty program. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UpdatePicklist.md b/docs/UpdatePicklist.md index 230b58f..4adde5d 100644 --- a/docs/UpdatePicklist.md +++ b/docs/UpdatePicklist.md @@ -3,7 +3,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Type** | **string** | The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. | +**Type** | **string** | The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. | **Values** | **List<string>** | The list of allowed values provided by this picklist. | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UpdateStore.md b/docs/UpdateStore.md new file mode 100644 index 0000000..e2426ae --- /dev/null +++ b/docs/UpdateStore.md @@ -0,0 +1,11 @@ +# TalonOne.Model.UpdateStore +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | The name of the store. | +**Description** | **string** | The description of the store. | +**Attributes** | [**Object**](.md) | The attributes of the store. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/UpdateUser.md b/docs/UpdateUser.md index ef32cec..d42808a 100644 --- a/docs/UpdateUser.md +++ b/docs/UpdateUser.md @@ -3,11 +3,12 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | **string** | The user name. | [optional] -**Policy** | **string** | The `Access Control List` json defining the role of the user. This represents the access control on the user level. | [optional] -**State** | **string** | New state (\"deactivated\" or \"active\") for the user. Only usable by admins for the user. | [optional] -**Roles** | **List<int>** | List of roles to assign to the user. | [optional] -**ApplicationNotificationSubscriptions** | [**Object**](.md) | | [optional] +**Name** | **string** | Name of the user. | [optional] +**State** | **string** | The state of the user. - `deactivated`: The user has been deactivated. - `active`: The user is active. **Note**: Only `admin` users can update the state of another user. | [optional] +**IsAdmin** | **bool** | Indicates whether the user is an `admin`. | [optional] +**Policy** | **string** | Indicates the access level of the user. | [optional] +**Roles** | **List<int>** | A list of the IDs of the roles assigned to the user. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. | [optional] +**ApplicationNotificationSubscriptions** | [**Object**](.md) | Application notifications that the user is subscribed to. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/User.md b/docs/User.md index 3a6292f..553e284 100644 --- a/docs/User.md +++ b/docs/User.md @@ -6,16 +6,19 @@ Name | Type | Description | Notes **Id** | **int** | Internal ID of this entity. | **Created** | **DateTime** | The time this entity was created. | **Modified** | **DateTime** | The time this entity was last modified. | -**Email** | **string** | The email address associated with your account. | +**Email** | **string** | The email address associated with the user profile. | **AccountId** | **int** | The ID of the account that owns this entity. | -**InviteToken** | **string** | Invite token, empty if the user as already accepted their invite. | -**State** | **string** | Current user state. | -**Name** | **string** | Full name | -**Policy** | [**Object**](.md) | User ACL Policy | -**LatestFeedTimestamp** | **DateTime** | Latest timestamp the user has been notified for feed. | [optional] -**Roles** | **List<int>** | Contains a list of all roles the user is a member of. | [optional] -**ApplicationNotificationSubscriptions** | [**Object**](.md) | | [optional] -**AuthMethod** | **string** | The Authentication method for this user. | [optional] +**Name** | **string** | Name of the user. | +**State** | **string** | State of the user. | +**InviteToken** | **string** | Invitation token of the user. **Note**: If the user has already accepted their invitation, this is `null`. | +**IsAdmin** | **bool** | Indicates whether the user is an `admin`. | [optional] +**Policy** | [**Object**](.md) | Access level of the user. | +**Roles** | **List<int>** | A list of the IDs of the roles assigned to the user. | [optional] +**AuthMethod** | **string** | Authentication method for this user. | [optional] +**ApplicationNotificationSubscriptions** | [**Object**](.md) | Application notifications that the user is subscribed to. | [optional] +**LastSignedIn** | **DateTime** | Timestamp when the user last signed in to Talon.One. | [optional] +**LastAccessed** | **DateTime** | Timestamp of the user's last activity after signing in to Talon.One. | [optional] +**LatestFeedTimestamp** | **DateTime** | Timestamp when the user was notified for feed. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/src/TalonOne.Test/Api/IntegrationApiTests.cs b/src/TalonOne.Test/Api/IntegrationApiTests.cs index 0130c36..bd295c4 100644 --- a/src/TalonOne.Test/Api/IntegrationApiTests.cs +++ b/src/TalonOne.Test/Api/IntegrationApiTests.cs @@ -167,7 +167,8 @@ public void GetCustomerInventoryTest() //bool? coupons = null; //bool? loyalty = null; //bool? giveaways = null; - //var response = instance.GetCustomerInventory(integrationId, profile, referrals, coupons, loyalty, giveaways); + //bool? achievements = null; + //var response = instance.GetCustomerInventory(integrationId, profile, referrals, coupons, loyalty, giveaways, achievements); //Assert.IsType (response, "response is CustomerInventory"); } @@ -193,7 +194,8 @@ public void GetLoyaltyBalancesTest() //int loyaltyProgramId = null; //string integrationId = null; //DateTime? endDate = null; - //var response = instance.GetLoyaltyBalances(loyaltyProgramId, integrationId, endDate); + //string subledgerId = null; + //var response = instance.GetLoyaltyBalances(loyaltyProgramId, integrationId, endDate, subledgerId); //Assert.IsType (response, "response is LoyaltyBalances"); } @@ -207,8 +209,26 @@ public void GetLoyaltyCardBalancesTest() //int loyaltyProgramId = null; //string loyaltyCardId = null; //DateTime? endDate = null; - //var response = instance.GetLoyaltyCardBalances(loyaltyProgramId, loyaltyCardId, endDate); - //Assert.IsType (response, "response is LoyaltyBalances"); + //List subledgerId = null; + //var response = instance.GetLoyaltyCardBalances(loyaltyProgramId, loyaltyCardId, endDate, subledgerId); + //Assert.IsType (response, "response is LoyaltyCardBalances"); + } + + /// + /// Test GetLoyaltyCardPoints + /// + [Fact] + public void GetLoyaltyCardPointsTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int loyaltyProgramId = null; + //string loyaltyCardId = null; + //string status = null; + //List subledgerId = null; + //int? pageSize = null; + //int? skip = null; + //var response = instance.GetLoyaltyCardPoints(loyaltyProgramId, loyaltyCardId, status, subledgerId, pageSize, skip); + //Assert.IsType (response, "response is InlineResponse2003"); } /// @@ -220,15 +240,33 @@ public void GetLoyaltyCardTransactionsTest() // TODO uncomment below to test the method and replace null with proper value //int loyaltyProgramId = null; //string loyaltyCardId = null; - //string subledgerId = null; + //List subledgerId = null; + //string loyaltyTransactionType = null; //DateTime? startDate = null; //DateTime? endDate = null; //int? pageSize = null; //int? skip = null; - //var response = instance.GetLoyaltyCardTransactions(loyaltyProgramId, loyaltyCardId, subledgerId, startDate, endDate, pageSize, skip); + //var response = instance.GetLoyaltyCardTransactions(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip); //Assert.IsType (response, "response is InlineResponse2001"); } + /// + /// Test GetLoyaltyProgramProfilePoints + /// + [Fact] + public void GetLoyaltyProgramProfilePointsTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int loyaltyProgramId = null; + //string integrationId = null; + //string status = null; + //string subledgerId = null; + //int? pageSize = null; + //int? skip = null; + //var response = instance.GetLoyaltyProgramProfilePoints(loyaltyProgramId, integrationId, status, subledgerId, pageSize, skip); + //Assert.IsType (response, "response is InlineResponse2004"); + } + /// /// Test GetLoyaltyProgramProfileTransactions /// @@ -239,11 +277,12 @@ public void GetLoyaltyProgramProfileTransactionsTest() //int loyaltyProgramId = null; //string integrationId = null; //string subledgerId = null; + //string loyaltyTransactionType = null; //DateTime? startDate = null; //DateTime? endDate = null; //int? pageSize = null; //int? skip = null; - //var response = instance.GetLoyaltyProgramProfileTransactions(loyaltyProgramId, integrationId, subledgerId, startDate, endDate, pageSize, skip); + //var response = instance.GetLoyaltyProgramProfileTransactions(loyaltyProgramId, integrationId, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip); //Assert.IsType (response, "response is InlineResponse2002"); } @@ -323,7 +362,7 @@ public void TrackEventV2Test() //string silent = null; //bool? dry = null; //var response = instance.TrackEventV2(body, silent, dry); - //Assert.IsType (response, "response is IntegrationStateV2"); + //Assert.IsType (response, "response is TrackEventV2Response"); } /// @@ -376,7 +415,7 @@ public void UpdateCustomerProfileV2Test() //bool? runRuleEngine = null; //bool? dry = null; //var response = instance.UpdateCustomerProfileV2(integrationId, body, runRuleEngine, dry); - //Assert.IsType (response, "response is IntegrationStateV2"); + //Assert.IsType (response, "response is CustomerProfileIntegrationResponseV2"); } /// @@ -402,7 +441,8 @@ public void UpdateCustomerSessionV2Test() //string customerSessionId = null; //IntegrationRequest body = null; //bool? dry = null; - //var response = instance.UpdateCustomerSessionV2(customerSessionId, body, dry); + //DateTime? now = null; + //var response = instance.UpdateCustomerSessionV2(customerSessionId, body, dry, now); //Assert.IsType (response, "response is IntegrationStateV2"); } diff --git a/src/TalonOne.Test/Api/ManagementApiTests.cs b/src/TalonOne.Test/Api/ManagementApiTests.cs index c9ad7cc..2fadc98 100644 --- a/src/TalonOne.Test/Api/ManagementApiTests.cs +++ b/src/TalonOne.Test/Api/ManagementApiTests.cs @@ -55,6 +55,18 @@ public void InstanceTest() } + /// + /// Test ActivateUserByEmail + /// + [Fact] + public void ActivateUserByEmailTest() + { + // TODO uncomment below to test the method and replace null with proper value + //ActivateUserRequest body = null; + //instance.ActivateUserByEmail(body); + + } + /// /// Test AddLoyaltyCardPoints /// @@ -94,7 +106,7 @@ public void CopyCampaignToApplicationsTest() //int campaignId = null; //CampaignCopy body = null; //var response = instance.CopyCampaignToApplications(applicationId, campaignId, body); - //Assert.IsType (response, "response is InlineResponse2004"); + //Assert.IsType (response, "response is InlineResponse2006"); } /// @@ -109,6 +121,20 @@ public void CreateAccountCollectionTest() //Assert.IsType (response, "response is Collection"); } + /// + /// Test CreateAchievement + /// + [Fact] + public void CreateAchievementTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int applicationId = null; + //int campaignId = null; + //CreateAchievement body = null; + //var response = instance.CreateAchievement(applicationId, campaignId, body); + //Assert.IsType (response, "response is Achievement"); + } + /// /// Test CreateAdditionalCost /// @@ -172,7 +198,7 @@ public void CreateCouponsTest() //NewCoupons body = null; //string silent = null; //var response = instance.CreateCoupons(applicationId, campaignId, body, silent); - //Assert.IsType (response, "response is InlineResponse2007"); + //Assert.IsType (response, "response is InlineResponse2008"); } /// @@ -201,20 +227,31 @@ public void CreateCouponsForMultipleRecipientsTest() //NewCouponsForMultipleRecipients body = null; //string silent = null; //var response = instance.CreateCouponsForMultipleRecipients(applicationId, campaignId, body, silent); - //Assert.IsType (response, "response is InlineResponse2007"); + //Assert.IsType (response, "response is InlineResponse2008"); } /// - /// Test CreateNotificationWebhook + /// Test CreateInviteEmail /// [Fact] - public void CreateNotificationWebhookTest() + public void CreateInviteEmailTest() { // TODO uncomment below to test the method and replace null with proper value - //int applicationId = null; - //NewNotificationWebhook body = null; - //var response = instance.CreateNotificationWebhook(applicationId, body); - //Assert.IsType (response, "response is NotificationWebhook"); + //NewInviteEmail body = null; + //var response = instance.CreateInviteEmail(body); + //Assert.IsType (response, "response is NewInviteEmail"); + } + + /// + /// Test CreateInviteV2 + /// + [Fact] + public void CreateInviteV2Test() + { + // TODO uncomment below to test the method and replace null with proper value + //NewInvitation body = null; + //var response = instance.CreateInviteV2(body); + //Assert.IsType (response, "response is User"); } /// @@ -241,6 +278,31 @@ public void CreateSessionTest() //Assert.IsType (response, "response is Session"); } + /// + /// Test CreateStore + /// + [Fact] + public void CreateStoreTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int applicationId = null; + //NewStore body = null; + //var response = instance.CreateStore(applicationId, body); + //Assert.IsType (response, "response is Store"); + } + + /// + /// Test DeactivateUserByEmail + /// + [Fact] + public void DeactivateUserByEmailTest() + { + // TODO uncomment below to test the method and replace null with proper value + //DeactivateUserRequest body = null; + //instance.DeactivateUserByEmail(body); + + } + /// /// Test DeductLoyaltyCardPoints /// @@ -267,6 +329,20 @@ public void DeleteAccountCollectionTest() } + /// + /// Test DeleteAchievement + /// + [Fact] + public void DeleteAchievementTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int applicationId = null; + //int campaignId = null; + //int achievementId = null; + //instance.DeleteAchievement(applicationId, campaignId, achievementId); + + } + /// /// Test DeleteCampaign /// @@ -348,29 +424,53 @@ public void DeleteLoyaltyCardTest() } /// - /// Test DeleteNotificationWebhook + /// Test DeleteReferral /// [Fact] - public void DeleteNotificationWebhookTest() + public void DeleteReferralTest() { // TODO uncomment below to test the method and replace null with proper value //int applicationId = null; - //int notificationWebhookId = null; - //instance.DeleteNotificationWebhook(applicationId, notificationWebhookId); + //int campaignId = null; + //string referralId = null; + //instance.DeleteReferral(applicationId, campaignId, referralId); } /// - /// Test DeleteReferral + /// Test DeleteStore /// [Fact] - public void DeleteReferralTest() + public void DeleteStoreTest() { // TODO uncomment below to test the method and replace null with proper value //int applicationId = null; - //int campaignId = null; - //string referralId = null; - //instance.DeleteReferral(applicationId, campaignId, referralId); + //string storeId = null; + //instance.DeleteStore(applicationId, storeId); + + } + + /// + /// Test DeleteUser + /// + [Fact] + public void DeleteUserTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int userId = null; + //instance.DeleteUser(userId); + + } + + /// + /// Test DeleteUserByEmail + /// + [Fact] + public void DeleteUserByEmailTest() + { + // TODO uncomment below to test the method and replace null with proper value + //DeleteUserRequest body = null; + //instance.DeleteUserByEmail(body); } @@ -397,6 +497,32 @@ public void ExportAccountCollectionItemsTest() //Assert.IsType (response, "response is string"); } + /// + /// Test ExportAchievements + /// + [Fact] + public void ExportAchievementsTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int applicationId = null; + //int campaignId = null; + //int achievementId = null; + //var response = instance.ExportAchievements(applicationId, campaignId, achievementId); + //Assert.IsType (response, "response is string"); + } + + /// + /// Test ExportAudiencesMemberships + /// + [Fact] + public void ExportAudiencesMembershipsTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int audienceId = null; + //var response = instance.ExportAudiencesMemberships(audienceId); + //Assert.IsType (response, "response is string"); + } + /// /// Test ExportCollectionItems /// @@ -432,7 +558,8 @@ public void ExportCouponsTest() //bool? exactMatch = null; //string dateFormat = null; //string campaignState = null; - //var response = instance.ExportCoupons(applicationId, campaignId, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, dateFormat, campaignState); + //bool? valuesOnly = null; + //var response = instance.ExportCoupons(applicationId, campaignId, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, dateFormat, campaignState, valuesOnly); //Assert.IsType (response, "response is string"); } @@ -453,6 +580,20 @@ public void ExportCustomerSessionsTest() //Assert.IsType (response, "response is string"); } + /// + /// Test ExportCustomersTiers + /// + [Fact] + public void ExportCustomersTiersTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string loyaltyProgramId = null; + //List subledgerIds = null; + //List tierNames = null; + //var response = instance.ExportCustomersTiers(loyaltyProgramId, subledgerIds, tierNames); + //Assert.IsType (response, "response is string"); + } + /// /// Test ExportEffects /// @@ -590,7 +731,7 @@ public void GetAccessLogsWithoutTotalCountTest() //int? skip = null; //string sort = null; //var response = instance.GetAccessLogsWithoutTotalCount(applicationId, rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); - //Assert.IsType (response, "response is InlineResponse20018"); + //Assert.IsType (response, "response is InlineResponse20019"); } /// @@ -629,6 +770,20 @@ public void GetAccountCollectionTest() //Assert.IsType (response, "response is Collection"); } + /// + /// Test GetAchievement + /// + [Fact] + public void GetAchievementTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int applicationId = null; + //int campaignId = null; + //int achievementId = null; + //var response = instance.GetAchievement(applicationId, campaignId, achievementId); + //Assert.IsType (response, "response is Achievement"); + } + /// /// Test GetAdditionalCost /// @@ -652,7 +807,7 @@ public void GetAdditionalCostsTest() //int? skip = null; //string sort = null; //var response = instance.GetAdditionalCosts(pageSize, skip, sort); - //Assert.IsType (response, "response is InlineResponse20033"); + //Assert.IsType (response, "response is InlineResponse20036"); } /// @@ -662,8 +817,8 @@ public void GetAdditionalCostsTest() public void GetAllAccessLogsTest() { // TODO uncomment below to test the method and replace null with proper value - //DateTime rangeStart = null; - //DateTime rangeEnd = null; + //DateTime? rangeStart = null; + //DateTime? rangeEnd = null; //string path = null; //string method = null; //string status = null; @@ -671,18 +826,7 @@ public void GetAllAccessLogsTest() //int? skip = null; //string sort = null; //var response = instance.GetAllAccessLogs(rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); - //Assert.IsType (response, "response is InlineResponse20019"); - } - - /// - /// Test GetAllRoles - /// - [Fact] - public void GetAllRolesTest() - { - // TODO uncomment below to test the method and replace null with proper value - //var response = instance.GetAllRoles(); - //Assert.IsType (response, "response is InlineResponse20041"); + //Assert.IsType (response, "response is InlineResponse20020"); } /// @@ -736,7 +880,7 @@ public void GetApplicationCustomerFriendsTest() //string sort = null; //bool? withTotalResultSize = null; //var response = instance.GetApplicationCustomerFriends(applicationId, integrationId, pageSize, skip, sort, withTotalResultSize); - //Assert.IsType (response, "response is InlineResponse20030"); + //Assert.IsType (response, "response is InlineResponse20033"); } /// @@ -752,7 +896,7 @@ public void GetApplicationCustomersTest() //int? skip = null; //bool? withTotalResultSize = null; //var response = instance.GetApplicationCustomers(applicationId, integrationId, pageSize, skip, withTotalResultSize); - //Assert.IsType (response, "response is InlineResponse20021"); + //Assert.IsType (response, "response is InlineResponse20022"); } /// @@ -768,7 +912,7 @@ public void GetApplicationCustomersByAttributesTest() //int? skip = null; //bool? withTotalResultSize = null; //var response = instance.GetApplicationCustomersByAttributes(applicationId, body, pageSize, skip, withTotalResultSize); - //Assert.IsType (response, "response is InlineResponse20022"); + //Assert.IsType (response, "response is InlineResponse20023"); } /// @@ -783,7 +927,7 @@ public void GetApplicationEventTypesTest() //int? skip = null; //string sort = null; //var response = instance.GetApplicationEventTypes(applicationId, pageSize, skip, sort); - //Assert.IsType (response, "response is InlineResponse20028"); + //Assert.IsType (response, "response is InlineResponse20029"); } /// @@ -809,7 +953,7 @@ public void GetApplicationEventsWithoutTotalCountTest() //string ruleQuery = null; //string campaignQuery = null; //var response = instance.GetApplicationEventsWithoutTotalCount(applicationId, pageSize, skip, sort, type, createdBefore, createdAfter, session, profile, customerName, customerEmail, couponCode, referralCode, ruleQuery, campaignQuery); - //Assert.IsType (response, "response is InlineResponse20027"); + //Assert.IsType (response, "response is InlineResponse20028"); } /// @@ -843,8 +987,9 @@ public void GetApplicationSessionsTest() //string coupon = null; //string referral = null; //string integrationId = null; - //var response = instance.GetApplicationSessions(applicationId, pageSize, skip, sort, profile, state, createdBefore, createdAfter, coupon, referral, integrationId); - //Assert.IsType (response, "response is InlineResponse20026"); + //string storeIntegrationId = null; + //var response = instance.GetApplicationSessions(applicationId, pageSize, skip, sort, profile, state, createdBefore, createdAfter, coupon, referral, integrationId, storeIntegrationId); + //Assert.IsType (response, "response is InlineResponse20027"); } /// @@ -858,7 +1003,7 @@ public void GetApplicationsTest() //int? skip = null; //string sort = null; //var response = instance.GetApplications(pageSize, skip, sort); - //Assert.IsType (response, "response is InlineResponse2003"); + //Assert.IsType (response, "response is InlineResponse2005"); } /// @@ -885,7 +1030,23 @@ public void GetAttributesTest() //string sort = null; //string entity = null; //var response = instance.GetAttributes(pageSize, skip, sort, entity); - //Assert.IsType (response, "response is InlineResponse20031"); + //Assert.IsType (response, "response is InlineResponse20034"); + } + + /// + /// Test GetAudienceMemberships + /// + [Fact] + public void GetAudienceMembershipsTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int audienceId = null; + //int? pageSize = null; + //int? skip = null; + //string sort = null; + //string profileQuery = null; + //var response = instance.GetAudienceMemberships(audienceId, pageSize, skip, sort, profileQuery); + //Assert.IsType (response, "response is InlineResponse20032"); } /// @@ -900,7 +1061,20 @@ public void GetAudiencesTest() //string sort = null; //bool? withTotalResultSize = null; //var response = instance.GetAudiences(pageSize, skip, sort, withTotalResultSize); - //Assert.IsType (response, "response is InlineResponse20029"); + //Assert.IsType (response, "response is InlineResponse20030"); + } + + /// + /// Test GetAudiencesAnalytics + /// + [Fact] + public void GetAudiencesAnalyticsTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string audienceIds = null; + //string sort = null; + //var response = instance.GetAudiencesAnalytics(audienceIds, sort); + //Assert.IsType (response, "response is InlineResponse20031"); } /// @@ -929,7 +1103,7 @@ public void GetCampaignAnalyticsTest() //DateTime rangeEnd = null; //string granularity = null; //var response = instance.GetCampaignAnalytics(applicationId, campaignId, rangeStart, rangeEnd, granularity); - //Assert.IsType (response, "response is InlineResponse20020"); + //Assert.IsType (response, "response is InlineResponse20021"); } /// @@ -946,7 +1120,33 @@ public void GetCampaignByAttributesTest() //string sort = null; //string campaignState = null; //var response = instance.GetCampaignByAttributes(applicationId, body, pageSize, skip, sort, campaignState); - //Assert.IsType (response, "response is InlineResponse2004"); + //Assert.IsType (response, "response is InlineResponse2006"); + } + + /// + /// Test GetCampaignGroup + /// + [Fact] + public void GetCampaignGroupTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int campaignGroupId = null; + //var response = instance.GetCampaignGroup(campaignGroupId); + //Assert.IsType (response, "response is CampaignGroup"); + } + + /// + /// Test GetCampaignGroups + /// + [Fact] + public void GetCampaignGroupsTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int? pageSize = null; + //int? skip = null; + //string sort = null; + //var response = instance.GetCampaignGroups(pageSize, skip, sort); + //Assert.IsType (response, "response is InlineResponse20011"); } /// @@ -964,7 +1164,7 @@ public void GetCampaignTemplatesTest() //string tags = null; //int? userId = null; //var response = instance.GetCampaignTemplates(pageSize, skip, sort, state, name, tags, userId); - //Assert.IsType (response, "response is InlineResponse20010"); + //Assert.IsType (response, "response is InlineResponse20012"); } /// @@ -985,8 +1185,9 @@ public void GetCampaignsTest() //DateTime? createdAfter = null; //int? campaignGroupId = null; //int? templateId = null; - //var response = instance.GetCampaigns(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId); - //Assert.IsType (response, "response is InlineResponse2004"); + //int? storeId = null; + //var response = instance.GetCampaigns(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId, storeId); + //Assert.IsType (response, "response is InlineResponse2006"); } /// @@ -1008,7 +1209,7 @@ public void GetChangesTest() //int? managementKeyId = null; //bool? includeOld = null; //var response = instance.GetChanges(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld); - //Assert.IsType (response, "response is InlineResponse20039"); + //Assert.IsType (response, "response is InlineResponse20042"); } /// @@ -1036,7 +1237,7 @@ public void GetCollectionItemsTest() //int? pageSize = null; //int? skip = null; //var response = instance.GetCollectionItems(collectionId, pageSize, skip); - //Assert.IsType (response, "response is InlineResponse20016"); + //Assert.IsType (response, "response is InlineResponse20018"); } /// @@ -1061,7 +1262,7 @@ public void GetCouponsWithoutTotalCountTest() //string batchId = null; //bool? exactMatch = null; //var response = instance.GetCouponsWithoutTotalCount(applicationId, campaignId, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch); - //Assert.IsType (response, "response is InlineResponse2008"); + //Assert.IsType (response, "response is InlineResponse2009"); } /// @@ -1099,7 +1300,7 @@ public void GetCustomerActivityReportsWithoutTotalCountTest() //string campaignName = null; //string advocateName = null; //var response = instance.GetCustomerActivityReportsWithoutTotalCount(rangeStart, rangeEnd, applicationId, pageSize, skip, sort, name, integrationId, campaignName, advocateName); - //Assert.IsType (response, "response is InlineResponse20025"); + //Assert.IsType (response, "response is InlineResponse20026"); } /// @@ -1130,6 +1331,23 @@ public void GetCustomerProfileTest() //Assert.IsType (response, "response is CustomerProfile"); } + /// + /// Test GetCustomerProfileAchievementProgress + /// + [Fact] + public void GetCustomerProfileAchievementProgressTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int applicationId = null; + //string integrationId = null; + //int? pageSize = null; + //int? skip = null; + //int? achievementId = null; + //string title = null; + //var response = instance.GetCustomerProfileAchievementProgress(applicationId, integrationId, pageSize, skip, achievementId, title); + //Assert.IsType (response, "response is InlineResponse20047"); + } + /// /// Test GetCustomerProfiles /// @@ -1141,7 +1359,7 @@ public void GetCustomerProfilesTest() //int? skip = null; //bool? sandbox = null; //var response = instance.GetCustomerProfiles(pageSize, skip, sandbox); - //Assert.IsType (response, "response is InlineResponse20024"); + //Assert.IsType (response, "response is InlineResponse20025"); } /// @@ -1156,7 +1374,7 @@ public void GetCustomersByAttributesTest() //int? skip = null; //bool? sandbox = null; //var response = instance.GetCustomersByAttributes(body, pageSize, skip, sandbox); - //Assert.IsType (response, "response is InlineResponse20023"); + //Assert.IsType (response, "response is InlineResponse20024"); } /// @@ -1172,7 +1390,7 @@ public void GetEventTypesTest() //int? skip = null; //string sort = null; //var response = instance.GetEventTypes(name, includeOldVersions, pageSize, skip, sort); - //Assert.IsType (response, "response is InlineResponse20037"); + //Assert.IsType (response, "response is InlineResponse20040"); } /// @@ -1188,7 +1406,7 @@ public void GetExportsTest() //int? campaignId = null; //string entity = null; //var response = instance.GetExports(pageSize, skip, applicationId, campaignId, entity); - //Assert.IsType (response, "response is InlineResponse20040"); + //Assert.IsType (response, "response is InlineResponse20043"); } /// @@ -1219,7 +1437,7 @@ public void GetLoyaltyCardTransactionLogsTest() //int? skip = null; //string subledgerId = null; //var response = instance.GetLoyaltyCardTransactionLogs(loyaltyProgramId, loyaltyCardId, startDate, endDate, pageSize, skip, subledgerId); - //Assert.IsType (response, "response is InlineResponse20014"); + //Assert.IsType (response, "response is InlineResponse20016"); } /// @@ -1236,7 +1454,7 @@ public void GetLoyaltyCardsTest() //string identifier = null; //int? profileId = null; //var response = instance.GetLoyaltyCards(loyaltyProgramId, pageSize, skip, sort, identifier, profileId); - //Assert.IsType (response, "response is InlineResponse20013"); + //Assert.IsType (response, "response is InlineResponse20015"); } /// @@ -1279,7 +1497,7 @@ public void GetLoyaltyProgramTransactionsTest() //int? pageSize = null; //int? skip = null; //var response = instance.GetLoyaltyProgramTransactions(loyaltyProgramId, loyaltyTransactionType, subledgerId, startDate, endDate, pageSize, skip); - //Assert.IsType (response, "response is InlineResponse20012"); + //Assert.IsType (response, "response is InlineResponse20014"); } /// @@ -1290,7 +1508,7 @@ public void GetLoyaltyProgramsTest() { // TODO uncomment below to test the method and replace null with proper value //var response = instance.GetLoyaltyPrograms(); - //Assert.IsType (response, "response is InlineResponse20011"); + //Assert.IsType (response, "response is InlineResponse20013"); } /// @@ -1302,32 +1520,7 @@ public void GetLoyaltyStatisticsTest() // TODO uncomment below to test the method and replace null with proper value //int loyaltyProgramId = null; //var response = instance.GetLoyaltyStatistics(loyaltyProgramId); - //Assert.IsType (response, "response is LoyaltyStatistics"); - } - - /// - /// Test GetNotificationWebhook - /// - [Fact] - public void GetNotificationWebhookTest() - { - // TODO uncomment below to test the method and replace null with proper value - //int applicationId = null; - //int notificationWebhookId = null; - //var response = instance.GetNotificationWebhook(applicationId, notificationWebhookId); - //Assert.IsType (response, "response is NotificationWebhook"); - } - - /// - /// Test GetNotificationWebhooks - /// - [Fact] - public void GetNotificationWebhooksTest() - { - // TODO uncomment below to test the method and replace null with proper value - //int applicationId = null; - //var response = instance.GetNotificationWebhooks(applicationId); - //Assert.IsType (response, "response is InlineResponse2005"); + //Assert.IsType (response, "response is LoyaltyDashboardData"); } /// @@ -1349,19 +1542,19 @@ public void GetReferralsWithoutTotalCountTest() //string usable = null; //string advocate = null; //var response = instance.GetReferralsWithoutTotalCount(applicationId, campaignId, pageSize, skip, sort, code, createdBefore, createdAfter, valid, usable, advocate); - //Assert.IsType (response, "response is InlineResponse2009"); + //Assert.IsType (response, "response is InlineResponse20010"); } /// - /// Test GetRole + /// Test GetRoleV2 /// [Fact] - public void GetRoleTest() + public void GetRoleV2Test() { // TODO uncomment below to test the method and replace null with proper value //int roleId = null; - //var response = instance.GetRole(roleId); - //Assert.IsType (response, "response is Role"); + //var response = instance.GetRoleV2(roleId); + //Assert.IsType (response, "response is RoleV2"); } /// @@ -1391,7 +1584,20 @@ public void GetRulesetsTest() //int? skip = null; //string sort = null; //var response = instance.GetRulesets(applicationId, campaignId, pageSize, skip, sort); - //Assert.IsType (response, "response is InlineResponse2006"); + //Assert.IsType (response, "response is InlineResponse2007"); + } + + /// + /// Test GetStore + /// + [Fact] + public void GetStoreTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int applicationId = null; + //string storeId = null; + //var response = instance.GetStore(applicationId, storeId); + //Assert.IsType (response, "response is Store"); } /// @@ -1417,7 +1623,7 @@ public void GetUsersTest() //int? skip = null; //string sort = null; //var response = instance.GetUsers(pageSize, skip, sort); - //Assert.IsType (response, "response is InlineResponse20038"); + //Assert.IsType (response, "response is InlineResponse20041"); } /// @@ -1449,7 +1655,7 @@ public void GetWebhookActivationLogsTest() //DateTime? createdBefore = null; //DateTime? createdAfter = null; //var response = instance.GetWebhookActivationLogs(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter); - //Assert.IsType (response, "response is InlineResponse20035"); + //Assert.IsType (response, "response is InlineResponse20038"); } /// @@ -1470,7 +1676,7 @@ public void GetWebhookLogsTest() //DateTime? createdBefore = null; //DateTime? createdAfter = null; //var response = instance.GetWebhookLogs(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter); - //Assert.IsType (response, "response is InlineResponse20036"); + //Assert.IsType (response, "response is InlineResponse20039"); } /// @@ -1489,7 +1695,7 @@ public void GetWebhooksTest() //int? outgoingIntegrationsTypeId = null; //string title = null; //var response = instance.GetWebhooks(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title); - //Assert.IsType (response, "response is InlineResponse20034"); + //Assert.IsType (response, "response is InlineResponse20037"); } /// @@ -1518,6 +1724,19 @@ public void ImportAllowedListTest() //Assert.IsType (response, "response is Import"); } + /// + /// Test ImportAudiencesMemberships + /// + [Fact] + public void ImportAudiencesMembershipsTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int audienceId = null; + //string upFile = null; + //var response = instance.ImportAudiencesMemberships(audienceId, upFile); + //Assert.IsType (response, "response is Import"); + } + /// /// Test ImportCollection /// @@ -1542,8 +1761,9 @@ public void ImportCouponsTest() // TODO uncomment below to test the method and replace null with proper value //int applicationId = null; //int campaignId = null; + //bool? skipDuplicates = null; //string upFile = null; - //var response = instance.ImportCoupons(applicationId, campaignId, upFile); + //var response = instance.ImportCoupons(applicationId, campaignId, skipDuplicates, upFile); //Assert.IsType (response, "response is Import"); } @@ -1613,6 +1833,18 @@ public void ImportReferralsTest() //Assert.IsType (response, "response is Import"); } + /// + /// Test InviteUserExternal + /// + [Fact] + public void InviteUserExternalTest() + { + // TODO uncomment below to test the method and replace null with proper value + //NewExternalInvitation body = null; + //instance.InviteUserExternal(body); + + } + /// /// Test ListAccountCollections /// @@ -1626,7 +1858,34 @@ public void ListAccountCollectionsTest() //bool? withTotalResultSize = null; //string name = null; //var response = instance.ListAccountCollections(pageSize, skip, sort, withTotalResultSize, name); - //Assert.IsType (response, "response is InlineResponse20015"); + //Assert.IsType (response, "response is InlineResponse20017"); + } + + /// + /// Test ListAchievements + /// + [Fact] + public void ListAchievementsTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int applicationId = null; + //int campaignId = null; + //int? pageSize = null; + //int? skip = null; + //string title = null; + //var response = instance.ListAchievements(applicationId, campaignId, pageSize, skip, title); + //Assert.IsType (response, "response is InlineResponse20046"); + } + + /// + /// Test ListAllRolesV2 + /// + [Fact] + public void ListAllRolesV2Test() + { + // TODO uncomment below to test the method and replace null with proper value + //var response = instance.ListAllRolesV2(); + //Assert.IsType (response, "response is InlineResponse20044"); } /// @@ -1640,9 +1899,10 @@ public void ListCatalogItemsTest() //int? pageSize = null; //int? skip = null; //bool? withTotalResultSize = null; - //string sku = null; - //var response = instance.ListCatalogItems(catalogId, pageSize, skip, withTotalResultSize, sku); - //Assert.IsType (response, "response is InlineResponse20032"); + //List sku = null; + //List productNames = null; + //var response = instance.ListCatalogItems(catalogId, pageSize, skip, withTotalResultSize, sku, productNames); + //Assert.IsType (response, "response is InlineResponse20035"); } /// @@ -1680,6 +1940,39 @@ public void ListCollectionsInApplicationTest() //Assert.IsType (response, "response is InlineResponse20017"); } + /// + /// Test ListStores + /// + [Fact] + public void ListStoresTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int applicationId = null; + //int? pageSize = null; + //int? skip = null; + //string sort = null; + //bool? withTotalResultSize = null; + //decimal? campaignId = null; + //string name = null; + //string integrationId = null; + //string query = null; + //var response = instance.ListStores(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query); + //Assert.IsType (response, "response is InlineResponse20045"); + } + + /// + /// Test NotificationActivation + /// + [Fact] + public void NotificationActivationTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int notificationId = null; + //NotificationActivation body = null; + //instance.NotificationActivation(notificationId, body); + + } + /// /// Test PostAddedDeductedPointsNotification /// @@ -1768,7 +2061,7 @@ public void SearchCouponsAdvancedApplicationWideWithoutTotalCountTest() //bool? exactMatch = null; //string campaignState = null; //var response = instance.SearchCouponsAdvancedApplicationWideWithoutTotalCount(applicationId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, campaignState); - //Assert.IsType (response, "response is InlineResponse2008"); + //Assert.IsType (response, "response is InlineResponse2009"); } /// @@ -1794,7 +2087,7 @@ public void SearchCouponsAdvancedWithoutTotalCountTest() //bool? exactMatch = null; //string batchId = null; //var response = instance.SearchCouponsAdvancedWithoutTotalCount(applicationId, campaignId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, exactMatch, batchId); - //Assert.IsType (response, "response is InlineResponse2008"); + //Assert.IsType (response, "response is InlineResponse2009"); } /// @@ -1824,6 +2117,21 @@ public void UpdateAccountCollectionTest() //Assert.IsType (response, "response is Collection"); } + /// + /// Test UpdateAchievement + /// + [Fact] + public void UpdateAchievementTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int applicationId = null; + //int campaignId = null; + //int achievementId = null; + //UpdateAchievement body = null; + //var response = instance.UpdateAchievement(applicationId, campaignId, achievementId, body); + //Assert.IsType (response, "response is Achievement"); + } + /// /// Test UpdateAdditionalCost /// @@ -1923,32 +2231,58 @@ public void UpdateLoyaltyCardTest() } /// - /// Test UpdateNotificationWebhook + /// Test UpdateReferral /// [Fact] - public void UpdateNotificationWebhookTest() + public void UpdateReferralTest() { // TODO uncomment below to test the method and replace null with proper value //int applicationId = null; - //int notificationWebhookId = null; - //NewNotificationWebhook body = null; - //var response = instance.UpdateNotificationWebhook(applicationId, notificationWebhookId, body); - //Assert.IsType (response, "response is NotificationWebhook"); + //int campaignId = null; + //string referralId = null; + //UpdateReferral body = null; + //var response = instance.UpdateReferral(applicationId, campaignId, referralId, body); + //Assert.IsType (response, "response is Referral"); } /// - /// Test UpdateReferral + /// Test UpdateRoleV2 /// [Fact] - public void UpdateReferralTest() + public void UpdateRoleV2Test() + { + // TODO uncomment below to test the method and replace null with proper value + //int roleId = null; + //RoleV2Base body = null; + //var response = instance.UpdateRoleV2(roleId, body); + //Assert.IsType (response, "response is RoleV2"); + } + + /// + /// Test UpdateStore + /// + [Fact] + public void UpdateStoreTest() { // TODO uncomment below to test the method and replace null with proper value //int applicationId = null; - //int campaignId = null; - //string referralId = null; - //UpdateReferral body = null; - //var response = instance.UpdateReferral(applicationId, campaignId, referralId, body); - //Assert.IsType (response, "response is Referral"); + //string storeId = null; + //NewStore body = null; + //var response = instance.UpdateStore(applicationId, storeId, body); + //Assert.IsType (response, "response is Store"); + } + + /// + /// Test UpdateUser + /// + [Fact] + public void UpdateUserTest() + { + // TODO uncomment below to test the method and replace null with proper value + //int userId = null; + //UpdateUser body = null; + //var response = instance.UpdateUser(userId, body); + //Assert.IsType (response, "response is User"); } } diff --git a/src/TalonOne.Test/Model/AccountAnalyticsTests.cs b/src/TalonOne.Test/Model/AccountAnalyticsTests.cs index 5c5f873..29fd933 100644 --- a/src/TalonOne.Test/Model/AccountAnalyticsTests.cs +++ b/src/TalonOne.Test/Model/AccountAnalyticsTests.cs @@ -209,6 +209,14 @@ public void LiveLoyaltyProgramsTest() { // TODO unit test for the property 'LiveLoyaltyPrograms' } + /// + /// Test the property 'LastUpdatedAt' + /// + [Fact] + public void LastUpdatedAtTest() + { + // TODO unit test for the property 'LastUpdatedAt' + } } diff --git a/src/TalonOne.Test/Model/AccountDashboardStatisticCampaignsTests.cs b/src/TalonOne.Test/Model/AccountDashboardStatisticCampaignsTests.cs index d07df63..d4aeeb2 100644 --- a/src/TalonOne.Test/Model/AccountDashboardStatisticCampaignsTests.cs +++ b/src/TalonOne.Test/Model/AccountDashboardStatisticCampaignsTests.cs @@ -73,6 +73,14 @@ public void EndingSoonTest() { // TODO unit test for the property 'EndingSoon' } + /// + /// Test the property 'LowOnBudget' + /// + [Fact] + public void LowOnBudgetTest() + { + // TODO unit test for the property 'LowOnBudget' + } } diff --git a/src/TalonOne.Test/Model/AccountDashboardStatisticTests.cs b/src/TalonOne.Test/Model/AccountDashboardStatisticTests.cs index 2a6689e..3cf166f 100644 --- a/src/TalonOne.Test/Model/AccountDashboardStatisticTests.cs +++ b/src/TalonOne.Test/Model/AccountDashboardStatisticTests.cs @@ -90,14 +90,6 @@ public void ReferralsTest() // TODO unit test for the property 'Referrals' } /// - /// Test the property 'ApiCalls' - /// - [Fact] - public void ApiCallsTest() - { - // TODO unit test for the property 'ApiCalls' - } - /// /// Test the property 'Campaigns' /// [Fact] diff --git a/src/TalonOne.Test/Model/AchievementAdditionalPropertiesTests.cs b/src/TalonOne.Test/Model/AchievementAdditionalPropertiesTests.cs new file mode 100644 index 0000000..5237f40 --- /dev/null +++ b/src/TalonOne.Test/Model/AchievementAdditionalPropertiesTests.cs @@ -0,0 +1,95 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing AchievementAdditionalProperties + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class AchievementAdditionalPropertiesTests : IDisposable + { + // TODO uncomment below to declare an instance variable for AchievementAdditionalProperties + //private AchievementAdditionalProperties instance; + + public AchievementAdditionalPropertiesTests() + { + // TODO uncomment below to create an instance of AchievementAdditionalProperties + //instance = new AchievementAdditionalProperties(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of AchievementAdditionalProperties + /// + [Fact] + public void AchievementAdditionalPropertiesInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" AchievementAdditionalProperties + //Assert.IsInstanceOfType (instance, "variable 'instance' is a AchievementAdditionalProperties"); + } + + + /// + /// Test the property 'CampaignId' + /// + [Fact] + public void CampaignIdTest() + { + // TODO unit test for the property 'CampaignId' + } + /// + /// Test the property 'UserId' + /// + [Fact] + public void UserIdTest() + { + // TODO unit test for the property 'UserId' + } + /// + /// Test the property 'CreatedBy' + /// + [Fact] + public void CreatedByTest() + { + // TODO unit test for the property 'CreatedBy' + } + /// + /// Test the property 'HasProgress' + /// + [Fact] + public void HasProgressTest() + { + // TODO unit test for the property 'HasProgress' + } + + } + +} diff --git a/src/TalonOne.Test/Model/AchievementProgressTests.cs b/src/TalonOne.Test/Model/AchievementProgressTests.cs new file mode 100644 index 0000000..970f7db --- /dev/null +++ b/src/TalonOne.Test/Model/AchievementProgressTests.cs @@ -0,0 +1,143 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing AchievementProgress + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class AchievementProgressTests : IDisposable + { + // TODO uncomment below to declare an instance variable for AchievementProgress + //private AchievementProgress instance; + + public AchievementProgressTests() + { + // TODO uncomment below to create an instance of AchievementProgress + //instance = new AchievementProgress(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of AchievementProgress + /// + [Fact] + public void AchievementProgressInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" AchievementProgress + //Assert.IsInstanceOfType (instance, "variable 'instance' is a AchievementProgress"); + } + + + /// + /// Test the property 'AchievementId' + /// + [Fact] + public void AchievementIdTest() + { + // TODO unit test for the property 'AchievementId' + } + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'Title' + /// + [Fact] + public void TitleTest() + { + // TODO unit test for the property 'Title' + } + /// + /// Test the property 'CampaignId' + /// + [Fact] + public void CampaignIdTest() + { + // TODO unit test for the property 'CampaignId' + } + /// + /// Test the property 'Status' + /// + [Fact] + public void StatusTest() + { + // TODO unit test for the property 'Status' + } + /// + /// Test the property 'Target' + /// + [Fact] + public void TargetTest() + { + // TODO unit test for the property 'Target' + } + /// + /// Test the property 'Progress' + /// + [Fact] + public void ProgressTest() + { + // TODO unit test for the property 'Progress' + } + /// + /// Test the property 'StartDate' + /// + [Fact] + public void StartDateTest() + { + // TODO unit test for the property 'StartDate' + } + /// + /// Test the property 'CompletionDate' + /// + [Fact] + public void CompletionDateTest() + { + // TODO unit test for the property 'CompletionDate' + } + /// + /// Test the property 'EndDate' + /// + [Fact] + public void EndDateTest() + { + // TODO unit test for the property 'EndDate' + } + + } + +} diff --git a/src/TalonOne.Test/Model/AchievementTests.cs b/src/TalonOne.Test/Model/AchievementTests.cs new file mode 100644 index 0000000..009a39d --- /dev/null +++ b/src/TalonOne.Test/Model/AchievementTests.cs @@ -0,0 +1,159 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing Achievement + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class AchievementTests : IDisposable + { + // TODO uncomment below to declare an instance variable for Achievement + //private Achievement instance; + + public AchievementTests() + { + // TODO uncomment below to create an instance of Achievement + //instance = new Achievement(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of Achievement + /// + [Fact] + public void AchievementInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" Achievement + //Assert.IsInstanceOfType (instance, "variable 'instance' is a Achievement"); + } + + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + /// + /// Test the property 'Created' + /// + [Fact] + public void CreatedTest() + { + // TODO unit test for the property 'Created' + } + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'Title' + /// + [Fact] + public void TitleTest() + { + // TODO unit test for the property 'Title' + } + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + /// + /// Test the property 'Target' + /// + [Fact] + public void TargetTest() + { + // TODO unit test for the property 'Target' + } + /// + /// Test the property 'Period' + /// + [Fact] + public void PeriodTest() + { + // TODO unit test for the property 'Period' + } + /// + /// Test the property 'PeriodEndOverride' + /// + [Fact] + public void PeriodEndOverrideTest() + { + // TODO unit test for the property 'PeriodEndOverride' + } + /// + /// Test the property 'CampaignId' + /// + [Fact] + public void CampaignIdTest() + { + // TODO unit test for the property 'CampaignId' + } + /// + /// Test the property 'UserId' + /// + [Fact] + public void UserIdTest() + { + // TODO unit test for the property 'UserId' + } + /// + /// Test the property 'CreatedBy' + /// + [Fact] + public void CreatedByTest() + { + // TODO unit test for the property 'CreatedBy' + } + /// + /// Test the property 'HasProgress' + /// + [Fact] + public void HasProgressTest() + { + // TODO unit test for the property 'HasProgress' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ActivateUserRequestTests.cs b/src/TalonOne.Test/Model/ActivateUserRequestTests.cs new file mode 100644 index 0000000..8f58e00 --- /dev/null +++ b/src/TalonOne.Test/Model/ActivateUserRequestTests.cs @@ -0,0 +1,71 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ActivateUserRequest + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ActivateUserRequestTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ActivateUserRequest + //private ActivateUserRequest instance; + + public ActivateUserRequestTests() + { + // TODO uncomment below to create an instance of ActivateUserRequest + //instance = new ActivateUserRequest(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ActivateUserRequest + /// + [Fact] + public void ActivateUserRequestInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ActivateUserRequest + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ActivateUserRequest"); + } + + + /// + /// Test the property 'Email' + /// + [Fact] + public void EmailTest() + { + // TODO unit test for the property 'Email' + } + + } + +} diff --git a/src/TalonOne.Test/Model/AddItemCatalogActionTests.cs b/src/TalonOne.Test/Model/AddItemCatalogActionTests.cs index 53a65da..ed8c3e0 100644 --- a/src/TalonOne.Test/Model/AddItemCatalogActionTests.cs +++ b/src/TalonOne.Test/Model/AddItemCatalogActionTests.cs @@ -82,6 +82,14 @@ public void AttributesTest() // TODO unit test for the property 'Attributes' } /// + /// Test the property 'Product' + /// + [Fact] + public void ProductTest() + { + // TODO unit test for the property 'Product' + } + /// /// Test the property 'ReplaceIfExists' /// [Fact] diff --git a/src/TalonOne.Test/Model/AddToAudienceEffectPropsTests.cs b/src/TalonOne.Test/Model/AddToAudienceEffectPropsTests.cs new file mode 100644 index 0000000..4426507 --- /dev/null +++ b/src/TalonOne.Test/Model/AddToAudienceEffectPropsTests.cs @@ -0,0 +1,95 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing AddToAudienceEffectProps + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class AddToAudienceEffectPropsTests : IDisposable + { + // TODO uncomment below to declare an instance variable for AddToAudienceEffectProps + //private AddToAudienceEffectProps instance; + + public AddToAudienceEffectPropsTests() + { + // TODO uncomment below to create an instance of AddToAudienceEffectProps + //instance = new AddToAudienceEffectProps(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of AddToAudienceEffectProps + /// + [Fact] + public void AddToAudienceEffectPropsInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" AddToAudienceEffectProps + //Assert.IsInstanceOfType (instance, "variable 'instance' is a AddToAudienceEffectProps"); + } + + + /// + /// Test the property 'AudienceId' + /// + [Fact] + public void AudienceIdTest() + { + // TODO unit test for the property 'AudienceId' + } + /// + /// Test the property 'AudienceName' + /// + [Fact] + public void AudienceNameTest() + { + // TODO unit test for the property 'AudienceName' + } + /// + /// Test the property 'ProfileIntegrationId' + /// + [Fact] + public void ProfileIntegrationIdTest() + { + // TODO unit test for the property 'ProfileIntegrationId' + } + /// + /// Test the property 'ProfileId' + /// + [Fact] + public void ProfileIdTest() + { + // TODO unit test for the property 'ProfileId' + } + + } + +} diff --git a/src/TalonOne.Test/Model/AdditionalCampaignPropertiesTests.cs b/src/TalonOne.Test/Model/AdditionalCampaignPropertiesTests.cs new file mode 100644 index 0000000..4e2e36f --- /dev/null +++ b/src/TalonOne.Test/Model/AdditionalCampaignPropertiesTests.cs @@ -0,0 +1,239 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing AdditionalCampaignProperties + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class AdditionalCampaignPropertiesTests : IDisposable + { + // TODO uncomment below to declare an instance variable for AdditionalCampaignProperties + //private AdditionalCampaignProperties instance; + + public AdditionalCampaignPropertiesTests() + { + // TODO uncomment below to create an instance of AdditionalCampaignProperties + //instance = new AdditionalCampaignProperties(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of AdditionalCampaignProperties + /// + [Fact] + public void AdditionalCampaignPropertiesInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" AdditionalCampaignProperties + //Assert.IsInstanceOfType (instance, "variable 'instance' is a AdditionalCampaignProperties"); + } + + + /// + /// Test the property 'Budgets' + /// + [Fact] + public void BudgetsTest() + { + // TODO unit test for the property 'Budgets' + } + /// + /// Test the property 'CouponRedemptionCount' + /// + [Fact] + public void CouponRedemptionCountTest() + { + // TODO unit test for the property 'CouponRedemptionCount' + } + /// + /// Test the property 'ReferralRedemptionCount' + /// + [Fact] + public void ReferralRedemptionCountTest() + { + // TODO unit test for the property 'ReferralRedemptionCount' + } + /// + /// Test the property 'DiscountCount' + /// + [Fact] + public void DiscountCountTest() + { + // TODO unit test for the property 'DiscountCount' + } + /// + /// Test the property 'DiscountEffectCount' + /// + [Fact] + public void DiscountEffectCountTest() + { + // TODO unit test for the property 'DiscountEffectCount' + } + /// + /// Test the property 'CouponCreationCount' + /// + [Fact] + public void CouponCreationCountTest() + { + // TODO unit test for the property 'CouponCreationCount' + } + /// + /// Test the property 'CustomEffectCount' + /// + [Fact] + public void CustomEffectCountTest() + { + // TODO unit test for the property 'CustomEffectCount' + } + /// + /// Test the property 'ReferralCreationCount' + /// + [Fact] + public void ReferralCreationCountTest() + { + // TODO unit test for the property 'ReferralCreationCount' + } + /// + /// Test the property 'AddFreeItemEffectCount' + /// + [Fact] + public void AddFreeItemEffectCountTest() + { + // TODO unit test for the property 'AddFreeItemEffectCount' + } + /// + /// Test the property 'AwardedGiveawaysCount' + /// + [Fact] + public void AwardedGiveawaysCountTest() + { + // TODO unit test for the property 'AwardedGiveawaysCount' + } + /// + /// Test the property 'CreatedLoyaltyPointsCount' + /// + [Fact] + public void CreatedLoyaltyPointsCountTest() + { + // TODO unit test for the property 'CreatedLoyaltyPointsCount' + } + /// + /// Test the property 'CreatedLoyaltyPointsEffectCount' + /// + [Fact] + public void CreatedLoyaltyPointsEffectCountTest() + { + // TODO unit test for the property 'CreatedLoyaltyPointsEffectCount' + } + /// + /// Test the property 'RedeemedLoyaltyPointsCount' + /// + [Fact] + public void RedeemedLoyaltyPointsCountTest() + { + // TODO unit test for the property 'RedeemedLoyaltyPointsCount' + } + /// + /// Test the property 'RedeemedLoyaltyPointsEffectCount' + /// + [Fact] + public void RedeemedLoyaltyPointsEffectCountTest() + { + // TODO unit test for the property 'RedeemedLoyaltyPointsEffectCount' + } + /// + /// Test the property 'CallApiEffectCount' + /// + [Fact] + public void CallApiEffectCountTest() + { + // TODO unit test for the property 'CallApiEffectCount' + } + /// + /// Test the property 'ReservecouponEffectCount' + /// + [Fact] + public void ReservecouponEffectCountTest() + { + // TODO unit test for the property 'ReservecouponEffectCount' + } + /// + /// Test the property 'LastActivity' + /// + [Fact] + public void LastActivityTest() + { + // TODO unit test for the property 'LastActivity' + } + /// + /// Test the property 'Updated' + /// + [Fact] + public void UpdatedTest() + { + // TODO unit test for the property 'Updated' + } + /// + /// Test the property 'CreatedBy' + /// + [Fact] + public void CreatedByTest() + { + // TODO unit test for the property 'CreatedBy' + } + /// + /// Test the property 'UpdatedBy' + /// + [Fact] + public void UpdatedByTest() + { + // TODO unit test for the property 'UpdatedBy' + } + /// + /// Test the property 'TemplateId' + /// + [Fact] + public void TemplateIdTest() + { + // TODO unit test for the property 'TemplateId' + } + /// + /// Test the property 'FrontendState' + /// + [Fact] + public void FrontendStateTest() + { + // TODO unit test for the property 'FrontendState' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationAPIKeyTests.cs b/src/TalonOne.Test/Model/ApplicationAPIKeyTests.cs index 8517f33..efa2f76 100644 --- a/src/TalonOne.Test/Model/ApplicationAPIKeyTests.cs +++ b/src/TalonOne.Test/Model/ApplicationAPIKeyTests.cs @@ -82,6 +82,22 @@ public void PlatformTest() // TODO unit test for the property 'Platform' } /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + /// + /// Test the property 'TimeOffset' + /// + [Fact] + public void TimeOffsetTest() + { + // TODO unit test for the property 'TimeOffset' + } + /// /// Test the property 'Id' /// [Fact] diff --git a/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointAvgItemsPerSessionTests.cs b/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointAvgItemsPerSessionTests.cs new file mode 100644 index 0000000..0442c41 --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointAvgItemsPerSessionTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationAnalyticsDataPointAvgItemsPerSession + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationAnalyticsDataPointAvgItemsPerSessionTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationAnalyticsDataPointAvgItemsPerSession + //private ApplicationAnalyticsDataPointAvgItemsPerSession instance; + + public ApplicationAnalyticsDataPointAvgItemsPerSessionTests() + { + // TODO uncomment below to create an instance of ApplicationAnalyticsDataPointAvgItemsPerSession + //instance = new ApplicationAnalyticsDataPointAvgItemsPerSession(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationAnalyticsDataPointAvgItemsPerSession + /// + [Fact] + public void ApplicationAnalyticsDataPointAvgItemsPerSessionInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationAnalyticsDataPointAvgItemsPerSession + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationAnalyticsDataPointAvgItemsPerSession"); + } + + + /// + /// Test the property 'Total' + /// + [Fact] + public void TotalTest() + { + // TODO unit test for the property 'Total' + } + /// + /// Test the property 'Influenced' + /// + [Fact] + public void InfluencedTest() + { + // TODO unit test for the property 'Influenced' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointAvgSessionValueTests.cs b/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointAvgSessionValueTests.cs new file mode 100644 index 0000000..e899698 --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointAvgSessionValueTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationAnalyticsDataPointAvgSessionValue + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationAnalyticsDataPointAvgSessionValueTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationAnalyticsDataPointAvgSessionValue + //private ApplicationAnalyticsDataPointAvgSessionValue instance; + + public ApplicationAnalyticsDataPointAvgSessionValueTests() + { + // TODO uncomment below to create an instance of ApplicationAnalyticsDataPointAvgSessionValue + //instance = new ApplicationAnalyticsDataPointAvgSessionValue(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationAnalyticsDataPointAvgSessionValue + /// + [Fact] + public void ApplicationAnalyticsDataPointAvgSessionValueInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationAnalyticsDataPointAvgSessionValue + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationAnalyticsDataPointAvgSessionValue"); + } + + + /// + /// Test the property 'Total' + /// + [Fact] + public void TotalTest() + { + // TODO unit test for the property 'Total' + } + /// + /// Test the property 'Influenced' + /// + [Fact] + public void InfluencedTest() + { + // TODO unit test for the property 'Influenced' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointSessionsCountTests.cs b/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointSessionsCountTests.cs new file mode 100644 index 0000000..352c87b --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointSessionsCountTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationAnalyticsDataPointSessionsCount + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationAnalyticsDataPointSessionsCountTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationAnalyticsDataPointSessionsCount + //private ApplicationAnalyticsDataPointSessionsCount instance; + + public ApplicationAnalyticsDataPointSessionsCountTests() + { + // TODO uncomment below to create an instance of ApplicationAnalyticsDataPointSessionsCount + //instance = new ApplicationAnalyticsDataPointSessionsCount(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationAnalyticsDataPointSessionsCount + /// + [Fact] + public void ApplicationAnalyticsDataPointSessionsCountInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationAnalyticsDataPointSessionsCount + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationAnalyticsDataPointSessionsCount"); + } + + + /// + /// Test the property 'Total' + /// + [Fact] + public void TotalTest() + { + // TODO unit test for the property 'Total' + } + /// + /// Test the property 'Influenced' + /// + [Fact] + public void InfluencedTest() + { + // TODO unit test for the property 'Influenced' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointTests.cs b/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointTests.cs new file mode 100644 index 0000000..e533396 --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointTests.cs @@ -0,0 +1,127 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationAnalyticsDataPoint + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationAnalyticsDataPointTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationAnalyticsDataPoint + //private ApplicationAnalyticsDataPoint instance; + + public ApplicationAnalyticsDataPointTests() + { + // TODO uncomment below to create an instance of ApplicationAnalyticsDataPoint + //instance = new ApplicationAnalyticsDataPoint(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationAnalyticsDataPoint + /// + [Fact] + public void ApplicationAnalyticsDataPointInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationAnalyticsDataPoint + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationAnalyticsDataPoint"); + } + + + /// + /// Test the property 'StartTime' + /// + [Fact] + public void StartTimeTest() + { + // TODO unit test for the property 'StartTime' + } + /// + /// Test the property 'EndTime' + /// + [Fact] + public void EndTimeTest() + { + // TODO unit test for the property 'EndTime' + } + /// + /// Test the property 'TotalRevenue' + /// + [Fact] + public void TotalRevenueTest() + { + // TODO unit test for the property 'TotalRevenue' + } + /// + /// Test the property 'SessionsCount' + /// + [Fact] + public void SessionsCountTest() + { + // TODO unit test for the property 'SessionsCount' + } + /// + /// Test the property 'AvgItemsPerSession' + /// + [Fact] + public void AvgItemsPerSessionTest() + { + // TODO unit test for the property 'AvgItemsPerSession' + } + /// + /// Test the property 'AvgSessionValue' + /// + [Fact] + public void AvgSessionValueTest() + { + // TODO unit test for the property 'AvgSessionValue' + } + /// + /// Test the property 'TotalDiscounts' + /// + [Fact] + public void TotalDiscountsTest() + { + // TODO unit test for the property 'TotalDiscounts' + } + /// + /// Test the property 'CouponsCount' + /// + [Fact] + public void CouponsCountTest() + { + // TODO unit test for the property 'CouponsCount' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointTotalRevenueTests.cs b/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointTotalRevenueTests.cs new file mode 100644 index 0000000..4ef867d --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationAnalyticsDataPointTotalRevenueTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationAnalyticsDataPointTotalRevenue + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationAnalyticsDataPointTotalRevenueTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationAnalyticsDataPointTotalRevenue + //private ApplicationAnalyticsDataPointTotalRevenue instance; + + public ApplicationAnalyticsDataPointTotalRevenueTests() + { + // TODO uncomment below to create an instance of ApplicationAnalyticsDataPointTotalRevenue + //instance = new ApplicationAnalyticsDataPointTotalRevenue(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationAnalyticsDataPointTotalRevenue + /// + [Fact] + public void ApplicationAnalyticsDataPointTotalRevenueInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationAnalyticsDataPointTotalRevenue + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationAnalyticsDataPointTotalRevenue"); + } + + + /// + /// Test the property 'Total' + /// + [Fact] + public void TotalTest() + { + // TODO unit test for the property 'Total' + } + /// + /// Test the property 'Influenced' + /// + [Fact] + public void InfluencedTest() + { + // TODO unit test for the property 'Influenced' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsAvgItemsPerSessionTests.cs b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsAvgItemsPerSessionTests.cs new file mode 100644 index 0000000..bcfb13c --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsAvgItemsPerSessionTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationCampaignAnalyticsAvgItemsPerSession + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationCampaignAnalyticsAvgItemsPerSessionTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationCampaignAnalyticsAvgItemsPerSession + //private ApplicationCampaignAnalyticsAvgItemsPerSession instance; + + public ApplicationCampaignAnalyticsAvgItemsPerSessionTests() + { + // TODO uncomment below to create an instance of ApplicationCampaignAnalyticsAvgItemsPerSession + //instance = new ApplicationCampaignAnalyticsAvgItemsPerSession(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationCampaignAnalyticsAvgItemsPerSession + /// + [Fact] + public void ApplicationCampaignAnalyticsAvgItemsPerSessionInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationCampaignAnalyticsAvgItemsPerSession + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationCampaignAnalyticsAvgItemsPerSession"); + } + + + /// + /// Test the property 'Value' + /// + [Fact] + public void ValueTest() + { + // TODO unit test for the property 'Value' + } + /// + /// Test the property 'Uplift' + /// + [Fact] + public void UpliftTest() + { + // TODO unit test for the property 'Uplift' + } + /// + /// Test the property 'Trend' + /// + [Fact] + public void TrendTest() + { + // TODO unit test for the property 'Trend' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsAvgSessionValueTests.cs b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsAvgSessionValueTests.cs new file mode 100644 index 0000000..42776c7 --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsAvgSessionValueTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationCampaignAnalyticsAvgSessionValue + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationCampaignAnalyticsAvgSessionValueTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationCampaignAnalyticsAvgSessionValue + //private ApplicationCampaignAnalyticsAvgSessionValue instance; + + public ApplicationCampaignAnalyticsAvgSessionValueTests() + { + // TODO uncomment below to create an instance of ApplicationCampaignAnalyticsAvgSessionValue + //instance = new ApplicationCampaignAnalyticsAvgSessionValue(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationCampaignAnalyticsAvgSessionValue + /// + [Fact] + public void ApplicationCampaignAnalyticsAvgSessionValueInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationCampaignAnalyticsAvgSessionValue + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationCampaignAnalyticsAvgSessionValue"); + } + + + /// + /// Test the property 'Value' + /// + [Fact] + public void ValueTest() + { + // TODO unit test for the property 'Value' + } + /// + /// Test the property 'Uplift' + /// + [Fact] + public void UpliftTest() + { + // TODO unit test for the property 'Uplift' + } + /// + /// Test the property 'Trend' + /// + [Fact] + public void TrendTest() + { + // TODO unit test for the property 'Trend' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsCouponsCountTests.cs b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsCouponsCountTests.cs new file mode 100644 index 0000000..e934849 --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsCouponsCountTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationCampaignAnalyticsCouponsCount + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationCampaignAnalyticsCouponsCountTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationCampaignAnalyticsCouponsCount + //private ApplicationCampaignAnalyticsCouponsCount instance; + + public ApplicationCampaignAnalyticsCouponsCountTests() + { + // TODO uncomment below to create an instance of ApplicationCampaignAnalyticsCouponsCount + //instance = new ApplicationCampaignAnalyticsCouponsCount(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationCampaignAnalyticsCouponsCount + /// + [Fact] + public void ApplicationCampaignAnalyticsCouponsCountInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationCampaignAnalyticsCouponsCount + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationCampaignAnalyticsCouponsCount"); + } + + + /// + /// Test the property 'Value' + /// + [Fact] + public void ValueTest() + { + // TODO unit test for the property 'Value' + } + /// + /// Test the property 'Trend' + /// + [Fact] + public void TrendTest() + { + // TODO unit test for the property 'Trend' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsSessionsCountTests.cs b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsSessionsCountTests.cs new file mode 100644 index 0000000..2580a70 --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsSessionsCountTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationCampaignAnalyticsSessionsCount + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationCampaignAnalyticsSessionsCountTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationCampaignAnalyticsSessionsCount + //private ApplicationCampaignAnalyticsSessionsCount instance; + + public ApplicationCampaignAnalyticsSessionsCountTests() + { + // TODO uncomment below to create an instance of ApplicationCampaignAnalyticsSessionsCount + //instance = new ApplicationCampaignAnalyticsSessionsCount(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationCampaignAnalyticsSessionsCount + /// + [Fact] + public void ApplicationCampaignAnalyticsSessionsCountInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationCampaignAnalyticsSessionsCount + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationCampaignAnalyticsSessionsCount"); + } + + + /// + /// Test the property 'Value' + /// + [Fact] + public void ValueTest() + { + // TODO unit test for the property 'Value' + } + /// + /// Test the property 'InfluenceRate' + /// + [Fact] + public void InfluenceRateTest() + { + // TODO unit test for the property 'InfluenceRate' + } + /// + /// Test the property 'Trend' + /// + [Fact] + public void TrendTest() + { + // TODO unit test for the property 'Trend' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsTests.cs b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsTests.cs new file mode 100644 index 0000000..751b58b --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsTests.cs @@ -0,0 +1,183 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationCampaignAnalytics + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationCampaignAnalyticsTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationCampaignAnalytics + //private ApplicationCampaignAnalytics instance; + + public ApplicationCampaignAnalyticsTests() + { + // TODO uncomment below to create an instance of ApplicationCampaignAnalytics + //instance = new ApplicationCampaignAnalytics(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationCampaignAnalytics + /// + [Fact] + public void ApplicationCampaignAnalyticsInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationCampaignAnalytics + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationCampaignAnalytics"); + } + + + /// + /// Test the property 'StartTime' + /// + [Fact] + public void StartTimeTest() + { + // TODO unit test for the property 'StartTime' + } + /// + /// Test the property 'EndTime' + /// + [Fact] + public void EndTimeTest() + { + // TODO unit test for the property 'EndTime' + } + /// + /// Test the property 'CampaignId' + /// + [Fact] + public void CampaignIdTest() + { + // TODO unit test for the property 'CampaignId' + } + /// + /// Test the property 'CampaignName' + /// + [Fact] + public void CampaignNameTest() + { + // TODO unit test for the property 'CampaignName' + } + /// + /// Test the property 'CampaignTags' + /// + [Fact] + public void CampaignTagsTest() + { + // TODO unit test for the property 'CampaignTags' + } + /// + /// Test the property 'CampaignState' + /// + [Fact] + public void CampaignStateTest() + { + // TODO unit test for the property 'CampaignState' + } + /// + /// Test the property 'CampaignActiveRulesetId' + /// + [Fact] + public void CampaignActiveRulesetIdTest() + { + // TODO unit test for the property 'CampaignActiveRulesetId' + } + /// + /// Test the property 'CampaignStartTime' + /// + [Fact] + public void CampaignStartTimeTest() + { + // TODO unit test for the property 'CampaignStartTime' + } + /// + /// Test the property 'CampaignEndTime' + /// + [Fact] + public void CampaignEndTimeTest() + { + // TODO unit test for the property 'CampaignEndTime' + } + /// + /// Test the property 'TotalRevenue' + /// + [Fact] + public void TotalRevenueTest() + { + // TODO unit test for the property 'TotalRevenue' + } + /// + /// Test the property 'SessionsCount' + /// + [Fact] + public void SessionsCountTest() + { + // TODO unit test for the property 'SessionsCount' + } + /// + /// Test the property 'AvgItemsPerSession' + /// + [Fact] + public void AvgItemsPerSessionTest() + { + // TODO unit test for the property 'AvgItemsPerSession' + } + /// + /// Test the property 'AvgSessionValue' + /// + [Fact] + public void AvgSessionValueTest() + { + // TODO unit test for the property 'AvgSessionValue' + } + /// + /// Test the property 'TotalDiscounts' + /// + [Fact] + public void TotalDiscountsTest() + { + // TODO unit test for the property 'TotalDiscounts' + } + /// + /// Test the property 'CouponsCount' + /// + [Fact] + public void CouponsCountTest() + { + // TODO unit test for the property 'CouponsCount' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsTotalDiscountsTests.cs b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsTotalDiscountsTests.cs new file mode 100644 index 0000000..a0997b2 --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsTotalDiscountsTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationCampaignAnalyticsTotalDiscounts + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationCampaignAnalyticsTotalDiscountsTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationCampaignAnalyticsTotalDiscounts + //private ApplicationCampaignAnalyticsTotalDiscounts instance; + + public ApplicationCampaignAnalyticsTotalDiscountsTests() + { + // TODO uncomment below to create an instance of ApplicationCampaignAnalyticsTotalDiscounts + //instance = new ApplicationCampaignAnalyticsTotalDiscounts(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationCampaignAnalyticsTotalDiscounts + /// + [Fact] + public void ApplicationCampaignAnalyticsTotalDiscountsInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationCampaignAnalyticsTotalDiscounts + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationCampaignAnalyticsTotalDiscounts"); + } + + + /// + /// Test the property 'Value' + /// + [Fact] + public void ValueTest() + { + // TODO unit test for the property 'Value' + } + /// + /// Test the property 'Trend' + /// + [Fact] + public void TrendTest() + { + // TODO unit test for the property 'Trend' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsTotalRevenueTests.cs b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsTotalRevenueTests.cs new file mode 100644 index 0000000..6d40c1f --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationCampaignAnalyticsTotalRevenueTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationCampaignAnalyticsTotalRevenue + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationCampaignAnalyticsTotalRevenueTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationCampaignAnalyticsTotalRevenue + //private ApplicationCampaignAnalyticsTotalRevenue instance; + + public ApplicationCampaignAnalyticsTotalRevenueTests() + { + // TODO uncomment below to create an instance of ApplicationCampaignAnalyticsTotalRevenue + //instance = new ApplicationCampaignAnalyticsTotalRevenue(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationCampaignAnalyticsTotalRevenue + /// + [Fact] + public void ApplicationCampaignAnalyticsTotalRevenueInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationCampaignAnalyticsTotalRevenue + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationCampaignAnalyticsTotalRevenue"); + } + + + /// + /// Test the property 'Value' + /// + [Fact] + public void ValueTest() + { + // TODO unit test for the property 'Value' + } + /// + /// Test the property 'InfluenceRate' + /// + [Fact] + public void InfluenceRateTest() + { + // TODO unit test for the property 'InfluenceRate' + } + /// + /// Test the property 'Trend' + /// + [Fact] + public void TrendTest() + { + // TODO unit test for the property 'Trend' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ApplicationEventTests.cs b/src/TalonOne.Test/Model/ApplicationEventTests.cs index eff27a7..d0c6828 100644 --- a/src/TalonOne.Test/Model/ApplicationEventTests.cs +++ b/src/TalonOne.Test/Model/ApplicationEventTests.cs @@ -90,6 +90,22 @@ public void ProfileIdTest() // TODO unit test for the property 'ProfileId' } /// + /// Test the property 'StoreId' + /// + [Fact] + public void StoreIdTest() + { + // TODO unit test for the property 'StoreId' + } + /// + /// Test the property 'StoreIntegrationId' + /// + [Fact] + public void StoreIntegrationIdTest() + { + // TODO unit test for the property 'StoreIntegrationId' + } + /// /// Test the property 'SessionId' /// [Fact] diff --git a/src/TalonOne.Test/Model/ApplicationSessionTests.cs b/src/TalonOne.Test/Model/ApplicationSessionTests.cs index 2e83331..083b20c 100644 --- a/src/TalonOne.Test/Model/ApplicationSessionTests.cs +++ b/src/TalonOne.Test/Model/ApplicationSessionTests.cs @@ -74,6 +74,22 @@ public void CreatedTest() // TODO unit test for the property 'Created' } /// + /// Test the property 'IntegrationId' + /// + [Fact] + public void IntegrationIdTest() + { + // TODO unit test for the property 'IntegrationId' + } + /// + /// Test the property 'StoreIntegrationId' + /// + [Fact] + public void StoreIntegrationIdTest() + { + // TODO unit test for the property 'StoreIntegrationId' + } + /// /// Test the property 'ApplicationId' /// [Fact] @@ -90,14 +106,6 @@ public void ProfileIdTest() // TODO unit test for the property 'ProfileId' } /// - /// Test the property 'IntegrationId' - /// - [Fact] - public void IntegrationIdTest() - { - // TODO unit test for the property 'IntegrationId' - } - /// /// Test the property 'Profileintegrationid' /// [Fact] diff --git a/src/TalonOne.Test/Model/ApplicationStoreEntityTests.cs b/src/TalonOne.Test/Model/ApplicationStoreEntityTests.cs new file mode 100644 index 0000000..cf5582c --- /dev/null +++ b/src/TalonOne.Test/Model/ApplicationStoreEntityTests.cs @@ -0,0 +1,71 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ApplicationStoreEntity + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ApplicationStoreEntityTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ApplicationStoreEntity + //private ApplicationStoreEntity instance; + + public ApplicationStoreEntityTests() + { + // TODO uncomment below to create an instance of ApplicationStoreEntity + //instance = new ApplicationStoreEntity(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ApplicationStoreEntity + /// + [Fact] + public void ApplicationStoreEntityInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ApplicationStoreEntity + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ApplicationStoreEntity"); + } + + + /// + /// Test the property 'StoreId' + /// + [Fact] + public void StoreIdTest() + { + // TODO unit test for the property 'StoreId' + } + + } + +} diff --git a/src/TalonOne.Test/Model/BaseCampaignTests.cs b/src/TalonOne.Test/Model/BaseCampaignTests.cs index 9691aa6..7eda0db 100644 --- a/src/TalonOne.Test/Model/BaseCampaignTests.cs +++ b/src/TalonOne.Test/Model/BaseCampaignTests.cs @@ -161,6 +161,22 @@ public void CampaignGroupsTest() { // TODO unit test for the property 'CampaignGroups' } + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + /// + /// Test the property 'LinkedStoreIds' + /// + [Fact] + public void LinkedStoreIdsTest() + { + // TODO unit test for the property 'LinkedStoreIds' + } } diff --git a/src/TalonOne.Test/Model/BaseLoyaltyProgramTests.cs b/src/TalonOne.Test/Model/BaseLoyaltyProgramTests.cs index 904b36b..36cc71c 100644 --- a/src/TalonOne.Test/Model/BaseLoyaltyProgramTests.cs +++ b/src/TalonOne.Test/Model/BaseLoyaltyProgramTests.cs @@ -122,6 +122,14 @@ public void SandboxTest() // TODO unit test for the property 'Sandbox' } /// + /// Test the property 'TiersExpirationPolicy' + /// + [Fact] + public void TiersExpirationPolicyTest() + { + // TODO unit test for the property 'TiersExpirationPolicy' + } + /// /// Test the property 'TiersExpireIn' /// [Fact] @@ -137,6 +145,14 @@ public void TiersDowngradePolicyTest() { // TODO unit test for the property 'TiersDowngradePolicy' } + /// + /// Test the property 'ProgramJoinPolicy' + /// + [Fact] + public void ProgramJoinPolicyTest() + { + // TODO unit test for the property 'ProgramJoinPolicy' + } } diff --git a/src/TalonOne.Test/Model/BaseNotificationEntityTests.cs b/src/TalonOne.Test/Model/BaseNotificationEntityTests.cs index 63c06f0..646c2d5 100644 --- a/src/TalonOne.Test/Model/BaseNotificationEntityTests.cs +++ b/src/TalonOne.Test/Model/BaseNotificationEntityTests.cs @@ -65,6 +65,14 @@ public void PolicyTest() { // TODO unit test for the property 'Policy' } + /// + /// Test the property 'Enabled' + /// + [Fact] + public void EnabledTest() + { + // TODO unit test for the property 'Enabled' + } } diff --git a/src/TalonOne.Test/Model/BaseNotificationTests.cs b/src/TalonOne.Test/Model/BaseNotificationTests.cs index bfcc844..5ef8faa 100644 --- a/src/TalonOne.Test/Model/BaseNotificationTests.cs +++ b/src/TalonOne.Test/Model/BaseNotificationTests.cs @@ -66,6 +66,14 @@ public void PolicyTest() // TODO unit test for the property 'Policy' } /// + /// Test the property 'Enabled' + /// + [Fact] + public void EnabledTest() + { + // TODO unit test for the property 'Enabled' + } + /// /// Test the property 'Webhook' /// [Fact] @@ -81,6 +89,14 @@ public void IdTest() { // TODO unit test for the property 'Id' } + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } } diff --git a/src/TalonOne.Test/Model/BaseNotificationWebhookTests.cs b/src/TalonOne.Test/Model/BaseNotificationWebhookTests.cs index 7a8e804..f1e0088 100644 --- a/src/TalonOne.Test/Model/BaseNotificationWebhookTests.cs +++ b/src/TalonOne.Test/Model/BaseNotificationWebhookTests.cs @@ -97,6 +97,14 @@ public void HeadersTest() { // TODO unit test for the property 'Headers' } + /// + /// Test the property 'Enabled' + /// + [Fact] + public void EnabledTest() + { + // TODO unit test for the property 'Enabled' + } } diff --git a/src/TalonOne.Test/Model/BulkOperationOnCampaignsTests.cs b/src/TalonOne.Test/Model/BulkOperationOnCampaignsTests.cs new file mode 100644 index 0000000..58d9c83 --- /dev/null +++ b/src/TalonOne.Test/Model/BulkOperationOnCampaignsTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing BulkOperationOnCampaigns + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class BulkOperationOnCampaignsTests : IDisposable + { + // TODO uncomment below to declare an instance variable for BulkOperationOnCampaigns + //private BulkOperationOnCampaigns instance; + + public BulkOperationOnCampaignsTests() + { + // TODO uncomment below to create an instance of BulkOperationOnCampaigns + //instance = new BulkOperationOnCampaigns(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of BulkOperationOnCampaigns + /// + [Fact] + public void BulkOperationOnCampaignsInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" BulkOperationOnCampaigns + //Assert.IsInstanceOfType (instance, "variable 'instance' is a BulkOperationOnCampaigns"); + } + + + /// + /// Test the property 'Operation' + /// + [Fact] + public void OperationTest() + { + // TODO unit test for the property 'Operation' + } + /// + /// Test the property 'CampaignIds' + /// + [Fact] + public void CampaignIdsTest() + { + // TODO unit test for the property 'CampaignIds' + } + + } + +} diff --git a/src/TalonOne.Test/Model/CampaignBudgetTests.cs b/src/TalonOne.Test/Model/CampaignBudgetTests.cs new file mode 100644 index 0000000..dfaad59 --- /dev/null +++ b/src/TalonOne.Test/Model/CampaignBudgetTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing CampaignBudget + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CampaignBudgetTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CampaignBudget + //private CampaignBudget instance; + + public CampaignBudgetTests() + { + // TODO uncomment below to create an instance of CampaignBudget + //instance = new CampaignBudget(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CampaignBudget + /// + [Fact] + public void CampaignBudgetInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" CampaignBudget + //Assert.IsInstanceOfType (instance, "variable 'instance' is a CampaignBudget"); + } + + + /// + /// Test the property 'Action' + /// + [Fact] + public void ActionTest() + { + // TODO unit test for the property 'Action' + } + /// + /// Test the property 'Limit' + /// + [Fact] + public void LimitTest() + { + // TODO unit test for the property 'Limit' + } + /// + /// Test the property 'Counter' + /// + [Fact] + public void CounterTest() + { + // TODO unit test for the property 'Counter' + } + + } + +} diff --git a/src/TalonOne.Test/Model/CampaignEvaluationGroupTests.cs b/src/TalonOne.Test/Model/CampaignEvaluationGroupTests.cs index 627e9fa..92b0510 100644 --- a/src/TalonOne.Test/Model/CampaignEvaluationGroupTests.cs +++ b/src/TalonOne.Test/Model/CampaignEvaluationGroupTests.cs @@ -98,6 +98,14 @@ public void EvaluationModeTest() // TODO unit test for the property 'EvaluationMode' } /// + /// Test the property 'EvaluationScope' + /// + [Fact] + public void EvaluationScopeTest() + { + // TODO unit test for the property 'EvaluationScope' + } + /// /// Test the property 'Locked' /// [Fact] diff --git a/src/TalonOne.Test/Model/CampaignNotificationPolicyTests.cs b/src/TalonOne.Test/Model/CampaignNotificationPolicyTests.cs new file mode 100644 index 0000000..e5b9369 --- /dev/null +++ b/src/TalonOne.Test/Model/CampaignNotificationPolicyTests.cs @@ -0,0 +1,71 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing CampaignNotificationPolicy + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CampaignNotificationPolicyTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CampaignNotificationPolicy + //private CampaignNotificationPolicy instance; + + public CampaignNotificationPolicyTests() + { + // TODO uncomment below to create an instance of CampaignNotificationPolicy + //instance = new CampaignNotificationPolicy(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CampaignNotificationPolicy + /// + [Fact] + public void CampaignNotificationPolicyInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" CampaignNotificationPolicy + //Assert.IsInstanceOfType (instance, "variable 'instance' is a CampaignNotificationPolicy"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + } + +} diff --git a/src/TalonOne.Test/Model/CampaignSetBranchNodeTests.cs b/src/TalonOne.Test/Model/CampaignSetBranchNodeTests.cs index 8b51ba6..6d2d5d9 100644 --- a/src/TalonOne.Test/Model/CampaignSetBranchNodeTests.cs +++ b/src/TalonOne.Test/Model/CampaignSetBranchNodeTests.cs @@ -121,6 +121,14 @@ public void EvaluationModeTest() { // TODO unit test for the property 'EvaluationMode' } + /// + /// Test the property 'EvaluationScope' + /// + [Fact] + public void EvaluationScopeTest() + { + // TODO unit test for the property 'EvaluationScope' + } } diff --git a/src/TalonOne.Test/Model/CampaignTemplateTests.cs b/src/TalonOne.Test/Model/CampaignTemplateTests.cs index f030ead..8ac43c3 100644 --- a/src/TalonOne.Test/Model/CampaignTemplateTests.cs +++ b/src/TalonOne.Test/Model/CampaignTemplateTests.cs @@ -218,6 +218,14 @@ public void DefaultCampaignGroupIdTest() // TODO unit test for the property 'DefaultCampaignGroupId' } /// + /// Test the property 'CampaignType' + /// + [Fact] + public void CampaignTypeTest() + { + // TODO unit test for the property 'CampaignType' + } + /// /// Test the property 'Updated' /// [Fact] diff --git a/src/TalonOne.Test/Model/CampaignTests.cs b/src/TalonOne.Test/Model/CampaignTests.cs index ce8d608..b395500 100644 --- a/src/TalonOne.Test/Model/CampaignTests.cs +++ b/src/TalonOne.Test/Model/CampaignTests.cs @@ -194,6 +194,30 @@ public void CampaignGroupsTest() // TODO unit test for the property 'CampaignGroups' } /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + /// + /// Test the property 'LinkedStoreIds' + /// + [Fact] + public void LinkedStoreIdsTest() + { + // TODO unit test for the property 'LinkedStoreIds' + } + /// + /// Test the property 'Budgets' + /// + [Fact] + public void BudgetsTest() + { + // TODO unit test for the property 'Budgets' + } + /// /// Test the property 'CouponRedemptionCount' /// [Fact] @@ -353,6 +377,14 @@ public void TemplateIdTest() { // TODO unit test for the property 'TemplateId' } + /// + /// Test the property 'FrontendState' + /// + [Fact] + public void FrontendStateTest() + { + // TODO unit test for the property 'FrontendState' + } } diff --git a/src/TalonOne.Test/Model/CardExpiringPointsNotificationPolicyTests.cs b/src/TalonOne.Test/Model/CardExpiringPointsNotificationPolicyTests.cs new file mode 100644 index 0000000..ac240ec --- /dev/null +++ b/src/TalonOne.Test/Model/CardExpiringPointsNotificationPolicyTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing CardExpiringPointsNotificationPolicy + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CardExpiringPointsNotificationPolicyTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CardExpiringPointsNotificationPolicy + //private CardExpiringPointsNotificationPolicy instance; + + public CardExpiringPointsNotificationPolicyTests() + { + // TODO uncomment below to create an instance of CardExpiringPointsNotificationPolicy + //instance = new CardExpiringPointsNotificationPolicy(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CardExpiringPointsNotificationPolicy + /// + [Fact] + public void CardExpiringPointsNotificationPolicyInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" CardExpiringPointsNotificationPolicy + //Assert.IsInstanceOfType (instance, "variable 'instance' is a CardExpiringPointsNotificationPolicy"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'Triggers' + /// + [Fact] + public void TriggersTest() + { + // TODO unit test for the property 'Triggers' + } + /// + /// Test the property 'BatchingEnabled' + /// + [Fact] + public void BatchingEnabledTest() + { + // TODO unit test for the property 'BatchingEnabled' + } + + } + +} diff --git a/src/TalonOne.Test/Model/CardExpiringPointsNotificationTriggerTests.cs b/src/TalonOne.Test/Model/CardExpiringPointsNotificationTriggerTests.cs new file mode 100644 index 0000000..936917e --- /dev/null +++ b/src/TalonOne.Test/Model/CardExpiringPointsNotificationTriggerTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing CardExpiringPointsNotificationTrigger + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CardExpiringPointsNotificationTriggerTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CardExpiringPointsNotificationTrigger + //private CardExpiringPointsNotificationTrigger instance; + + public CardExpiringPointsNotificationTriggerTests() + { + // TODO uncomment below to create an instance of CardExpiringPointsNotificationTrigger + //instance = new CardExpiringPointsNotificationTrigger(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CardExpiringPointsNotificationTrigger + /// + [Fact] + public void CardExpiringPointsNotificationTriggerInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" CardExpiringPointsNotificationTrigger + //Assert.IsInstanceOfType (instance, "variable 'instance' is a CardExpiringPointsNotificationTrigger"); + } + + + /// + /// Test the property 'Amount' + /// + [Fact] + public void AmountTest() + { + // TODO unit test for the property 'Amount' + } + /// + /// Test the property 'Period' + /// + [Fact] + public void PeriodTest() + { + // TODO unit test for the property 'Period' + } + + } + +} diff --git a/src/TalonOne.Test/Model/CardLedgerPointsEntryIntegrationAPITests.cs b/src/TalonOne.Test/Model/CardLedgerPointsEntryIntegrationAPITests.cs new file mode 100644 index 0000000..476b8ca --- /dev/null +++ b/src/TalonOne.Test/Model/CardLedgerPointsEntryIntegrationAPITests.cs @@ -0,0 +1,143 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing CardLedgerPointsEntryIntegrationAPI + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CardLedgerPointsEntryIntegrationAPITests : IDisposable + { + // TODO uncomment below to declare an instance variable for CardLedgerPointsEntryIntegrationAPI + //private CardLedgerPointsEntryIntegrationAPI instance; + + public CardLedgerPointsEntryIntegrationAPITests() + { + // TODO uncomment below to create an instance of CardLedgerPointsEntryIntegrationAPI + //instance = new CardLedgerPointsEntryIntegrationAPI(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CardLedgerPointsEntryIntegrationAPI + /// + [Fact] + public void CardLedgerPointsEntryIntegrationAPIInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" CardLedgerPointsEntryIntegrationAPI + //Assert.IsInstanceOfType (instance, "variable 'instance' is a CardLedgerPointsEntryIntegrationAPI"); + } + + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + /// + /// Test the property 'Created' + /// + [Fact] + public void CreatedTest() + { + // TODO unit test for the property 'Created' + } + /// + /// Test the property 'ProgramId' + /// + [Fact] + public void ProgramIdTest() + { + // TODO unit test for the property 'ProgramId' + } + /// + /// Test the property 'CustomerProfileID' + /// + [Fact] + public void CustomerProfileIDTest() + { + // TODO unit test for the property 'CustomerProfileID' + } + /// + /// Test the property 'CustomerSessionId' + /// + [Fact] + public void CustomerSessionIdTest() + { + // TODO unit test for the property 'CustomerSessionId' + } + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'StartDate' + /// + [Fact] + public void StartDateTest() + { + // TODO unit test for the property 'StartDate' + } + /// + /// Test the property 'ExpiryDate' + /// + [Fact] + public void ExpiryDateTest() + { + // TODO unit test for the property 'ExpiryDate' + } + /// + /// Test the property 'SubledgerId' + /// + [Fact] + public void SubledgerIdTest() + { + // TODO unit test for the property 'SubledgerId' + } + /// + /// Test the property 'Amount' + /// + [Fact] + public void AmountTest() + { + // TODO unit test for the property 'Amount' + } + + } + +} diff --git a/src/TalonOne.Test/Model/CartItemTests.cs b/src/TalonOne.Test/Model/CartItemTests.cs index c473b77..eff971b 100644 --- a/src/TalonOne.Test/Model/CartItemTests.cs +++ b/src/TalonOne.Test/Model/CartItemTests.cs @@ -114,6 +114,14 @@ public void CategoryTest() // TODO unit test for the property 'Category' } /// + /// Test the property 'Product' + /// + [Fact] + public void ProductTest() + { + // TODO unit test for the property 'Product' + } + /// /// Test the property 'Weight' /// [Fact] diff --git a/src/TalonOne.Test/Model/CatalogItemTests.cs b/src/TalonOne.Test/Model/CatalogItemTests.cs index 8b7fd2d..2145d4d 100644 --- a/src/TalonOne.Test/Model/CatalogItemTests.cs +++ b/src/TalonOne.Test/Model/CatalogItemTests.cs @@ -113,6 +113,14 @@ public void AttributesTest() { // TODO unit test for the property 'Attributes' } + /// + /// Test the property 'Product' + /// + [Fact] + public void ProductTest() + { + // TODO unit test for the property 'Product' + } } diff --git a/src/TalonOne.Test/Model/ChangeLoyaltyTierLevelEffectPropsTests.cs b/src/TalonOne.Test/Model/ChangeLoyaltyTierLevelEffectPropsTests.cs new file mode 100644 index 0000000..bd2eb91 --- /dev/null +++ b/src/TalonOne.Test/Model/ChangeLoyaltyTierLevelEffectPropsTests.cs @@ -0,0 +1,111 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ChangeLoyaltyTierLevelEffectProps + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ChangeLoyaltyTierLevelEffectPropsTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ChangeLoyaltyTierLevelEffectProps + //private ChangeLoyaltyTierLevelEffectProps instance; + + public ChangeLoyaltyTierLevelEffectPropsTests() + { + // TODO uncomment below to create an instance of ChangeLoyaltyTierLevelEffectProps + //instance = new ChangeLoyaltyTierLevelEffectProps(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ChangeLoyaltyTierLevelEffectProps + /// + [Fact] + public void ChangeLoyaltyTierLevelEffectPropsInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ChangeLoyaltyTierLevelEffectProps + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ChangeLoyaltyTierLevelEffectProps"); + } + + + /// + /// Test the property 'RuleTitle' + /// + [Fact] + public void RuleTitleTest() + { + // TODO unit test for the property 'RuleTitle' + } + /// + /// Test the property 'ProgramId' + /// + [Fact] + public void ProgramIdTest() + { + // TODO unit test for the property 'ProgramId' + } + /// + /// Test the property 'SubLedgerId' + /// + [Fact] + public void SubLedgerIdTest() + { + // TODO unit test for the property 'SubLedgerId' + } + /// + /// Test the property 'PreviousTierName' + /// + [Fact] + public void PreviousTierNameTest() + { + // TODO unit test for the property 'PreviousTierName' + } + /// + /// Test the property 'NewTierName' + /// + [Fact] + public void NewTierNameTest() + { + // TODO unit test for the property 'NewTierName' + } + /// + /// Test the property 'ExpiryDate' + /// + [Fact] + public void ExpiryDateTest() + { + // TODO unit test for the property 'ExpiryDate' + } + + } + +} diff --git a/src/TalonOne.Test/Model/CouponTests.cs b/src/TalonOne.Test/Model/CouponTests.cs index 76514ce..87186f8 100644 --- a/src/TalonOne.Test/Model/CouponTests.cs +++ b/src/TalonOne.Test/Model/CouponTests.cs @@ -225,6 +225,14 @@ public void IsReservationMandatoryTest() { // TODO unit test for the property 'IsReservationMandatory' } + /// + /// Test the property 'ImplicitlyReserved' + /// + [Fact] + public void ImplicitlyReservedTest() + { + // TODO unit test for the property 'ImplicitlyReserved' + } } diff --git a/src/TalonOne.Test/Model/CouponsNotificationPolicyTests.cs b/src/TalonOne.Test/Model/CouponsNotificationPolicyTests.cs index 1390af9..d8af50a 100644 --- a/src/TalonOne.Test/Model/CouponsNotificationPolicyTests.cs +++ b/src/TalonOne.Test/Model/CouponsNotificationPolicyTests.cs @@ -73,6 +73,14 @@ public void ScopesTest() { // TODO unit test for the property 'Scopes' } + /// + /// Test the property 'BatchingEnabled' + /// + [Fact] + public void BatchingEnabledTest() + { + // TODO unit test for the property 'BatchingEnabled' + } } diff --git a/src/TalonOne.Test/Model/CreateAchievementTests.cs b/src/TalonOne.Test/Model/CreateAchievementTests.cs new file mode 100644 index 0000000..643484b --- /dev/null +++ b/src/TalonOne.Test/Model/CreateAchievementTests.cs @@ -0,0 +1,111 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing CreateAchievement + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CreateAchievementTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CreateAchievement + //private CreateAchievement instance; + + public CreateAchievementTests() + { + // TODO uncomment below to create an instance of CreateAchievement + //instance = new CreateAchievement(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CreateAchievement + /// + [Fact] + public void CreateAchievementInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" CreateAchievement + //Assert.IsInstanceOfType (instance, "variable 'instance' is a CreateAchievement"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'Title' + /// + [Fact] + public void TitleTest() + { + // TODO unit test for the property 'Title' + } + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + /// + /// Test the property 'Target' + /// + [Fact] + public void TargetTest() + { + // TODO unit test for the property 'Target' + } + /// + /// Test the property 'Period' + /// + [Fact] + public void PeriodTest() + { + // TODO unit test for the property 'Period' + } + /// + /// Test the property 'PeriodEndOverride' + /// + [Fact] + public void PeriodEndOverrideTest() + { + // TODO unit test for the property 'PeriodEndOverride' + } + + } + +} diff --git a/src/TalonOne.Test/Model/CreateApplicationAPIKeyTests.cs b/src/TalonOne.Test/Model/CreateApplicationAPIKeyTests.cs index 08dd6ec..09d11a9 100644 --- a/src/TalonOne.Test/Model/CreateApplicationAPIKeyTests.cs +++ b/src/TalonOne.Test/Model/CreateApplicationAPIKeyTests.cs @@ -81,6 +81,22 @@ public void PlatformTest() { // TODO unit test for the property 'Platform' } + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + /// + /// Test the property 'TimeOffset' + /// + [Fact] + public void TimeOffsetTest() + { + // TODO unit test for the property 'TimeOffset' + } } diff --git a/src/TalonOne.Test/Model/CreateTemplateCampaignTests.cs b/src/TalonOne.Test/Model/CreateTemplateCampaignTests.cs index ebab16d..c33496a 100644 --- a/src/TalonOne.Test/Model/CreateTemplateCampaignTests.cs +++ b/src/TalonOne.Test/Model/CreateTemplateCampaignTests.cs @@ -129,6 +129,14 @@ public void EvaluationGroupIdTest() { // TODO unit test for the property 'EvaluationGroupId' } + /// + /// Test the property 'LinkedStoreIds' + /// + [Fact] + public void LinkedStoreIdsTest() + { + // TODO unit test for the property 'LinkedStoreIds' + } } diff --git a/src/TalonOne.Test/Model/CustomerInventoryTests.cs b/src/TalonOne.Test/Model/CustomerInventoryTests.cs index 453e119..ae09065 100644 --- a/src/TalonOne.Test/Model/CustomerInventoryTests.cs +++ b/src/TalonOne.Test/Model/CustomerInventoryTests.cs @@ -97,6 +97,14 @@ public void GiveawaysTest() { // TODO unit test for the property 'Giveaways' } + /// + /// Test the property 'Achievements' + /// + [Fact] + public void AchievementsTest() + { + // TODO unit test for the property 'Achievements' + } } diff --git a/src/TalonOne.Test/Model/CustomerProfileIntegrationResponseV2Tests.cs b/src/TalonOne.Test/Model/CustomerProfileIntegrationResponseV2Tests.cs new file mode 100644 index 0000000..4d71401 --- /dev/null +++ b/src/TalonOne.Test/Model/CustomerProfileIntegrationResponseV2Tests.cs @@ -0,0 +1,135 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing CustomerProfileIntegrationResponseV2 + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CustomerProfileIntegrationResponseV2Tests : IDisposable + { + // TODO uncomment below to declare an instance variable for CustomerProfileIntegrationResponseV2 + //private CustomerProfileIntegrationResponseV2 instance; + + public CustomerProfileIntegrationResponseV2Tests() + { + // TODO uncomment below to create an instance of CustomerProfileIntegrationResponseV2 + //instance = new CustomerProfileIntegrationResponseV2(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CustomerProfileIntegrationResponseV2 + /// + [Fact] + public void CustomerProfileIntegrationResponseV2InstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" CustomerProfileIntegrationResponseV2 + //Assert.IsInstanceOfType (instance, "variable 'instance' is a CustomerProfileIntegrationResponseV2"); + } + + + /// + /// Test the property 'CustomerProfile' + /// + [Fact] + public void CustomerProfileTest() + { + // TODO unit test for the property 'CustomerProfile' + } + /// + /// Test the property 'Event' + /// + [Fact] + public void EventTest() + { + // TODO unit test for the property 'Event' + } + /// + /// Test the property 'Loyalty' + /// + [Fact] + public void LoyaltyTest() + { + // TODO unit test for the property 'Loyalty' + } + /// + /// Test the property 'TriggeredCampaigns' + /// + [Fact] + public void TriggeredCampaignsTest() + { + // TODO unit test for the property 'TriggeredCampaigns' + } + /// + /// Test the property 'RuleFailureReasons' + /// + [Fact] + public void RuleFailureReasonsTest() + { + // TODO unit test for the property 'RuleFailureReasons' + } + /// + /// Test the property 'AwardedGiveaways' + /// + [Fact] + public void AwardedGiveawaysTest() + { + // TODO unit test for the property 'AwardedGiveaways' + } + /// + /// Test the property 'Effects' + /// + [Fact] + public void EffectsTest() + { + // TODO unit test for the property 'Effects' + } + /// + /// Test the property 'CreatedCoupons' + /// + [Fact] + public void CreatedCouponsTest() + { + // TODO unit test for the property 'CreatedCoupons' + } + /// + /// Test the property 'CreatedReferrals' + /// + [Fact] + public void CreatedReferralsTest() + { + // TODO unit test for the property 'CreatedReferrals' + } + + } + +} diff --git a/src/TalonOne.Test/Model/CustomerSessionV2Tests.cs b/src/TalonOne.Test/Model/CustomerSessionV2Tests.cs index 743969b..0ac4076 100644 --- a/src/TalonOne.Test/Model/CustomerSessionV2Tests.cs +++ b/src/TalonOne.Test/Model/CustomerSessionV2Tests.cs @@ -98,6 +98,14 @@ public void ProfileIdTest() // TODO unit test for the property 'ProfileId' } /// + /// Test the property 'StoreIntegrationId' + /// + [Fact] + public void StoreIntegrationIdTest() + { + // TODO unit test for the property 'StoreIntegrationId' + } + /// /// Test the property 'EvaluableCampaignIds' /// [Fact] diff --git a/src/TalonOne.Test/Model/DeactivateUserRequestTests.cs b/src/TalonOne.Test/Model/DeactivateUserRequestTests.cs new file mode 100644 index 0000000..974d69d --- /dev/null +++ b/src/TalonOne.Test/Model/DeactivateUserRequestTests.cs @@ -0,0 +1,71 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing DeactivateUserRequest + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class DeactivateUserRequestTests : IDisposable + { + // TODO uncomment below to declare an instance variable for DeactivateUserRequest + //private DeactivateUserRequest instance; + + public DeactivateUserRequestTests() + { + // TODO uncomment below to create an instance of DeactivateUserRequest + //instance = new DeactivateUserRequest(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of DeactivateUserRequest + /// + [Fact] + public void DeactivateUserRequestInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" DeactivateUserRequest + //Assert.IsInstanceOfType (instance, "variable 'instance' is a DeactivateUserRequest"); + } + + + /// + /// Test the property 'Email' + /// + [Fact] + public void EmailTest() + { + // TODO unit test for the property 'Email' + } + + } + +} diff --git a/src/TalonOne.Test/Model/DeleteUserRequestTests.cs b/src/TalonOne.Test/Model/DeleteUserRequestTests.cs new file mode 100644 index 0000000..d50923b --- /dev/null +++ b/src/TalonOne.Test/Model/DeleteUserRequestTests.cs @@ -0,0 +1,71 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing DeleteUserRequest + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class DeleteUserRequestTests : IDisposable + { + // TODO uncomment below to declare an instance variable for DeleteUserRequest + //private DeleteUserRequest instance; + + public DeleteUserRequestTests() + { + // TODO uncomment below to create an instance of DeleteUserRequest + //instance = new DeleteUserRequest(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of DeleteUserRequest + /// + [Fact] + public void DeleteUserRequestInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" DeleteUserRequest + //Assert.IsInstanceOfType (instance, "variable 'instance' is a DeleteUserRequest"); + } + + + /// + /// Test the property 'Email' + /// + [Fact] + public void EmailTest() + { + // TODO unit test for the property 'Email' + } + + } + +} diff --git a/src/TalonOne.Test/Model/EffectEntityTests.cs b/src/TalonOne.Test/Model/EffectEntityTests.cs index 20efde1..892063e 100644 --- a/src/TalonOne.Test/Model/EffectEntityTests.cs +++ b/src/TalonOne.Test/Model/EffectEntityTests.cs @@ -113,6 +113,14 @@ public void TriggeredForCatalogItemTest() { // TODO unit test for the property 'TriggeredForCatalogItem' } + /// + /// Test the property 'ConditionIndex' + /// + [Fact] + public void ConditionIndexTest() + { + // TODO unit test for the property 'ConditionIndex' + } } diff --git a/src/TalonOne.Test/Model/EffectTests.cs b/src/TalonOne.Test/Model/EffectTests.cs index 239baab..99776fc 100644 --- a/src/TalonOne.Test/Model/EffectTests.cs +++ b/src/TalonOne.Test/Model/EffectTests.cs @@ -114,6 +114,14 @@ public void TriggeredForCatalogItemTest() // TODO unit test for the property 'TriggeredForCatalogItem' } /// + /// Test the property 'ConditionIndex' + /// + [Fact] + public void ConditionIndexTest() + { + // TODO unit test for the property 'ConditionIndex' + } + /// /// Test the property 'Props' /// [Fact] diff --git a/src/TalonOne.Test/Model/EnvironmentTests.cs b/src/TalonOne.Test/Model/EnvironmentTests.cs index 1c14f7d..c25369e 100644 --- a/src/TalonOne.Test/Model/EnvironmentTests.cs +++ b/src/TalonOne.Test/Model/EnvironmentTests.cs @@ -130,6 +130,14 @@ public void LoyaltyProgramsTest() // TODO unit test for the property 'LoyaltyPrograms' } /// + /// Test the property 'Achievements' + /// + [Fact] + public void AchievementsTest() + { + // TODO unit test for the property 'Achievements' + } + /// /// Test the property 'Attributes' /// [Fact] diff --git a/src/TalonOne.Test/Model/EventTests.cs b/src/TalonOne.Test/Model/EventTests.cs index e65b8ef..030fcf0 100644 --- a/src/TalonOne.Test/Model/EventTests.cs +++ b/src/TalonOne.Test/Model/EventTests.cs @@ -90,6 +90,14 @@ public void ProfileIdTest() // TODO unit test for the property 'ProfileId' } /// + /// Test the property 'StoreIntegrationId' + /// + [Fact] + public void StoreIntegrationIdTest() + { + // TODO unit test for the property 'StoreIntegrationId' + } + /// /// Test the property 'Type' /// [Fact] diff --git a/src/TalonOne.Test/Model/EventV2Tests.cs b/src/TalonOne.Test/Model/EventV2Tests.cs index a5f77f6..e6677e6 100644 --- a/src/TalonOne.Test/Model/EventV2Tests.cs +++ b/src/TalonOne.Test/Model/EventV2Tests.cs @@ -66,6 +66,14 @@ public void ProfileIdTest() // TODO unit test for the property 'ProfileId' } /// + /// Test the property 'StoreIntegrationId' + /// + [Fact] + public void StoreIntegrationIdTest() + { + // TODO unit test for the property 'StoreIntegrationId' + } + /// /// Test the property 'EvaluableCampaignIds' /// [Fact] diff --git a/src/TalonOne.Test/Model/ExpiringCouponsNotificationPolicyTests.cs b/src/TalonOne.Test/Model/ExpiringCouponsNotificationPolicyTests.cs new file mode 100644 index 0000000..978e230 --- /dev/null +++ b/src/TalonOne.Test/Model/ExpiringCouponsNotificationPolicyTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ExpiringCouponsNotificationPolicy + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ExpiringCouponsNotificationPolicyTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ExpiringCouponsNotificationPolicy + //private ExpiringCouponsNotificationPolicy instance; + + public ExpiringCouponsNotificationPolicyTests() + { + // TODO uncomment below to create an instance of ExpiringCouponsNotificationPolicy + //instance = new ExpiringCouponsNotificationPolicy(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ExpiringCouponsNotificationPolicy + /// + [Fact] + public void ExpiringCouponsNotificationPolicyInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ExpiringCouponsNotificationPolicy + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ExpiringCouponsNotificationPolicy"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'Triggers' + /// + [Fact] + public void TriggersTest() + { + // TODO unit test for the property 'Triggers' + } + /// + /// Test the property 'BatchingEnabled' + /// + [Fact] + public void BatchingEnabledTest() + { + // TODO unit test for the property 'BatchingEnabled' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ExpiringCouponsNotificationTriggerTests.cs b/src/TalonOne.Test/Model/ExpiringCouponsNotificationTriggerTests.cs new file mode 100644 index 0000000..5d615e3 --- /dev/null +++ b/src/TalonOne.Test/Model/ExpiringCouponsNotificationTriggerTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing ExpiringCouponsNotificationTrigger + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ExpiringCouponsNotificationTriggerTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ExpiringCouponsNotificationTrigger + //private ExpiringCouponsNotificationTrigger instance; + + public ExpiringCouponsNotificationTriggerTests() + { + // TODO uncomment below to create an instance of ExpiringCouponsNotificationTrigger + //instance = new ExpiringCouponsNotificationTrigger(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ExpiringCouponsNotificationTrigger + /// + [Fact] + public void ExpiringCouponsNotificationTriggerInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" ExpiringCouponsNotificationTrigger + //Assert.IsInstanceOfType (instance, "variable 'instance' is a ExpiringCouponsNotificationTrigger"); + } + + + /// + /// Test the property 'Amount' + /// + [Fact] + public void AmountTest() + { + // TODO unit test for the property 'Amount' + } + /// + /// Test the property 'Period' + /// + [Fact] + public void PeriodTest() + { + // TODO unit test for the property 'Period' + } + + } + +} diff --git a/src/TalonOne.Test/Model/ExpiringPointsNotificationPolicyTests.cs b/src/TalonOne.Test/Model/ExpiringPointsNotificationPolicyTests.cs index d46ca43..8824e2e 100644 --- a/src/TalonOne.Test/Model/ExpiringPointsNotificationPolicyTests.cs +++ b/src/TalonOne.Test/Model/ExpiringPointsNotificationPolicyTests.cs @@ -73,6 +73,14 @@ public void TriggersTest() { // TODO unit test for the property 'Triggers' } + /// + /// Test the property 'BatchingEnabled' + /// + [Fact] + public void BatchingEnabledTest() + { + // TODO unit test for the property 'BatchingEnabled' + } } diff --git a/src/TalonOne.Test/Model/GetIntegrationCouponRequestTests.cs b/src/TalonOne.Test/Model/GetIntegrationCouponRequestTests.cs new file mode 100644 index 0000000..25f69b1 --- /dev/null +++ b/src/TalonOne.Test/Model/GetIntegrationCouponRequestTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing GetIntegrationCouponRequest + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class GetIntegrationCouponRequestTests : IDisposable + { + // TODO uncomment below to declare an instance variable for GetIntegrationCouponRequest + //private GetIntegrationCouponRequest instance; + + public GetIntegrationCouponRequestTests() + { + // TODO uncomment below to create an instance of GetIntegrationCouponRequest + //instance = new GetIntegrationCouponRequest(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of GetIntegrationCouponRequest + /// + [Fact] + public void GetIntegrationCouponRequestInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" GetIntegrationCouponRequest + //Assert.IsInstanceOfType (instance, "variable 'instance' is a GetIntegrationCouponRequest"); + } + + + /// + /// Test the property 'CampaignIds' + /// + [Fact] + public void CampaignIdsTest() + { + // TODO unit test for the property 'CampaignIds' + } + /// + /// Test the property 'Limit' + /// + [Fact] + public void LimitTest() + { + // TODO unit test for the property 'Limit' + } + + } + +} diff --git a/src/TalonOne.Test/Model/IncreaseAchievementProgressEffectPropsTests.cs b/src/TalonOne.Test/Model/IncreaseAchievementProgressEffectPropsTests.cs new file mode 100644 index 0000000..9c6c606 --- /dev/null +++ b/src/TalonOne.Test/Model/IncreaseAchievementProgressEffectPropsTests.cs @@ -0,0 +1,119 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing IncreaseAchievementProgressEffectProps + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class IncreaseAchievementProgressEffectPropsTests : IDisposable + { + // TODO uncomment below to declare an instance variable for IncreaseAchievementProgressEffectProps + //private IncreaseAchievementProgressEffectProps instance; + + public IncreaseAchievementProgressEffectPropsTests() + { + // TODO uncomment below to create an instance of IncreaseAchievementProgressEffectProps + //instance = new IncreaseAchievementProgressEffectProps(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of IncreaseAchievementProgressEffectProps + /// + [Fact] + public void IncreaseAchievementProgressEffectPropsInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" IncreaseAchievementProgressEffectProps + //Assert.IsInstanceOfType (instance, "variable 'instance' is a IncreaseAchievementProgressEffectProps"); + } + + + /// + /// Test the property 'AchievementId' + /// + [Fact] + public void AchievementIdTest() + { + // TODO unit test for the property 'AchievementId' + } + /// + /// Test the property 'AchievementName' + /// + [Fact] + public void AchievementNameTest() + { + // TODO unit test for the property 'AchievementName' + } + /// + /// Test the property 'ProgressTrackerId' + /// + [Fact] + public void ProgressTrackerIdTest() + { + // TODO unit test for the property 'ProgressTrackerId' + } + /// + /// Test the property 'Delta' + /// + [Fact] + public void DeltaTest() + { + // TODO unit test for the property 'Delta' + } + /// + /// Test the property 'Value' + /// + [Fact] + public void ValueTest() + { + // TODO unit test for the property 'Value' + } + /// + /// Test the property 'Target' + /// + [Fact] + public void TargetTest() + { + // TODO unit test for the property 'Target' + } + /// + /// Test the property 'IsJustCompleted' + /// + [Fact] + public void IsJustCompletedTest() + { + // TODO unit test for the property 'IsJustCompleted' + } + + } + +} diff --git a/src/TalonOne.Test/Model/InlineResponse20013Tests.cs b/src/TalonOne.Test/Model/InlineResponse20013Tests.cs index 25b5a4b..5155247 100644 --- a/src/TalonOne.Test/Model/InlineResponse20013Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20013Tests.cs @@ -58,12 +58,12 @@ public void InlineResponse20013InstanceTest() /// - /// Test the property 'HasMore' + /// Test the property 'TotalResultSize' /// [Fact] - public void HasMoreTest() + public void TotalResultSizeTest() { - // TODO unit test for the property 'HasMore' + // TODO unit test for the property 'TotalResultSize' } /// /// Test the property 'Data' diff --git a/src/TalonOne.Test/Model/InlineResponse20015Tests.cs b/src/TalonOne.Test/Model/InlineResponse20015Tests.cs index 52c81d7..8722e8e 100644 --- a/src/TalonOne.Test/Model/InlineResponse20015Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20015Tests.cs @@ -66,14 +66,6 @@ public void HasMoreTest() // TODO unit test for the property 'HasMore' } /// - /// Test the property 'TotalResultSize' - /// - [Fact] - public void TotalResultSizeTest() - { - // TODO unit test for the property 'TotalResultSize' - } - /// /// Test the property 'Data' /// [Fact] diff --git a/src/TalonOne.Test/Model/InlineResponse20019Tests.cs b/src/TalonOne.Test/Model/InlineResponse20019Tests.cs index 595d12a..868de16 100644 --- a/src/TalonOne.Test/Model/InlineResponse20019Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20019Tests.cs @@ -58,12 +58,12 @@ public void InlineResponse20019InstanceTest() /// - /// Test the property 'TotalResultSize' + /// Test the property 'HasMore' /// [Fact] - public void TotalResultSizeTest() + public void HasMoreTest() { - // TODO unit test for the property 'TotalResultSize' + // TODO unit test for the property 'HasMore' } /// /// Test the property 'Data' diff --git a/src/TalonOne.Test/Model/InlineResponse20021Tests.cs b/src/TalonOne.Test/Model/InlineResponse20021Tests.cs index c95ff73..c59ae0d 100644 --- a/src/TalonOne.Test/Model/InlineResponse20021Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20021Tests.cs @@ -66,14 +66,6 @@ public void TotalResultSizeTest() // TODO unit test for the property 'TotalResultSize' } /// - /// Test the property 'HasMore' - /// - [Fact] - public void HasMoreTest() - { - // TODO unit test for the property 'HasMore' - } - /// /// Test the property 'Data' /// [Fact] diff --git a/src/TalonOne.Test/Model/InlineResponse20022Tests.cs b/src/TalonOne.Test/Model/InlineResponse20022Tests.cs index 892725f..7efbf62 100644 --- a/src/TalonOne.Test/Model/InlineResponse20022Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20022Tests.cs @@ -58,20 +58,20 @@ public void InlineResponse20022InstanceTest() /// - /// Test the property 'HasMore' + /// Test the property 'TotalResultSize' /// [Fact] - public void HasMoreTest() + public void TotalResultSizeTest() { - // TODO unit test for the property 'HasMore' + // TODO unit test for the property 'TotalResultSize' } /// - /// Test the property 'TotalResultSize' + /// Test the property 'HasMore' /// [Fact] - public void TotalResultSizeTest() + public void HasMoreTest() { - // TODO unit test for the property 'TotalResultSize' + // TODO unit test for the property 'HasMore' } /// /// Test the property 'Data' diff --git a/src/TalonOne.Test/Model/InlineResponse20024Tests.cs b/src/TalonOne.Test/Model/InlineResponse20024Tests.cs index 7e50e2b..9941a5e 100644 --- a/src/TalonOne.Test/Model/InlineResponse20024Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20024Tests.cs @@ -66,6 +66,14 @@ public void HasMoreTest() // TODO unit test for the property 'HasMore' } /// + /// Test the property 'TotalResultSize' + /// + [Fact] + public void TotalResultSizeTest() + { + // TODO unit test for the property 'TotalResultSize' + } + /// /// Test the property 'Data' /// [Fact] diff --git a/src/TalonOne.Test/Model/InlineResponse20028Tests.cs b/src/TalonOne.Test/Model/InlineResponse20028Tests.cs index e025f41..4b58a04 100644 --- a/src/TalonOne.Test/Model/InlineResponse20028Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20028Tests.cs @@ -58,12 +58,12 @@ public void InlineResponse20028InstanceTest() /// - /// Test the property 'TotalResultSize' + /// Test the property 'HasMore' /// [Fact] - public void TotalResultSizeTest() + public void HasMoreTest() { - // TODO unit test for the property 'TotalResultSize' + // TODO unit test for the property 'HasMore' } /// /// Test the property 'Data' diff --git a/src/TalonOne.Test/Model/InlineResponse20029Tests.cs b/src/TalonOne.Test/Model/InlineResponse20029Tests.cs index 40a2376..f5c676f 100644 --- a/src/TalonOne.Test/Model/InlineResponse20029Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20029Tests.cs @@ -57,14 +57,6 @@ public void InlineResponse20029InstanceTest() } - /// - /// Test the property 'HasMore' - /// - [Fact] - public void HasMoreTest() - { - // TODO unit test for the property 'HasMore' - } /// /// Test the property 'TotalResultSize' /// diff --git a/src/TalonOne.Test/Model/InlineResponse20031Tests.cs b/src/TalonOne.Test/Model/InlineResponse20031Tests.cs index e308dbd..040dcff 100644 --- a/src/TalonOne.Test/Model/InlineResponse20031Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20031Tests.cs @@ -58,12 +58,12 @@ public void InlineResponse20031InstanceTest() /// - /// Test the property 'TotalResultSize' + /// Test the property 'HasMore' /// [Fact] - public void TotalResultSizeTest() + public void HasMoreTest() { - // TODO unit test for the property 'TotalResultSize' + // TODO unit test for the property 'HasMore' } /// /// Test the property 'Data' diff --git a/src/TalonOne.Test/Model/InlineResponse20032Tests.cs b/src/TalonOne.Test/Model/InlineResponse20032Tests.cs index 13b6f6c..865603d 100644 --- a/src/TalonOne.Test/Model/InlineResponse20032Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20032Tests.cs @@ -66,14 +66,6 @@ public void HasMoreTest() // TODO unit test for the property 'HasMore' } /// - /// Test the property 'TotalResultSize' - /// - [Fact] - public void TotalResultSizeTest() - { - // TODO unit test for the property 'TotalResultSize' - } - /// /// Test the property 'Data' /// [Fact] diff --git a/src/TalonOne.Test/Model/InlineResponse20033Tests.cs b/src/TalonOne.Test/Model/InlineResponse20033Tests.cs index 6d6db70..eccd1b0 100644 --- a/src/TalonOne.Test/Model/InlineResponse20033Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20033Tests.cs @@ -57,6 +57,14 @@ public void InlineResponse20033InstanceTest() } + /// + /// Test the property 'HasMore' + /// + [Fact] + public void HasMoreTest() + { + // TODO unit test for the property 'HasMore' + } /// /// Test the property 'TotalResultSize' /// diff --git a/src/TalonOne.Test/Model/InlineResponse20035Tests.cs b/src/TalonOne.Test/Model/InlineResponse20035Tests.cs index f5fc226..22fdff5 100644 --- a/src/TalonOne.Test/Model/InlineResponse20035Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20035Tests.cs @@ -57,6 +57,14 @@ public void InlineResponse20035InstanceTest() } + /// + /// Test the property 'HasMore' + /// + [Fact] + public void HasMoreTest() + { + // TODO unit test for the property 'HasMore' + } /// /// Test the property 'TotalResultSize' /// diff --git a/src/TalonOne.Test/Model/InlineResponse20039Tests.cs b/src/TalonOne.Test/Model/InlineResponse20039Tests.cs index 0a3b8f1..ea53b53 100644 --- a/src/TalonOne.Test/Model/InlineResponse20039Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse20039Tests.cs @@ -66,14 +66,6 @@ public void TotalResultSizeTest() // TODO unit test for the property 'TotalResultSize' } /// - /// Test the property 'HasMore' - /// - [Fact] - public void HasMoreTest() - { - // TODO unit test for the property 'HasMore' - } - /// /// Test the property 'Data' /// [Fact] diff --git a/src/TalonOne.Test/Model/InlineResponse2003Tests.cs b/src/TalonOne.Test/Model/InlineResponse2003Tests.cs index 1cc4703..61afaac 100644 --- a/src/TalonOne.Test/Model/InlineResponse2003Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse2003Tests.cs @@ -58,12 +58,12 @@ public void InlineResponse2003InstanceTest() /// - /// Test the property 'TotalResultSize' + /// Test the property 'HasMore' /// [Fact] - public void TotalResultSizeTest() + public void HasMoreTest() { - // TODO unit test for the property 'TotalResultSize' + // TODO unit test for the property 'HasMore' } /// /// Test the property 'Data' diff --git a/src/TalonOne.Test/Model/InlineResponse20042Tests.cs b/src/TalonOne.Test/Model/InlineResponse20042Tests.cs new file mode 100644 index 0000000..78c1b00 --- /dev/null +++ b/src/TalonOne.Test/Model/InlineResponse20042Tests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing InlineResponse20042 + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class InlineResponse20042Tests : IDisposable + { + // TODO uncomment below to declare an instance variable for InlineResponse20042 + //private InlineResponse20042 instance; + + public InlineResponse20042Tests() + { + // TODO uncomment below to create an instance of InlineResponse20042 + //instance = new InlineResponse20042(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of InlineResponse20042 + /// + [Fact] + public void InlineResponse20042InstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" InlineResponse20042 + //Assert.IsInstanceOfType (instance, "variable 'instance' is a InlineResponse20042"); + } + + + /// + /// Test the property 'TotalResultSize' + /// + [Fact] + public void TotalResultSizeTest() + { + // TODO unit test for the property 'TotalResultSize' + } + /// + /// Test the property 'HasMore' + /// + [Fact] + public void HasMoreTest() + { + // TODO unit test for the property 'HasMore' + } + /// + /// Test the property 'Data' + /// + [Fact] + public void DataTest() + { + // TODO unit test for the property 'Data' + } + + } + +} diff --git a/src/TalonOne.Test/Model/InlineResponse20043Tests.cs b/src/TalonOne.Test/Model/InlineResponse20043Tests.cs new file mode 100644 index 0000000..544ac05 --- /dev/null +++ b/src/TalonOne.Test/Model/InlineResponse20043Tests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing InlineResponse20043 + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class InlineResponse20043Tests : IDisposable + { + // TODO uncomment below to declare an instance variable for InlineResponse20043 + //private InlineResponse20043 instance; + + public InlineResponse20043Tests() + { + // TODO uncomment below to create an instance of InlineResponse20043 + //instance = new InlineResponse20043(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of InlineResponse20043 + /// + [Fact] + public void InlineResponse20043InstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" InlineResponse20043 + //Assert.IsInstanceOfType (instance, "variable 'instance' is a InlineResponse20043"); + } + + + /// + /// Test the property 'TotalResultSize' + /// + [Fact] + public void TotalResultSizeTest() + { + // TODO unit test for the property 'TotalResultSize' + } + /// + /// Test the property 'Data' + /// + [Fact] + public void DataTest() + { + // TODO unit test for the property 'Data' + } + + } + +} diff --git a/src/TalonOne.Test/Model/InlineResponse20044Tests.cs b/src/TalonOne.Test/Model/InlineResponse20044Tests.cs new file mode 100644 index 0000000..cb8db89 --- /dev/null +++ b/src/TalonOne.Test/Model/InlineResponse20044Tests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing InlineResponse20044 + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class InlineResponse20044Tests : IDisposable + { + // TODO uncomment below to declare an instance variable for InlineResponse20044 + //private InlineResponse20044 instance; + + public InlineResponse20044Tests() + { + // TODO uncomment below to create an instance of InlineResponse20044 + //instance = new InlineResponse20044(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of InlineResponse20044 + /// + [Fact] + public void InlineResponse20044InstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" InlineResponse20044 + //Assert.IsInstanceOfType (instance, "variable 'instance' is a InlineResponse20044"); + } + + + /// + /// Test the property 'TotalResultSize' + /// + [Fact] + public void TotalResultSizeTest() + { + // TODO unit test for the property 'TotalResultSize' + } + /// + /// Test the property 'Data' + /// + [Fact] + public void DataTest() + { + // TODO unit test for the property 'Data' + } + + } + +} diff --git a/src/TalonOne.Test/Model/InlineResponse20045Tests.cs b/src/TalonOne.Test/Model/InlineResponse20045Tests.cs new file mode 100644 index 0000000..70cf42e --- /dev/null +++ b/src/TalonOne.Test/Model/InlineResponse20045Tests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing InlineResponse20045 + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class InlineResponse20045Tests : IDisposable + { + // TODO uncomment below to declare an instance variable for InlineResponse20045 + //private InlineResponse20045 instance; + + public InlineResponse20045Tests() + { + // TODO uncomment below to create an instance of InlineResponse20045 + //instance = new InlineResponse20045(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of InlineResponse20045 + /// + [Fact] + public void InlineResponse20045InstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" InlineResponse20045 + //Assert.IsInstanceOfType (instance, "variable 'instance' is a InlineResponse20045"); + } + + + /// + /// Test the property 'HasMore' + /// + [Fact] + public void HasMoreTest() + { + // TODO unit test for the property 'HasMore' + } + /// + /// Test the property 'TotalResultSize' + /// + [Fact] + public void TotalResultSizeTest() + { + // TODO unit test for the property 'TotalResultSize' + } + /// + /// Test the property 'Data' + /// + [Fact] + public void DataTest() + { + // TODO unit test for the property 'Data' + } + + } + +} diff --git a/src/TalonOne.Test/Model/InlineResponse20046Tests.cs b/src/TalonOne.Test/Model/InlineResponse20046Tests.cs new file mode 100644 index 0000000..94de523 --- /dev/null +++ b/src/TalonOne.Test/Model/InlineResponse20046Tests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing InlineResponse20046 + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class InlineResponse20046Tests : IDisposable + { + // TODO uncomment below to declare an instance variable for InlineResponse20046 + //private InlineResponse20046 instance; + + public InlineResponse20046Tests() + { + // TODO uncomment below to create an instance of InlineResponse20046 + //instance = new InlineResponse20046(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of InlineResponse20046 + /// + [Fact] + public void InlineResponse20046InstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" InlineResponse20046 + //Assert.IsInstanceOfType (instance, "variable 'instance' is a InlineResponse20046"); + } + + + /// + /// Test the property 'HasMore' + /// + [Fact] + public void HasMoreTest() + { + // TODO unit test for the property 'HasMore' + } + /// + /// Test the property 'Data' + /// + [Fact] + public void DataTest() + { + // TODO unit test for the property 'Data' + } + + } + +} diff --git a/src/TalonOne.Test/Model/InlineResponse20047Tests.cs b/src/TalonOne.Test/Model/InlineResponse20047Tests.cs new file mode 100644 index 0000000..6281a77 --- /dev/null +++ b/src/TalonOne.Test/Model/InlineResponse20047Tests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing InlineResponse20047 + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class InlineResponse20047Tests : IDisposable + { + // TODO uncomment below to declare an instance variable for InlineResponse20047 + //private InlineResponse20047 instance; + + public InlineResponse20047Tests() + { + // TODO uncomment below to create an instance of InlineResponse20047 + //instance = new InlineResponse20047(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of InlineResponse20047 + /// + [Fact] + public void InlineResponse20047InstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" InlineResponse20047 + //Assert.IsInstanceOfType (instance, "variable 'instance' is a InlineResponse20047"); + } + + + /// + /// Test the property 'HasMore' + /// + [Fact] + public void HasMoreTest() + { + // TODO unit test for the property 'HasMore' + } + /// + /// Test the property 'Data' + /// + [Fact] + public void DataTest() + { + // TODO unit test for the property 'Data' + } + + } + +} diff --git a/src/TalonOne.Test/Model/InlineResponse2004Tests.cs b/src/TalonOne.Test/Model/InlineResponse2004Tests.cs index e99e7e4..cbdc824 100644 --- a/src/TalonOne.Test/Model/InlineResponse2004Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse2004Tests.cs @@ -58,12 +58,12 @@ public void InlineResponse2004InstanceTest() /// - /// Test the property 'TotalResultSize' + /// Test the property 'HasMore' /// [Fact] - public void TotalResultSizeTest() + public void HasMoreTest() { - // TODO unit test for the property 'TotalResultSize' + // TODO unit test for the property 'HasMore' } /// /// Test the property 'Data' diff --git a/src/TalonOne.Test/Model/InlineResponse2008Tests.cs b/src/TalonOne.Test/Model/InlineResponse2008Tests.cs index e2b34e0..4542548 100644 --- a/src/TalonOne.Test/Model/InlineResponse2008Tests.cs +++ b/src/TalonOne.Test/Model/InlineResponse2008Tests.cs @@ -58,12 +58,12 @@ public void InlineResponse2008InstanceTest() /// - /// Test the property 'HasMore' + /// Test the property 'TotalResultSize' /// [Fact] - public void HasMoreTest() + public void TotalResultSizeTest() { - // TODO unit test for the property 'HasMore' + // TODO unit test for the property 'TotalResultSize' } /// /// Test the property 'Data' diff --git a/src/TalonOne.Test/Model/IntegrationCouponTests.cs b/src/TalonOne.Test/Model/IntegrationCouponTests.cs index 35daeb4..0b43a62 100644 --- a/src/TalonOne.Test/Model/IntegrationCouponTests.cs +++ b/src/TalonOne.Test/Model/IntegrationCouponTests.cs @@ -226,6 +226,14 @@ public void IsReservationMandatoryTest() // TODO unit test for the property 'IsReservationMandatory' } /// + /// Test the property 'ImplicitlyReserved' + /// + [Fact] + public void ImplicitlyReservedTest() + { + // TODO unit test for the property 'ImplicitlyReserved' + } + /// /// Test the property 'ProfileRedemptionCount' /// [Fact] diff --git a/src/TalonOne.Test/Model/IntegrationEventTests.cs b/src/TalonOne.Test/Model/IntegrationEventTests.cs index 87171fd..46e3e84 100644 --- a/src/TalonOne.Test/Model/IntegrationEventTests.cs +++ b/src/TalonOne.Test/Model/IntegrationEventTests.cs @@ -66,6 +66,14 @@ public void ProfileIdTest() // TODO unit test for the property 'ProfileId' } /// + /// Test the property 'StoreIntegrationId' + /// + [Fact] + public void StoreIntegrationIdTest() + { + // TODO unit test for the property 'StoreIntegrationId' + } + /// /// Test the property 'Type' /// [Fact] diff --git a/src/TalonOne.Test/Model/IntegrationEventV2RequestTests.cs b/src/TalonOne.Test/Model/IntegrationEventV2RequestTests.cs index 23977e2..d7d5c2b 100644 --- a/src/TalonOne.Test/Model/IntegrationEventV2RequestTests.cs +++ b/src/TalonOne.Test/Model/IntegrationEventV2RequestTests.cs @@ -66,6 +66,14 @@ public void ProfileIdTest() // TODO unit test for the property 'ProfileId' } /// + /// Test the property 'StoreIntegrationId' + /// + [Fact] + public void StoreIntegrationIdTest() + { + // TODO unit test for the property 'StoreIntegrationId' + } + /// /// Test the property 'EvaluableCampaignIds' /// [Fact] diff --git a/src/TalonOne.Test/Model/IntegrationStoreEntityTests.cs b/src/TalonOne.Test/Model/IntegrationStoreEntityTests.cs new file mode 100644 index 0000000..2808af9 --- /dev/null +++ b/src/TalonOne.Test/Model/IntegrationStoreEntityTests.cs @@ -0,0 +1,71 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing IntegrationStoreEntity + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class IntegrationStoreEntityTests : IDisposable + { + // TODO uncomment below to declare an instance variable for IntegrationStoreEntity + //private IntegrationStoreEntity instance; + + public IntegrationStoreEntityTests() + { + // TODO uncomment below to create an instance of IntegrationStoreEntity + //instance = new IntegrationStoreEntity(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of IntegrationStoreEntity + /// + [Fact] + public void IntegrationStoreEntityInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" IntegrationStoreEntity + //Assert.IsInstanceOfType (instance, "variable 'instance' is a IntegrationStoreEntity"); + } + + + /// + /// Test the property 'StoreIntegrationId' + /// + [Fact] + public void StoreIntegrationIdTest() + { + // TODO unit test for the property 'StoreIntegrationId' + } + + } + +} diff --git a/src/TalonOne.Test/Model/InventoryCouponTests.cs b/src/TalonOne.Test/Model/InventoryCouponTests.cs index e594d57..c4c93b2 100644 --- a/src/TalonOne.Test/Model/InventoryCouponTests.cs +++ b/src/TalonOne.Test/Model/InventoryCouponTests.cs @@ -226,6 +226,14 @@ public void IsReservationMandatoryTest() // TODO unit test for the property 'IsReservationMandatory' } /// + /// Test the property 'ImplicitlyReserved' + /// + [Fact] + public void ImplicitlyReservedTest() + { + // TODO unit test for the property 'ImplicitlyReserved' + } + /// /// Test the property 'ProfileRedemptionCount' /// [Fact] diff --git a/src/TalonOne.Test/Model/LedgerPointsEntryIntegrationAPITests.cs b/src/TalonOne.Test/Model/LedgerPointsEntryIntegrationAPITests.cs new file mode 100644 index 0000000..64cbf6b --- /dev/null +++ b/src/TalonOne.Test/Model/LedgerPointsEntryIntegrationAPITests.cs @@ -0,0 +1,135 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing LedgerPointsEntryIntegrationAPI + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class LedgerPointsEntryIntegrationAPITests : IDisposable + { + // TODO uncomment below to declare an instance variable for LedgerPointsEntryIntegrationAPI + //private LedgerPointsEntryIntegrationAPI instance; + + public LedgerPointsEntryIntegrationAPITests() + { + // TODO uncomment below to create an instance of LedgerPointsEntryIntegrationAPI + //instance = new LedgerPointsEntryIntegrationAPI(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of LedgerPointsEntryIntegrationAPI + /// + [Fact] + public void LedgerPointsEntryIntegrationAPIInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" LedgerPointsEntryIntegrationAPI + //Assert.IsInstanceOfType (instance, "variable 'instance' is a LedgerPointsEntryIntegrationAPI"); + } + + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + /// + /// Test the property 'Created' + /// + [Fact] + public void CreatedTest() + { + // TODO unit test for the property 'Created' + } + /// + /// Test the property 'ProgramId' + /// + [Fact] + public void ProgramIdTest() + { + // TODO unit test for the property 'ProgramId' + } + /// + /// Test the property 'CustomerSessionId' + /// + [Fact] + public void CustomerSessionIdTest() + { + // TODO unit test for the property 'CustomerSessionId' + } + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'StartDate' + /// + [Fact] + public void StartDateTest() + { + // TODO unit test for the property 'StartDate' + } + /// + /// Test the property 'ExpiryDate' + /// + [Fact] + public void ExpiryDateTest() + { + // TODO unit test for the property 'ExpiryDate' + } + /// + /// Test the property 'SubledgerId' + /// + [Fact] + public void SubledgerIdTest() + { + // TODO unit test for the property 'SubledgerId' + } + /// + /// Test the property 'Amount' + /// + [Fact] + public void AmountTest() + { + // TODO unit test for the property 'Amount' + } + + } + +} diff --git a/src/TalonOne.Test/Model/LoyaltyCardBalancesTests.cs b/src/TalonOne.Test/Model/LoyaltyCardBalancesTests.cs new file mode 100644 index 0000000..63abf86 --- /dev/null +++ b/src/TalonOne.Test/Model/LoyaltyCardBalancesTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing LoyaltyCardBalances + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class LoyaltyCardBalancesTests : IDisposable + { + // TODO uncomment below to declare an instance variable for LoyaltyCardBalances + //private LoyaltyCardBalances instance; + + public LoyaltyCardBalancesTests() + { + // TODO uncomment below to create an instance of LoyaltyCardBalances + //instance = new LoyaltyCardBalances(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of LoyaltyCardBalances + /// + [Fact] + public void LoyaltyCardBalancesInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" LoyaltyCardBalances + //Assert.IsInstanceOfType (instance, "variable 'instance' is a LoyaltyCardBalances"); + } + + + /// + /// Test the property 'Balance' + /// + [Fact] + public void BalanceTest() + { + // TODO unit test for the property 'Balance' + } + /// + /// Test the property 'SubledgerBalances' + /// + [Fact] + public void SubledgerBalancesTest() + { + // TODO unit test for the property 'SubledgerBalances' + } + /// + /// Test the property 'Profiles' + /// + [Fact] + public void ProfilesTest() + { + // TODO unit test for the property 'Profiles' + } + + } + +} diff --git a/src/TalonOne.Test/Model/LoyaltyProgramLedgersTests.cs b/src/TalonOne.Test/Model/LoyaltyProgramLedgersTests.cs index d874ae9..b3c897d 100644 --- a/src/TalonOne.Test/Model/LoyaltyProgramLedgersTests.cs +++ b/src/TalonOne.Test/Model/LoyaltyProgramLedgersTests.cs @@ -82,6 +82,14 @@ public void NameTest() // TODO unit test for the property 'Name' } /// + /// Test the property 'JoinDate' + /// + [Fact] + public void JoinDateTest() + { + // TODO unit test for the property 'JoinDate' + } + /// /// Test the property 'Ledger' /// [Fact] diff --git a/src/TalonOne.Test/Model/LoyaltyProgramTests.cs b/src/TalonOne.Test/Model/LoyaltyProgramTests.cs index 347bc95..f572f4b 100644 --- a/src/TalonOne.Test/Model/LoyaltyProgramTests.cs +++ b/src/TalonOne.Test/Model/LoyaltyProgramTests.cs @@ -138,6 +138,14 @@ public void SandboxTest() // TODO unit test for the property 'Sandbox' } /// + /// Test the property 'TiersExpirationPolicy' + /// + [Fact] + public void TiersExpirationPolicyTest() + { + // TODO unit test for the property 'TiersExpirationPolicy' + } + /// /// Test the property 'TiersExpireIn' /// [Fact] @@ -154,6 +162,14 @@ public void TiersDowngradePolicyTest() // TODO unit test for the property 'TiersDowngradePolicy' } /// + /// Test the property 'ProgramJoinPolicy' + /// + [Fact] + public void ProgramJoinPolicyTest() + { + // TODO unit test for the property 'ProgramJoinPolicy' + } + /// /// Test the property 'AccountID' /// [Fact] @@ -202,6 +218,14 @@ public void CanUpdateTiersTest() // TODO unit test for the property 'CanUpdateTiers' } /// + /// Test the property 'CanUpdateJoinPolicy' + /// + [Fact] + public void CanUpdateJoinPolicyTest() + { + // TODO unit test for the property 'CanUpdateJoinPolicy' + } + /// /// Test the property 'CanUpgradeToAdvancedTiers' /// [Fact] diff --git a/src/TalonOne.Test/Model/LoyaltyProgramTransactionTests.cs b/src/TalonOne.Test/Model/LoyaltyProgramTransactionTests.cs index a8b11f6..be33c08 100644 --- a/src/TalonOne.Test/Model/LoyaltyProgramTransactionTests.cs +++ b/src/TalonOne.Test/Model/LoyaltyProgramTransactionTests.cs @@ -74,6 +74,14 @@ public void ProgramIdTest() // TODO unit test for the property 'ProgramId' } /// + /// Test the property 'CampaignId' + /// + [Fact] + public void CampaignIdTest() + { + // TODO unit test for the property 'CampaignId' + } + /// /// Test the property 'Created' /// [Fact] diff --git a/src/TalonOne.Test/Model/MessageLogEntriesTests.cs b/src/TalonOne.Test/Model/MessageLogEntriesTests.cs new file mode 100644 index 0000000..7c39be5 --- /dev/null +++ b/src/TalonOne.Test/Model/MessageLogEntriesTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing MessageLogEntries + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class MessageLogEntriesTests : IDisposable + { + // TODO uncomment below to declare an instance variable for MessageLogEntries + //private MessageLogEntries instance; + + public MessageLogEntriesTests() + { + // TODO uncomment below to create an instance of MessageLogEntries + //instance = new MessageLogEntries(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of MessageLogEntries + /// + [Fact] + public void MessageLogEntriesInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" MessageLogEntries + //Assert.IsInstanceOfType (instance, "variable 'instance' is a MessageLogEntries"); + } + + + /// + /// Test the property 'NextCursor' + /// + [Fact] + public void NextCursorTest() + { + // TODO unit test for the property 'NextCursor' + } + /// + /// Test the property 'Data' + /// + [Fact] + public void DataTest() + { + // TODO unit test for the property 'Data' + } + + } + +} diff --git a/src/TalonOne.Test/Model/MessageLogEntryTests.cs b/src/TalonOne.Test/Model/MessageLogEntryTests.cs new file mode 100644 index 0000000..6884be5 --- /dev/null +++ b/src/TalonOne.Test/Model/MessageLogEntryTests.cs @@ -0,0 +1,151 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing MessageLogEntry + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class MessageLogEntryTests : IDisposable + { + // TODO uncomment below to declare an instance variable for MessageLogEntry + //private MessageLogEntry instance; + + public MessageLogEntryTests() + { + // TODO uncomment below to create an instance of MessageLogEntry + //instance = new MessageLogEntry(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of MessageLogEntry + /// + [Fact] + public void MessageLogEntryInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" MessageLogEntry + //Assert.IsInstanceOfType (instance, "variable 'instance' is a MessageLogEntry"); + } + + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + /// + /// Test the property 'Service' + /// + [Fact] + public void ServiceTest() + { + // TODO unit test for the property 'Service' + } + /// + /// Test the property 'ChangeType' + /// + [Fact] + public void ChangeTypeTest() + { + // TODO unit test for the property 'ChangeType' + } + /// + /// Test the property 'NotificationId' + /// + [Fact] + public void NotificationIdTest() + { + // TODO unit test for the property 'NotificationId' + } + /// + /// Test the property 'NotificationName' + /// + [Fact] + public void NotificationNameTest() + { + // TODO unit test for the property 'NotificationName' + } + /// + /// Test the property 'Request' + /// + [Fact] + public void RequestTest() + { + // TODO unit test for the property 'Request' + } + /// + /// Test the property 'Response' + /// + [Fact] + public void ResponseTest() + { + // TODO unit test for the property 'Response' + } + /// + /// Test the property 'CreatedAt' + /// + [Fact] + public void CreatedAtTest() + { + // TODO unit test for the property 'CreatedAt' + } + /// + /// Test the property 'EntityType' + /// + [Fact] + public void EntityTypeTest() + { + // TODO unit test for the property 'EntityType' + } + /// + /// Test the property 'ApplicationId' + /// + [Fact] + public void ApplicationIdTest() + { + // TODO unit test for the property 'ApplicationId' + } + /// + /// Test the property 'LoyaltyProgramId' + /// + [Fact] + public void LoyaltyProgramIdTest() + { + // TODO unit test for the property 'LoyaltyProgramId' + } + + } + +} diff --git a/src/TalonOne.Test/Model/MessageLogRequestTests.cs b/src/TalonOne.Test/Model/MessageLogRequestTests.cs new file mode 100644 index 0000000..2e4b42a --- /dev/null +++ b/src/TalonOne.Test/Model/MessageLogRequestTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing MessageLogRequest + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class MessageLogRequestTests : IDisposable + { + // TODO uncomment below to declare an instance variable for MessageLogRequest + //private MessageLogRequest instance; + + public MessageLogRequestTests() + { + // TODO uncomment below to create an instance of MessageLogRequest + //instance = new MessageLogRequest(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of MessageLogRequest + /// + [Fact] + public void MessageLogRequestInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" MessageLogRequest + //Assert.IsInstanceOfType (instance, "variable 'instance' is a MessageLogRequest"); + } + + + /// + /// Test the property 'CreatedAt' + /// + [Fact] + public void CreatedAtTest() + { + // TODO unit test for the property 'CreatedAt' + } + /// + /// Test the property 'Request' + /// + [Fact] + public void RequestTest() + { + // TODO unit test for the property 'Request' + } + + } + +} diff --git a/src/TalonOne.Test/Model/MessageLogResponseTests.cs b/src/TalonOne.Test/Model/MessageLogResponseTests.cs new file mode 100644 index 0000000..82d960c --- /dev/null +++ b/src/TalonOne.Test/Model/MessageLogResponseTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing MessageLogResponse + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class MessageLogResponseTests : IDisposable + { + // TODO uncomment below to declare an instance variable for MessageLogResponse + //private MessageLogResponse instance; + + public MessageLogResponseTests() + { + // TODO uncomment below to create an instance of MessageLogResponse + //instance = new MessageLogResponse(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of MessageLogResponse + /// + [Fact] + public void MessageLogResponseInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" MessageLogResponse + //Assert.IsInstanceOfType (instance, "variable 'instance' is a MessageLogResponse"); + } + + + /// + /// Test the property 'CreatedAt' + /// + [Fact] + public void CreatedAtTest() + { + // TODO unit test for the property 'CreatedAt' + } + /// + /// Test the property 'Response' + /// + [Fact] + public void ResponseTest() + { + // TODO unit test for the property 'Response' + } + /// + /// Test the property 'Status' + /// + [Fact] + public void StatusTest() + { + // TODO unit test for the property 'Status' + } + + } + +} diff --git a/src/TalonOne.Test/Model/NewApplicationAPIKeyTests.cs b/src/TalonOne.Test/Model/NewApplicationAPIKeyTests.cs index 63109b8..087f7f6 100644 --- a/src/TalonOne.Test/Model/NewApplicationAPIKeyTests.cs +++ b/src/TalonOne.Test/Model/NewApplicationAPIKeyTests.cs @@ -82,6 +82,22 @@ public void PlatformTest() // TODO unit test for the property 'Platform' } /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + /// + /// Test the property 'TimeOffset' + /// + [Fact] + public void TimeOffsetTest() + { + // TODO unit test for the property 'TimeOffset' + } + /// /// Test the property 'Id' /// [Fact] diff --git a/src/TalonOne.Test/Model/NewBaseNotificationTests.cs b/src/TalonOne.Test/Model/NewBaseNotificationTests.cs index cf8c795..2d4bc30 100644 --- a/src/TalonOne.Test/Model/NewBaseNotificationTests.cs +++ b/src/TalonOne.Test/Model/NewBaseNotificationTests.cs @@ -66,6 +66,14 @@ public void PolicyTest() // TODO unit test for the property 'Policy' } /// + /// Test the property 'Enabled' + /// + [Fact] + public void EnabledTest() + { + // TODO unit test for the property 'Enabled' + } + /// /// Test the property 'Webhook' /// [Fact] diff --git a/src/TalonOne.Test/Model/NewCampaignEvaluationGroupTests.cs b/src/TalonOne.Test/Model/NewCampaignEvaluationGroupTests.cs index 3e9eec4..7de3577 100644 --- a/src/TalonOne.Test/Model/NewCampaignEvaluationGroupTests.cs +++ b/src/TalonOne.Test/Model/NewCampaignEvaluationGroupTests.cs @@ -90,6 +90,14 @@ public void EvaluationModeTest() // TODO unit test for the property 'EvaluationMode' } /// + /// Test the property 'EvaluationScope' + /// + [Fact] + public void EvaluationScopeTest() + { + // TODO unit test for the property 'EvaluationScope' + } + /// /// Test the property 'Locked' /// [Fact] diff --git a/src/TalonOne.Test/Model/NewCampaignTemplateTests.cs b/src/TalonOne.Test/Model/NewCampaignTemplateTests.cs index 67e168d..a14499a 100644 --- a/src/TalonOne.Test/Model/NewCampaignTemplateTests.cs +++ b/src/TalonOne.Test/Model/NewCampaignTemplateTests.cs @@ -169,6 +169,14 @@ public void DefaultCampaignGroupIdTest() { // TODO unit test for the property 'DefaultCampaignGroupId' } + /// + /// Test the property 'CampaignType' + /// + [Fact] + public void CampaignTypeTest() + { + // TODO unit test for the property 'CampaignType' + } } diff --git a/src/TalonOne.Test/Model/NewCampaignTests.cs b/src/TalonOne.Test/Model/NewCampaignTests.cs index 353094b..472c6b1 100644 --- a/src/TalonOne.Test/Model/NewCampaignTests.cs +++ b/src/TalonOne.Test/Model/NewCampaignTests.cs @@ -162,6 +162,22 @@ public void CampaignGroupsTest() // TODO unit test for the property 'CampaignGroups' } /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + /// + /// Test the property 'LinkedStoreIds' + /// + [Fact] + public void LinkedStoreIdsTest() + { + // TODO unit test for the property 'LinkedStoreIds' + } + /// /// Test the property 'EvaluationGroupId' /// [Fact] diff --git a/src/TalonOne.Test/Model/NewCouponsTests.cs b/src/TalonOne.Test/Model/NewCouponsTests.cs index ddd0e86..684e038 100644 --- a/src/TalonOne.Test/Model/NewCouponsTests.cs +++ b/src/TalonOne.Test/Model/NewCouponsTests.cs @@ -161,6 +161,14 @@ public void IsReservationMandatoryTest() { // TODO unit test for the property 'IsReservationMandatory' } + /// + /// Test the property 'ImplicitlyReserved' + /// + [Fact] + public void ImplicitlyReservedTest() + { + // TODO unit test for the property 'ImplicitlyReserved' + } } diff --git a/src/TalonOne.Test/Model/NewCustomerSessionV2Tests.cs b/src/TalonOne.Test/Model/NewCustomerSessionV2Tests.cs index 480f0eb..09e5c0d 100644 --- a/src/TalonOne.Test/Model/NewCustomerSessionV2Tests.cs +++ b/src/TalonOne.Test/Model/NewCustomerSessionV2Tests.cs @@ -66,6 +66,14 @@ public void ProfileIdTest() // TODO unit test for the property 'ProfileId' } /// + /// Test the property 'StoreIntegrationId' + /// + [Fact] + public void StoreIntegrationIdTest() + { + // TODO unit test for the property 'StoreIntegrationId' + } + /// /// Test the property 'EvaluableCampaignIds' /// [Fact] diff --git a/src/TalonOne.Test/Model/NewEventTests.cs b/src/TalonOne.Test/Model/NewEventTests.cs index 2183047..c089624 100644 --- a/src/TalonOne.Test/Model/NewEventTests.cs +++ b/src/TalonOne.Test/Model/NewEventTests.cs @@ -66,6 +66,14 @@ public void ProfileIdTest() // TODO unit test for the property 'ProfileId' } /// + /// Test the property 'StoreIntegrationId' + /// + [Fact] + public void StoreIntegrationIdTest() + { + // TODO unit test for the property 'StoreIntegrationId' + } + /// /// Test the property 'Type' /// [Fact] diff --git a/src/TalonOne.Test/Model/NewExternalInvitationTests.cs b/src/TalonOne.Test/Model/NewExternalInvitationTests.cs new file mode 100644 index 0000000..ea80ec8 --- /dev/null +++ b/src/TalonOne.Test/Model/NewExternalInvitationTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing NewExternalInvitation + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class NewExternalInvitationTests : IDisposable + { + // TODO uncomment below to declare an instance variable for NewExternalInvitation + //private NewExternalInvitation instance; + + public NewExternalInvitationTests() + { + // TODO uncomment below to create an instance of NewExternalInvitation + //instance = new NewExternalInvitation(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of NewExternalInvitation + /// + [Fact] + public void NewExternalInvitationInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" NewExternalInvitation + //Assert.IsInstanceOfType (instance, "variable 'instance' is a NewExternalInvitation"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'UserGroups' + /// + [Fact] + public void UserGroupsTest() + { + // TODO unit test for the property 'UserGroups' + } + /// + /// Test the property 'Email' + /// + [Fact] + public void EmailTest() + { + // TODO unit test for the property 'Email' + } + + } + +} diff --git a/src/TalonOne.Test/Model/NewInvitationTests.cs b/src/TalonOne.Test/Model/NewInvitationTests.cs index 1016730..df1b73c 100644 --- a/src/TalonOne.Test/Model/NewInvitationTests.cs +++ b/src/TalonOne.Test/Model/NewInvitationTests.cs @@ -74,12 +74,12 @@ public void EmailTest() // TODO unit test for the property 'Email' } /// - /// Test the property 'Acl' + /// Test the property 'IsAdmin' /// [Fact] - public void AclTest() + public void IsAdminTest() { - // TODO unit test for the property 'Acl' + // TODO unit test for the property 'IsAdmin' } /// /// Test the property 'Roles' @@ -89,6 +89,14 @@ public void RolesTest() { // TODO unit test for the property 'Roles' } + /// + /// Test the property 'Acl' + /// + [Fact] + public void AclTest() + { + // TODO unit test for the property 'Acl' + } } diff --git a/src/TalonOne.Test/Model/NewLoyaltyProgramTests.cs b/src/TalonOne.Test/Model/NewLoyaltyProgramTests.cs index 602eb09..e2d23ae 100644 --- a/src/TalonOne.Test/Model/NewLoyaltyProgramTests.cs +++ b/src/TalonOne.Test/Model/NewLoyaltyProgramTests.cs @@ -122,6 +122,14 @@ public void SandboxTest() // TODO unit test for the property 'Sandbox' } /// + /// Test the property 'TiersExpirationPolicy' + /// + [Fact] + public void TiersExpirationPolicyTest() + { + // TODO unit test for the property 'TiersExpirationPolicy' + } + /// /// Test the property 'TiersExpireIn' /// [Fact] @@ -138,6 +146,14 @@ public void TiersDowngradePolicyTest() // TODO unit test for the property 'TiersDowngradePolicy' } /// + /// Test the property 'ProgramJoinPolicy' + /// + [Fact] + public void ProgramJoinPolicyTest() + { + // TODO unit test for the property 'ProgramJoinPolicy' + } + /// /// Test the property 'Name' /// [Fact] diff --git a/src/TalonOne.Test/Model/NewNotificationTestTests.cs b/src/TalonOne.Test/Model/NewNotificationTestTests.cs new file mode 100644 index 0000000..6290356 --- /dev/null +++ b/src/TalonOne.Test/Model/NewNotificationTestTests.cs @@ -0,0 +1,111 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing NewNotificationTest + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class NewNotificationTestTests : IDisposable + { + // TODO uncomment below to declare an instance variable for NewNotificationTest + //private NewNotificationTest instance; + + public NewNotificationTestTests() + { + // TODO uncomment below to create an instance of NewNotificationTest + //instance = new NewNotificationTest(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of NewNotificationTest + /// + [Fact] + public void NewNotificationTestInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" NewNotificationTest + //Assert.IsInstanceOfType (instance, "variable 'instance' is a NewNotificationTest"); + } + + + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + /// + /// Test the property 'QueryParams' + /// + [Fact] + public void QueryParamsTest() + { + // TODO unit test for the property 'QueryParams' + } + /// + /// Test the property 'Headers' + /// + [Fact] + public void HeadersTest() + { + // TODO unit test for the property 'Headers' + } + /// + /// Test the property 'Verb' + /// + [Fact] + public void VerbTest() + { + // TODO unit test for the property 'Verb' + } + /// + /// Test the property 'Url' + /// + [Fact] + public void UrlTest() + { + // TODO unit test for the property 'Url' + } + /// + /// Test the property 'Payload' + /// + [Fact] + public void PayloadTest() + { + // TODO unit test for the property 'Payload' + } + + } + +} diff --git a/src/TalonOne.Test/Model/NewNotificationWebhookTests.cs b/src/TalonOne.Test/Model/NewNotificationWebhookTests.cs index 9dd7017..8eefc15 100644 --- a/src/TalonOne.Test/Model/NewNotificationWebhookTests.cs +++ b/src/TalonOne.Test/Model/NewNotificationWebhookTests.cs @@ -73,6 +73,14 @@ public void HeadersTest() { // TODO unit test for the property 'Headers' } + /// + /// Test the property 'Enabled' + /// + [Fact] + public void EnabledTest() + { + // TODO unit test for the property 'Enabled' + } } diff --git a/src/TalonOne.Test/Model/NewRoleV2Tests.cs b/src/TalonOne.Test/Model/NewRoleV2Tests.cs index 4ba6f52..3ddc484 100644 --- a/src/TalonOne.Test/Model/NewRoleV2Tests.cs +++ b/src/TalonOne.Test/Model/NewRoleV2Tests.cs @@ -74,14 +74,6 @@ public void DescriptionTest() // TODO unit test for the property 'Description' } /// - /// Test the property 'IsAdmin' - /// - [Fact] - public void IsAdminTest() - { - // TODO unit test for the property 'IsAdmin' - } - /// /// Test the property 'Permissions' /// [Fact] diff --git a/src/TalonOne.Test/Model/NewStoreTests.cs b/src/TalonOne.Test/Model/NewStoreTests.cs new file mode 100644 index 0000000..2d5facf --- /dev/null +++ b/src/TalonOne.Test/Model/NewStoreTests.cs @@ -0,0 +1,95 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing NewStore + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class NewStoreTests : IDisposable + { + // TODO uncomment below to declare an instance variable for NewStore + //private NewStore instance; + + public NewStoreTests() + { + // TODO uncomment below to create an instance of NewStore + //instance = new NewStore(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of NewStore + /// + [Fact] + public void NewStoreInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" NewStore + //Assert.IsInstanceOfType (instance, "variable 'instance' is a NewStore"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + /// + /// Test the property 'Attributes' + /// + [Fact] + public void AttributesTest() + { + // TODO unit test for the property 'Attributes' + } + /// + /// Test the property 'IntegrationId' + /// + [Fact] + public void IntegrationIdTest() + { + // TODO unit test for the property 'IntegrationId' + } + + } + +} diff --git a/src/TalonOne.Test/Model/NotificationActivationTests.cs b/src/TalonOne.Test/Model/NotificationActivationTests.cs new file mode 100644 index 0000000..bb7691e --- /dev/null +++ b/src/TalonOne.Test/Model/NotificationActivationTests.cs @@ -0,0 +1,71 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing NotificationActivation + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class NotificationActivationTests : IDisposable + { + // TODO uncomment below to declare an instance variable for NotificationActivation + //private NotificationActivation instance; + + public NotificationActivationTests() + { + // TODO uncomment below to create an instance of NotificationActivation + //instance = new NotificationActivation(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of NotificationActivation + /// + [Fact] + public void NotificationActivationInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" NotificationActivation + //Assert.IsInstanceOfType (instance, "variable 'instance' is a NotificationActivation"); + } + + + /// + /// Test the property 'Enabled' + /// + [Fact] + public void EnabledTest() + { + // TODO unit test for the property 'Enabled' + } + + } + +} diff --git a/src/TalonOne.Test/Model/NotificationListItemTests.cs b/src/TalonOne.Test/Model/NotificationListItemTests.cs new file mode 100644 index 0000000..5b23b87 --- /dev/null +++ b/src/TalonOne.Test/Model/NotificationListItemTests.cs @@ -0,0 +1,95 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing NotificationListItem + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class NotificationListItemTests : IDisposable + { + // TODO uncomment below to declare an instance variable for NotificationListItem + //private NotificationListItem instance; + + public NotificationListItemTests() + { + // TODO uncomment below to create an instance of NotificationListItem + //instance = new NotificationListItem(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of NotificationListItem + /// + [Fact] + public void NotificationListItemInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" NotificationListItem + //Assert.IsInstanceOfType (instance, "variable 'instance' is a NotificationListItem"); + } + + + /// + /// Test the property 'NotificationId' + /// + [Fact] + public void NotificationIdTest() + { + // TODO unit test for the property 'NotificationId' + } + /// + /// Test the property 'NotificationName' + /// + [Fact] + public void NotificationNameTest() + { + // TODO unit test for the property 'NotificationName' + } + /// + /// Test the property 'EntityId' + /// + [Fact] + public void EntityIdTest() + { + // TODO unit test for the property 'EntityId' + } + /// + /// Test the property 'Enabled' + /// + [Fact] + public void EnabledTest() + { + // TODO unit test for the property 'Enabled' + } + + } + +} diff --git a/src/TalonOne.Test/Model/NotificationTestTests.cs b/src/TalonOne.Test/Model/NotificationTestTests.cs new file mode 100644 index 0000000..a21f836 --- /dev/null +++ b/src/TalonOne.Test/Model/NotificationTestTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing NotificationTest + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class NotificationTestTests : IDisposable + { + // TODO uncomment below to declare an instance variable for NotificationTest + //private NotificationTest instance; + + public NotificationTestTests() + { + // TODO uncomment below to create an instance of NotificationTest + //instance = new NotificationTest(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of NotificationTest + /// + [Fact] + public void NotificationTestInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" NotificationTest + //Assert.IsInstanceOfType (instance, "variable 'instance' is a NotificationTest"); + } + + + /// + /// Test the property 'HttpResponse' + /// + [Fact] + public void HttpResponseTest() + { + // TODO unit test for the property 'HttpResponse' + } + /// + /// Test the property 'HttpStatus' + /// + [Fact] + public void HttpStatusTest() + { + // TODO unit test for the property 'HttpStatus' + } + + } + +} diff --git a/src/TalonOne.Test/Model/OneTimeCodeTests.cs b/src/TalonOne.Test/Model/OneTimeCodeTests.cs new file mode 100644 index 0000000..7501a1e --- /dev/null +++ b/src/TalonOne.Test/Model/OneTimeCodeTests.cs @@ -0,0 +1,95 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing OneTimeCode + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class OneTimeCodeTests : IDisposable + { + // TODO uncomment below to declare an instance variable for OneTimeCode + //private OneTimeCode instance; + + public OneTimeCodeTests() + { + // TODO uncomment below to create an instance of OneTimeCode + //instance = new OneTimeCode(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of OneTimeCode + /// + [Fact] + public void OneTimeCodeInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" OneTimeCode + //Assert.IsInstanceOfType (instance, "variable 'instance' is a OneTimeCode"); + } + + + /// + /// Test the property 'UserId' + /// + [Fact] + public void UserIdTest() + { + // TODO unit test for the property 'UserId' + } + /// + /// Test the property 'AccountId' + /// + [Fact] + public void AccountIdTest() + { + // TODO unit test for the property 'AccountId' + } + /// + /// Test the property 'Token' + /// + [Fact] + public void TokenTest() + { + // TODO unit test for the property 'Token' + } + /// + /// Test the property 'Code' + /// + [Fact] + public void CodeTest() + { + // TODO unit test for the property 'Code' + } + + } + +} diff --git a/src/TalonOne.Test/Model/OutgoingIntegrationCleverTapPolicyTests.cs b/src/TalonOne.Test/Model/OutgoingIntegrationCleverTapPolicyTests.cs new file mode 100644 index 0000000..1965901 --- /dev/null +++ b/src/TalonOne.Test/Model/OutgoingIntegrationCleverTapPolicyTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing OutgoingIntegrationCleverTapPolicy + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class OutgoingIntegrationCleverTapPolicyTests : IDisposable + { + // TODO uncomment below to declare an instance variable for OutgoingIntegrationCleverTapPolicy + //private OutgoingIntegrationCleverTapPolicy instance; + + public OutgoingIntegrationCleverTapPolicyTests() + { + // TODO uncomment below to create an instance of OutgoingIntegrationCleverTapPolicy + //instance = new OutgoingIntegrationCleverTapPolicy(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of OutgoingIntegrationCleverTapPolicy + /// + [Fact] + public void OutgoingIntegrationCleverTapPolicyInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" OutgoingIntegrationCleverTapPolicy + //Assert.IsInstanceOfType (instance, "variable 'instance' is a OutgoingIntegrationCleverTapPolicy"); + } + + + /// + /// Test the property 'BaseUrl' + /// + [Fact] + public void BaseUrlTest() + { + // TODO unit test for the property 'BaseUrl' + } + /// + /// Test the property 'AccountId' + /// + [Fact] + public void AccountIdTest() + { + // TODO unit test for the property 'AccountId' + } + /// + /// Test the property 'Passcode' + /// + [Fact] + public void PasscodeTest() + { + // TODO unit test for the property 'Passcode' + } + + } + +} diff --git a/src/TalonOne.Test/Model/OutgoingIntegrationIterablePolicyTests.cs b/src/TalonOne.Test/Model/OutgoingIntegrationIterablePolicyTests.cs new file mode 100644 index 0000000..b71e3b7 --- /dev/null +++ b/src/TalonOne.Test/Model/OutgoingIntegrationIterablePolicyTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing OutgoingIntegrationIterablePolicy + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class OutgoingIntegrationIterablePolicyTests : IDisposable + { + // TODO uncomment below to declare an instance variable for OutgoingIntegrationIterablePolicy + //private OutgoingIntegrationIterablePolicy instance; + + public OutgoingIntegrationIterablePolicyTests() + { + // TODO uncomment below to create an instance of OutgoingIntegrationIterablePolicy + //instance = new OutgoingIntegrationIterablePolicy(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of OutgoingIntegrationIterablePolicy + /// + [Fact] + public void OutgoingIntegrationIterablePolicyInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" OutgoingIntegrationIterablePolicy + //Assert.IsInstanceOfType (instance, "variable 'instance' is a OutgoingIntegrationIterablePolicy"); + } + + + /// + /// Test the property 'BaseUrl' + /// + [Fact] + public void BaseUrlTest() + { + // TODO unit test for the property 'BaseUrl' + } + /// + /// Test the property 'ApiKey' + /// + [Fact] + public void ApiKeyTest() + { + // TODO unit test for the property 'ApiKey' + } + + } + +} diff --git a/src/TalonOne.Test/Model/OutgoingIntegrationMoEngagePolicyTests.cs b/src/TalonOne.Test/Model/OutgoingIntegrationMoEngagePolicyTests.cs new file mode 100644 index 0000000..9767cd6 --- /dev/null +++ b/src/TalonOne.Test/Model/OutgoingIntegrationMoEngagePolicyTests.cs @@ -0,0 +1,95 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing OutgoingIntegrationMoEngagePolicy + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class OutgoingIntegrationMoEngagePolicyTests : IDisposable + { + // TODO uncomment below to declare an instance variable for OutgoingIntegrationMoEngagePolicy + //private OutgoingIntegrationMoEngagePolicy instance; + + public OutgoingIntegrationMoEngagePolicyTests() + { + // TODO uncomment below to create an instance of OutgoingIntegrationMoEngagePolicy + //instance = new OutgoingIntegrationMoEngagePolicy(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of OutgoingIntegrationMoEngagePolicy + /// + [Fact] + public void OutgoingIntegrationMoEngagePolicyInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" OutgoingIntegrationMoEngagePolicy + //Assert.IsInstanceOfType (instance, "variable 'instance' is a OutgoingIntegrationMoEngagePolicy"); + } + + + /// + /// Test the property 'BaseUrl' + /// + [Fact] + public void BaseUrlTest() + { + // TODO unit test for the property 'BaseUrl' + } + /// + /// Test the property 'AppId' + /// + [Fact] + public void AppIdTest() + { + // TODO unit test for the property 'AppId' + } + /// + /// Test the property 'DataApiId' + /// + [Fact] + public void DataApiIdTest() + { + // TODO unit test for the property 'DataApiId' + } + /// + /// Test the property 'DataApiKey' + /// + [Fact] + public void DataApiKeyTest() + { + // TODO unit test for the property 'DataApiKey' + } + + } + +} diff --git a/src/TalonOne.Test/Model/PatchItemCatalogActionTests.cs b/src/TalonOne.Test/Model/PatchItemCatalogActionTests.cs index 0fd3970..e2b882d 100644 --- a/src/TalonOne.Test/Model/PatchItemCatalogActionTests.cs +++ b/src/TalonOne.Test/Model/PatchItemCatalogActionTests.cs @@ -82,6 +82,14 @@ public void AttributesTest() // TODO unit test for the property 'Attributes' } /// + /// Test the property 'Product' + /// + [Fact] + public void ProductTest() + { + // TODO unit test for the property 'Product' + } + /// /// Test the property 'CreateIfNotExists' /// [Fact] diff --git a/src/TalonOne.Test/Model/PendingPointsNotificationPolicyTests.cs b/src/TalonOne.Test/Model/PendingPointsNotificationPolicyTests.cs index a03dab0..ce92856 100644 --- a/src/TalonOne.Test/Model/PendingPointsNotificationPolicyTests.cs +++ b/src/TalonOne.Test/Model/PendingPointsNotificationPolicyTests.cs @@ -65,6 +65,14 @@ public void NameTest() { // TODO unit test for the property 'Name' } + /// + /// Test the property 'BatchingEnabled' + /// + [Fact] + public void BatchingEnabledTest() + { + // TODO unit test for the property 'BatchingEnabled' + } } diff --git a/src/TalonOne.Test/Model/ProductTests.cs b/src/TalonOne.Test/Model/ProductTests.cs new file mode 100644 index 0000000..75deef0 --- /dev/null +++ b/src/TalonOne.Test/Model/ProductTests.cs @@ -0,0 +1,71 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing Product + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ProductTests : IDisposable + { + // TODO uncomment below to declare an instance variable for Product + //private Product instance; + + public ProductTests() + { + // TODO uncomment below to create an instance of Product + //instance = new Product(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of Product + /// + [Fact] + public void ProductInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" Product + //Assert.IsInstanceOfType (instance, "variable 'instance' is a Product"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + } + +} diff --git a/src/TalonOne.Test/Model/RemoveFromAudienceEffectPropsTests.cs b/src/TalonOne.Test/Model/RemoveFromAudienceEffectPropsTests.cs new file mode 100644 index 0000000..7fe159b --- /dev/null +++ b/src/TalonOne.Test/Model/RemoveFromAudienceEffectPropsTests.cs @@ -0,0 +1,95 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing RemoveFromAudienceEffectProps + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class RemoveFromAudienceEffectPropsTests : IDisposable + { + // TODO uncomment below to declare an instance variable for RemoveFromAudienceEffectProps + //private RemoveFromAudienceEffectProps instance; + + public RemoveFromAudienceEffectPropsTests() + { + // TODO uncomment below to create an instance of RemoveFromAudienceEffectProps + //instance = new RemoveFromAudienceEffectProps(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of RemoveFromAudienceEffectProps + /// + [Fact] + public void RemoveFromAudienceEffectPropsInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" RemoveFromAudienceEffectProps + //Assert.IsInstanceOfType (instance, "variable 'instance' is a RemoveFromAudienceEffectProps"); + } + + + /// + /// Test the property 'AudienceId' + /// + [Fact] + public void AudienceIdTest() + { + // TODO unit test for the property 'AudienceId' + } + /// + /// Test the property 'AudienceName' + /// + [Fact] + public void AudienceNameTest() + { + // TODO unit test for the property 'AudienceName' + } + /// + /// Test the property 'ProfileIntegrationId' + /// + [Fact] + public void ProfileIntegrationIdTest() + { + // TODO unit test for the property 'ProfileIntegrationId' + } + /// + /// Test the property 'ProfileId' + /// + [Fact] + public void ProfileIdTest() + { + // TODO unit test for the property 'ProfileId' + } + + } + +} diff --git a/src/TalonOne.Test/Model/RoleV2ApplicationDetailsTests.cs b/src/TalonOne.Test/Model/RoleV2ApplicationDetailsTests.cs index d267bb2..a328009 100644 --- a/src/TalonOne.Test/Model/RoleV2ApplicationDetailsTests.cs +++ b/src/TalonOne.Test/Model/RoleV2ApplicationDetailsTests.cs @@ -81,6 +81,14 @@ public void DraftCampaignTest() { // TODO unit test for the property 'DraftCampaign' } + /// + /// Test the property 'Tools' + /// + [Fact] + public void ToolsTest() + { + // TODO unit test for the property 'Tools' + } } diff --git a/src/TalonOne.Test/Model/RoleV2BaseTests.cs b/src/TalonOne.Test/Model/RoleV2BaseTests.cs index 5ce1c07..6c1d064 100644 --- a/src/TalonOne.Test/Model/RoleV2BaseTests.cs +++ b/src/TalonOne.Test/Model/RoleV2BaseTests.cs @@ -74,14 +74,6 @@ public void DescriptionTest() // TODO unit test for the property 'Description' } /// - /// Test the property 'IsAdmin' - /// - [Fact] - public void IsAdminTest() - { - // TODO unit test for the property 'IsAdmin' - } - /// /// Test the property 'Permissions' /// [Fact] diff --git a/src/TalonOne.Test/Model/RoleV2Tests.cs b/src/TalonOne.Test/Model/RoleV2Tests.cs index 62087fb..8b1e504 100644 --- a/src/TalonOne.Test/Model/RoleV2Tests.cs +++ b/src/TalonOne.Test/Model/RoleV2Tests.cs @@ -106,14 +106,6 @@ public void DescriptionTest() // TODO unit test for the property 'Description' } /// - /// Test the property 'IsAdmin' - /// - [Fact] - public void IsAdminTest() - { - // TODO unit test for the property 'IsAdmin' - } - /// /// Test the property 'Permissions' /// [Fact] diff --git a/src/TalonOne.Test/Model/SSOConfigTests.cs b/src/TalonOne.Test/Model/SSOConfigTests.cs new file mode 100644 index 0000000..c35f40c --- /dev/null +++ b/src/TalonOne.Test/Model/SSOConfigTests.cs @@ -0,0 +1,71 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing SSOConfig + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class SSOConfigTests : IDisposable + { + // TODO uncomment below to declare an instance variable for SSOConfig + //private SSOConfig instance; + + public SSOConfigTests() + { + // TODO uncomment below to create an instance of SSOConfig + //instance = new SSOConfig(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of SSOConfig + /// + [Fact] + public void SSOConfigInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" SSOConfig + //Assert.IsInstanceOfType (instance, "variable 'instance' is a SSOConfig"); + } + + + /// + /// Test the property 'Enforced' + /// + [Fact] + public void EnforcedTest() + { + // TODO unit test for the property 'Enforced' + } + + } + +} diff --git a/src/TalonOne.Test/Model/SamlConnectionInternalTests.cs b/src/TalonOne.Test/Model/SamlConnectionInternalTests.cs new file mode 100644 index 0000000..dee0df3 --- /dev/null +++ b/src/TalonOne.Test/Model/SamlConnectionInternalTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing SamlConnectionInternal + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class SamlConnectionInternalTests : IDisposable + { + // TODO uncomment below to declare an instance variable for SamlConnectionInternal + //private SamlConnectionInternal instance; + + public SamlConnectionInternalTests() + { + // TODO uncomment below to create an instance of SamlConnectionInternal + //instance = new SamlConnectionInternal(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of SamlConnectionInternal + /// + [Fact] + public void SamlConnectionInternalInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" SamlConnectionInternal + //Assert.IsInstanceOfType (instance, "variable 'instance' is a SamlConnectionInternal"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'MetadataDocument' + /// + [Fact] + public void MetadataDocumentTest() + { + // TODO unit test for the property 'MetadataDocument' + } + + } + +} diff --git a/src/TalonOne.Test/Model/SamlLoginEndpointTests.cs b/src/TalonOne.Test/Model/SamlLoginEndpointTests.cs index afb342b..d93fd1d 100644 --- a/src/TalonOne.Test/Model/SamlLoginEndpointTests.cs +++ b/src/TalonOne.Test/Model/SamlLoginEndpointTests.cs @@ -57,6 +57,14 @@ public void SamlLoginEndpointInstanceTest() } + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } /// /// Test the property 'Name' /// diff --git a/src/TalonOne.Test/Model/SetDiscountPerItemEffectPropsTests.cs b/src/TalonOne.Test/Model/SetDiscountPerItemEffectPropsTests.cs index 6e01eb1..d180076 100644 --- a/src/TalonOne.Test/Model/SetDiscountPerItemEffectPropsTests.cs +++ b/src/TalonOne.Test/Model/SetDiscountPerItemEffectPropsTests.cs @@ -137,6 +137,22 @@ public void BundleNameTest() { // TODO unit test for the property 'BundleName' } + /// + /// Test the property 'TargetedItemPosition' + /// + [Fact] + public void TargetedItemPositionTest() + { + // TODO unit test for the property 'TargetedItemPosition' + } + /// + /// Test the property 'TargetedItemSubPosition' + /// + [Fact] + public void TargetedItemSubPositionTest() + { + // TODO unit test for the property 'TargetedItemSubPosition' + } } diff --git a/src/TalonOne.Test/Model/StoreTests.cs b/src/TalonOne.Test/Model/StoreTests.cs new file mode 100644 index 0000000..ba1d82c --- /dev/null +++ b/src/TalonOne.Test/Model/StoreTests.cs @@ -0,0 +1,135 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing Store + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class StoreTests : IDisposable + { + // TODO uncomment below to declare an instance variable for Store + //private Store instance; + + public StoreTests() + { + // TODO uncomment below to create an instance of Store + //instance = new Store(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of Store + /// + [Fact] + public void StoreInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" Store + //Assert.IsInstanceOfType (instance, "variable 'instance' is a Store"); + } + + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + /// + /// Test the property 'Created' + /// + [Fact] + public void CreatedTest() + { + // TODO unit test for the property 'Created' + } + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + /// + /// Test the property 'Attributes' + /// + [Fact] + public void AttributesTest() + { + // TODO unit test for the property 'Attributes' + } + /// + /// Test the property 'IntegrationId' + /// + [Fact] + public void IntegrationIdTest() + { + // TODO unit test for the property 'IntegrationId' + } + /// + /// Test the property 'ApplicationId' + /// + [Fact] + public void ApplicationIdTest() + { + // TODO unit test for the property 'ApplicationId' + } + /// + /// Test the property 'Updated' + /// + [Fact] + public void UpdatedTest() + { + // TODO unit test for the property 'Updated' + } + /// + /// Test the property 'LinkedCampaignIds' + /// + [Fact] + public void LinkedCampaignIdsTest() + { + // TODO unit test for the property 'LinkedCampaignIds' + } + + } + +} diff --git a/src/TalonOne.Test/Model/TierDowngradeNotificationPolicyTests.cs b/src/TalonOne.Test/Model/TierDowngradeNotificationPolicyTests.cs new file mode 100644 index 0000000..adad480 --- /dev/null +++ b/src/TalonOne.Test/Model/TierDowngradeNotificationPolicyTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing TierDowngradeNotificationPolicy + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TierDowngradeNotificationPolicyTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TierDowngradeNotificationPolicy + //private TierDowngradeNotificationPolicy instance; + + public TierDowngradeNotificationPolicyTests() + { + // TODO uncomment below to create an instance of TierDowngradeNotificationPolicy + //instance = new TierDowngradeNotificationPolicy(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TierDowngradeNotificationPolicy + /// + [Fact] + public void TierDowngradeNotificationPolicyInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" TierDowngradeNotificationPolicy + //Assert.IsInstanceOfType (instance, "variable 'instance' is a TierDowngradeNotificationPolicy"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'BatchingEnabled' + /// + [Fact] + public void BatchingEnabledTest() + { + // TODO unit test for the property 'BatchingEnabled' + } + + } + +} diff --git a/src/TalonOne.Test/Model/TierUpgradeNotificationPolicyTests.cs b/src/TalonOne.Test/Model/TierUpgradeNotificationPolicyTests.cs new file mode 100644 index 0000000..2a3249a --- /dev/null +++ b/src/TalonOne.Test/Model/TierUpgradeNotificationPolicyTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing TierUpgradeNotificationPolicy + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TierUpgradeNotificationPolicyTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TierUpgradeNotificationPolicy + //private TierUpgradeNotificationPolicy instance; + + public TierUpgradeNotificationPolicyTests() + { + // TODO uncomment below to create an instance of TierUpgradeNotificationPolicy + //instance = new TierUpgradeNotificationPolicy(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TierUpgradeNotificationPolicy + /// + [Fact] + public void TierUpgradeNotificationPolicyInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" TierUpgradeNotificationPolicy + //Assert.IsInstanceOfType (instance, "variable 'instance' is a TierUpgradeNotificationPolicy"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'BatchingEnabled' + /// + [Fact] + public void BatchingEnabledTest() + { + // TODO unit test for the property 'BatchingEnabled' + } + + } + +} diff --git a/src/TalonOne.Test/Model/TierWillDowngradeNotificationPolicyTests.cs b/src/TalonOne.Test/Model/TierWillDowngradeNotificationPolicyTests.cs new file mode 100644 index 0000000..36fc42c --- /dev/null +++ b/src/TalonOne.Test/Model/TierWillDowngradeNotificationPolicyTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing TierWillDowngradeNotificationPolicy + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TierWillDowngradeNotificationPolicyTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TierWillDowngradeNotificationPolicy + //private TierWillDowngradeNotificationPolicy instance; + + public TierWillDowngradeNotificationPolicyTests() + { + // TODO uncomment below to create an instance of TierWillDowngradeNotificationPolicy + //instance = new TierWillDowngradeNotificationPolicy(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TierWillDowngradeNotificationPolicy + /// + [Fact] + public void TierWillDowngradeNotificationPolicyInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" TierWillDowngradeNotificationPolicy + //Assert.IsInstanceOfType (instance, "variable 'instance' is a TierWillDowngradeNotificationPolicy"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'BatchingEnabled' + /// + [Fact] + public void BatchingEnabledTest() + { + // TODO unit test for the property 'BatchingEnabled' + } + /// + /// Test the property 'Triggers' + /// + [Fact] + public void TriggersTest() + { + // TODO unit test for the property 'Triggers' + } + + } + +} diff --git a/src/TalonOne.Test/Model/TierWillDowngradeNotificationTriggerTests.cs b/src/TalonOne.Test/Model/TierWillDowngradeNotificationTriggerTests.cs new file mode 100644 index 0000000..ee5cc5d --- /dev/null +++ b/src/TalonOne.Test/Model/TierWillDowngradeNotificationTriggerTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing TierWillDowngradeNotificationTrigger + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TierWillDowngradeNotificationTriggerTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TierWillDowngradeNotificationTrigger + //private TierWillDowngradeNotificationTrigger instance; + + public TierWillDowngradeNotificationTriggerTests() + { + // TODO uncomment below to create an instance of TierWillDowngradeNotificationTrigger + //instance = new TierWillDowngradeNotificationTrigger(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TierWillDowngradeNotificationTrigger + /// + [Fact] + public void TierWillDowngradeNotificationTriggerInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" TierWillDowngradeNotificationTrigger + //Assert.IsInstanceOfType (instance, "variable 'instance' is a TierWillDowngradeNotificationTrigger"); + } + + + /// + /// Test the property 'Amount' + /// + [Fact] + public void AmountTest() + { + // TODO unit test for the property 'Amount' + } + /// + /// Test the property 'Period' + /// + [Fact] + public void PeriodTest() + { + // TODO unit test for the property 'Period' + } + + } + +} diff --git a/src/TalonOne.Test/Model/TimePointTests.cs b/src/TalonOne.Test/Model/TimePointTests.cs new file mode 100644 index 0000000..8b61705 --- /dev/null +++ b/src/TalonOne.Test/Model/TimePointTests.cs @@ -0,0 +1,111 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing TimePoint + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TimePointTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TimePoint + //private TimePoint instance; + + public TimePointTests() + { + // TODO uncomment below to create an instance of TimePoint + //instance = new TimePoint(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TimePoint + /// + [Fact] + public void TimePointInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" TimePoint + //Assert.IsInstanceOfType (instance, "variable 'instance' is a TimePoint"); + } + + + /// + /// Test the property 'Month' + /// + [Fact] + public void MonthTest() + { + // TODO unit test for the property 'Month' + } + /// + /// Test the property 'DayOfMonth' + /// + [Fact] + public void DayOfMonthTest() + { + // TODO unit test for the property 'DayOfMonth' + } + /// + /// Test the property 'DayOfWeek' + /// + [Fact] + public void DayOfWeekTest() + { + // TODO unit test for the property 'DayOfWeek' + } + /// + /// Test the property 'Hour' + /// + [Fact] + public void HourTest() + { + // TODO unit test for the property 'Hour' + } + /// + /// Test the property 'Minute' + /// + [Fact] + public void MinuteTest() + { + // TODO unit test for the property 'Minute' + } + /// + /// Test the property 'Second' + /// + [Fact] + public void SecondTest() + { + // TODO unit test for the property 'Second' + } + + } + +} diff --git a/src/TalonOne.Test/Model/TrackEventV2ResponseTests.cs b/src/TalonOne.Test/Model/TrackEventV2ResponseTests.cs new file mode 100644 index 0000000..847a691 --- /dev/null +++ b/src/TalonOne.Test/Model/TrackEventV2ResponseTests.cs @@ -0,0 +1,135 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing TrackEventV2Response + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TrackEventV2ResponseTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TrackEventV2Response + //private TrackEventV2Response instance; + + public TrackEventV2ResponseTests() + { + // TODO uncomment below to create an instance of TrackEventV2Response + //instance = new TrackEventV2Response(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TrackEventV2Response + /// + [Fact] + public void TrackEventV2ResponseInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" TrackEventV2Response + //Assert.IsInstanceOfType (instance, "variable 'instance' is a TrackEventV2Response"); + } + + + /// + /// Test the property 'CustomerProfile' + /// + [Fact] + public void CustomerProfileTest() + { + // TODO unit test for the property 'CustomerProfile' + } + /// + /// Test the property 'Event' + /// + [Fact] + public void EventTest() + { + // TODO unit test for the property 'Event' + } + /// + /// Test the property 'Loyalty' + /// + [Fact] + public void LoyaltyTest() + { + // TODO unit test for the property 'Loyalty' + } + /// + /// Test the property 'TriggeredCampaigns' + /// + [Fact] + public void TriggeredCampaignsTest() + { + // TODO unit test for the property 'TriggeredCampaigns' + } + /// + /// Test the property 'RuleFailureReasons' + /// + [Fact] + public void RuleFailureReasonsTest() + { + // TODO unit test for the property 'RuleFailureReasons' + } + /// + /// Test the property 'AwardedGiveaways' + /// + [Fact] + public void AwardedGiveawaysTest() + { + // TODO unit test for the property 'AwardedGiveaways' + } + /// + /// Test the property 'Effects' + /// + [Fact] + public void EffectsTest() + { + // TODO unit test for the property 'Effects' + } + /// + /// Test the property 'CreatedCoupons' + /// + [Fact] + public void CreatedCouponsTest() + { + // TODO unit test for the property 'CreatedCoupons' + } + /// + /// Test the property 'CreatedReferrals' + /// + [Fact] + public void CreatedReferralsTest() + { + // TODO unit test for the property 'CreatedReferrals' + } + + } + +} diff --git a/src/TalonOne.Test/Model/TwoFAConfigTests.cs b/src/TalonOne.Test/Model/TwoFAConfigTests.cs new file mode 100644 index 0000000..994b62e --- /dev/null +++ b/src/TalonOne.Test/Model/TwoFAConfigTests.cs @@ -0,0 +1,79 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing TwoFAConfig + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TwoFAConfigTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TwoFAConfig + //private TwoFAConfig instance; + + public TwoFAConfigTests() + { + // TODO uncomment below to create an instance of TwoFAConfig + //instance = new TwoFAConfig(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TwoFAConfig + /// + [Fact] + public void TwoFAConfigInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" TwoFAConfig + //Assert.IsInstanceOfType (instance, "variable 'instance' is a TwoFAConfig"); + } + + + /// + /// Test the property 'Enabled' + /// + [Fact] + public void EnabledTest() + { + // TODO unit test for the property 'Enabled' + } + /// + /// Test the property 'RequireEverySignIn' + /// + [Fact] + public void RequireEverySignInTest() + { + // TODO unit test for the property 'RequireEverySignIn' + } + + } + +} diff --git a/src/TalonOne.Test/Model/UpdateAchievementTests.cs b/src/TalonOne.Test/Model/UpdateAchievementTests.cs new file mode 100644 index 0000000..421f79c --- /dev/null +++ b/src/TalonOne.Test/Model/UpdateAchievementTests.cs @@ -0,0 +1,111 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing UpdateAchievement + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class UpdateAchievementTests : IDisposable + { + // TODO uncomment below to declare an instance variable for UpdateAchievement + //private UpdateAchievement instance; + + public UpdateAchievementTests() + { + // TODO uncomment below to create an instance of UpdateAchievement + //instance = new UpdateAchievement(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of UpdateAchievement + /// + [Fact] + public void UpdateAchievementInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" UpdateAchievement + //Assert.IsInstanceOfType (instance, "variable 'instance' is a UpdateAchievement"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'Title' + /// + [Fact] + public void TitleTest() + { + // TODO unit test for the property 'Title' + } + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + /// + /// Test the property 'Target' + /// + [Fact] + public void TargetTest() + { + // TODO unit test for the property 'Target' + } + /// + /// Test the property 'Period' + /// + [Fact] + public void PeriodTest() + { + // TODO unit test for the property 'Period' + } + /// + /// Test the property 'PeriodEndOverride' + /// + [Fact] + public void PeriodEndOverrideTest() + { + // TODO unit test for the property 'PeriodEndOverride' + } + + } + +} diff --git a/src/TalonOne.Test/Model/UpdateApplicationAPIKeyTests.cs b/src/TalonOne.Test/Model/UpdateApplicationAPIKeyTests.cs new file mode 100644 index 0000000..1677ac2 --- /dev/null +++ b/src/TalonOne.Test/Model/UpdateApplicationAPIKeyTests.cs @@ -0,0 +1,71 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing UpdateApplicationAPIKey + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class UpdateApplicationAPIKeyTests : IDisposable + { + // TODO uncomment below to declare an instance variable for UpdateApplicationAPIKey + //private UpdateApplicationAPIKey instance; + + public UpdateApplicationAPIKeyTests() + { + // TODO uncomment below to create an instance of UpdateApplicationAPIKey + //instance = new UpdateApplicationAPIKey(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of UpdateApplicationAPIKey + /// + [Fact] + public void UpdateApplicationAPIKeyInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" UpdateApplicationAPIKey + //Assert.IsInstanceOfType (instance, "variable 'instance' is a UpdateApplicationAPIKey"); + } + + + /// + /// Test the property 'TimeOffset' + /// + [Fact] + public void TimeOffsetTest() + { + // TODO unit test for the property 'TimeOffset' + } + + } + +} diff --git a/src/TalonOne.Test/Model/UpdateCampaignEvaluationGroupTests.cs b/src/TalonOne.Test/Model/UpdateCampaignEvaluationGroupTests.cs index ec82f96..d64a582 100644 --- a/src/TalonOne.Test/Model/UpdateCampaignEvaluationGroupTests.cs +++ b/src/TalonOne.Test/Model/UpdateCampaignEvaluationGroupTests.cs @@ -90,6 +90,14 @@ public void EvaluationModeTest() // TODO unit test for the property 'EvaluationMode' } /// + /// Test the property 'EvaluationScope' + /// + [Fact] + public void EvaluationScopeTest() + { + // TODO unit test for the property 'EvaluationScope' + } + /// /// Test the property 'Locked' /// [Fact] diff --git a/src/TalonOne.Test/Model/UpdateCampaignTemplateTests.cs b/src/TalonOne.Test/Model/UpdateCampaignTemplateTests.cs index 6c70643..222b3ad 100644 --- a/src/TalonOne.Test/Model/UpdateCampaignTemplateTests.cs +++ b/src/TalonOne.Test/Model/UpdateCampaignTemplateTests.cs @@ -185,6 +185,14 @@ public void DefaultCampaignGroupIdTest() { // TODO unit test for the property 'DefaultCampaignGroupId' } + /// + /// Test the property 'CampaignType' + /// + [Fact] + public void CampaignTypeTest() + { + // TODO unit test for the property 'CampaignType' + } } diff --git a/src/TalonOne.Test/Model/UpdateCampaignTests.cs b/src/TalonOne.Test/Model/UpdateCampaignTests.cs index f7ae992..b09e898 100644 --- a/src/TalonOne.Test/Model/UpdateCampaignTests.cs +++ b/src/TalonOne.Test/Model/UpdateCampaignTests.cs @@ -161,6 +161,30 @@ public void CampaignGroupsTest() { // TODO unit test for the property 'CampaignGroups' } + /// + /// Test the property 'EvaluationGroupId' + /// + [Fact] + public void EvaluationGroupIdTest() + { + // TODO unit test for the property 'EvaluationGroupId' + } + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + /// + /// Test the property 'LinkedStoreIds' + /// + [Fact] + public void LinkedStoreIdsTest() + { + // TODO unit test for the property 'LinkedStoreIds' + } } diff --git a/src/TalonOne.Test/Model/UpdateCouponTests.cs b/src/TalonOne.Test/Model/UpdateCouponTests.cs index edc8e68..b9b8ca0 100644 --- a/src/TalonOne.Test/Model/UpdateCouponTests.cs +++ b/src/TalonOne.Test/Model/UpdateCouponTests.cs @@ -129,6 +129,14 @@ public void IsReservationMandatoryTest() { // TODO unit test for the property 'IsReservationMandatory' } + /// + /// Test the property 'ImplicitlyReserved' + /// + [Fact] + public void ImplicitlyReservedTest() + { + // TODO unit test for the property 'ImplicitlyReserved' + } } diff --git a/src/TalonOne.Test/Model/UpdateLoyaltyProgramTests.cs b/src/TalonOne.Test/Model/UpdateLoyaltyProgramTests.cs index 7d22e10..65c61f4 100644 --- a/src/TalonOne.Test/Model/UpdateLoyaltyProgramTests.cs +++ b/src/TalonOne.Test/Model/UpdateLoyaltyProgramTests.cs @@ -122,6 +122,14 @@ public void SandboxTest() // TODO unit test for the property 'Sandbox' } /// + /// Test the property 'TiersExpirationPolicy' + /// + [Fact] + public void TiersExpirationPolicyTest() + { + // TODO unit test for the property 'TiersExpirationPolicy' + } + /// /// Test the property 'TiersExpireIn' /// [Fact] @@ -138,6 +146,14 @@ public void TiersDowngradePolicyTest() // TODO unit test for the property 'TiersDowngradePolicy' } /// + /// Test the property 'ProgramJoinPolicy' + /// + [Fact] + public void ProgramJoinPolicyTest() + { + // TODO unit test for the property 'ProgramJoinPolicy' + } + /// /// Test the property 'Tiers' /// [Fact] diff --git a/src/TalonOne.Test/Model/UpdateStoreTests.cs b/src/TalonOne.Test/Model/UpdateStoreTests.cs new file mode 100644 index 0000000..c46b748 --- /dev/null +++ b/src/TalonOne.Test/Model/UpdateStoreTests.cs @@ -0,0 +1,87 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using TalonOne.Api; +using TalonOne.Model; +using TalonOne.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace TalonOne.Test +{ + /// + /// Class for testing UpdateStore + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class UpdateStoreTests : IDisposable + { + // TODO uncomment below to declare an instance variable for UpdateStore + //private UpdateStore instance; + + public UpdateStoreTests() + { + // TODO uncomment below to create an instance of UpdateStore + //instance = new UpdateStore(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of UpdateStore + /// + [Fact] + public void UpdateStoreInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" UpdateStore + //Assert.IsInstanceOfType (instance, "variable 'instance' is a UpdateStore"); + } + + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + /// + /// Test the property 'Attributes' + /// + [Fact] + public void AttributesTest() + { + // TODO unit test for the property 'Attributes' + } + + } + +} diff --git a/src/TalonOne.Test/Model/UpdateUserTests.cs b/src/TalonOne.Test/Model/UpdateUserTests.cs index dba6050..83484b3 100644 --- a/src/TalonOne.Test/Model/UpdateUserTests.cs +++ b/src/TalonOne.Test/Model/UpdateUserTests.cs @@ -66,20 +66,28 @@ public void NameTest() // TODO unit test for the property 'Name' } /// - /// Test the property 'Policy' + /// Test the property 'State' /// [Fact] - public void PolicyTest() + public void StateTest() { - // TODO unit test for the property 'Policy' + // TODO unit test for the property 'State' } /// - /// Test the property 'State' + /// Test the property 'IsAdmin' /// [Fact] - public void StateTest() + public void IsAdminTest() { - // TODO unit test for the property 'State' + // TODO unit test for the property 'IsAdmin' + } + /// + /// Test the property 'Policy' + /// + [Fact] + public void PolicyTest() + { + // TODO unit test for the property 'Policy' } /// /// Test the property 'Roles' diff --git a/src/TalonOne.Test/Model/UserTests.cs b/src/TalonOne.Test/Model/UserTests.cs index 8ff77ff..0d5a579 100644 --- a/src/TalonOne.Test/Model/UserTests.cs +++ b/src/TalonOne.Test/Model/UserTests.cs @@ -98,12 +98,12 @@ public void AccountIdTest() // TODO unit test for the property 'AccountId' } /// - /// Test the property 'InviteToken' + /// Test the property 'Name' /// [Fact] - public void InviteTokenTest() + public void NameTest() { - // TODO unit test for the property 'InviteToken' + // TODO unit test for the property 'Name' } /// /// Test the property 'State' @@ -114,28 +114,28 @@ public void StateTest() // TODO unit test for the property 'State' } /// - /// Test the property 'Name' + /// Test the property 'InviteToken' /// [Fact] - public void NameTest() + public void InviteTokenTest() { - // TODO unit test for the property 'Name' + // TODO unit test for the property 'InviteToken' } /// - /// Test the property 'Policy' + /// Test the property 'IsAdmin' /// [Fact] - public void PolicyTest() + public void IsAdminTest() { - // TODO unit test for the property 'Policy' + // TODO unit test for the property 'IsAdmin' } /// - /// Test the property 'LatestFeedTimestamp' + /// Test the property 'Policy' /// [Fact] - public void LatestFeedTimestampTest() + public void PolicyTest() { - // TODO unit test for the property 'LatestFeedTimestamp' + // TODO unit test for the property 'Policy' } /// /// Test the property 'Roles' @@ -146,6 +146,14 @@ public void RolesTest() // TODO unit test for the property 'Roles' } /// + /// Test the property 'AuthMethod' + /// + [Fact] + public void AuthMethodTest() + { + // TODO unit test for the property 'AuthMethod' + } + /// /// Test the property 'ApplicationNotificationSubscriptions' /// [Fact] @@ -154,12 +162,28 @@ public void ApplicationNotificationSubscriptionsTest() // TODO unit test for the property 'ApplicationNotificationSubscriptions' } /// - /// Test the property 'AuthMethod' + /// Test the property 'LastSignedIn' /// [Fact] - public void AuthMethodTest() + public void LastSignedInTest() { - // TODO unit test for the property 'AuthMethod' + // TODO unit test for the property 'LastSignedIn' + } + /// + /// Test the property 'LastAccessed' + /// + [Fact] + public void LastAccessedTest() + { + // TODO unit test for the property 'LastAccessed' + } + /// + /// Test the property 'LatestFeedTimestamp' + /// + [Fact] + public void LatestFeedTimestampTest() + { + // TODO unit test for the property 'LatestFeedTimestamp' } } diff --git a/src/TalonOne/Api/IntegrationApi.cs b/src/TalonOne/Api/IntegrationApi.cs index 6366290..7554dfe 100644 --- a/src/TalonOne/Api/IntegrationApi.cs +++ b/src/TalonOne/Api/IntegrationApi.cs @@ -54,7 +54,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Create coupon reservation /// /// - /// Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and `List customer data` to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store. <div class=\"redoc-section\"> <p class=\"title\">Important</p> This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the `recipientsIntegrationId` property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). </div> To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. + /// Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon will be associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -66,7 +66,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Create coupon reservation /// /// - /// Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and `List customer data` to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store. <div class=\"redoc-section\"> <p class=\"title\">Important</p> This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the `recipientsIntegrationId` property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). </div> To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. + /// Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon will be associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -124,7 +124,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Remove all members from this audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// void DeleteAudienceMembershipsV2 (int audienceId); @@ -135,7 +135,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Remove all members from this audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// ApiResponse of Object(void) ApiResponse DeleteAudienceMembershipsV2WithHttpInfo (int audienceId); /// @@ -145,7 +145,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-audience). /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// void DeleteAudienceV2 (int audienceId); @@ -156,7 +156,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-audience). /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// ApiResponse of Object(void) ApiResponse DeleteAudienceV2WithHttpInfo (int audienceId); /// @@ -216,8 +216,9 @@ public interface IIntegrationApiSync : IApiAccessor /// Set to `true` to include coupon information in the response. (optional) /// Set to `true` to include loyalty information in the response. (optional) /// Set to `true` to include giveaways information in the response. (optional) + /// Set to `true` to include achievement information in the response. (optional) /// CustomerInventory - CustomerInventory GetCustomerInventory (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?)); + CustomerInventory GetCustomerInventory (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?), bool? achievements = default(bool?)); /// /// List customer data @@ -232,8 +233,9 @@ public interface IIntegrationApiSync : IApiAccessor /// Set to `true` to include coupon information in the response. (optional) /// Set to `true` to include loyalty information in the response. (optional) /// Set to `true` to include giveaways information in the response. (optional) + /// Set to `true` to include achievement information in the response. (optional) /// ApiResponse of CustomerInventory - ApiResponse GetCustomerInventoryWithHttpInfo (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?)); + ApiResponse GetCustomerInventoryWithHttpInfo (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?), bool? achievements = default(bool?)); /// /// Get customer session /// @@ -259,27 +261,29 @@ public interface IIntegrationApiSync : IApiAccessor /// Get customer's loyalty points /// /// - /// Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date. If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. **Note:** For more information, see [our documentation on managing loyalty data](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-data#obtaining-the-loyalty-balances-of-a-customer). + /// Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID. **Note**: If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The ID of the subledger by which we filter the data. (optional) /// LoyaltyBalances - LoyaltyBalances GetLoyaltyBalances (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?)); + LoyaltyBalances GetLoyaltyBalances (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?), string subledgerId = default(string)); /// /// Get customer's loyalty points /// /// - /// Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date. If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. **Note:** For more information, see [our documentation on managing loyalty data](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-data#obtaining-the-loyalty-balances-of-a-customer). + /// Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID. **Note**: If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The ID of the subledger by which we filter the data. (optional) /// ApiResponse of LoyaltyBalances - ApiResponse GetLoyaltyBalancesWithHttpInfo (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?)); + ApiResponse GetLoyaltyBalancesWithHttpInfo (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?), string subledgerId = default(string)); /// /// Get card's point balances /// @@ -289,9 +293,10 @@ public interface IIntegrationApiSync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// LoyaltyBalances - LoyaltyBalances GetLoyaltyCardBalances (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?)); + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// LoyaltyCardBalances + LoyaltyCardBalances GetLoyaltyCardBalances (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?), List subledgerId = default(List)); /// /// Get card's point balances @@ -302,9 +307,41 @@ public interface IIntegrationApiSync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// ApiResponse of LoyaltyBalances - ApiResponse GetLoyaltyCardBalancesWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?)); + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// ApiResponse of LoyaltyCardBalances + ApiResponse GetLoyaltyCardBalancesWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?), List subledgerId = default(List)); + /// + /// List card's unused loyalty points + /// + /// + /// Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Filter points based on their status. (optional, default to active) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// InlineResponse2003 + InlineResponse2003 GetLoyaltyCardPoints (int loyaltyProgramId, string loyaltyCardId, string status = default(string), List subledgerId = default(List), int? pageSize = default(int?), int? skip = default(int?)); + + /// + /// List card's unused loyalty points + /// + /// + /// Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Filter points based on their status. (optional, default to active) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// ApiResponse of InlineResponse2003 + ApiResponse GetLoyaltyCardPointsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, string status = default(string), List subledgerId = default(List), int? pageSize = default(int?), int? skip = default(int?)); /// /// List card's transactions /// @@ -314,13 +351,14 @@ public interface IIntegrationApiSync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// InlineResponse2001 - InlineResponse2001 GetLoyaltyCardTransactions (int loyaltyProgramId, string loyaltyCardId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + InlineResponse2001 GetLoyaltyCardTransactions (int loyaltyProgramId, string loyaltyCardId, List subledgerId = default(List), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); /// /// List card's transactions @@ -331,13 +369,45 @@ public interface IIntegrationApiSync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// ApiResponse of InlineResponse2001 - ApiResponse GetLoyaltyCardTransactionsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + ApiResponse GetLoyaltyCardTransactionsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, List subledgerId = default(List), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + /// + /// List customer's unused loyalty points + /// + /// + /// Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. + /// Filter points based on their status. (optional, default to active) + /// The ID of the subledger by which we filter the data. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// InlineResponse2004 + InlineResponse2004 GetLoyaltyProgramProfilePoints (int loyaltyProgramId, string integrationId, string status = default(string), string subledgerId = default(string), int? pageSize = default(int?), int? skip = default(int?)); + + /// + /// List customer's unused loyalty points + /// + /// + /// Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. + /// Filter points based on their status. (optional, default to active) + /// The ID of the subledger by which we filter the data. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// ApiResponse of InlineResponse2004 + ApiResponse GetLoyaltyProgramProfilePointsWithHttpInfo (int loyaltyProgramId, string integrationId, string status = default(string), string subledgerId = default(string), int? pageSize = default(int?), int? skip = default(int?)); /// /// List customer's loyalty transactions /// @@ -345,15 +415,16 @@ public interface IIntegrationApiSync : IApiAccessor /// Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) /// InlineResponse2002 - InlineResponse2002 GetLoyaltyProgramProfileTransactions (int loyaltyProgramId, string integrationId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + InlineResponse2002 GetLoyaltyProgramProfileTransactions (int loyaltyProgramId, string integrationId, string subledgerId = default(string), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); /// /// List customer's loyalty transactions @@ -362,20 +433,21 @@ public interface IIntegrationApiSync : IApiAccessor /// Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) /// ApiResponse of InlineResponse2002 - ApiResponse GetLoyaltyProgramProfileTransactionsWithHttpInfo (int loyaltyProgramId, string integrationId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + ApiResponse GetLoyaltyProgramProfileTransactionsWithHttpInfo (int loyaltyProgramId, string integrationId, string subledgerId = default(string), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); /// /// List customers that have this coupon reserved /// /// - /// Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given `recipientIntegrationId` or use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints. + /// Return all customers that have this coupon marked as reserved. This includes hard and soft reservations. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -386,7 +458,7 @@ public interface IIntegrationApiSync : IApiAccessor /// List customers that have this coupon reserved /// /// - /// Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given `recipientIntegrationId` or use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints. + /// Return all customers that have this coupon marked as reserved. This includes hard and soft reservations. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -396,7 +468,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Link customer profile to card /// /// - /// [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/creating-loyalty-programs#creating-card-based-loyalty-programs) allows. + /// [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/card-based/creating-cb-programs) allows. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -409,7 +481,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Link customer profile to card /// /// - /// [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/creating-loyalty-programs#creating-card-based-loyalty-programs) allows. + /// [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/card-based/creating-cb-programs) allows. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -421,7 +493,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Reopen customer session /// /// - /// Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>not pending</strong> pending loyalty points.</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. + /// Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>non-pending</strong> loyalty points</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -432,7 +504,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Reopen customer session /// /// - /// Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>not pending</strong> pending loyalty points.</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. + /// Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>non-pending</strong> loyalty points</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -442,7 +514,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Return cart items /// /// - /// Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. Its behavior depends on whether [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled for the Application. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). + /// Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -455,7 +527,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Return cart items /// /// - /// Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. Its behavior depends on whether [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled for the Application. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). + /// Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -467,7 +539,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Sync cart item catalog /// /// - /// Perform one or more of the following sync actions on this cart item catalog, up to 1000 actions: - Add an item to the catalog. - Edit the attributes of an item in the catalog. - Edit the attributes of more than one item in the catalog. - Remove an item from the catalog. - Remove more than one item from the catalog. **Note:** For more information, see [our documentation on managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs#displaying-the-details-and-content-of-a-catalog) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoe\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100 }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\" }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> + /// Perform one or more of the following actions for a given cart item catalog: - Adding an item to the catalog. - Adding several items to the catalog. - Editing the attributes of an item in the catalog. - Editing the attributes of several items in the catalog. - Removing an item from the catalog. - Removing several items from the catalog. You can add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique `SKU`. **Important**: Syncing items with duplicate `SKU` values in a single request returns an error message with a `400` status code. For more information, read [managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Adding several items to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241027\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" }, { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\", \"product\": { \"name\": \"sneakers\" } }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> /// /// Thrown when fails to make API call /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. @@ -479,7 +551,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Sync cart item catalog /// /// - /// Perform one or more of the following sync actions on this cart item catalog, up to 1000 actions: - Add an item to the catalog. - Edit the attributes of an item in the catalog. - Edit the attributes of more than one item in the catalog. - Remove an item from the catalog. - Remove more than one item from the catalog. **Note:** For more information, see [our documentation on managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs#displaying-the-details-and-content-of-a-catalog) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoe\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100 }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\" }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> + /// Perform one or more of the following actions for a given cart item catalog: - Adding an item to the catalog. - Adding several items to the catalog. - Editing the attributes of an item in the catalog. - Editing the attributes of several items in the catalog. - Removing an item from the catalog. - Removing several items from the catalog. You can add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique `SKU`. **Important**: Syncing items with duplicate `SKU` values in a single request returns an error message with a `400` status code. For more information, read [managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Adding several items to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241027\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" }, { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\", \"product\": { \"name\": \"sneakers\" } }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> /// /// Thrown when fails to make API call /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. @@ -490,27 +562,27 @@ public interface IIntegrationApiSync : IApiAccessor /// Track event /// /// - /// Triggers a custom event. You can build a condition around this event in your rules. Talon.One offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). **Important:** - `profileId` is required. An event is associated with a customer profile. - Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event). - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). When you successfully sent an event to Talon.One, you can list received events in the **Events** view in the Campaign Manager. + /// Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. (optional) - /// IntegrationStateV2 - IntegrationStateV2 TrackEventV2 (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)); + /// TrackEventV2Response + TrackEventV2Response TrackEventV2 (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)); /// /// Track event /// /// - /// Triggers a custom event. You can build a condition around this event in your rules. Talon.One offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). **Important:** - `profileId` is required. An event is associated with a customer profile. - Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event). - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). When you successfully sent an event to Talon.One, you can list received events in the **Events** view in the Campaign Manager. + /// Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. (optional) - /// ApiResponse of IntegrationStateV2 - ApiResponse TrackEventV2WithHttpInfo (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)); + /// ApiResponse of TrackEventV2Response + ApiResponse TrackEventV2WithHttpInfo (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)); /// /// Update profile attributes for all customers in audience /// @@ -518,7 +590,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Update the specified profile attributes to the provided values for all customers in the specified audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// void UpdateAudienceCustomersAttributes (int audienceId, Object body); @@ -530,7 +602,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Update the specified profile attributes to the provided values for all customers in the specified audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// ApiResponse of Object(void) ApiResponse UpdateAudienceCustomersAttributesWithHttpInfo (int audienceId, Object body); @@ -538,10 +610,10 @@ public interface IIntegrationApiSync : IApiAccessor /// Update audience name /// /// - /// Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the rule engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. + /// Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the Rule Engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// Audience Audience UpdateAudienceV2 (int audienceId, UpdateAudience body); @@ -550,10 +622,10 @@ public interface IIntegrationApiSync : IApiAccessor /// Update audience name /// /// - /// Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the rule engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. + /// Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the Rule Engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// ApiResponse of Audience ApiResponse UpdateAudienceV2WithHttpInfo (int audienceId, UpdateAudience body); @@ -561,7 +633,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Update multiple customer profiles' audiences /// /// - /// Update the specified customer profiles with the specified audiences. Use this endpoint when customers join or leave audiences. The limit of customer profiles per request is 1000. + /// Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (`add` or `remove`) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect. /// /// Thrown when fails to make API call /// body @@ -572,7 +644,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Update multiple customer profiles' audiences /// /// - /// Update the specified customer profiles with the specified audiences. Use this endpoint when customers join or leave audiences. The limit of customer profiles per request is 1000. + /// Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (`add` or `remove`) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect. /// /// Thrown when fails to make API call /// body @@ -582,34 +654,34 @@ public interface IIntegrationApiSync : IApiAccessor /// Update customer profile /// /// - /// Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities#customer-profile). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> + /// Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// body /// Indicates whether to run the Rule Engine. If `true`, the response includes: - The effects generated by the triggered campaigns are returned in the `effects` property. - The created coupons and referral objects. If `false`: - The rules are not executed and the `effects` property is always empty. - The response time improves. - You cannot use `responseContent` in the body. (optional, default to false) /// (Only works when `runRuleEngine=true`) Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) - /// IntegrationStateV2 - IntegrationStateV2 UpdateCustomerProfileV2 (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)); + /// CustomerProfileIntegrationResponseV2 + CustomerProfileIntegrationResponseV2 UpdateCustomerProfileV2 (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)); /// /// Update customer profile /// /// - /// Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities#customer-profile). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> + /// Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// body /// Indicates whether to run the Rule Engine. If `true`, the response includes: - The effects generated by the triggered campaigns are returned in the `effects` property. - The created coupons and referral objects. If `false`: - The rules are not executed and the `effects` property is always empty. - The response time improves. - You cannot use `responseContent` in the body. (optional, default to false) /// (Only works when `runRuleEngine=true`) Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) - /// ApiResponse of IntegrationStateV2 - ApiResponse UpdateCustomerProfileV2WithHttpInfo (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)); + /// ApiResponse of CustomerProfileIntegrationResponseV2 + ApiResponse UpdateCustomerProfileV2WithHttpInfo (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)); /// /// Update multiple customer profiles /// /// - /// Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities#customer-profile) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). + /// Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call /// body @@ -621,7 +693,7 @@ public interface IIntegrationApiSync : IApiAccessor /// Update multiple customer profiles /// /// - /// Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities#customer-profile) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). + /// Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call /// body @@ -632,27 +704,29 @@ public interface IIntegrationApiSync : IApiAccessor /// Update customer session /// /// - /// Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities#customer-session) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). + /// Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. /// body - /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) + /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional) + /// A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the `dry` parameter in the query is set to `true`. (optional) /// IntegrationStateV2 - IntegrationStateV2 UpdateCustomerSessionV2 (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?)); + IntegrationStateV2 UpdateCustomerSessionV2 (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?), DateTime? now = default(DateTime?)); /// /// Update customer session /// /// - /// Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities#customer-session) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). + /// Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. /// body - /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) + /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional) + /// A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the `dry` parameter in the query is set to `true`. (optional) /// ApiResponse of IntegrationStateV2 - ApiResponse UpdateCustomerSessionV2WithHttpInfo (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?)); + ApiResponse UpdateCustomerSessionV2WithHttpInfo (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?), DateTime? now = default(DateTime?)); #endregion Synchronous Operations } @@ -687,7 +761,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Create coupon reservation /// /// - /// Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and `List customer data` to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store. <div class=\"redoc-section\"> <p class=\"title\">Important</p> This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the `recipientsIntegrationId` property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). </div> To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. + /// Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon will be associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -699,7 +773,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Create coupon reservation /// /// - /// Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and `List customer data` to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store. <div class=\"redoc-section\"> <p class=\"title\">Important</p> This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the `recipientsIntegrationId` property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). </div> To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. + /// Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon will be associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -757,7 +831,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Remove all members from this audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// Task of void System.Threading.Tasks.Task DeleteAudienceMembershipsV2Async (int audienceId); @@ -768,7 +842,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Remove all members from this audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// Task of ApiResponse System.Threading.Tasks.Task> DeleteAudienceMembershipsV2AsyncWithHttpInfo (int audienceId); /// @@ -778,7 +852,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-audience). /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// Task of void System.Threading.Tasks.Task DeleteAudienceV2Async (int audienceId); @@ -789,7 +863,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-audience). /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// Task of ApiResponse System.Threading.Tasks.Task> DeleteAudienceV2AsyncWithHttpInfo (int audienceId); /// @@ -849,8 +923,9 @@ public interface IIntegrationApiAsync : IApiAccessor /// Set to `true` to include coupon information in the response. (optional) /// Set to `true` to include loyalty information in the response. (optional) /// Set to `true` to include giveaways information in the response. (optional) + /// Set to `true` to include achievement information in the response. (optional) /// Task of CustomerInventory - System.Threading.Tasks.Task GetCustomerInventoryAsync (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?)); + System.Threading.Tasks.Task GetCustomerInventoryAsync (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?), bool? achievements = default(bool?)); /// /// List customer data @@ -865,8 +940,9 @@ public interface IIntegrationApiAsync : IApiAccessor /// Set to `true` to include coupon information in the response. (optional) /// Set to `true` to include loyalty information in the response. (optional) /// Set to `true` to include giveaways information in the response. (optional) + /// Set to `true` to include achievement information in the response. (optional) /// Task of ApiResponse (CustomerInventory) - System.Threading.Tasks.Task> GetCustomerInventoryAsyncWithHttpInfo (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?)); + System.Threading.Tasks.Task> GetCustomerInventoryAsyncWithHttpInfo (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?), bool? achievements = default(bool?)); /// /// Get customer session /// @@ -892,27 +968,29 @@ public interface IIntegrationApiAsync : IApiAccessor /// Get customer's loyalty points /// /// - /// Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date. If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. **Note:** For more information, see [our documentation on managing loyalty data](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-data#obtaining-the-loyalty-balances-of-a-customer). + /// Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID. **Note**: If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The ID of the subledger by which we filter the data. (optional) /// Task of LoyaltyBalances - System.Threading.Tasks.Task GetLoyaltyBalancesAsync (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?)); + System.Threading.Tasks.Task GetLoyaltyBalancesAsync (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?), string subledgerId = default(string)); /// /// Get customer's loyalty points /// /// - /// Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date. If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. **Note:** For more information, see [our documentation on managing loyalty data](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-data#obtaining-the-loyalty-balances-of-a-customer). + /// Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID. **Note**: If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The ID of the subledger by which we filter the data. (optional) /// Task of ApiResponse (LoyaltyBalances) - System.Threading.Tasks.Task> GetLoyaltyBalancesAsyncWithHttpInfo (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?)); + System.Threading.Tasks.Task> GetLoyaltyBalancesAsyncWithHttpInfo (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?), string subledgerId = default(string)); /// /// Get card's point balances /// @@ -922,9 +1000,10 @@ public interface IIntegrationApiAsync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Task of LoyaltyBalances - System.Threading.Tasks.Task GetLoyaltyCardBalancesAsync (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?)); + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Task of LoyaltyCardBalances + System.Threading.Tasks.Task GetLoyaltyCardBalancesAsync (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?), List subledgerId = default(List)); /// /// Get card's point balances @@ -935,9 +1014,41 @@ public interface IIntegrationApiAsync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Task of ApiResponse (LoyaltyBalances) - System.Threading.Tasks.Task> GetLoyaltyCardBalancesAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?)); + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Task of ApiResponse (LoyaltyCardBalances) + System.Threading.Tasks.Task> GetLoyaltyCardBalancesAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?), List subledgerId = default(List)); + /// + /// List card's unused loyalty points + /// + /// + /// Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Filter points based on their status. (optional, default to active) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Task of InlineResponse2003 + System.Threading.Tasks.Task GetLoyaltyCardPointsAsync (int loyaltyProgramId, string loyaltyCardId, string status = default(string), List subledgerId = default(List), int? pageSize = default(int?), int? skip = default(int?)); + + /// + /// List card's unused loyalty points + /// + /// + /// Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Filter points based on their status. (optional, default to active) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Task of ApiResponse (InlineResponse2003) + System.Threading.Tasks.Task> GetLoyaltyCardPointsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, string status = default(string), List subledgerId = default(List), int? pageSize = default(int?), int? skip = default(int?)); /// /// List card's transactions /// @@ -947,13 +1058,14 @@ public interface IIntegrationApiAsync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Task of InlineResponse2001 - System.Threading.Tasks.Task GetLoyaltyCardTransactionsAsync (int loyaltyProgramId, string loyaltyCardId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + System.Threading.Tasks.Task GetLoyaltyCardTransactionsAsync (int loyaltyProgramId, string loyaltyCardId, List subledgerId = default(List), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); /// /// List card's transactions @@ -964,13 +1076,45 @@ public interface IIntegrationApiAsync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Task of ApiResponse (InlineResponse2001) - System.Threading.Tasks.Task> GetLoyaltyCardTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + System.Threading.Tasks.Task> GetLoyaltyCardTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, List subledgerId = default(List), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + /// + /// List customer's unused loyalty points + /// + /// + /// Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. + /// Filter points based on their status. (optional, default to active) + /// The ID of the subledger by which we filter the data. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Task of InlineResponse2004 + System.Threading.Tasks.Task GetLoyaltyProgramProfilePointsAsync (int loyaltyProgramId, string integrationId, string status = default(string), string subledgerId = default(string), int? pageSize = default(int?), int? skip = default(int?)); + + /// + /// List customer's unused loyalty points + /// + /// + /// Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. + /// Filter points based on their status. (optional, default to active) + /// The ID of the subledger by which we filter the data. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Task of ApiResponse (InlineResponse2004) + System.Threading.Tasks.Task> GetLoyaltyProgramProfilePointsAsyncWithHttpInfo (int loyaltyProgramId, string integrationId, string status = default(string), string subledgerId = default(string), int? pageSize = default(int?), int? skip = default(int?)); /// /// List customer's loyalty transactions /// @@ -978,15 +1122,16 @@ public interface IIntegrationApiAsync : IApiAccessor /// Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) /// Task of InlineResponse2002 - System.Threading.Tasks.Task GetLoyaltyProgramProfileTransactionsAsync (int loyaltyProgramId, string integrationId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + System.Threading.Tasks.Task GetLoyaltyProgramProfileTransactionsAsync (int loyaltyProgramId, string integrationId, string subledgerId = default(string), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); /// /// List customer's loyalty transactions @@ -995,20 +1140,21 @@ public interface IIntegrationApiAsync : IApiAccessor /// Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) /// Task of ApiResponse (InlineResponse2002) - System.Threading.Tasks.Task> GetLoyaltyProgramProfileTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string integrationId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + System.Threading.Tasks.Task> GetLoyaltyProgramProfileTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string integrationId, string subledgerId = default(string), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); /// /// List customers that have this coupon reserved /// /// - /// Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given `recipientIntegrationId` or use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints. + /// Return all customers that have this coupon marked as reserved. This includes hard and soft reservations. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -1019,7 +1165,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// List customers that have this coupon reserved /// /// - /// Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given `recipientIntegrationId` or use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints. + /// Return all customers that have this coupon marked as reserved. This includes hard and soft reservations. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -1029,7 +1175,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Link customer profile to card /// /// - /// [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/creating-loyalty-programs#creating-card-based-loyalty-programs) allows. + /// [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/card-based/creating-cb-programs) allows. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -1042,7 +1188,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Link customer profile to card /// /// - /// [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/creating-loyalty-programs#creating-card-based-loyalty-programs) allows. + /// [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/card-based/creating-cb-programs) allows. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -1054,7 +1200,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Reopen customer session /// /// - /// Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>not pending</strong> pending loyalty points.</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. + /// Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>non-pending</strong> loyalty points</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -1065,7 +1211,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Reopen customer session /// /// - /// Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>not pending</strong> pending loyalty points.</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. + /// Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>non-pending</strong> loyalty points</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -1075,7 +1221,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Return cart items /// /// - /// Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. Its behavior depends on whether [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled for the Application. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). + /// Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -1088,7 +1234,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Return cart items /// /// - /// Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. Its behavior depends on whether [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled for the Application. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). + /// Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -1100,7 +1246,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Sync cart item catalog /// /// - /// Perform one or more of the following sync actions on this cart item catalog, up to 1000 actions: - Add an item to the catalog. - Edit the attributes of an item in the catalog. - Edit the attributes of more than one item in the catalog. - Remove an item from the catalog. - Remove more than one item from the catalog. **Note:** For more information, see [our documentation on managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs#displaying-the-details-and-content-of-a-catalog) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoe\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100 }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\" }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> + /// Perform one or more of the following actions for a given cart item catalog: - Adding an item to the catalog. - Adding several items to the catalog. - Editing the attributes of an item in the catalog. - Editing the attributes of several items in the catalog. - Removing an item from the catalog. - Removing several items from the catalog. You can add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique `SKU`. **Important**: Syncing items with duplicate `SKU` values in a single request returns an error message with a `400` status code. For more information, read [managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Adding several items to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241027\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" }, { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\", \"product\": { \"name\": \"sneakers\" } }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> /// /// Thrown when fails to make API call /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. @@ -1112,7 +1258,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Sync cart item catalog /// /// - /// Perform one or more of the following sync actions on this cart item catalog, up to 1000 actions: - Add an item to the catalog. - Edit the attributes of an item in the catalog. - Edit the attributes of more than one item in the catalog. - Remove an item from the catalog. - Remove more than one item from the catalog. **Note:** For more information, see [our documentation on managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs#displaying-the-details-and-content-of-a-catalog) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoe\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100 }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\" }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> + /// Perform one or more of the following actions for a given cart item catalog: - Adding an item to the catalog. - Adding several items to the catalog. - Editing the attributes of an item in the catalog. - Editing the attributes of several items in the catalog. - Removing an item from the catalog. - Removing several items from the catalog. You can add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique `SKU`. **Important**: Syncing items with duplicate `SKU` values in a single request returns an error message with a `400` status code. For more information, read [managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Adding several items to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241027\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" }, { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\", \"product\": { \"name\": \"sneakers\" } }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> /// /// Thrown when fails to make API call /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. @@ -1123,27 +1269,27 @@ public interface IIntegrationApiAsync : IApiAccessor /// Track event /// /// - /// Triggers a custom event. You can build a condition around this event in your rules. Talon.One offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). **Important:** - `profileId` is required. An event is associated with a customer profile. - Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event). - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). When you successfully sent an event to Talon.One, you can list received events in the **Events** view in the Campaign Manager. + /// Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. (optional) - /// Task of IntegrationStateV2 - System.Threading.Tasks.Task TrackEventV2Async (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)); + /// Task of TrackEventV2Response + System.Threading.Tasks.Task TrackEventV2Async (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)); /// /// Track event /// /// - /// Triggers a custom event. You can build a condition around this event in your rules. Talon.One offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). **Important:** - `profileId` is required. An event is associated with a customer profile. - Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event). - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). When you successfully sent an event to Talon.One, you can list received events in the **Events** view in the Campaign Manager. + /// Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. (optional) - /// Task of ApiResponse (IntegrationStateV2) - System.Threading.Tasks.Task> TrackEventV2AsyncWithHttpInfo (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)); + /// Task of ApiResponse (TrackEventV2Response) + System.Threading.Tasks.Task> TrackEventV2AsyncWithHttpInfo (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)); /// /// Update profile attributes for all customers in audience /// @@ -1151,7 +1297,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Update the specified profile attributes to the provided values for all customers in the specified audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// Task of void System.Threading.Tasks.Task UpdateAudienceCustomersAttributesAsync (int audienceId, Object body); @@ -1163,7 +1309,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Update the specified profile attributes to the provided values for all customers in the specified audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// Task of ApiResponse System.Threading.Tasks.Task> UpdateAudienceCustomersAttributesAsyncWithHttpInfo (int audienceId, Object body); @@ -1171,10 +1317,10 @@ public interface IIntegrationApiAsync : IApiAccessor /// Update audience name /// /// - /// Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the rule engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. + /// Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the Rule Engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// Task of Audience System.Threading.Tasks.Task UpdateAudienceV2Async (int audienceId, UpdateAudience body); @@ -1183,10 +1329,10 @@ public interface IIntegrationApiAsync : IApiAccessor /// Update audience name /// /// - /// Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the rule engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. + /// Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the Rule Engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// Task of ApiResponse (Audience) System.Threading.Tasks.Task> UpdateAudienceV2AsyncWithHttpInfo (int audienceId, UpdateAudience body); @@ -1194,7 +1340,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Update multiple customer profiles' audiences /// /// - /// Update the specified customer profiles with the specified audiences. Use this endpoint when customers join or leave audiences. The limit of customer profiles per request is 1000. + /// Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (`add` or `remove`) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect. /// /// Thrown when fails to make API call /// body @@ -1205,7 +1351,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Update multiple customer profiles' audiences /// /// - /// Update the specified customer profiles with the specified audiences. Use this endpoint when customers join or leave audiences. The limit of customer profiles per request is 1000. + /// Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (`add` or `remove`) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect. /// /// Thrown when fails to make API call /// body @@ -1215,34 +1361,34 @@ public interface IIntegrationApiAsync : IApiAccessor /// Update customer profile /// /// - /// Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities#customer-profile). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> + /// Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// body /// Indicates whether to run the Rule Engine. If `true`, the response includes: - The effects generated by the triggered campaigns are returned in the `effects` property. - The created coupons and referral objects. If `false`: - The rules are not executed and the `effects` property is always empty. - The response time improves. - You cannot use `responseContent` in the body. (optional, default to false) /// (Only works when `runRuleEngine=true`) Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) - /// Task of IntegrationStateV2 - System.Threading.Tasks.Task UpdateCustomerProfileV2Async (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)); + /// Task of CustomerProfileIntegrationResponseV2 + System.Threading.Tasks.Task UpdateCustomerProfileV2Async (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)); /// /// Update customer profile /// /// - /// Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities#customer-profile). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> + /// Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// body /// Indicates whether to run the Rule Engine. If `true`, the response includes: - The effects generated by the triggered campaigns are returned in the `effects` property. - The created coupons and referral objects. If `false`: - The rules are not executed and the `effects` property is always empty. - The response time improves. - You cannot use `responseContent` in the body. (optional, default to false) /// (Only works when `runRuleEngine=true`) Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) - /// Task of ApiResponse (IntegrationStateV2) - System.Threading.Tasks.Task> UpdateCustomerProfileV2AsyncWithHttpInfo (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)); + /// Task of ApiResponse (CustomerProfileIntegrationResponseV2) + System.Threading.Tasks.Task> UpdateCustomerProfileV2AsyncWithHttpInfo (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)); /// /// Update multiple customer profiles /// /// - /// Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities#customer-profile) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). + /// Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call /// body @@ -1254,7 +1400,7 @@ public interface IIntegrationApiAsync : IApiAccessor /// Update multiple customer profiles /// /// - /// Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities#customer-profile) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). + /// Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call /// body @@ -1265,27 +1411,29 @@ public interface IIntegrationApiAsync : IApiAccessor /// Update customer session /// /// - /// Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities#customer-session) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). + /// Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. /// body - /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) + /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional) + /// A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the `dry` parameter in the query is set to `true`. (optional) /// Task of IntegrationStateV2 - System.Threading.Tasks.Task UpdateCustomerSessionV2Async (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?)); + System.Threading.Tasks.Task UpdateCustomerSessionV2Async (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?), DateTime? now = default(DateTime?)); /// /// Update customer session /// /// - /// Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities#customer-session) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). + /// Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. /// body - /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) + /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional) + /// A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the `dry` parameter in the query is set to `true`. (optional) /// Task of ApiResponse (IntegrationStateV2) - System.Threading.Tasks.Task> UpdateCustomerSessionV2AsyncWithHttpInfo (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?)); + System.Threading.Tasks.Task> UpdateCustomerSessionV2AsyncWithHttpInfo (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?), DateTime? now = default(DateTime?)); #endregion Asynchronous Operations } @@ -1544,7 +1692,7 @@ public async System.Threading.Tasks.Task CreateAudienceV2Async (NewAud } /// - /// Create coupon reservation Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and `List customer data` to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store. <div class=\"redoc-section\"> <p class=\"title\">Important</p> This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the `recipientsIntegrationId` property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). </div> To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. + /// Create coupon reservation Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon will be associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -1557,7 +1705,7 @@ public Coupon CreateCouponReservation (string couponValue, CouponReservations bo } /// - /// Create coupon reservation Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and `List customer data` to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store. <div class=\"redoc-section\"> <p class=\"title\">Important</p> This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the `recipientsIntegrationId` property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). </div> To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. + /// Create coupon reservation Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon will be associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -1618,7 +1766,7 @@ public TalonOne.Client.ApiResponse< Coupon > CreateCouponReservationWithHttpInfo } /// - /// Create coupon reservation Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and `List customer data` to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store. <div class=\"redoc-section\"> <p class=\"title\">Important</p> This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the `recipientsIntegrationId` property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). </div> To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. + /// Create coupon reservation Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon will be associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -1632,7 +1780,7 @@ public async System.Threading.Tasks.Task CreateCouponReservationAsync (s } /// - /// Create coupon reservation Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and `List customer data` to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store. <div class=\"redoc-section\"> <p class=\"title\">Important</p> This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the `recipientsIntegrationId` property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). </div> To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. + /// Create coupon reservation Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon will be associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -1984,7 +2132,7 @@ public async System.Threading.Tasks.Task CreateReferralAsync (NewRefer /// Delete audience memberships Remove all members from this audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// public void DeleteAudienceMembershipsV2 (int audienceId) { @@ -1995,7 +2143,7 @@ public void DeleteAudienceMembershipsV2 (int audienceId) /// Delete audience memberships Remove all members from this audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// ApiResponse of Object(void) public TalonOne.Client.ApiResponse DeleteAudienceMembershipsV2WithHttpInfo (int audienceId) { @@ -2045,7 +2193,7 @@ public TalonOne.Client.ApiResponse DeleteAudienceMembershipsV2WithHttpIn /// Delete audience memberships Remove all members from this audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// Task of void public async System.Threading.Tasks.Task DeleteAudienceMembershipsV2Async (int audienceId) { @@ -2057,7 +2205,7 @@ public async System.Threading.Tasks.Task DeleteAudienceMembershipsV2Async (int a /// Delete audience memberships Remove all members from this audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// Task of ApiResponse public async System.Threading.Tasks.Task> DeleteAudienceMembershipsV2AsyncWithHttpInfo (int audienceId) { @@ -2109,7 +2257,7 @@ public async System.Threading.Tasks.Task DeleteAudienceMembershipsV2Async (int a /// Delete audience Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-audience). /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// public void DeleteAudienceV2 (int audienceId) { @@ -2120,7 +2268,7 @@ public void DeleteAudienceV2 (int audienceId) /// Delete audience Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-audience). /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// ApiResponse of Object(void) public TalonOne.Client.ApiResponse DeleteAudienceV2WithHttpInfo (int audienceId) { @@ -2170,7 +2318,7 @@ public TalonOne.Client.ApiResponse DeleteAudienceV2WithHttpInfo (int aud /// Delete audience Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-audience). /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// Task of void public async System.Threading.Tasks.Task DeleteAudienceV2Async (int audienceId) { @@ -2182,7 +2330,7 @@ public async System.Threading.Tasks.Task DeleteAudienceV2Async (int audienceId) /// Delete audience Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-audience). /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// Task of ApiResponse public async System.Threading.Tasks.Task> DeleteAudienceV2AsyncWithHttpInfo (int audienceId) { @@ -2522,10 +2670,11 @@ public async System.Threading.Tasks.Task DeleteCustomerDataAsync (string integra /// Set to `true` to include coupon information in the response. (optional) /// Set to `true` to include loyalty information in the response. (optional) /// Set to `true` to include giveaways information in the response. (optional) + /// Set to `true` to include achievement information in the response. (optional) /// CustomerInventory - public CustomerInventory GetCustomerInventory (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?)) + public CustomerInventory GetCustomerInventory (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?), bool? achievements = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = GetCustomerInventoryWithHttpInfo(integrationId, profile, referrals, coupons, loyalty, giveaways); + TalonOne.Client.ApiResponse localVarResponse = GetCustomerInventoryWithHttpInfo(integrationId, profile, referrals, coupons, loyalty, giveaways, achievements); return localVarResponse.Data; } @@ -2539,8 +2688,9 @@ public async System.Threading.Tasks.Task DeleteCustomerDataAsync (string integra /// Set to `true` to include coupon information in the response. (optional) /// Set to `true` to include loyalty information in the response. (optional) /// Set to `true` to include giveaways information in the response. (optional) + /// Set to `true` to include achievement information in the response. (optional) /// ApiResponse of CustomerInventory - public TalonOne.Client.ApiResponse< CustomerInventory > GetCustomerInventoryWithHttpInfo (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?)) + public TalonOne.Client.ApiResponse< CustomerInventory > GetCustomerInventoryWithHttpInfo (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?), bool? achievements = default(bool?)) { // verify the required parameter 'integrationId' is set if (integrationId == null) @@ -2583,6 +2733,10 @@ public async System.Threading.Tasks.Task DeleteCustomerDataAsync (string integra { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "giveaways", giveaways)); } + if (achievements != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "achievements", achievements)); + } // authentication (api_key_v1) required if ( @@ -2618,10 +2772,11 @@ public async System.Threading.Tasks.Task DeleteCustomerDataAsync (string integra /// Set to `true` to include coupon information in the response. (optional) /// Set to `true` to include loyalty information in the response. (optional) /// Set to `true` to include giveaways information in the response. (optional) + /// Set to `true` to include achievement information in the response. (optional) /// Task of CustomerInventory - public async System.Threading.Tasks.Task GetCustomerInventoryAsync (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?)) + public async System.Threading.Tasks.Task GetCustomerInventoryAsync (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?), bool? achievements = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetCustomerInventoryAsyncWithHttpInfo(integrationId, profile, referrals, coupons, loyalty, giveaways); + TalonOne.Client.ApiResponse localVarResponse = await GetCustomerInventoryAsyncWithHttpInfo(integrationId, profile, referrals, coupons, loyalty, giveaways, achievements); return localVarResponse.Data; } @@ -2636,8 +2791,9 @@ public async System.Threading.Tasks.Task DeleteCustomerDataAsync (string integra /// Set to `true` to include coupon information in the response. (optional) /// Set to `true` to include loyalty information in the response. (optional) /// Set to `true` to include giveaways information in the response. (optional) + /// Set to `true` to include achievement information in the response. (optional) /// Task of ApiResponse (CustomerInventory) - public async System.Threading.Tasks.Task> GetCustomerInventoryAsyncWithHttpInfo (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?)) + public async System.Threading.Tasks.Task> GetCustomerInventoryAsyncWithHttpInfo (string integrationId, bool? profile = default(bool?), bool? referrals = default(bool?), bool? coupons = default(bool?), bool? loyalty = default(bool?), bool? giveaways = default(bool?), bool? achievements = default(bool?)) { // verify the required parameter 'integrationId' is set if (integrationId == null) @@ -2681,6 +2837,10 @@ public async System.Threading.Tasks.Task DeleteCustomerDataAsync (string integra { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "giveaways", giveaways)); } + if (achievements != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "achievements", achievements)); + } // authentication (api_key_v1) required if ( @@ -2843,28 +3003,30 @@ public async System.Threading.Tasks.Task Get } /// - /// Get customer's loyalty points Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date. If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. **Note:** For more information, see [our documentation on managing loyalty data](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-data#obtaining-the-loyalty-balances-of-a-customer). + /// Get customer's loyalty points Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID. **Note**: If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The ID of the subledger by which we filter the data. (optional) /// LoyaltyBalances - public LoyaltyBalances GetLoyaltyBalances (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?)) + public LoyaltyBalances GetLoyaltyBalances (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?), string subledgerId = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyBalancesWithHttpInfo(loyaltyProgramId, integrationId, endDate); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyBalancesWithHttpInfo(loyaltyProgramId, integrationId, endDate, subledgerId); return localVarResponse.Data; } /// - /// Get customer's loyalty points Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date. If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. **Note:** For more information, see [our documentation on managing loyalty data](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-data#obtaining-the-loyalty-balances-of-a-customer). + /// Get customer's loyalty points Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID. **Note**: If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The ID of the subledger by which we filter the data. (optional) /// ApiResponse of LoyaltyBalances - public TalonOne.Client.ApiResponse< LoyaltyBalances > GetLoyaltyBalancesWithHttpInfo (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?)) + public TalonOne.Client.ApiResponse< LoyaltyBalances > GetLoyaltyBalancesWithHttpInfo (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?), string subledgerId = default(string)) { // verify the required parameter 'integrationId' is set if (integrationId == null) @@ -2892,6 +3054,10 @@ public async System.Threading.Tasks.Task Get { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); } + if (subledgerId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); + } // authentication (api_key_v1) required if ( @@ -2918,29 +3084,31 @@ public async System.Threading.Tasks.Task Get } /// - /// Get customer's loyalty points Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date. If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. **Note:** For more information, see [our documentation on managing loyalty data](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-data#obtaining-the-loyalty-balances-of-a-customer). + /// Get customer's loyalty points Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID. **Note**: If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The ID of the subledger by which we filter the data. (optional) /// Task of LoyaltyBalances - public async System.Threading.Tasks.Task GetLoyaltyBalancesAsync (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?)) + public async System.Threading.Tasks.Task GetLoyaltyBalancesAsync (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?), string subledgerId = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyBalancesAsyncWithHttpInfo(loyaltyProgramId, integrationId, endDate); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyBalancesAsyncWithHttpInfo(loyaltyProgramId, integrationId, endDate, subledgerId); return localVarResponse.Data; } /// - /// Get customer's loyalty points Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date. If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. **Note:** For more information, see [our documentation on managing loyalty data](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-data#obtaining-the-loyalty-balances-of-a-customer). + /// Get customer's loyalty points Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID. **Note**: If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The ID of the subledger by which we filter the data. (optional) /// Task of ApiResponse (LoyaltyBalances) - public async System.Threading.Tasks.Task> GetLoyaltyBalancesAsyncWithHttpInfo (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?)) + public async System.Threading.Tasks.Task> GetLoyaltyBalancesAsyncWithHttpInfo (int loyaltyProgramId, string integrationId, DateTime? endDate = default(DateTime?), string subledgerId = default(string)) { // verify the required parameter 'integrationId' is set if (integrationId == null) @@ -2969,6 +3137,10 @@ public async System.Threading.Tasks.Task Get { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); } + if (subledgerId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); + } // authentication (api_key_v1) required if ( @@ -3001,11 +3173,12 @@ public async System.Threading.Tasks.Task Get /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// LoyaltyBalances - public LoyaltyBalances GetLoyaltyCardBalances (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?)) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// LoyaltyCardBalances + public LoyaltyCardBalances GetLoyaltyCardBalances (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?), List subledgerId = default(List)) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyCardBalancesWithHttpInfo(loyaltyProgramId, loyaltyCardId, endDate); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyCardBalancesWithHttpInfo(loyaltyProgramId, loyaltyCardId, endDate, subledgerId); return localVarResponse.Data; } @@ -3015,9 +3188,10 @@ public async System.Threading.Tasks.Task Get /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// ApiResponse of LoyaltyBalances - public TalonOne.Client.ApiResponse< LoyaltyBalances > GetLoyaltyCardBalancesWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?)) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// ApiResponse of LoyaltyCardBalances + public TalonOne.Client.ApiResponse< LoyaltyCardBalances > GetLoyaltyCardBalancesWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?), List subledgerId = default(List)) { // verify the required parameter 'loyaltyCardId' is set if (loyaltyCardId == null) @@ -3045,6 +3219,10 @@ public async System.Threading.Tasks.Task Get { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); } + if (subledgerId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "subledgerId", subledgerId)); + } // authentication (api_key_v1) required if ( @@ -3058,7 +3236,7 @@ public async System.Threading.Tasks.Task Get } // make the HTTP request - var localVarResponse = this.Client.Get< LoyaltyBalances >("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/balances", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< LoyaltyCardBalances >("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/balances", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) @@ -3076,11 +3254,12 @@ public async System.Threading.Tasks.Task Get /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Task of LoyaltyBalances - public async System.Threading.Tasks.Task GetLoyaltyCardBalancesAsync (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?)) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Task of LoyaltyCardBalances + public async System.Threading.Tasks.Task GetLoyaltyCardBalancesAsync (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?), List subledgerId = default(List)) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyCardBalancesAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, endDate); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyCardBalancesAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, endDate, subledgerId); return localVarResponse.Data; } @@ -3091,9 +3270,10 @@ public async System.Threading.Tasks.Task Get /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Task of ApiResponse (LoyaltyBalances) - public async System.Threading.Tasks.Task> GetLoyaltyCardBalancesAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?)) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Task of ApiResponse (LoyaltyCardBalances) + public async System.Threading.Tasks.Task> GetLoyaltyCardBalancesAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? endDate = default(DateTime?), List subledgerId = default(List)) { // verify the required parameter 'loyaltyCardId' is set if (loyaltyCardId == null) @@ -3122,6 +3302,10 @@ public async System.Threading.Tasks.Task Get { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); } + if (subledgerId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "subledgerId", subledgerId)); + } // authentication (api_key_v1) required if ( @@ -3136,7 +3320,7 @@ public async System.Threading.Tasks.Task Get // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/balances", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/balances", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) @@ -3148,21 +3332,211 @@ public async System.Threading.Tasks.Task Get return localVarResponse; } + /// + /// List card's unused loyalty points Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Filter points based on their status. (optional, default to active) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// InlineResponse2003 + public InlineResponse2003 GetLoyaltyCardPoints (int loyaltyProgramId, string loyaltyCardId, string status = default(string), List subledgerId = default(List), int? pageSize = default(int?), int? skip = default(int?)) + { + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyCardPointsWithHttpInfo(loyaltyProgramId, loyaltyCardId, status, subledgerId, pageSize, skip); + return localVarResponse.Data; + } + + /// + /// List card's unused loyalty points Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Filter points based on their status. (optional, default to active) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// ApiResponse of InlineResponse2003 + public TalonOne.Client.ApiResponse< InlineResponse2003 > GetLoyaltyCardPointsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, string status = default(string), List subledgerId = default(List), int? pageSize = default(int?), int? skip = default(int?)) + { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling IntegrationApi->GetLoyaltyCardPoints"); + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + if (status != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + } + if (subledgerId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "subledgerId", subledgerId)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + + // authentication (api_key_v1) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< InlineResponse2003 >("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/points", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetLoyaltyCardPoints", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List card's unused loyalty points Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Filter points based on their status. (optional, default to active) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Task of InlineResponse2003 + public async System.Threading.Tasks.Task GetLoyaltyCardPointsAsync (int loyaltyProgramId, string loyaltyCardId, string status = default(string), List subledgerId = default(List), int? pageSize = default(int?), int? skip = default(int?)) + { + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyCardPointsAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, status, subledgerId, pageSize, skip); + return localVarResponse.Data; + + } + + /// + /// List card's unused loyalty points Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Filter points based on their status. (optional, default to active) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Task of ApiResponse (InlineResponse2003) + public async System.Threading.Tasks.Task> GetLoyaltyCardPointsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, string status = default(string), List subledgerId = default(List), int? pageSize = default(int?), int? skip = default(int?)) + { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling IntegrationApi->GetLoyaltyCardPoints"); + + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + if (status != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + } + if (subledgerId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "subledgerId", subledgerId)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + + // authentication (api_key_v1) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/points", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetLoyaltyCardPoints", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + /// /// List card's transactions Retrieve loyalty transaction logs for the given loyalty card in the specified loyalty program with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// InlineResponse2001 - public InlineResponse2001 GetLoyaltyCardTransactions (int loyaltyProgramId, string loyaltyCardId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + public InlineResponse2001 GetLoyaltyCardTransactions (int loyaltyProgramId, string loyaltyCardId, List subledgerId = default(List), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyCardTransactionsWithHttpInfo(loyaltyProgramId, loyaltyCardId, subledgerId, startDate, endDate, pageSize, skip); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyCardTransactionsWithHttpInfo(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip); return localVarResponse.Data; } @@ -3172,13 +3546,14 @@ public async System.Threading.Tasks.Task Get /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// ApiResponse of InlineResponse2001 - public TalonOne.Client.ApiResponse< InlineResponse2001 > GetLoyaltyCardTransactionsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + public TalonOne.Client.ApiResponse< InlineResponse2001 > GetLoyaltyCardTransactionsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, List subledgerId = default(List), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { // verify the required parameter 'loyaltyCardId' is set if (loyaltyCardId == null) @@ -3204,7 +3579,11 @@ public async System.Threading.Tasks.Task Get localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter if (subledgerId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "subledgerId", subledgerId)); + } + if (loyaltyTransactionType != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "loyaltyTransactionType", loyaltyTransactionType)); } if (startDate != null) { @@ -3253,15 +3632,16 @@ public async System.Threading.Tasks.Task Get /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Task of InlineResponse2001 - public async System.Threading.Tasks.Task GetLoyaltyCardTransactionsAsync (int loyaltyProgramId, string loyaltyCardId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + public async System.Threading.Tasks.Task GetLoyaltyCardTransactionsAsync (int loyaltyProgramId, string loyaltyCardId, List subledgerId = default(List), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyCardTransactionsAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, subledgerId, startDate, endDate, pageSize, skip); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyCardTransactionsAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip); return localVarResponse.Data; } @@ -3272,13 +3652,14 @@ public async System.Threading.Tasks.Task Get /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Filter results by one or more subledger IDs. Must be exact match. (optional) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Task of ApiResponse (InlineResponse2001) - public async System.Threading.Tasks.Task> GetLoyaltyCardTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + public async System.Threading.Tasks.Task> GetLoyaltyCardTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, List subledgerId = default(List), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { // verify the required parameter 'loyaltyCardId' is set if (loyaltyCardId == null) @@ -3305,7 +3686,11 @@ public async System.Threading.Tasks.Task Get localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter if (subledgerId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "subledgerId", subledgerId)); + } + if (loyaltyTransactionType != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "loyaltyTransactionType", loyaltyTransactionType)); } if (startDate != null) { @@ -3349,21 +3734,211 @@ public async System.Threading.Tasks.Task Get return localVarResponse; } + /// + /// List customer's unused loyalty points Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. + /// Filter points based on their status. (optional, default to active) + /// The ID of the subledger by which we filter the data. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// InlineResponse2004 + public InlineResponse2004 GetLoyaltyProgramProfilePoints (int loyaltyProgramId, string integrationId, string status = default(string), string subledgerId = default(string), int? pageSize = default(int?), int? skip = default(int?)) + { + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyProgramProfilePointsWithHttpInfo(loyaltyProgramId, integrationId, status, subledgerId, pageSize, skip); + return localVarResponse.Data; + } + + /// + /// List customer's unused loyalty points Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. + /// Filter points based on their status. (optional, default to active) + /// The ID of the subledger by which we filter the data. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// ApiResponse of InlineResponse2004 + public TalonOne.Client.ApiResponse< InlineResponse2004 > GetLoyaltyProgramProfilePointsWithHttpInfo (int loyaltyProgramId, string integrationId, string status = default(string), string subledgerId = default(string), int? pageSize = default(int?), int? skip = default(int?)) + { + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling IntegrationApi->GetLoyaltyProgramProfilePoints"); + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + if (status != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + } + if (subledgerId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + + // authentication (api_key_v1) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< InlineResponse2004 >("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/points", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetLoyaltyProgramProfilePoints", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List customer's unused loyalty points Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. + /// Filter points based on their status. (optional, default to active) + /// The ID of the subledger by which we filter the data. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Task of InlineResponse2004 + public async System.Threading.Tasks.Task GetLoyaltyProgramProfilePointsAsync (int loyaltyProgramId, string integrationId, string status = default(string), string subledgerId = default(string), int? pageSize = default(int?), int? skip = default(int?)) + { + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyProgramProfilePointsAsyncWithHttpInfo(loyaltyProgramId, integrationId, status, subledgerId, pageSize, skip); + return localVarResponse.Data; + + } + + /// + /// List customer's unused loyalty points Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past. + /// + /// Thrown when fails to make API call + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. + /// Filter points based on their status. (optional, default to active) + /// The ID of the subledger by which we filter the data. (optional) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Task of ApiResponse (InlineResponse2004) + public async System.Threading.Tasks.Task> GetLoyaltyProgramProfilePointsAsyncWithHttpInfo (int loyaltyProgramId, string integrationId, string status = default(string), string subledgerId = default(string), int? pageSize = default(int?), int? skip = default(int?)) + { + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling IntegrationApi->GetLoyaltyProgramProfilePoints"); + + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + if (status != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + } + if (subledgerId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + + // authentication (api_key_v1) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/points", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetLoyaltyProgramProfilePoints", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + /// /// List customer's loyalty transactions Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) /// InlineResponse2002 - public InlineResponse2002 GetLoyaltyProgramProfileTransactions (int loyaltyProgramId, string integrationId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + public InlineResponse2002 GetLoyaltyProgramProfileTransactions (int loyaltyProgramId, string integrationId, string subledgerId = default(string), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyProgramProfileTransactionsWithHttpInfo(loyaltyProgramId, integrationId, subledgerId, startDate, endDate, pageSize, skip); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyProgramProfileTransactionsWithHttpInfo(loyaltyProgramId, integrationId, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip); return localVarResponse.Data; } @@ -3371,15 +3946,16 @@ public async System.Threading.Tasks.Task Get /// List customer's loyalty transactions Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) /// ApiResponse of InlineResponse2002 - public TalonOne.Client.ApiResponse< InlineResponse2002 > GetLoyaltyProgramProfileTransactionsWithHttpInfo (int loyaltyProgramId, string integrationId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + public TalonOne.Client.ApiResponse< InlineResponse2002 > GetLoyaltyProgramProfileTransactionsWithHttpInfo (int loyaltyProgramId, string integrationId, string subledgerId = default(string), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { // verify the required parameter 'integrationId' is set if (integrationId == null) @@ -3407,6 +3983,10 @@ public async System.Threading.Tasks.Task Get { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); } + if (loyaltyTransactionType != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "loyaltyTransactionType", loyaltyTransactionType)); + } if (startDate != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startDate", startDate)); @@ -3452,17 +4032,18 @@ public async System.Threading.Tasks.Task Get /// List customer's loyalty transactions Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) /// Task of InlineResponse2002 - public async System.Threading.Tasks.Task GetLoyaltyProgramProfileTransactionsAsync (int loyaltyProgramId, string integrationId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + public async System.Threading.Tasks.Task GetLoyaltyProgramProfileTransactionsAsync (int loyaltyProgramId, string integrationId, string subledgerId = default(string), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyProgramProfileTransactionsAsyncWithHttpInfo(loyaltyProgramId, integrationId, subledgerId, startDate, endDate, pageSize, skip); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyProgramProfileTransactionsAsyncWithHttpInfo(loyaltyProgramId, integrationId, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip); return localVarResponse.Data; } @@ -3471,15 +4052,16 @@ public async System.Threading.Tasks.Task Get /// List customer's loyalty transactions Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) /// Task of ApiResponse (InlineResponse2002) - public async System.Threading.Tasks.Task> GetLoyaltyProgramProfileTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string integrationId, string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + public async System.Threading.Tasks.Task> GetLoyaltyProgramProfileTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string integrationId, string subledgerId = default(string), string loyaltyTransactionType = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { // verify the required parameter 'integrationId' is set if (integrationId == null) @@ -3508,6 +4090,10 @@ public async System.Threading.Tasks.Task Get { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); } + if (loyaltyTransactionType != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "loyaltyTransactionType", loyaltyTransactionType)); + } if (startDate != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startDate", startDate)); @@ -3551,7 +4137,7 @@ public async System.Threading.Tasks.Task Get } /// - /// List customers that have this coupon reserved Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given `recipientIntegrationId` or use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints. + /// List customers that have this coupon reserved Return all customers that have this coupon marked as reserved. This includes hard and soft reservations. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -3563,7 +4149,7 @@ public InlineResponse200 GetReservedCustomers (string couponValue) } /// - /// List customers that have this coupon reserved Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given `recipientIntegrationId` or use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints. + /// List customers that have this coupon reserved Return all customers that have this coupon marked as reserved. This includes hard and soft reservations. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -3617,7 +4203,7 @@ public TalonOne.Client.ApiResponse< InlineResponse200 > GetReservedCustomersWith } /// - /// List customers that have this coupon reserved Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given `recipientIntegrationId` or use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints. + /// List customers that have this coupon reserved Return all customers that have this coupon marked as reserved. This includes hard and soft reservations. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -3630,7 +4216,7 @@ public async System.Threading.Tasks.Task GetReservedCustomers } /// - /// List customers that have this coupon reserved Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given `recipientIntegrationId` or use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints. + /// List customers that have this coupon reserved Return all customers that have this coupon marked as reserved. This includes hard and soft reservations. /// /// Thrown when fails to make API call /// The code of the coupon. @@ -3686,7 +4272,7 @@ public async System.Threading.Tasks.Task GetReservedCustomers } /// - /// Link customer profile to card [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/creating-loyalty-programs#creating-card-based-loyalty-programs) allows. + /// Link customer profile to card [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/card-based/creating-cb-programs) allows. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -3700,7 +4286,7 @@ public LoyaltyCard LinkLoyaltyCardToProfile (int loyaltyProgramId, string loyalt } /// - /// Link customer profile to card [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/creating-loyalty-programs#creating-card-based-loyalty-programs) allows. + /// Link customer profile to card [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/card-based/creating-cb-programs) allows. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -3763,7 +4349,7 @@ public TalonOne.Client.ApiResponse< LoyaltyCard > LinkLoyaltyCardToProfileWithHt } /// - /// Link customer profile to card [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/creating-loyalty-programs#creating-card-based-loyalty-programs) allows. + /// Link customer profile to card [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/card-based/creating-cb-programs) allows. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -3778,7 +4364,7 @@ public async System.Threading.Tasks.Task LinkLoyaltyCardToProfileAs } /// - /// Link customer profile to card [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/creating-loyalty-programs#creating-card-based-loyalty-programs) allows. + /// Link customer profile to card [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/card-based/creating-cb-programs) allows. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -3843,7 +4429,7 @@ public async System.Threading.Tasks.Task LinkLoyaltyCardToProfileAs } /// - /// Reopen customer session Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>not pending</strong> pending loyalty points.</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. + /// Reopen customer session Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>non-pending</strong> loyalty points</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -3855,7 +4441,7 @@ public ReopenSessionResponse ReopenCustomerSession (string customerSessionId) } /// - /// Reopen customer session Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>not pending</strong> pending loyalty points.</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. + /// Reopen customer session Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>non-pending</strong> loyalty points</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -3909,7 +4495,7 @@ public TalonOne.Client.ApiResponse< ReopenSessionResponse > ReopenCustomerSessio } /// - /// Reopen customer session Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>not pending</strong> pending loyalty points.</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. + /// Reopen customer session Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>non-pending</strong> loyalty points</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -3922,7 +4508,7 @@ public async System.Threading.Tasks.Task ReopenCustomerSe } /// - /// Reopen customer session Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>not pending</strong> pending loyalty points.</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. + /// Reopen customer session Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>non-pending</strong> loyalty points</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one. /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -3978,7 +4564,7 @@ public async System.Threading.Tasks.Task ReopenCustomerSe } /// - /// Return cart items Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. Its behavior depends on whether [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled for the Application. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). + /// Return cart items Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -3992,7 +4578,7 @@ public async System.Threading.Tasks.Task ReopenCustomerSe } /// - /// Return cart items Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. Its behavior depends on whether [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled for the Application. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). + /// Return cart items Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -4058,7 +4644,7 @@ public async System.Threading.Tasks.Task ReopenCustomerSe } /// - /// Return cart items Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. Its behavior depends on whether [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled for the Application. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). + /// Return cart items Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -4073,7 +4659,7 @@ public async System.Threading.Tasks.Task ReopenCustomerSe } /// - /// Return cart items Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. Its behavior depends on whether [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled for the Application. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). + /// Return cart items Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. @@ -4141,7 +4727,7 @@ public async System.Threading.Tasks.Task ReopenCustomerSe } /// - /// Sync cart item catalog Perform one or more of the following sync actions on this cart item catalog, up to 1000 actions: - Add an item to the catalog. - Edit the attributes of an item in the catalog. - Edit the attributes of more than one item in the catalog. - Remove an item from the catalog. - Remove more than one item from the catalog. **Note:** For more information, see [our documentation on managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs#displaying-the-details-and-content-of-a-catalog) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoe\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100 }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\" }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> + /// Sync cart item catalog Perform one or more of the following actions for a given cart item catalog: - Adding an item to the catalog. - Adding several items to the catalog. - Editing the attributes of an item in the catalog. - Editing the attributes of several items in the catalog. - Removing an item from the catalog. - Removing several items from the catalog. You can add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique `SKU`. **Important**: Syncing items with duplicate `SKU` values in a single request returns an error message with a `400` status code. For more information, read [managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Adding several items to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241027\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" }, { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\", \"product\": { \"name\": \"sneakers\" } }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> /// /// Thrown when fails to make API call /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. @@ -4154,7 +4740,7 @@ public Catalog SyncCatalog (int catalogId, CatalogSyncRequest body) } /// - /// Sync cart item catalog Perform one or more of the following sync actions on this cart item catalog, up to 1000 actions: - Add an item to the catalog. - Edit the attributes of an item in the catalog. - Edit the attributes of more than one item in the catalog. - Remove an item from the catalog. - Remove more than one item from the catalog. **Note:** For more information, see [our documentation on managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs#displaying-the-details-and-content-of-a-catalog) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoe\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100 }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\" }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> + /// Sync cart item catalog Perform one or more of the following actions for a given cart item catalog: - Adding an item to the catalog. - Adding several items to the catalog. - Editing the attributes of an item in the catalog. - Editing the attributes of several items in the catalog. - Removing an item from the catalog. - Removing several items from the catalog. You can add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique `SKU`. **Important**: Syncing items with duplicate `SKU` values in a single request returns an error message with a `400` status code. For more information, read [managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Adding several items to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241027\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" }, { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\", \"product\": { \"name\": \"sneakers\" } }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> /// /// Thrown when fails to make API call /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. @@ -4211,7 +4797,7 @@ public TalonOne.Client.ApiResponse< Catalog > SyncCatalogWithHttpInfo (int catal } /// - /// Sync cart item catalog Perform one or more of the following sync actions on this cart item catalog, up to 1000 actions: - Add an item to the catalog. - Edit the attributes of an item in the catalog. - Edit the attributes of more than one item in the catalog. - Remove an item from the catalog. - Remove more than one item from the catalog. **Note:** For more information, see [our documentation on managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs#displaying-the-details-and-content-of-a-catalog) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoe\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100 }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\" }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> + /// Sync cart item catalog Perform one or more of the following actions for a given cart item catalog: - Adding an item to the catalog. - Adding several items to the catalog. - Editing the attributes of an item in the catalog. - Editing the attributes of several items in the catalog. - Removing an item from the catalog. - Removing several items from the catalog. You can add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique `SKU`. **Important**: Syncing items with duplicate `SKU` values in a single request returns an error message with a `400` status code. For more information, read [managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Adding several items to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241027\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" }, { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\", \"product\": { \"name\": \"sneakers\" } }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> /// /// Thrown when fails to make API call /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. @@ -4225,7 +4811,7 @@ public async System.Threading.Tasks.Task SyncCatalogAsync (int catalogI } /// - /// Sync cart item catalog Perform one or more of the following sync actions on this cart item catalog, up to 1000 actions: - Add an item to the catalog. - Edit the attributes of an item in the catalog. - Edit the attributes of more than one item in the catalog. - Remove an item from the catalog. - Remove more than one item from the catalog. **Note:** For more information, see [our documentation on managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs#displaying-the-details-and-content-of-a-catalog) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoe\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100 }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\" }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> + /// Sync cart item catalog Perform one or more of the following actions for a given cart item catalog: - Adding an item to the catalog. - Adding several items to the catalog. - Editing the attributes of an item in the catalog. - Editing the attributes of several items in the catalog. - Removing an item from the catalog. - Removing several items from the catalog. You can add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique `SKU`. **Important**: Syncing items with duplicate `SKU` values in a single request returns an error message with a `400` status code. For more information, read [managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Adding several items to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241027\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" }, { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\", \"product\": { \"name\": \"sneakers\" } }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> /// /// Thrown when fails to make API call /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. @@ -4284,28 +4870,28 @@ public async System.Threading.Tasks.Task SyncCatalogAsync (int catalogI } /// - /// Track event Triggers a custom event. You can build a condition around this event in your rules. Talon.One offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). **Important:** - `profileId` is required. An event is associated with a customer profile. - Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event). - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). When you successfully sent an event to Talon.One, you can list received events in the **Events** view in the Campaign Manager. + /// Track event Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. (optional) - /// IntegrationStateV2 - public IntegrationStateV2 TrackEventV2 (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)) + /// TrackEventV2Response + public TrackEventV2Response TrackEventV2 (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = TrackEventV2WithHttpInfo(body, silent, dry); + TalonOne.Client.ApiResponse localVarResponse = TrackEventV2WithHttpInfo(body, silent, dry); return localVarResponse.Data; } /// - /// Track event Triggers a custom event. You can build a condition around this event in your rules. Talon.One offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). **Important:** - `profileId` is required. An event is associated with a customer profile. - Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event). - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). When you successfully sent an event to Talon.One, you can list received events in the **Events** view in the Campaign Manager. + /// Track event Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. (optional) - /// ApiResponse of IntegrationStateV2 - public TalonOne.Client.ApiResponse< IntegrationStateV2 > TrackEventV2WithHttpInfo (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)) + /// ApiResponse of TrackEventV2Response + public TalonOne.Client.ApiResponse< TrackEventV2Response > TrackEventV2WithHttpInfo (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)) { // verify the required parameter 'body' is set if (body == null) @@ -4350,7 +4936,7 @@ public async System.Threading.Tasks.Task SyncCatalogAsync (int catalogI } // make the HTTP request - var localVarResponse = this.Client.Post< IntegrationStateV2 >("/v2/events", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< TrackEventV2Response >("/v2/events", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) @@ -4363,29 +4949,29 @@ public async System.Threading.Tasks.Task SyncCatalogAsync (int catalogI } /// - /// Track event Triggers a custom event. You can build a condition around this event in your rules. Talon.One offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). **Important:** - `profileId` is required. An event is associated with a customer profile. - Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event). - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). When you successfully sent an event to Talon.One, you can list received events in the **Events** view in the Campaign Manager. + /// Track event Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. (optional) - /// Task of IntegrationStateV2 - public async System.Threading.Tasks.Task TrackEventV2Async (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)) + /// Task of TrackEventV2Response + public async System.Threading.Tasks.Task TrackEventV2Async (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = await TrackEventV2AsyncWithHttpInfo(body, silent, dry); + TalonOne.Client.ApiResponse localVarResponse = await TrackEventV2AsyncWithHttpInfo(body, silent, dry); return localVarResponse.Data; } /// - /// Track event Triggers a custom event. You can build a condition around this event in your rules. Talon.One offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). **Important:** - `profileId` is required. An event is associated with a customer profile. - Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event). - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). When you successfully sent an event to Talon.One, you can list received events in the **Events** view in the Campaign Manager. + /// Track event Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. (optional) - /// Task of ApiResponse (IntegrationStateV2) - public async System.Threading.Tasks.Task> TrackEventV2AsyncWithHttpInfo (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)) + /// Task of ApiResponse (TrackEventV2Response) + public async System.Threading.Tasks.Task> TrackEventV2AsyncWithHttpInfo (IntegrationEventV2Request body, string silent = default(string), bool? dry = default(bool?)) { // verify the required parameter 'body' is set if (body == null) @@ -4432,7 +5018,7 @@ public async System.Threading.Tasks.Task SyncCatalogAsync (int catalogI // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v2/events", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v2/events", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) @@ -4448,7 +5034,7 @@ public async System.Threading.Tasks.Task SyncCatalogAsync (int catalogI /// Update profile attributes for all customers in audience Update the specified profile attributes to the provided values for all customers in the specified audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// public void UpdateAudienceCustomersAttributes (int audienceId, Object body) @@ -4460,7 +5046,7 @@ public void UpdateAudienceCustomersAttributes (int audienceId, Object body) /// Update profile attributes for all customers in audience Update the specified profile attributes to the provided values for all customers in the specified audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// ApiResponse of Object(void) public TalonOne.Client.ApiResponse UpdateAudienceCustomersAttributesWithHttpInfo (int audienceId, Object body) @@ -4517,7 +5103,7 @@ public TalonOne.Client.ApiResponse UpdateAudienceCustomersAttributesWith /// Update profile attributes for all customers in audience Update the specified profile attributes to the provided values for all customers in the specified audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// Task of void public async System.Threading.Tasks.Task UpdateAudienceCustomersAttributesAsync (int audienceId, Object body) @@ -4530,7 +5116,7 @@ public async System.Threading.Tasks.Task UpdateAudienceCustomersAttributesAsync /// Update profile attributes for all customers in audience Update the specified profile attributes to the provided values for all customers in the specified audience. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// Task of ApiResponse public async System.Threading.Tasks.Task> UpdateAudienceCustomersAttributesAsyncWithHttpInfo (int audienceId, Object body) @@ -4586,10 +5172,10 @@ public async System.Threading.Tasks.Task UpdateAudienceCustomersAttributesAsync } /// - /// Update audience name Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the rule engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. + /// Update audience name Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the Rule Engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// Audience public Audience UpdateAudienceV2 (int audienceId, UpdateAudience body) @@ -4599,10 +5185,10 @@ public Audience UpdateAudienceV2 (int audienceId, UpdateAudience body) } /// - /// Update audience name Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the rule engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. + /// Update audience name Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the Rule Engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// ApiResponse of Audience public TalonOne.Client.ApiResponse< Audience > UpdateAudienceV2WithHttpInfo (int audienceId, UpdateAudience body) @@ -4656,10 +5242,10 @@ public TalonOne.Client.ApiResponse< Audience > UpdateAudienceV2WithHttpInfo (int } /// - /// Update audience name Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the rule engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. + /// Update audience name Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the Rule Engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// Task of Audience public async System.Threading.Tasks.Task UpdateAudienceV2Async (int audienceId, UpdateAudience body) @@ -4670,10 +5256,10 @@ public async System.Threading.Tasks.Task UpdateAudienceV2Async (int au } /// - /// Update audience name Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the rule engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. + /// Update audience name Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the Rule Engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). + /// The ID of the audience. /// body /// Task of ApiResponse (Audience) public async System.Threading.Tasks.Task> UpdateAudienceV2AsyncWithHttpInfo (int audienceId, UpdateAudience body) @@ -4729,7 +5315,7 @@ public async System.Threading.Tasks.Task UpdateAudienceV2Async (int au } /// - /// Update multiple customer profiles' audiences Update the specified customer profiles with the specified audiences. Use this endpoint when customers join or leave audiences. The limit of customer profiles per request is 1000. + /// Update multiple customer profiles' audiences Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (`add` or `remove`) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect. /// /// Thrown when fails to make API call /// body @@ -4740,7 +5326,7 @@ public void UpdateCustomerProfileAudiences (CustomerProfileAudienceRequest body) } /// - /// Update multiple customer profiles' audiences Update the specified customer profiles with the specified audiences. Use this endpoint when customers join or leave audiences. The limit of customer profiles per request is 1000. + /// Update multiple customer profiles' audiences Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (`add` or `remove`) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect. /// /// Thrown when fails to make API call /// body @@ -4795,7 +5381,7 @@ public TalonOne.Client.ApiResponse UpdateCustomerProfileAudiencesWithHtt } /// - /// Update multiple customer profiles' audiences Update the specified customer profiles with the specified audiences. Use this endpoint when customers join or leave audiences. The limit of customer profiles per request is 1000. + /// Update multiple customer profiles' audiences Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (`add` or `remove`) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect. /// /// Thrown when fails to make API call /// body @@ -4807,7 +5393,7 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu } /// - /// Update multiple customer profiles' audiences Update the specified customer profiles with the specified audiences. Use this endpoint when customers join or leave audiences. The limit of customer profiles per request is 1000. + /// Update multiple customer profiles' audiences Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (`add` or `remove`) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect. /// /// Thrown when fails to make API call /// body @@ -4864,30 +5450,30 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu } /// - /// Update customer profile Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities#customer-profile). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> + /// Update customer profile Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// body /// Indicates whether to run the Rule Engine. If `true`, the response includes: - The effects generated by the triggered campaigns are returned in the `effects` property. - The created coupons and referral objects. If `false`: - The rules are not executed and the `effects` property is always empty. - The response time improves. - You cannot use `responseContent` in the body. (optional, default to false) /// (Only works when `runRuleEngine=true`) Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) - /// IntegrationStateV2 - public IntegrationStateV2 UpdateCustomerProfileV2 (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)) + /// CustomerProfileIntegrationResponseV2 + public CustomerProfileIntegrationResponseV2 UpdateCustomerProfileV2 (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = UpdateCustomerProfileV2WithHttpInfo(integrationId, body, runRuleEngine, dry); + TalonOne.Client.ApiResponse localVarResponse = UpdateCustomerProfileV2WithHttpInfo(integrationId, body, runRuleEngine, dry); return localVarResponse.Data; } /// - /// Update customer profile Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities#customer-profile). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> + /// Update customer profile Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// body /// Indicates whether to run the Rule Engine. If `true`, the response includes: - The effects generated by the triggered campaigns are returned in the `effects` property. - The created coupons and referral objects. If `false`: - The rules are not executed and the `effects` property is always empty. - The response time improves. - You cannot use `responseContent` in the body. (optional, default to false) /// (Only works when `runRuleEngine=true`) Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) - /// ApiResponse of IntegrationStateV2 - public TalonOne.Client.ApiResponse< IntegrationStateV2 > UpdateCustomerProfileV2WithHttpInfo (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)) + /// ApiResponse of CustomerProfileIntegrationResponseV2 + public TalonOne.Client.ApiResponse< CustomerProfileIntegrationResponseV2 > UpdateCustomerProfileV2WithHttpInfo (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)) { // verify the required parameter 'integrationId' is set if (integrationId == null) @@ -4937,7 +5523,7 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu } // make the HTTP request - var localVarResponse = this.Client.Put< IntegrationStateV2 >("/v2/customer_profiles/{integrationId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< CustomerProfileIntegrationResponseV2 >("/v2/customer_profiles/{integrationId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) @@ -4950,31 +5536,31 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu } /// - /// Update customer profile Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities#customer-profile). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> + /// Update customer profile Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// body /// Indicates whether to run the Rule Engine. If `true`, the response includes: - The effects generated by the triggered campaigns are returned in the `effects` property. - The created coupons and referral objects. If `false`: - The rules are not executed and the `effects` property is always empty. - The response time improves. - You cannot use `responseContent` in the body. (optional, default to false) /// (Only works when `runRuleEngine=true`) Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) - /// Task of IntegrationStateV2 - public async System.Threading.Tasks.Task UpdateCustomerProfileV2Async (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)) + /// Task of CustomerProfileIntegrationResponseV2 + public async System.Threading.Tasks.Task UpdateCustomerProfileV2Async (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = await UpdateCustomerProfileV2AsyncWithHttpInfo(integrationId, body, runRuleEngine, dry); + TalonOne.Client.ApiResponse localVarResponse = await UpdateCustomerProfileV2AsyncWithHttpInfo(integrationId, body, runRuleEngine, dry); return localVarResponse.Data; } /// - /// Update customer profile Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities#customer-profile). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> + /// Update customer profile Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> /// /// Thrown when fails to make API call /// The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. /// body /// Indicates whether to run the Rule Engine. If `true`, the response includes: - The effects generated by the triggered campaigns are returned in the `effects` property. - The created coupons and referral objects. If `false`: - The rules are not executed and the `effects` property is always empty. - The response time improves. - You cannot use `responseContent` in the body. (optional, default to false) /// (Only works when `runRuleEngine=true`) Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) - /// Task of ApiResponse (IntegrationStateV2) - public async System.Threading.Tasks.Task> UpdateCustomerProfileV2AsyncWithHttpInfo (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)) + /// Task of ApiResponse (CustomerProfileIntegrationResponseV2) + public async System.Threading.Tasks.Task> UpdateCustomerProfileV2AsyncWithHttpInfo (string integrationId, CustomerProfileIntegrationRequestV2 body, bool? runRuleEngine = default(bool?), bool? dry = default(bool?)) { // verify the required parameter 'integrationId' is set if (integrationId == null) @@ -5026,7 +5612,7 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v2/customer_profiles/{integrationId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v2/customer_profiles/{integrationId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) @@ -5039,7 +5625,7 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu } /// - /// Update multiple customer profiles Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities#customer-profile) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). + /// Update multiple customer profiles Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call /// body @@ -5052,7 +5638,7 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu } /// - /// Update multiple customer profiles Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities#customer-profile) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). + /// Update multiple customer profiles Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call /// body @@ -5112,7 +5698,7 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu } /// - /// Update multiple customer profiles Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities#customer-profile) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). + /// Update multiple customer profiles Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call /// body @@ -5126,7 +5712,7 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu } /// - /// Update multiple customer profiles Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities#customer-profile) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). + /// Update multiple customer profiles Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint. /// /// Thrown when fails to make API call /// body @@ -5188,28 +5774,30 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu } /// - /// Update customer session Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities#customer-session) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). + /// Update customer session Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. /// body - /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) + /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional) + /// A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the `dry` parameter in the query is set to `true`. (optional) /// IntegrationStateV2 - public IntegrationStateV2 UpdateCustomerSessionV2 (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?)) + public IntegrationStateV2 UpdateCustomerSessionV2 (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?), DateTime? now = default(DateTime?)) { - TalonOne.Client.ApiResponse localVarResponse = UpdateCustomerSessionV2WithHttpInfo(customerSessionId, body, dry); + TalonOne.Client.ApiResponse localVarResponse = UpdateCustomerSessionV2WithHttpInfo(customerSessionId, body, dry, now); return localVarResponse.Data; } /// - /// Update customer session Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities#customer-session) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). + /// Update customer session Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. /// body - /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) + /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional) + /// A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the `dry` parameter in the query is set to `true`. (optional) /// ApiResponse of IntegrationStateV2 - public TalonOne.Client.ApiResponse< IntegrationStateV2 > UpdateCustomerSessionV2WithHttpInfo (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?)) + public TalonOne.Client.ApiResponse< IntegrationStateV2 > UpdateCustomerSessionV2WithHttpInfo (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?), DateTime? now = default(DateTime?)) { // verify the required parameter 'customerSessionId' is set if (customerSessionId == null) @@ -5241,6 +5829,10 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dry", dry)); } + if (now != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "now", now)); + } localVarRequestOptions.Data = body; // authentication (api_key_v1) required @@ -5268,29 +5860,31 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu } /// - /// Update customer session Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities#customer-session) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). + /// Update customer session Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. /// body - /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) + /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional) + /// A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the `dry` parameter in the query is set to `true`. (optional) /// Task of IntegrationStateV2 - public async System.Threading.Tasks.Task UpdateCustomerSessionV2Async (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?)) + public async System.Threading.Tasks.Task UpdateCustomerSessionV2Async (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?), DateTime? now = default(DateTime?)) { - TalonOne.Client.ApiResponse localVarResponse = await UpdateCustomerSessionV2AsyncWithHttpInfo(customerSessionId, body, dry); + TalonOne.Client.ApiResponse localVarResponse = await UpdateCustomerSessionV2AsyncWithHttpInfo(customerSessionId, body, dry, now); return localVarResponse.Data; } /// - /// Update customer session Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities#customer-session) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). + /// Update customer session Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one). /// /// Thrown when fails to make API call /// The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. /// body - /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run. (optional) + /// Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional) + /// A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the `dry` parameter in the query is set to `true`. (optional) /// Task of ApiResponse (IntegrationStateV2) - public async System.Threading.Tasks.Task> UpdateCustomerSessionV2AsyncWithHttpInfo (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?)) + public async System.Threading.Tasks.Task> UpdateCustomerSessionV2AsyncWithHttpInfo (string customerSessionId, IntegrationRequest body, bool? dry = default(bool?), DateTime? now = default(DateTime?)) { // verify the required parameter 'customerSessionId' is set if (customerSessionId == null) @@ -5323,6 +5917,10 @@ public async System.Threading.Tasks.Task UpdateCustomerProfileAudiencesAsync (Cu { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dry", dry)); } + if (now != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "now", now)); + } localVarRequestOptions.Data = body; // authentication (api_key_v1) required diff --git a/src/TalonOne/Api/ManagementApi.cs b/src/TalonOne/Api/ManagementApi.cs index d420004..f16f52d 100644 --- a/src/TalonOne/Api/ManagementApi.cs +++ b/src/TalonOne/Api/ManagementApi.cs @@ -30,6 +30,27 @@ public interface IManagementApiSync : IApiAccessor { #region Synchronous Operations /// + /// Activate user by email address + /// + /// + /// Activate a deactivated user by their email address. + /// + /// Thrown when fails to make API call + /// body + /// + void ActivateUserByEmail (ActivateUserRequest body); + + /// + /// Activate user by email address + /// + /// + /// Activate a deactivated user by their email address. + /// + /// Thrown when fails to make API call + /// body + /// ApiResponse of Object(void) + ApiResponse ActivateUserByEmailWithHttpInfo (ActivateUserRequest body); + /// /// Add points to card /// /// @@ -89,8 +110,8 @@ public interface IManagementApiSync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// InlineResponse2004 - InlineResponse2004 CopyCampaignToApplications (int applicationId, int campaignId, CampaignCopy body); + /// InlineResponse2006 + InlineResponse2006 CopyCampaignToApplications (int applicationId, int campaignId, CampaignCopy body); /// /// Copy the campaign into the specified Application @@ -102,13 +123,13 @@ public interface IManagementApiSync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of InlineResponse2004 - ApiResponse CopyCampaignToApplicationsWithHttpInfo (int applicationId, int campaignId, CampaignCopy body); + /// ApiResponse of InlineResponse2006 + ApiResponse CopyCampaignToApplicationsWithHttpInfo (int applicationId, int campaignId, CampaignCopy body); /// /// Create account-level collection /// /// - /// Create account-level collection. + /// Create an account-level collection. /// /// Thrown when fails to make API call /// body @@ -119,13 +140,38 @@ public interface IManagementApiSync : IApiAccessor /// Create account-level collection /// /// - /// Create account-level collection. + /// Create an account-level collection. /// /// Thrown when fails to make API call /// body /// ApiResponse of Collection ApiResponse CreateAccountCollectionWithHttpInfo (NewCollection body); /// + /// Create achievement + /// + /// + /// Create a new achievement in a specific campaign. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// body + /// Achievement + Achievement CreateAchievement (int applicationId, int campaignId, CreateAchievement body); + + /// + /// Create achievement + /// + /// + /// Create a new achievement in a specific campaign. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// body + /// ApiResponse of Achievement + ApiResponse CreateAchievementWithHttpInfo (int applicationId, int campaignId, CreateAchievement body); + /// /// Create additional cost /// /// @@ -191,10 +237,10 @@ public interface IManagementApiSync : IApiAccessor /// ApiResponse of CreateTemplateCampaignResponse ApiResponse CreateCampaignFromTemplateWithHttpInfo (int applicationId, CreateTemplateCampaign body); /// - /// Create collection + /// Create campaign-level collection /// /// - /// Create a collection. + /// Create a campaign-level collection in a given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -204,10 +250,10 @@ public interface IManagementApiSync : IApiAccessor Collection CreateCollection (int applicationId, int campaignId, NewCampaignCollection body); /// - /// Create collection + /// Create campaign-level collection /// /// - /// Create a collection. + /// Create a campaign-level collection in a given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -226,8 +272,8 @@ public interface IManagementApiSync : IApiAccessor /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// InlineResponse2007 - InlineResponse2007 CreateCoupons (int applicationId, int campaignId, NewCoupons body, string silent = default(string)); + /// InlineResponse2008 + InlineResponse2008 CreateCoupons (int applicationId, int campaignId, NewCoupons body, string silent = default(string)); /// /// Create coupons @@ -240,8 +286,8 @@ public interface IManagementApiSync : IApiAccessor /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// ApiResponse of InlineResponse2007 - ApiResponse CreateCouponsWithHttpInfo (int applicationId, int campaignId, NewCoupons body, string silent = default(string)); + /// ApiResponse of InlineResponse2008 + ApiResponse CreateCouponsWithHttpInfo (int applicationId, int campaignId, NewCoupons body, string silent = default(string)); /// /// Create coupons asynchronously /// @@ -278,8 +324,8 @@ public interface IManagementApiSync : IApiAccessor /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// InlineResponse2007 - InlineResponse2007 CreateCouponsForMultipleRecipients (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)); + /// InlineResponse2008 + InlineResponse2008 CreateCouponsForMultipleRecipients (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)); /// /// Create coupons for multiple recipients @@ -292,31 +338,50 @@ public interface IManagementApiSync : IApiAccessor /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// ApiResponse of InlineResponse2007 - ApiResponse CreateCouponsForMultipleRecipientsWithHttpInfo (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)); + /// ApiResponse of InlineResponse2008 + ApiResponse CreateCouponsForMultipleRecipientsWithHttpInfo (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)); /// - /// Create notification about campaign-related changes + /// Resend invitation email /// /// - /// Create a [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). A notification about campaign-related changes is different from regular webhooks in that it is Application-scoped and has a predefined payload. [Regular webhooks](https://docs.talon.one/docs/dev/getting-started/webhooks) have user-definable payloads. **Tip:** - You can create these notifications using the Campaign Manager. See [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). - You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_created/post). + /// Resend an email invitation to an existing user. **Note:** The invitation token is valid for 24 hours after the email has been sent. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// NotificationWebhook - NotificationWebhook CreateNotificationWebhook (int applicationId, NewNotificationWebhook body); + /// NewInviteEmail + NewInviteEmail CreateInviteEmail (NewInviteEmail body); /// - /// Create notification about campaign-related changes + /// Resend invitation email /// /// - /// Create a [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). A notification about campaign-related changes is different from regular webhooks in that it is Application-scoped and has a predefined payload. [Regular webhooks](https://docs.talon.one/docs/dev/getting-started/webhooks) have user-definable payloads. **Tip:** - You can create these notifications using the Campaign Manager. See [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). - You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_created/post). + /// Resend an email invitation to an existing user. **Note:** The invitation token is valid for 24 hours after the email has been sent. + /// + /// Thrown when fails to make API call + /// body + /// ApiResponse of NewInviteEmail + ApiResponse CreateInviteEmailWithHttpInfo (NewInviteEmail body); + /// + /// Invite user + /// + /// + /// Create a new user in the account and send an invitation to their email address. **Note**: The invitation token is valid for 24 hours after the email has been sent. You can resend an invitation to a user with the [Resend invitation email](https://docs.talon.one/management-api#tag/Accounts-and-users/operation/createInviteEmail) endpoint. + /// + /// Thrown when fails to make API call + /// body + /// User + User CreateInviteV2 (NewInvitation body); + + /// + /// Invite user + /// + /// + /// Create a new user in the account and send an invitation to their email address. **Note**: The invitation token is valid for 24 hours after the email has been sent. You can resend an invitation to a user with the [Resend invitation email](https://docs.talon.one/management-api#tag/Accounts-and-users/operation/createInviteEmail) endpoint. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of NotificationWebhook - ApiResponse CreateNotificationWebhookWithHttpInfo (int applicationId, NewNotificationWebhook body); + /// ApiResponse of User + ApiResponse CreateInviteV2WithHttpInfo (NewInvitation body); /// /// Request a password reset /// @@ -360,6 +425,50 @@ public interface IManagementApiSync : IApiAccessor /// ApiResponse of Session ApiResponse CreateSessionWithHttpInfo (LoginParams body); /// + /// Create store + /// + /// + /// Create a new store in a specific Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// body + /// Store + Store CreateStore (int applicationId, NewStore body); + + /// + /// Create store + /// + /// + /// Create a new store in a specific Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// body + /// ApiResponse of Store + ApiResponse CreateStoreWithHttpInfo (int applicationId, NewStore body); + /// + /// Deactivate user by email address + /// + /// + /// Deactivate a specific user by their email address. + /// + /// Thrown when fails to make API call + /// body + /// + void DeactivateUserByEmail (DeactivateUserRequest body); + + /// + /// Deactivate user by email address + /// + /// + /// Deactivate a specific user by their email address. + /// + /// Thrown when fails to make API call + /// body + /// ApiResponse of Object(void) + ApiResponse DeactivateUserByEmailWithHttpInfo (DeactivateUserRequest body); + /// /// Deduct points from card /// /// @@ -388,10 +497,10 @@ public interface IManagementApiSync : IApiAccessor /// Delete account-level collection /// /// - /// Delete the given account-level collection. + /// Delete a given account-level collection. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// void DeleteAccountCollection (int collectionId); @@ -399,13 +508,38 @@ public interface IManagementApiSync : IApiAccessor /// Delete account-level collection /// /// - /// Delete the given account-level collection. + /// Delete a given account-level collection. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// ApiResponse of Object(void) ApiResponse DeleteAccountCollectionWithHttpInfo (int collectionId); /// + /// Delete achievement + /// + /// + /// Delete the specified achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// + void DeleteAchievement (int applicationId, int campaignId, int achievementId); + + /// + /// Delete achievement + /// + /// + /// Delete the specified achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// ApiResponse of Object(void) + ApiResponse DeleteAchievementWithHttpInfo (int applicationId, int campaignId, int achievementId); + /// /// Delete campaign /// /// @@ -429,28 +563,28 @@ public interface IManagementApiSync : IApiAccessor /// ApiResponse of Object(void) ApiResponse DeleteCampaignWithHttpInfo (int applicationId, int campaignId); /// - /// Delete collection + /// Delete campaign-level collection /// /// - /// Delete the given collection. + /// Delete a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// void DeleteCollection (int applicationId, int campaignId, int collectionId); /// - /// Delete collection + /// Delete campaign-level collection /// /// - /// Delete the given collection. + /// Delete a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// ApiResponse of Object(void) ApiResponse DeleteCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId); /// @@ -488,12 +622,12 @@ public interface IManagementApiSync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) /// Filter results by batches of coupons (optional) /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) @@ -513,12 +647,12 @@ public interface IManagementApiSync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) /// Filter results by batches of coupons (optional) /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) @@ -551,53 +685,95 @@ public interface IManagementApiSync : IApiAccessor /// ApiResponse of Object(void) ApiResponse DeleteLoyaltyCardWithHttpInfo (int loyaltyProgramId, string loyaltyCardId); /// - /// Delete notification about campaign-related changes + /// Delete referral /// /// - /// Remove the given existing [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// Delete the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// - void DeleteNotificationWebhook (int applicationId, int notificationWebhookId); + void DeleteReferral (int applicationId, int campaignId, string referralId); /// - /// Delete notification about campaign-related changes + /// Delete referral /// /// - /// Remove the given existing [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// Delete the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// ApiResponse of Object(void) - ApiResponse DeleteNotificationWebhookWithHttpInfo (int applicationId, int notificationWebhookId); + ApiResponse DeleteReferralWithHttpInfo (int applicationId, int campaignId, string referralId); /// - /// Delete referral + /// Delete store /// /// - /// Delete the specified referral. + /// Delete the specified store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// - void DeleteReferral (int applicationId, int campaignId, string referralId); + void DeleteStore (int applicationId, string storeId); /// - /// Delete referral + /// Delete store /// /// - /// Delete the specified referral. + /// Delete the specified store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// ApiResponse of Object(void) - ApiResponse DeleteReferralWithHttpInfo (int applicationId, int campaignId, string referralId); + ApiResponse DeleteStoreWithHttpInfo (int applicationId, string storeId); + /// + /// Delete user + /// + /// + /// Delete a specific user. + /// + /// Thrown when fails to make API call + /// The ID of the user. + /// + void DeleteUser (int userId); + + /// + /// Delete user + /// + /// + /// Delete a specific user. + /// + /// Thrown when fails to make API call + /// The ID of the user. + /// ApiResponse of Object(void) + ApiResponse DeleteUserWithHttpInfo (int userId); + /// + /// Delete user by email address + /// + /// + /// Delete a specific user by their email address. + /// + /// Thrown when fails to make API call + /// body + /// + void DeleteUserByEmail (DeleteUserRequest body); + + /// + /// Delete user by email address + /// + /// + /// Delete a specific user by their email address. + /// + /// Thrown when fails to make API call + /// body + /// ApiResponse of Object(void) + ApiResponse DeleteUserByEmailWithHttpInfo (DeleteUserRequest body); /// /// Destroy session /// @@ -621,10 +797,10 @@ public interface IManagementApiSync : IApiAccessor /// Export account-level collection's items /// /// - /// Download a CSV file containing items from an account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Download a CSV file containing items from a given account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// string string ExportAccountCollectionItems (int collectionId); @@ -632,89 +808,137 @@ public interface IManagementApiSync : IApiAccessor /// Export account-level collection's items /// /// - /// Download a CSV file containing items from an account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Download a CSV file containing items from a given account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// ApiResponse of string ApiResponse ExportAccountCollectionItemsWithHttpInfo (int collectionId); /// - /// Export a collection's items + /// Export achievement customer data + /// + /// + /// Download a CSV file containing a list of all the customers who have participated in and are currently participating in the given achievement. The CSV file contains the following columns: - `profileIntegrationID`: The integration ID of the customer profile participating in the achievement. - `title`: The display name of the achievement in the Campaign Manager. - `target`: The required number of actions or the transactional milestone to complete the achievement. - `progress`: The current progress of the customer in the achievement. - `status`: The status of the achievement. Can be one of: ['inprogress', 'completed', 'expired']. - `startDate`: The date on which the customer profile started the achievement in RFC3339. - `endDate`: The date on which the achievement ends and resets for the customer profile in RFC3339. - `completionDate`: The date on which the customer profile completed the achievement in RFC3339. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// string + string ExportAchievements (int applicationId, int campaignId, int achievementId); + + /// + /// Export achievement customer data + /// + /// + /// Download a CSV file containing a list of all the customers who have participated in and are currently participating in the given achievement. The CSV file contains the following columns: - `profileIntegrationID`: The integration ID of the customer profile participating in the achievement. - `title`: The display name of the achievement in the Campaign Manager. - `target`: The required number of actions or the transactional milestone to complete the achievement. - `progress`: The current progress of the customer in the achievement. - `status`: The status of the achievement. Can be one of: ['inprogress', 'completed', 'expired']. - `startDate`: The date on which the customer profile started the achievement in RFC3339. - `endDate`: The date on which the achievement ends and resets for the customer profile in RFC3339. - `completionDate`: The date on which the customer profile completed the achievement in RFC3339. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// ApiResponse of string + ApiResponse ExportAchievementsWithHttpInfo (int applicationId, int campaignId, int achievementId); + /// + /// Export audience members + /// + /// + /// Download a CSV file containing the integration IDs of the members of an audience. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The file contains the following column: - `profileintegrationid`: The integration ID of the customer profile. + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// string + string ExportAudiencesMemberships (int audienceId); + + /// + /// Export audience members + /// + /// + /// Download a CSV file containing the integration IDs of the members of an audience. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The file contains the following column: - `profileintegrationid`: The integration ID of the customer profile. + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// ApiResponse of string + ApiResponse ExportAudiencesMembershipsWithHttpInfo (int audienceId); + /// + /// Export campaign-level collection's items /// /// - /// Download a CSV file containing a collection's items. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Download a CSV file containing items from a given campaign-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// string string ExportCollectionItems (int applicationId, int campaignId, int collectionId); /// - /// Export a collection's items + /// Export campaign-level collection's items /// /// - /// Download a CSV file containing a collection's items. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Download a CSV file containing items from a given campaign-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// ApiResponse of string ApiResponse ExportCollectionItemsWithHttpInfo (int applicationId, int campaignId, int collectionId); /// /// Export coupons /// /// - /// Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the customer considered as recipient of the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon is reserved. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. + /// Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file can contain the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon can be reserved for multiple customers. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field. (optional) /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results to an exact case-insensitive matching against the coupon code. (optional, default to false) /// Determines the format of dates in the export document. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results to only return the coupon codes (`value` column) without the associated coupon data. (optional, default to false) /// string - string ExportCoupons (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string)); + string ExportCoupons (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string), bool? valuesOnly = default(bool?)); /// /// Export coupons /// /// - /// Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the customer considered as recipient of the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon is reserved. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. + /// Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file can contain the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon can be reserved for multiple customers. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field. (optional) /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results to an exact case-insensitive matching against the coupon code. (optional, default to false) /// Determines the format of dates in the export document. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results to only return the coupon codes (`value` column) without the associated coupon data. (optional, default to false) /// ApiResponse of string - ApiResponse ExportCouponsWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string)); + ApiResponse ExportCouponsWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string), bool? valuesOnly = default(bool?)); /// /// Export customer sessions /// /// - /// Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of the session. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `coupons`: Coupon codes in the session. + /// Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -730,7 +954,7 @@ public interface IManagementApiSync : IApiAccessor /// Export customer sessions /// /// - /// Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of the session. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `coupons`: Coupon codes in the session. + /// Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -742,16 +966,41 @@ public interface IManagementApiSync : IApiAccessor /// ApiResponse of string ApiResponse ExportCustomerSessionsWithHttpInfo (int applicationId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string profileIntegrationId = default(string), string dateFormat = default(string), string customerSessionState = default(string)); /// + /// Export customers' tier data + /// + /// + /// Download a CSV file containing the tier information for customers of the specified loyalty program. The generated file contains the following columns: - `programid`: The identifier of the loyalty program. It is displayed in your Talon.One deployment URL. - `subledgerid`: The ID of the subledger associated with the loyalty program. This column is empty if the loyalty program has no subledger. In this case, refer to the export file name to get the ID of the loyalty program. - `customerprofileid`: The ID used to integrate customer profiles with the loyalty program. - `tiername`: The name of the tier. - `startdate`: The tier start date in RFC3339. - `expirydate`: The tier expiry date in RFC3339. You can filter the results by providing the following optional input parameters: - `subledgerId` (optional): Filter results by subledger ID. If no value is provided, all subledger data for the specified loyalty program will be exported. - `tierName` (optional): Filter results by tier name. If no value is provided, all tier data for the specified loyalty program will be exported. + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// An array of subledgers IDs to filter the export by. (optional) + /// An array of tier names to filter the export by. (optional) + /// string + string ExportCustomersTiers (string loyaltyProgramId, List subledgerIds = default(List), List tierNames = default(List)); + + /// + /// Export customers' tier data + /// + /// + /// Download a CSV file containing the tier information for customers of the specified loyalty program. The generated file contains the following columns: - `programid`: The identifier of the loyalty program. It is displayed in your Talon.One deployment URL. - `subledgerid`: The ID of the subledger associated with the loyalty program. This column is empty if the loyalty program has no subledger. In this case, refer to the export file name to get the ID of the loyalty program. - `customerprofileid`: The ID used to integrate customer profiles with the loyalty program. - `tiername`: The name of the tier. - `startdate`: The tier start date in RFC3339. - `expirydate`: The tier expiry date in RFC3339. You can filter the results by providing the following optional input parameters: - `subledgerId` (optional): Filter results by subledger ID. If no value is provided, all subledger data for the specified loyalty program will be exported. - `tierName` (optional): Filter results by tier name. If no value is provided, all tier data for the specified loyalty program will be exported. + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// An array of subledgers IDs to filter the export by. (optional) + /// An array of tier names to filter the export by. (optional) + /// ApiResponse of string + ApiResponse ExportCustomersTiersWithHttpInfo (string loyaltyProgramId, List subledgerIds = default(List), List tierNames = default(List)); + /// /// Export triggered effects /// /// - /// Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. + /// Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. - `store_integration_id`: The integration ID of the store. You choose this ID when you create a store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Determines the format of dates in the export document. (optional) /// string string ExportEffects (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)); @@ -760,13 +1009,13 @@ public interface IManagementApiSync : IApiAccessor /// Export triggered effects /// /// - /// Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. + /// Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. - `store_integration_id`: The integration ID of the store. You choose this ID when you create a store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Determines the format of dates in the export document. (optional) /// ApiResponse of string ApiResponse ExportEffectsWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)); @@ -778,7 +1027,7 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// string string ExportLoyaltyBalance (string loyaltyProgramId, DateTime? endDate = default(DateTime?)); @@ -790,7 +1039,7 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// ApiResponse of string ApiResponse ExportLoyaltyBalanceWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)); /// @@ -801,7 +1050,7 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// string string ExportLoyaltyBalances (string loyaltyProgramId, DateTime? endDate = default(DateTime?)); @@ -813,7 +1062,7 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// ApiResponse of string ApiResponse ExportLoyaltyBalancesWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)); /// @@ -824,7 +1073,7 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// string string ExportLoyaltyCardBalances (int loyaltyProgramId, DateTime? endDate = default(DateTime?)); @@ -836,7 +1085,7 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// ApiResponse of string ApiResponse ExportLoyaltyCardBalancesWithHttpInfo (int loyaltyProgramId, DateTime? endDate = default(DateTime?)); /// @@ -848,8 +1097,8 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// Determines the format of dates in the export document. (optional) /// string string ExportLoyaltyCardLedger (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)); @@ -863,8 +1112,8 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// Determines the format of dates in the export document. (optional) /// ApiResponse of string ApiResponse ExportLoyaltyCardLedgerWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)); @@ -872,11 +1121,11 @@ public interface IManagementApiSync : IApiAccessor /// Export customer's transaction logs /// /// - /// Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. + /// Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. - `campaignid`: The ID of the campaign. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The identifier for the loyalty program. /// The identifier of the profile. /// Determines the format of dates in the export document. (optional) @@ -887,11 +1136,11 @@ public interface IManagementApiSync : IApiAccessor /// Export customer's transaction logs /// /// - /// Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. + /// Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. - `campaignid`: The ID of the campaign. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The identifier for the loyalty program. /// The identifier of the profile. /// Determines the format of dates in the export document. (optional) @@ -931,8 +1180,8 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) /// Filter results by batches of referrals (optional) @@ -949,8 +1198,8 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) /// Filter results by batches of referrals (optional) @@ -965,16 +1214,16 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// Only return results where the request path matches the given regular expression. (optional) /// Only return results where the request method matches the given regular expression. (optional) /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20018 - InlineResponse20018 GetAccessLogsWithoutTotalCount (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// InlineResponse20019 + InlineResponse20019 GetAccessLogsWithoutTotalCount (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get access logs for Application @@ -984,16 +1233,16 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// Only return results where the request path matches the given regular expression. (optional) /// Only return results where the request method matches the given regular expression. (optional) /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20018 - ApiResponse GetAccessLogsWithoutTotalCountWithHttpInfo (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// ApiResponse of InlineResponse20019 + ApiResponse GetAccessLogsWithoutTotalCountWithHttpInfo (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get account details /// @@ -1043,7 +1292,7 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve a given account-level collection. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// Collection Collection GetAccountCollection (int collectionId); @@ -1054,10 +1303,35 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve a given account-level collection. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// ApiResponse of Collection ApiResponse GetAccountCollectionWithHttpInfo (int collectionId); /// + /// Get achievement + /// + /// + /// Get the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// Achievement + Achievement GetAchievement (int applicationId, int campaignId, int achievementId); + + /// + /// Get achievement + /// + /// + /// Get the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// ApiResponse of Achievement + ApiResponse GetAchievementWithHttpInfo (int applicationId, int campaignId, int achievementId); + /// /// Get additional cost /// /// @@ -1085,11 +1359,11 @@ public interface IManagementApiSync : IApiAccessor /// Returns all the defined additional costs for the account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20033 - InlineResponse20033 GetAdditionalCosts (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// InlineResponse20036 + InlineResponse20036 GetAdditionalCosts (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List additional costs @@ -1098,11 +1372,11 @@ public interface IManagementApiSync : IApiAccessor /// Returns all the defined additional costs for the account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20033 - ApiResponse GetAdditionalCostsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// ApiResponse of InlineResponse20036 + ApiResponse GetAdditionalCostsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List access logs /// @@ -1110,16 +1384,16 @@ public interface IManagementApiSync : IApiAccessor /// Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// Only return results where the request path matches the given regular expression. (optional) /// Only return results where the request method matches the given regular expression. (optional) /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20019 - InlineResponse20019 GetAllAccessLogs (DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// InlineResponse20020 + InlineResponse20020 GetAllAccessLogs (DateTime? rangeStart = default(DateTime?), DateTime? rangeEnd = default(DateTime?), string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List access logs @@ -1128,35 +1402,16 @@ public interface IManagementApiSync : IApiAccessor /// Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// Only return results where the request path matches the given regular expression. (optional) /// Only return results where the request method matches the given regular expression. (optional) /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20019 - ApiResponse GetAllAccessLogsWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); - /// - /// List roles - /// - /// - /// List all roles. - /// - /// Thrown when fails to make API call - /// InlineResponse20041 - InlineResponse20041 GetAllRoles (); - - /// - /// List roles - /// - /// - /// List all roles. - /// - /// Thrown when fails to make API call - /// ApiResponse of InlineResponse20041 - ApiResponse GetAllRolesWithHttpInfo (); + /// ApiResponse of InlineResponse20020 + ApiResponse GetAllAccessLogsWithHttpInfo (DateTime? rangeStart = default(DateTime?), DateTime? rangeEnd = default(DateTime?), string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get Application /// @@ -1231,12 +1486,12 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The Integration ID of the Advocate's Profile. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// InlineResponse20030 - InlineResponse20030 GetApplicationCustomerFriends (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); + /// InlineResponse20033 + InlineResponse20033 GetApplicationCustomerFriends (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); /// /// List friends referred by customer profile @@ -1247,12 +1502,12 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The Integration ID of the Advocate's Profile. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// ApiResponse of InlineResponse20030 - ApiResponse GetApplicationCustomerFriendsWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); + /// ApiResponse of InlineResponse20033 + ApiResponse GetApplicationCustomerFriendsWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); /// /// List application's customers /// @@ -1262,11 +1517,11 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// InlineResponse20021 - InlineResponse20021 GetApplicationCustomers (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); + /// InlineResponse20022 + InlineResponse20022 GetApplicationCustomers (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); /// /// List application's customers @@ -1277,11 +1532,11 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// ApiResponse of InlineResponse20021 - ApiResponse GetApplicationCustomersWithHttpInfo (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); + /// ApiResponse of InlineResponse20022 + ApiResponse GetApplicationCustomersWithHttpInfo (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); /// /// List application customers matching the given attributes /// @@ -1291,11 +1546,11 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// InlineResponse20022 - InlineResponse20022 GetApplicationCustomersByAttributes (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); + /// InlineResponse20023 + InlineResponse20023 GetApplicationCustomersByAttributes (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); /// /// List application customers matching the given attributes @@ -1306,11 +1561,11 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// ApiResponse of InlineResponse20022 - ApiResponse GetApplicationCustomersByAttributesWithHttpInfo (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); + /// ApiResponse of InlineResponse20023 + ApiResponse GetApplicationCustomersByAttributesWithHttpInfo (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); /// /// List Applications event types /// @@ -1319,11 +1574,11 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20028 - InlineResponse20028 GetApplicationEventTypes (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// InlineResponse20029 + InlineResponse20029 GetApplicationEventTypes (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List Applications event types @@ -1333,11 +1588,11 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20028 - ApiResponse GetApplicationEventTypesWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// ApiResponse of InlineResponse20029 + ApiResponse GetApplicationEventTypesWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List Applications events /// @@ -1346,12 +1601,12 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Session integration ID filter for events. Must be exact match. (optional) /// Profile integration ID filter for events. Must be exact match. (optional) /// Customer name filter for events. Will match substrings case-insensitively. (optional) @@ -1360,8 +1615,8 @@ public interface IManagementApiSync : IApiAccessor /// Referral code (optional) /// Rule name filter for events (optional) /// Campaign name filter for events (optional) - /// InlineResponse20027 - InlineResponse20027 GetApplicationEventsWithoutTotalCount (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)); + /// InlineResponse20028 + InlineResponse20028 GetApplicationEventsWithoutTotalCount (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)); /// /// List Applications events @@ -1371,12 +1626,12 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Session integration ID filter for events. Must be exact match. (optional) /// Profile integration ID filter for events. Must be exact match. (optional) /// Customer name filter for events. Will match substrings case-insensitively. (optional) @@ -1385,8 +1640,8 @@ public interface IManagementApiSync : IApiAccessor /// Referral code (optional) /// Rule name filter for events (optional) /// Campaign name filter for events (optional) - /// ApiResponse of InlineResponse20027 - ApiResponse GetApplicationEventsWithoutTotalCountWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)); + /// ApiResponse of InlineResponse20028 + ApiResponse GetApplicationEventsWithoutTotalCountWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)); /// /// Get Application session /// @@ -1418,18 +1673,19 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Profile integration ID filter for sessions. Must be exact match. (optional) /// Filter by sessions with this state. Must be exact match. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Filter by sessions with this coupon. Must be exact match. (optional) /// Filter by sessions with this referral. Must be exact match. (optional) /// Filter by sessions with this integrationId. Must be exact match. (optional) - /// InlineResponse20026 - InlineResponse20026 GetApplicationSessions (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string)); + /// The integration ID of the store. You choose this ID when you create a store. (optional) + /// InlineResponse20027 + InlineResponse20027 GetApplicationSessions (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string), string storeIntegrationId = default(string)); /// /// List Application sessions @@ -1439,18 +1695,19 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Profile integration ID filter for sessions. Must be exact match. (optional) /// Filter by sessions with this state. Must be exact match. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Filter by sessions with this coupon. Must be exact match. (optional) /// Filter by sessions with this referral. Must be exact match. (optional) /// Filter by sessions with this integrationId. Must be exact match. (optional) - /// ApiResponse of InlineResponse20026 - ApiResponse GetApplicationSessionsWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string)); + /// The integration ID of the store. You choose this ID when you create a store. (optional) + /// ApiResponse of InlineResponse20027 + ApiResponse GetApplicationSessionsWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string), string storeIntegrationId = default(string)); /// /// List Applications /// @@ -1458,11 +1715,11 @@ public interface IManagementApiSync : IApiAccessor /// List all applications in the current account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse2003 - InlineResponse2003 GetApplications (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// InlineResponse2005 + InlineResponse2005 GetApplications (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List Applications @@ -1471,11 +1728,11 @@ public interface IManagementApiSync : IApiAccessor /// List all applications in the current account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse2003 - ApiResponse GetApplicationsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// ApiResponse of InlineResponse2005 + ApiResponse GetApplicationsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get custom attribute /// @@ -1504,12 +1761,12 @@ public interface IManagementApiSync : IApiAccessor /// Return all the custom attributes for the account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Returned attributes will be filtered by supplied entity. (optional) - /// InlineResponse20031 - InlineResponse20031 GetAttributes (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)); + /// InlineResponse20034 + InlineResponse20034 GetAttributes (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)); /// /// List custom attributes @@ -1518,12 +1775,41 @@ public interface IManagementApiSync : IApiAccessor /// Return all the custom attributes for the account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Returned attributes will be filtered by supplied entity. (optional) - /// ApiResponse of InlineResponse20031 - ApiResponse GetAttributesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)); + /// ApiResponse of InlineResponse20034 + ApiResponse GetAttributesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)); + /// + /// List audience members + /// + /// + /// Get a paginated list of the customer profiles in a given audience. A maximum of 1000 customer profiles per page is allowed. + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// The filter to select a profile. (optional) + /// InlineResponse20032 + InlineResponse20032 GetAudienceMemberships (int audienceId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profileQuery = default(string)); + + /// + /// List audience members + /// + /// + /// Get a paginated list of the customer profiles in a given audience. A maximum of 1000 customer profiles per page is allowed. + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// The filter to select a profile. (optional) + /// ApiResponse of InlineResponse20032 + ApiResponse GetAudienceMembershipsWithHttpInfo (int audienceId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profileQuery = default(string)); /// /// List audiences /// @@ -1531,12 +1817,12 @@ public interface IManagementApiSync : IApiAccessor /// Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// InlineResponse20029 - InlineResponse20029 GetAudiences (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); + /// InlineResponse20030 + InlineResponse20030 GetAudiences (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); /// /// List audiences @@ -1545,12 +1831,35 @@ public interface IManagementApiSync : IApiAccessor /// Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// ApiResponse of InlineResponse20029 - ApiResponse GetAudiencesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); + /// ApiResponse of InlineResponse20030 + ApiResponse GetAudiencesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); + /// + /// List audience analytics + /// + /// + /// Get a list of audience IDs and their member count. + /// + /// Thrown when fails to make API call + /// The IDs of one or more audiences, separated by commas, by which to filter results. + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// InlineResponse20031 + InlineResponse20031 GetAudiencesAnalytics (string audienceIds, string sort = default(string)); + + /// + /// List audience analytics + /// + /// + /// Get a list of audience IDs and their member count. + /// + /// Thrown when fails to make API call + /// The IDs of one or more audiences, separated by commas, by which to filter results. + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// ApiResponse of InlineResponse20031 + ApiResponse GetAudiencesAnalyticsWithHttpInfo (string audienceIds, string sort = default(string)); /// /// Get campaign /// @@ -1583,11 +1892,11 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The time interval between the results in the returned time-series. (optional) - /// InlineResponse20020 - InlineResponse20020 GetCampaignAnalytics (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)); + /// InlineResponse20021 + InlineResponse20021 GetCampaignAnalytics (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)); /// /// Get analytics of campaigns @@ -1598,11 +1907,11 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The time interval between the results in the returned time-series. (optional) - /// ApiResponse of InlineResponse20020 - ApiResponse GetCampaignAnalyticsWithHttpInfo (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)); + /// ApiResponse of InlineResponse20021 + ApiResponse GetCampaignAnalyticsWithHttpInfo (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)); /// /// List campaigns that match the given attributes /// @@ -1612,12 +1921,12 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// InlineResponse2004 - InlineResponse2004 GetCampaignByAttributes (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)); + /// InlineResponse2006 + InlineResponse2006 GetCampaignByAttributes (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)); /// /// List campaigns that match the given attributes @@ -1628,12 +1937,58 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// ApiResponse of InlineResponse2004 - ApiResponse GetCampaignByAttributesWithHttpInfo (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)); + /// ApiResponse of InlineResponse2006 + ApiResponse GetCampaignByAttributesWithHttpInfo (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)); + /// + /// Get campaign access group + /// + /// + /// Get a campaign access group specified by its ID. + /// + /// Thrown when fails to make API call + /// The ID of the campaign access group. + /// CampaignGroup + CampaignGroup GetCampaignGroup (int campaignGroupId); + + /// + /// Get campaign access group + /// + /// + /// Get a campaign access group specified by its ID. + /// + /// Thrown when fails to make API call + /// The ID of the campaign access group. + /// ApiResponse of CampaignGroup + ApiResponse GetCampaignGroupWithHttpInfo (int campaignGroupId); + /// + /// List campaign access groups + /// + /// + /// List the campaign access groups in the current account. + /// + /// Thrown when fails to make API call + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// InlineResponse20011 + InlineResponse20011 GetCampaignGroups (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + + /// + /// List campaign access groups + /// + /// + /// List the campaign access groups in the current account. + /// + /// Thrown when fails to make API call + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// ApiResponse of InlineResponse20011 + ApiResponse GetCampaignGroupsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List campaign templates /// @@ -1641,15 +1996,15 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve a list of campaign templates. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign template. (optional) /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) /// Filter results by user ID. (optional) - /// InlineResponse20010 - InlineResponse20010 GetCampaignTemplates (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)); + /// InlineResponse20012 + InlineResponse20012 GetCampaignTemplates (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)); /// /// List campaign templates @@ -1658,15 +2013,15 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve a list of campaign templates. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign template. (optional) /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) /// Filter results by user ID. (optional) - /// ApiResponse of InlineResponse20010 - ApiResponse GetCampaignTemplatesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)); + /// ApiResponse of InlineResponse20012 + ApiResponse GetCampaignTemplatesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)); /// /// List campaigns /// @@ -1675,18 +2030,19 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) /// Filter results performing case-insensitive matching against the name of the campaign. (optional) /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results to campaigns owned by the specified campaign group ID. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results to campaigns owned by the specified campaign access group ID. (optional) /// The ID of the Campaign Template this Campaign was created from. (optional) - /// InlineResponse2004 - InlineResponse2004 GetCampaigns (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?)); + /// Filter results to campaigns linked to the specified store ID. (optional) + /// InlineResponse2006 + InlineResponse2006 GetCampaigns (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?), int? storeId = default(int?)); /// /// List campaigns @@ -1696,18 +2052,19 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) /// Filter results performing case-insensitive matching against the name of the campaign. (optional) /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results to campaigns owned by the specified campaign group ID. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results to campaigns owned by the specified campaign access group ID. (optional) /// The ID of the Campaign Template this Campaign was created from. (optional) - /// ApiResponse of InlineResponse2004 - ApiResponse GetCampaignsWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?)); + /// Filter results to campaigns linked to the specified store ID. (optional) + /// ApiResponse of InlineResponse2006 + ApiResponse GetCampaignsWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?), int? storeId = default(int?)); /// /// Get audit logs for an account /// @@ -1715,19 +2072,19 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve the audit logs displayed in **Accounts > Audit logs**. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by Application ID. (optional) /// Filter results on a case insensitive matching of the url path of the entity (optional) /// Filter results by user ID. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) /// Filter results that match the given management key ID. (optional) /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) - /// InlineResponse20039 - InlineResponse20039 GetChanges (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)); + /// InlineResponse20042 + InlineResponse20042 GetChanges (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)); /// /// Get audit logs for an account @@ -1736,69 +2093,69 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve the audit logs displayed in **Accounts > Audit logs**. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by Application ID. (optional) /// Filter results on a case insensitive matching of the url path of the entity (optional) /// Filter results by user ID. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) /// Filter results that match the given management key ID. (optional) /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) - /// ApiResponse of InlineResponse20039 - ApiResponse GetChangesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)); + /// ApiResponse of InlineResponse20042 + ApiResponse GetChangesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)); /// - /// Get collection + /// Get campaign-level collection /// /// - /// Retrieve a given collection. + /// Retrieve a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// Collection Collection GetCollection (int applicationId, int campaignId, int collectionId); /// - /// Get collection + /// Get campaign-level collection /// /// - /// Retrieve a given collection. + /// Retrieve a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// ApiResponse of Collection ApiResponse GetCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId); /// /// Get collection items /// /// - /// Retrieve the items from the given collection. + /// Retrieve items from a given collection. You can retrieve items from both account-level collections and campaign-level collections using this endpoint. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// InlineResponse20016 - InlineResponse20016 GetCollectionItems (int collectionId, int? pageSize = default(int?), int? skip = default(int?)); + /// InlineResponse20018 + InlineResponse20018 GetCollectionItems (int collectionId, int? pageSize = default(int?), int? skip = default(int?)); /// /// Get collection items /// /// - /// Retrieve the items from the given collection. + /// Retrieve items from a given collection. You can retrieve items from both account-level collections and campaign-level collections using this endpoint. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// ApiResponse of InlineResponse20016 - ApiResponse GetCollectionItemsWithHttpInfo (int collectionId, int? pageSize = default(int?), int? skip = default(int?)); + /// ApiResponse of InlineResponse20018 + ApiResponse GetCollectionItemsWithHttpInfo (int collectionId, int? pageSize = default(int?), int? skip = default(int?)); /// /// List coupons /// @@ -1808,20 +2165,20 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) /// Filter results by batches of coupons (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// InlineResponse2008 - InlineResponse2008 GetCouponsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)); + /// InlineResponse2009 + InlineResponse2009 GetCouponsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)); /// /// List coupons @@ -1832,20 +2189,20 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) /// Filter results by batches of coupons (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// ApiResponse of InlineResponse2008 - ApiResponse GetCouponsWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)); + /// ApiResponse of InlineResponse2009 + ApiResponse GetCouponsWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)); /// /// Get customer's activity report /// @@ -1853,11 +2210,11 @@ public interface IManagementApiSync : IApiAccessor /// Fetch the summary report of a given customer in the given application, in a time range. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// CustomerActivityReport CustomerActivityReport GetCustomerActivityReport (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)); @@ -1869,11 +2226,11 @@ public interface IManagementApiSync : IApiAccessor /// Fetch the summary report of a given customer in the given application, in a time range. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// ApiResponse of CustomerActivityReport ApiResponse GetCustomerActivityReportWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)); @@ -1884,18 +2241,18 @@ public interface IManagementApiSync : IApiAccessor /// Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Only return reports matching the customer name (optional) /// Filter results performing an exact matching against the profile integration identifier. (optional) /// Only return reports matching the campaignName (optional) /// Only return reports matching the current customer referrer name (optional) - /// InlineResponse20025 - InlineResponse20025 GetCustomerActivityReportsWithoutTotalCount (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)); + /// InlineResponse20026 + InlineResponse20026 GetCustomerActivityReportsWithoutTotalCount (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)); /// /// Get Activity Reports for Application Customers @@ -1904,18 +2261,18 @@ public interface IManagementApiSync : IApiAccessor /// Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Only return reports matching the customer name (optional) /// Filter results performing an exact matching against the profile integration identifier. (optional) /// Only return reports matching the campaignName (optional) /// Only return reports matching the current customer referrer name (optional) - /// ApiResponse of InlineResponse20025 - ApiResponse GetCustomerActivityReportsWithoutTotalCountWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)); + /// ApiResponse of InlineResponse20026 + ApiResponse GetCustomerActivityReportsWithoutTotalCountWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)); /// /// Get customer's analytics report /// @@ -1925,7 +2282,7 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// CustomerAnalytics @@ -1940,7 +2297,7 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// ApiResponse of CustomerAnalytics @@ -1967,17 +2324,48 @@ public interface IManagementApiSync : IApiAccessor /// ApiResponse of CustomerProfile ApiResponse GetCustomerProfileWithHttpInfo (int customerId); /// + /// List customer achievements + /// + /// + /// For the given customer profile, list all the achievements that match your filter criteria. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The identifier of the profile. + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. (optional) + /// Filter results by the `title` of an achievement. (optional) + /// InlineResponse20047 + InlineResponse20047 GetCustomerProfileAchievementProgress (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), int? achievementId = default(int?), string title = default(string)); + + /// + /// List customer achievements + /// + /// + /// For the given customer profile, list all the achievements that match your filter criteria. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The identifier of the profile. + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. (optional) + /// Filter results by the `title` of an achievement. (optional) + /// ApiResponse of InlineResponse20047 + ApiResponse GetCustomerProfileAchievementProgressWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), int? achievementId = default(int?), string title = default(string)); + /// /// List customer profiles /// /// /// List all customer profiles. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// InlineResponse20024 - InlineResponse20024 GetCustomerProfiles (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); + /// InlineResponse20025 + InlineResponse20025 GetCustomerProfiles (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); /// /// List customer profiles @@ -1986,11 +2374,11 @@ public interface IManagementApiSync : IApiAccessor /// List all customer profiles. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// ApiResponse of InlineResponse20024 - ApiResponse GetCustomerProfilesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); + /// ApiResponse of InlineResponse20025 + ApiResponse GetCustomerProfilesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); /// /// List customer profiles matching the given attributes /// @@ -1999,11 +2387,11 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// InlineResponse20023 - InlineResponse20023 GetCustomersByAttributes (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); + /// InlineResponse20024 + InlineResponse20024 GetCustomersByAttributes (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); /// /// List customer profiles matching the given attributes @@ -2013,11 +2401,11 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// ApiResponse of InlineResponse20023 - ApiResponse GetCustomersByAttributesWithHttpInfo (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); + /// ApiResponse of InlineResponse20024 + ApiResponse GetCustomersByAttributesWithHttpInfo (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); /// /// List event types /// @@ -2027,11 +2415,11 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) /// Include all versions of every event type. (optional, default to false) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20037 - InlineResponse20037 GetEventTypes (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// InlineResponse20040 + InlineResponse20040 GetEventTypes (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List event types @@ -2042,11 +2430,11 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) /// Include all versions of every event type. (optional, default to false) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20037 - ApiResponse GetEventTypesWithHttpInfo (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// ApiResponse of InlineResponse20040 + ApiResponse GetEventTypesWithHttpInfo (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get exports /// @@ -2054,13 +2442,13 @@ public interface IManagementApiSync : IApiAccessor /// List all past exports /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Filter results by Application ID. (optional) /// Filter by the campaign ID on which the limit counters are used. (optional) /// The name of the entity type that was exported. (optional) - /// InlineResponse20040 - InlineResponse20040 GetExports (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)); + /// InlineResponse20043 + InlineResponse20043 GetExports (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)); /// /// Get exports @@ -2069,13 +2457,13 @@ public interface IManagementApiSync : IApiAccessor /// List all past exports /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Filter results by Application ID. (optional) /// Filter by the campaign ID on which the limit counters are used. (optional) /// The name of the entity type that was exported. (optional) - /// ApiResponse of InlineResponse20040 - ApiResponse GetExportsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)); + /// ApiResponse of InlineResponse20043 + ApiResponse GetExportsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)); /// /// Get loyalty card /// @@ -2103,35 +2491,35 @@ public interface IManagementApiSync : IApiAccessor /// List card's transactions /// /// - /// Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. + /// Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The ID of the subledger by which we filter the data. (optional) - /// InlineResponse20014 - InlineResponse20014 GetLoyaltyCardTransactionLogs (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)); + /// InlineResponse20016 + InlineResponse20016 GetLoyaltyCardTransactionLogs (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)); /// /// List card's transactions /// /// - /// Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. + /// Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The ID of the subledger by which we filter the data. (optional) - /// ApiResponse of InlineResponse20014 - ApiResponse GetLoyaltyCardTransactionLogsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)); + /// ApiResponse of InlineResponse20016 + ApiResponse GetLoyaltyCardTransactionLogsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)); /// /// List loyalty cards /// @@ -2140,13 +2528,13 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Optional query parameter to search cards by identifier. (optional) /// Filter by the profile ID. (optional) - /// InlineResponse20013 - InlineResponse20013 GetLoyaltyCards (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)); + /// InlineResponse20015 + InlineResponse20015 GetLoyaltyCards (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)); /// /// List loyalty cards @@ -2156,13 +2544,13 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Optional query parameter to search cards by identifier. (optional) /// Filter by the profile ID. (optional) - /// ApiResponse of InlineResponse20013 - ApiResponse GetLoyaltyCardsWithHttpInfo (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)); + /// ApiResponse of InlineResponse20015 + ApiResponse GetLoyaltyCardsWithHttpInfo (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)); /// /// Get customer's full loyalty ledger /// @@ -2193,7 +2581,7 @@ public interface IManagementApiSync : IApiAccessor /// Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// LoyaltyProgram LoyaltyProgram GetLoyaltyProgram (int loyaltyProgramId); @@ -2204,42 +2592,42 @@ public interface IManagementApiSync : IApiAccessor /// Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// ApiResponse of LoyaltyProgram ApiResponse GetLoyaltyProgramWithHttpInfo (int loyaltyProgramId); /// /// List loyalty program transactions /// /// - /// Retrieve all loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// Retrieve loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. **Note:** If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// InlineResponse20012 - InlineResponse20012 GetLoyaltyProgramTransactions (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + /// InlineResponse20014 + InlineResponse20014 GetLoyaltyProgramTransactions (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); /// /// List loyalty program transactions /// /// - /// Retrieve all loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// Retrieve loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. **Note:** If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// ApiResponse of InlineResponse20012 - ApiResponse GetLoyaltyProgramTransactionsWithHttpInfo (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + /// ApiResponse of InlineResponse20014 + ApiResponse GetLoyaltyProgramTransactionsWithHttpInfo (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); /// /// List loyalty programs /// @@ -2247,8 +2635,8 @@ public interface IManagementApiSync : IApiAccessor /// List the loyalty programs of the account. /// /// Thrown when fails to make API call - /// InlineResponse20011 - InlineResponse20011 GetLoyaltyPrograms (); + /// InlineResponse20013 + InlineResponse20013 GetLoyaltyPrograms (); /// /// List loyalty programs @@ -2257,8 +2645,8 @@ public interface IManagementApiSync : IApiAccessor /// List the loyalty programs of the account. /// /// Thrown when fails to make API call - /// ApiResponse of InlineResponse20011 - ApiResponse GetLoyaltyProgramsWithHttpInfo (); + /// ApiResponse of InlineResponse20013 + ApiResponse GetLoyaltyProgramsWithHttpInfo (); /// /// Get loyalty program statistics /// @@ -2266,9 +2654,9 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// LoyaltyStatistics - LoyaltyStatistics GetLoyaltyStatistics (int loyaltyProgramId); + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// LoyaltyDashboardData + LoyaltyDashboardData GetLoyaltyStatistics (int loyaltyProgramId); /// /// Get loyalty program statistics @@ -2277,53 +2665,9 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// ApiResponse of LoyaltyStatistics - ApiResponse GetLoyaltyStatisticsWithHttpInfo (int loyaltyProgramId); - /// - /// Get notification about campaign-related changes - /// - /// - /// Return the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). - /// - /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. - /// NotificationWebhook - NotificationWebhook GetNotificationWebhook (int applicationId, int notificationWebhookId); - - /// - /// Get notification about campaign-related changes - /// - /// - /// Return the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). - /// - /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. - /// ApiResponse of NotificationWebhook - ApiResponse GetNotificationWebhookWithHttpInfo (int applicationId, int notificationWebhookId); - /// - /// List notifications about campaign-related changes - /// - /// - /// List all [notifications about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications) for the given Application. - /// - /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// InlineResponse2005 - InlineResponse2005 GetNotificationWebhooks (int applicationId); - - /// - /// List notifications about campaign-related changes - /// - /// - /// List all [notifications about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications) for the given Application. - /// - /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// ApiResponse of InlineResponse2005 - ApiResponse GetNotificationWebhooksWithHttpInfo (int applicationId); + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// ApiResponse of LoyaltyDashboardData + ApiResponse GetLoyaltyStatisticsWithHttpInfo (int loyaltyProgramId); /// /// List referrals /// @@ -2333,17 +2677,17 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) - /// InlineResponse2009 - InlineResponse2009 GetReferralsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)); + /// InlineResponse20010 + InlineResponse20010 GetReferralsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)); /// /// List referrals @@ -2354,38 +2698,38 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) - /// ApiResponse of InlineResponse2009 - ApiResponse GetReferralsWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)); + /// ApiResponse of InlineResponse20010 + ApiResponse GetReferralsWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)); /// /// Get role /// /// - /// Get the details of a specific role. To see all the roles, use [List roles](#operation/getAllRoles). + /// Get the details of a specific role. To see all the roles, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of role. - /// Role - Role GetRole (int roleId); + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// RoleV2 + RoleV2 GetRoleV2 (int roleId); /// /// Get role /// /// - /// Get the details of a specific role. To see all the roles, use [List roles](#operation/getAllRoles). + /// Get the details of a specific role. To see all the roles, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of role. - /// ApiResponse of Role - ApiResponse GetRoleWithHttpInfo (int roleId); + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// ApiResponse of RoleV2 + ApiResponse GetRoleV2WithHttpInfo (int roleId); /// /// Get ruleset /// @@ -2420,11 +2764,11 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse2006 - InlineResponse2006 GetRulesets (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// InlineResponse2007 + InlineResponse2007 GetRulesets (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List campaign rulesets @@ -2435,11 +2779,34 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse2006 - ApiResponse GetRulesetsWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// ApiResponse of InlineResponse2007 + ApiResponse GetRulesetsWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// + /// Get store + /// + /// + /// Get store details for a specific store ID. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// Store + Store GetStore (int applicationId, string storeId); + + /// + /// Get store + /// + /// + /// Get store details for a specific store ID. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// ApiResponse of Store + ApiResponse GetStoreWithHttpInfo (int applicationId, string storeId); /// /// Get user /// @@ -2468,11 +2835,11 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve all users in your account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20038 - InlineResponse20038 GetUsers (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// InlineResponse20041 + InlineResponse20041 GetUsers (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List users in account @@ -2481,11 +2848,11 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve all users in your account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20038 - ApiResponse GetUsersWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// ApiResponse of InlineResponse20041 + ApiResponse GetUsersWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get webhook /// @@ -2514,17 +2881,17 @@ public interface IManagementApiSync : IApiAccessor /// Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by integration request UUID. (optional) /// Filter results by Webhook. (optional) /// Filter results by Application ID. (optional) /// Filter results by campaign. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// InlineResponse20035 - InlineResponse20035 GetWebhookActivationLogs (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// InlineResponse20038 + InlineResponse20038 GetWebhookActivationLogs (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); /// /// List webhook activation log entries @@ -2533,17 +2900,17 @@ public interface IManagementApiSync : IApiAccessor /// Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by integration request UUID. (optional) /// Filter results by Webhook. (optional) /// Filter results by Application ID. (optional) /// Filter results by campaign. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// ApiResponse of InlineResponse20035 - ApiResponse GetWebhookActivationLogsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// ApiResponse of InlineResponse20038 + ApiResponse GetWebhookActivationLogsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); /// /// List webhook log entries /// @@ -2551,7 +2918,7 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve all webhook log entries. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by HTTP status codes. (optional) @@ -2559,10 +2926,10 @@ public interface IManagementApiSync : IApiAccessor /// Filter results by Application ID. (optional) /// Filter results by campaign. (optional) /// Filter results by request UUID. (optional) - /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// InlineResponse20036 - InlineResponse20036 GetWebhookLogs (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); + /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// InlineResponse20039 + InlineResponse20039 GetWebhookLogs (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); /// /// List webhook log entries @@ -2571,7 +2938,7 @@ public interface IManagementApiSync : IApiAccessor /// Retrieve all webhook log entries. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by HTTP status codes. (optional) @@ -2579,10 +2946,10 @@ public interface IManagementApiSync : IApiAccessor /// Filter results by Application ID. (optional) /// Filter results by campaign. (optional) /// Filter results by request UUID. (optional) - /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// ApiResponse of InlineResponse20036 - ApiResponse GetWebhookLogsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); + /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// ApiResponse of InlineResponse20039 + ApiResponse GetWebhookLogsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); /// /// List webhooks /// @@ -2592,14 +2959,14 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// Filter by one or more Application IDs, separated by a comma. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Filter results by creation type. (optional) /// Filter results by visibility. (optional) /// Filter results by outgoing integration type ID. (optional) /// Filter results performing case-insensitive matching against the webhook title. (optional) - /// InlineResponse20034 - InlineResponse20034 GetWebhooks (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)); + /// InlineResponse20037 + InlineResponse20037 GetWebhooks (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)); /// /// List webhooks @@ -2610,35 +2977,35 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// Filter by one or more Application IDs, separated by a comma. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Filter results by creation type. (optional) /// Filter results by visibility. (optional) /// Filter results by outgoing integration type ID. (optional) /// Filter results performing case-insensitive matching against the webhook title. (optional) - /// ApiResponse of InlineResponse20034 - ApiResponse GetWebhooksWithHttpInfo (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)); + /// ApiResponse of InlineResponse20037 + ApiResponse GetWebhooksWithHttpInfo (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)); /// - /// Import data in existing account-level collection + /// Import data into existing account-level collection /// /// /// Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The file containing the data that is being imported. (optional) /// Import Import ImportAccountCollection (int collectionId, string upFile = default(string)); /// - /// Import data in existing account-level collection + /// Import data into existing account-level collection /// /// /// Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The file containing the data that is being imported. (optional) /// ApiResponse of Import ApiResponse ImportAccountCollectionWithHttpInfo (int collectionId, string upFile = default(string)); /// @@ -2649,7 +3016,7 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Import Import ImportAllowedList (int attributeId, string upFile = default(string)); @@ -2661,11 +3028,34 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// ApiResponse of Import ApiResponse ImportAllowedListWithHttpInfo (int attributeId, string upFile = default(string)); /// - /// Import data in existing collection + /// Import audience members + /// + /// + /// Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. **Note:** We recommend limiting your file size to 500MB. Example: ```text profileintegrationid charles alexa ``` + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// The file containing the data that is being imported. (optional) + /// Import + Import ImportAudiencesMemberships (int audienceId, string upFile = default(string)); + + /// + /// Import audience members + /// + /// + /// Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. **Note:** We recommend limiting your file size to 500MB. Example: ```text profileintegrationid charles alexa ``` + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// The file containing the data that is being imported. (optional) + /// ApiResponse of Import + ApiResponse ImportAudiencesMembershipsWithHttpInfo (int audienceId, string upFile = default(string)); + /// + /// Import data into existing campaign-level collection /// /// /// Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. @@ -2673,13 +3063,13 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// The file containing the data that is being imported. (optional) /// Import Import ImportCollection (int applicationId, int campaignId, int collectionId, string upFile = default(string)); /// - /// Import data in existing collection + /// Import data into existing campaign-level collection /// /// /// Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. @@ -2687,35 +3077,37 @@ public interface IManagementApiSync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// The file containing the data that is being imported. (optional) /// ApiResponse of Import ApiResponse ImportCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId, string upFile = default(string)); /// /// Import coupons /// /// - /// Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the customer who receives the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the coupon entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). + /// Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A JSON object describing _custom_ coupon attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the coupon entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) + /// An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional) + /// The file containing the data that is being imported. (optional) /// Import - Import ImportCoupons (int applicationId, int campaignId, string upFile = default(string)); + Import ImportCoupons (int applicationId, int campaignId, bool? skipDuplicates = default(bool?), string upFile = default(string)); /// /// Import coupons /// /// - /// Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the customer who receives the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the coupon entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). + /// Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A JSON object describing _custom_ coupon attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the coupon entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) + /// An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional) + /// The file containing the data that is being imported. (optional) /// ApiResponse of Import - ApiResponse ImportCouponsWithHttpInfo (int applicationId, int campaignId, string upFile = default(string)); + ApiResponse ImportCouponsWithHttpInfo (int applicationId, int campaignId, bool? skipDuplicates = default(bool?), string upFile = default(string)); /// /// Import loyalty cards /// @@ -2724,7 +3116,7 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Import Import ImportLoyaltyCards (int loyaltyProgramId, string upFile = default(string)); @@ -2736,18 +3128,18 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// ApiResponse of Import ApiResponse ImportLoyaltyCardsWithHttpInfo (int loyaltyProgramId, string upFile = default(string)); /// /// Import customers into loyalty tiers /// /// - /// Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in a tier, the customer is assigned to match the new information provided in the CSV file. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` + /// Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. **Note:** We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) /// Import Import ImportLoyaltyCustomersTiers (int loyaltyProgramId, string upFile = default(string)); @@ -2755,22 +3147,22 @@ public interface IManagementApiSync : IApiAccessor /// Import customers into loyalty tiers /// /// - /// Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in a tier, the customer is assigned to match the new information provided in the CSV file. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` + /// Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. **Note:** We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) /// ApiResponse of Import ApiResponse ImportLoyaltyCustomersTiersWithHttpInfo (int loyaltyProgramId, string upFile = default(string)); /// /// Import loyalty points /// /// - /// Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the loyalty program type, you can import the points into a given customer profile or into a given _active_ loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` + /// Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) /// Import Import ImportLoyaltyPoints (int loyaltyProgramId, string upFile = default(string)); @@ -2778,22 +3170,22 @@ public interface IManagementApiSync : IApiAccessor /// Import loyalty points /// /// - /// Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the loyalty program type, you can import the points into a given customer profile or into a given _active_ loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` + /// Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) /// ApiResponse of Import ApiResponse ImportLoyaltyPointsWithHttpInfo (int loyaltyProgramId, string upFile = default(string)); /// /// Import giveaway codes into a giveaway pool /// /// - /// Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): the code of your giveaway, for instance, a gift card redemption code. - `startdate`: the start date in RFC3339 of the code redemption period. - `enddate`: the last date in RFC3339 of the code redemption period. - `attributes`: A json object describing _custom_ giveaway attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated to the giveaway entity, set it with `\"{\"\"provider\"\": \"\"myPartnerCompany\"\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` + /// Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. **Note:** - We recommend limiting your file size to 500MB. - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` /// /// Thrown when fails to make API call /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Import Import ImportPoolGiveaways (int poolId, string upFile = default(string)); @@ -2801,23 +3193,23 @@ public interface IManagementApiSync : IApiAccessor /// Import giveaway codes into a giveaway pool /// /// - /// Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): the code of your giveaway, for instance, a gift card redemption code. - `startdate`: the start date in RFC3339 of the code redemption period. - `enddate`: the last date in RFC3339 of the code redemption period. - `attributes`: A json object describing _custom_ giveaway attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated to the giveaway entity, set it with `\"{\"\"provider\"\": \"\"myPartnerCompany\"\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` + /// Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. **Note:** - We recommend limiting your file size to 500MB. - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` /// /// Thrown when fails to make API call /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// ApiResponse of Import ApiResponse ImportPoolGiveawaysWithHttpInfo (int poolId, string upFile = default(string)); /// /// Import referrals /// /// - /// Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the referral entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` + /// Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Important:** When you import a CSV file with referrals, a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) is **not** automatically created for each `advocateprofileintegrationid` column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) endpoint to create the customer profiles. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Import Import ImportReferrals (int applicationId, int campaignId, string upFile = default(string)); @@ -2825,43 +3217,112 @@ public interface IManagementApiSync : IApiAccessor /// Import referrals /// /// - /// Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the referral entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` + /// Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Important:** When you import a CSV file with referrals, a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) is **not** automatically created for each `advocateprofileintegrationid` column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) endpoint to create the customer profiles. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// ApiResponse of Import ApiResponse ImportReferralsWithHttpInfo (int applicationId, int campaignId, string upFile = default(string)); /// - /// List collections in account + /// Invite user from identity provider /// /// - /// List collections in account. + /// Invite a user from an external identity provider to Talon.One by sending an invitation to their email address. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// InlineResponse20015 - InlineResponse20015 ListAccountCollections (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + /// body + /// + void InviteUserExternal (NewExternalInvitation body); /// - /// List collections in account + /// Invite user from identity provider /// /// - /// List collections in account. + /// Invite a user from an external identity provider to Talon.One by sending an invitation to their email address. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// body + /// ApiResponse of Object(void) + ApiResponse InviteUserExternalWithHttpInfo (NewExternalInvitation body); + /// + /// List collections in account + /// + /// + /// List account-level collections in the account. + /// + /// Thrown when fails to make API call + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// ApiResponse of InlineResponse20015 - ApiResponse ListAccountCollectionsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + /// Filter by collection name. (optional) + /// InlineResponse20017 + InlineResponse20017 ListAccountCollections (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + + /// + /// List collections in account + /// + /// + /// List account-level collections in the account. + /// + /// Thrown when fails to make API call + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// ApiResponse of InlineResponse20017 + ApiResponse ListAccountCollectionsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + /// + /// List achievements + /// + /// + /// List all the achievements for a specific campaign. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Filter by the display name for the achievement in the campaign manager. **Note**: If no `title` is provided, all the achievements from the campaign are returned. (optional) + /// InlineResponse20046 + InlineResponse20046 ListAchievements (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string title = default(string)); + + /// + /// List achievements + /// + /// + /// List all the achievements for a specific campaign. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Filter by the display name for the achievement in the campaign manager. **Note**: If no `title` is provided, all the achievements from the campaign are returned. (optional) + /// ApiResponse of InlineResponse20046 + ApiResponse ListAchievementsWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string title = default(string)); + /// + /// List roles + /// + /// + /// List all roles. + /// + /// Thrown when fails to make API call + /// InlineResponse20044 + InlineResponse20044 ListAllRolesV2 (); + + /// + /// List roles + /// + /// + /// List all roles. + /// + /// Thrown when fails to make API call + /// ApiResponse of InlineResponse20044 + ApiResponse ListAllRolesV2WithHttpInfo (); /// /// List items in a catalog /// @@ -2870,12 +3331,13 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// The SKU of the item. (optional) - /// InlineResponse20032 - InlineResponse20032 ListCatalogItems (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), string sku = default(string)); + /// Filter results by one or more SKUs. Must be exact match. (optional) + /// Filter results by one or more product names. Must be exact match. (optional) + /// InlineResponse20035 + InlineResponse20035 ListCatalogItems (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), List sku = default(List), List productNames = default(List)); /// /// List items in a catalog @@ -2885,81 +3347,142 @@ public interface IManagementApiSync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// The SKU of the item. (optional) - /// ApiResponse of InlineResponse20032 - ApiResponse ListCatalogItemsWithHttpInfo (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), string sku = default(string)); + /// Filter results by one or more SKUs. Must be exact match. (optional) + /// Filter results by one or more product names. Must be exact match. (optional) + /// ApiResponse of InlineResponse20035 + ApiResponse ListCatalogItemsWithHttpInfo (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), List sku = default(List), List productNames = default(List)); /// - /// List collections + /// List collections in campaign /// /// - /// List collections in the campaign. + /// List collections in a given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) + /// Filter by collection name. (optional) /// InlineResponse20017 InlineResponse20017 ListCollections (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); /// - /// List collections + /// List collections in campaign /// /// - /// List collections in the campaign. + /// List collections in a given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) + /// Filter by collection name. (optional) /// ApiResponse of InlineResponse20017 ApiResponse ListCollectionsWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); /// - /// List collections in application + /// List collections in Application /// /// - /// List collections from all campaigns in the Application. + /// List campaign-level collections from all campaigns in a given Application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) + /// Filter by collection name. (optional) /// InlineResponse20017 InlineResponse20017 ListCollectionsInApplication (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); /// - /// List collections in application + /// List collections in Application /// /// - /// List collections from all campaigns in the Application. + /// List campaign-level collections from all campaigns in a given Application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) + /// Filter by collection name. (optional) /// ApiResponse of InlineResponse20017 ApiResponse ListCollectionsInApplicationWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); /// + /// List stores + /// + /// + /// List all stores for a specific Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by campaign. (optional) + /// The name of the store. (optional) + /// The integration ID of the store. (optional) + /// Filter results by `name` or `integrationId`. (optional) + /// InlineResponse20045 + InlineResponse20045 ListStores (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), decimal? campaignId = default(decimal?), string name = default(string), string integrationId = default(string), string query = default(string)); + + /// + /// List stores + /// + /// + /// List all stores for a specific Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by campaign. (optional) + /// The name of the store. (optional) + /// The integration ID of the store. (optional) + /// Filter results by `name` or `integrationId`. (optional) + /// ApiResponse of InlineResponse20045 + ApiResponse ListStoresWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), decimal? campaignId = default(decimal?), string name = default(string), string integrationId = default(string), string query = default(string)); + /// + /// Activate or deactivate notification + /// + /// + /// Activate or deactivate the given notification. When `enabled` is false, updates will no longer be sent for the given notification. + /// + /// Thrown when fails to make API call + /// The ID of the notification. Get it with the appropriate _List notifications_ endpoint. + /// body + /// + void NotificationActivation (int notificationId, NotificationActivation body); + + /// + /// Activate or deactivate notification + /// + /// + /// Activate or deactivate the given notification. When `enabled` is false, updates will no longer be sent for the given notification. + /// + /// Thrown when fails to make API call + /// The ID of the notification. Get it with the appropriate _List notifications_ endpoint. + /// body + /// ApiResponse of Object(void) + ApiResponse NotificationActivationWithHttpInfo (int notificationId, NotificationActivation body); + /// /// Create notification about added or deducted loyalty points /// /// - /// Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -2971,7 +3494,7 @@ public interface IManagementApiSync : IApiAccessor /// Create notification about added or deducted loyalty points /// /// - /// Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -3005,7 +3528,7 @@ public interface IManagementApiSync : IApiAccessor /// Create notification about pending loyalty points /// /// - /// Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -3017,7 +3540,7 @@ public interface IManagementApiSync : IApiAccessor /// Create notification about pending loyalty points /// /// - /// Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -3074,17 +3597,17 @@ public interface IManagementApiSync : IApiAccessor /// List coupons that match the given attributes (without total count) /// /// - /// List the coupons whose attributes match the query criteria in all **active** campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// List the coupons whose attributes match the query criteria in all the campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) @@ -3092,24 +3615,24 @@ public interface IManagementApiSync : IApiAccessor /// Filter results by batches of coupons (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// InlineResponse2008 - InlineResponse2008 SearchCouponsAdvancedApplicationWideWithoutTotalCount (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)); + /// InlineResponse2009 + InlineResponse2009 SearchCouponsAdvancedApplicationWideWithoutTotalCount (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)); /// /// List coupons that match the given attributes (without total count) /// /// - /// List the coupons whose attributes match the query criteria in all **active** campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// List the coupons whose attributes match the query criteria in all the campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) @@ -3117,8 +3640,8 @@ public interface IManagementApiSync : IApiAccessor /// Filter results by batches of coupons (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// ApiResponse of InlineResponse2008 - ApiResponse SearchCouponsAdvancedApplicationWideWithoutTotalCountWithHttpInfo (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)); + /// ApiResponse of InlineResponse2009 + ApiResponse SearchCouponsAdvancedApplicationWideWithoutTotalCountWithHttpInfo (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)); /// /// List coupons that match the given attributes in campaign (without total count) /// @@ -3129,20 +3652,20 @@ public interface IManagementApiSync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) /// Filter results by batches of coupons (optional) - /// InlineResponse2008 - InlineResponse2008 SearchCouponsAdvancedWithoutTotalCount (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)); + /// InlineResponse2009 + InlineResponse2009 SearchCouponsAdvancedWithoutTotalCount (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)); /// /// List coupons that match the given attributes in campaign (without total count) @@ -3154,20 +3677,20 @@ public interface IManagementApiSync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) /// Filter results by batches of coupons (optional) - /// ApiResponse of InlineResponse2008 - ApiResponse SearchCouponsAdvancedWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)); + /// ApiResponse of InlineResponse2009 + ApiResponse SearchCouponsAdvancedWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)); /// /// Transfer card data /// @@ -3197,10 +3720,10 @@ public interface IManagementApiSync : IApiAccessor /// Update account-level collection /// /// - /// Edit the description of the account-level collection and enable or disable the collection in the specified Applications. + /// Edit the description of a given account-level collection and enable or disable the collection in the specified Applications. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// body /// Collection Collection UpdateAccountCollection (int collectionId, UpdateCollection body); @@ -3209,18 +3732,45 @@ public interface IManagementApiSync : IApiAccessor /// Update account-level collection /// /// - /// Edit the description of the account-level collection and enable or disable the collection in the specified Applications. + /// Edit the description of a given account-level collection and enable or disable the collection in the specified Applications. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// body /// ApiResponse of Collection ApiResponse UpdateAccountCollectionWithHttpInfo (int collectionId, UpdateCollection body); /// + /// Update achievement + /// + /// + /// Update the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// body + /// Achievement + Achievement UpdateAchievement (int applicationId, int campaignId, int achievementId, UpdateAchievement body); + + /// + /// Update achievement + /// + /// + /// Update the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// body + /// ApiResponse of Achievement + ApiResponse UpdateAchievementWithHttpInfo (int applicationId, int campaignId, int achievementId, UpdateAchievement body); + /// /// Update additional cost /// /// - /// Updates an existing additional cost. Once created, the only property of an additional cost that can be changed is the title (human readable description). This restriction is in place to prevent accidentally breaking live integrations. + /// Updates an existing additional cost. Once created, the only property of an additional cost that cannot be changed is the `name` property (or **API name** in the Campaign Manager). This restriction is in place to prevent accidentally breaking live integrations. /// /// Thrown when fails to make API call /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. @@ -3232,7 +3782,7 @@ public interface IManagementApiSync : IApiAccessor /// Update additional cost /// /// - /// Updates an existing additional cost. Once created, the only property of an additional cost that can be changed is the title (human readable description). This restriction is in place to prevent accidentally breaking live integrations. + /// Updates an existing additional cost. Once created, the only property of an additional cost that cannot be changed is the `name` property (or **API name** in the Campaign Manager). This restriction is in place to prevent accidentally breaking live integrations. /// /// Thrown when fails to make API call /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. @@ -3288,29 +3838,29 @@ public interface IManagementApiSync : IApiAccessor /// ApiResponse of Campaign ApiResponse UpdateCampaignWithHttpInfo (int applicationId, int campaignId, UpdateCampaign body); /// - /// Update collection description + /// Update campaign-level collection's description /// /// - /// Edit the description of the collection. + /// Edit the description of a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// body /// Collection Collection UpdateCollection (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body); /// - /// Update collection description + /// Update campaign-level collection's description /// /// - /// Edit the description of the collection. + /// Edit the description of a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// body /// ApiResponse of Collection ApiResponse UpdateCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body); @@ -3345,7 +3895,7 @@ public interface IManagementApiSync : IApiAccessor /// Update coupons /// /// - /// Update all coupons, or a specific batch of coupons, in a campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). + /// Update all coupons, or a specific batch of coupons in the given campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -3358,7 +3908,7 @@ public interface IManagementApiSync : IApiAccessor /// Update coupons /// /// - /// Update all coupons, or a specific batch of coupons, in a campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). + /// Update all coupons, or a specific batch of coupons in the given campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -3392,57 +3942,103 @@ public interface IManagementApiSync : IApiAccessor /// ApiResponse of LoyaltyCard ApiResponse UpdateLoyaltyCardWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, UpdateLoyaltyCard body); /// - /// Update notification about campaign-related changes + /// Update referral /// /// - /// Update the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). **Tip:** You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_edited/post). + /// Update the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// body - /// NotificationWebhook - NotificationWebhook UpdateNotificationWebhook (int applicationId, int notificationWebhookId, NewNotificationWebhook body); + /// Referral + Referral UpdateReferral (int applicationId, int campaignId, string referralId, UpdateReferral body); /// - /// Update notification about campaign-related changes + /// Update referral /// /// - /// Update the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). **Tip:** You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_edited/post). + /// Update the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// body - /// ApiResponse of NotificationWebhook - ApiResponse UpdateNotificationWebhookWithHttpInfo (int applicationId, int notificationWebhookId, NewNotificationWebhook body); + /// ApiResponse of Referral + ApiResponse UpdateReferralWithHttpInfo (int applicationId, int campaignId, string referralId, UpdateReferral body); /// - /// Update referral + /// Update role /// /// - /// Update the specified referral. + /// Update a specific role. + /// + /// Thrown when fails to make API call + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// body + /// RoleV2 + RoleV2 UpdateRoleV2 (int roleId, RoleV2Base body); + + /// + /// Update role + /// + /// + /// Update a specific role. + /// + /// Thrown when fails to make API call + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// body + /// ApiResponse of RoleV2 + ApiResponse UpdateRoleV2WithHttpInfo (int roleId, RoleV2Base body); + /// + /// Update store + /// + /// + /// Update store details for a specific store ID. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// body - /// Referral - Referral UpdateReferral (int applicationId, int campaignId, string referralId, UpdateReferral body); + /// Store + Store UpdateStore (int applicationId, string storeId, NewStore body); /// - /// Update referral + /// Update store /// /// - /// Update the specified referral. + /// Update store details for a specific store ID. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// body - /// ApiResponse of Referral - ApiResponse UpdateReferralWithHttpInfo (int applicationId, int campaignId, string referralId, UpdateReferral body); + /// ApiResponse of Store + ApiResponse UpdateStoreWithHttpInfo (int applicationId, string storeId, NewStore body); + /// + /// Update user + /// + /// + /// Update the details of a specific user. + /// + /// Thrown when fails to make API call + /// The ID of the user. + /// body + /// User + User UpdateUser (int userId, UpdateUser body); + + /// + /// Update user + /// + /// + /// Update the details of a specific user. + /// + /// Thrown when fails to make API call + /// The ID of the user. + /// body + /// ApiResponse of User + ApiResponse UpdateUserWithHttpInfo (int userId, UpdateUser body); #endregion Synchronous Operations } @@ -3453,6 +4049,27 @@ public interface IManagementApiAsync : IApiAccessor { #region Asynchronous Operations /// + /// Activate user by email address + /// + /// + /// Activate a deactivated user by their email address. + /// + /// Thrown when fails to make API call + /// body + /// Task of void + System.Threading.Tasks.Task ActivateUserByEmailAsync (ActivateUserRequest body); + + /// + /// Activate user by email address + /// + /// + /// Activate a deactivated user by their email address. + /// + /// Thrown when fails to make API call + /// body + /// Task of ApiResponse + System.Threading.Tasks.Task> ActivateUserByEmailAsyncWithHttpInfo (ActivateUserRequest body); + /// /// Add points to card /// /// @@ -3512,8 +4129,8 @@ public interface IManagementApiAsync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of InlineResponse2004 - System.Threading.Tasks.Task CopyCampaignToApplicationsAsync (int applicationId, int campaignId, CampaignCopy body); + /// Task of InlineResponse2006 + System.Threading.Tasks.Task CopyCampaignToApplicationsAsync (int applicationId, int campaignId, CampaignCopy body); /// /// Copy the campaign into the specified Application @@ -3525,13 +4142,13 @@ public interface IManagementApiAsync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (InlineResponse2004) - System.Threading.Tasks.Task> CopyCampaignToApplicationsAsyncWithHttpInfo (int applicationId, int campaignId, CampaignCopy body); + /// Task of ApiResponse (InlineResponse2006) + System.Threading.Tasks.Task> CopyCampaignToApplicationsAsyncWithHttpInfo (int applicationId, int campaignId, CampaignCopy body); /// /// Create account-level collection /// /// - /// Create account-level collection. + /// Create an account-level collection. /// /// Thrown when fails to make API call /// body @@ -3542,13 +4159,38 @@ public interface IManagementApiAsync : IApiAccessor /// Create account-level collection /// /// - /// Create account-level collection. + /// Create an account-level collection. /// /// Thrown when fails to make API call /// body /// Task of ApiResponse (Collection) System.Threading.Tasks.Task> CreateAccountCollectionAsyncWithHttpInfo (NewCollection body); /// + /// Create achievement + /// + /// + /// Create a new achievement in a specific campaign. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// body + /// Task of Achievement + System.Threading.Tasks.Task CreateAchievementAsync (int applicationId, int campaignId, CreateAchievement body); + + /// + /// Create achievement + /// + /// + /// Create a new achievement in a specific campaign. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// body + /// Task of ApiResponse (Achievement) + System.Threading.Tasks.Task> CreateAchievementAsyncWithHttpInfo (int applicationId, int campaignId, CreateAchievement body); + /// /// Create additional cost /// /// @@ -3614,10 +4256,10 @@ public interface IManagementApiAsync : IApiAccessor /// Task of ApiResponse (CreateTemplateCampaignResponse) System.Threading.Tasks.Task> CreateCampaignFromTemplateAsyncWithHttpInfo (int applicationId, CreateTemplateCampaign body); /// - /// Create collection + /// Create campaign-level collection /// /// - /// Create a collection. + /// Create a campaign-level collection in a given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -3627,10 +4269,10 @@ public interface IManagementApiAsync : IApiAccessor System.Threading.Tasks.Task CreateCollectionAsync (int applicationId, int campaignId, NewCampaignCollection body); /// - /// Create collection + /// Create campaign-level collection /// /// - /// Create a collection. + /// Create a campaign-level collection in a given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -3649,8 +4291,8 @@ public interface IManagementApiAsync : IApiAccessor /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// Task of InlineResponse2007 - System.Threading.Tasks.Task CreateCouponsAsync (int applicationId, int campaignId, NewCoupons body, string silent = default(string)); + /// Task of InlineResponse2008 + System.Threading.Tasks.Task CreateCouponsAsync (int applicationId, int campaignId, NewCoupons body, string silent = default(string)); /// /// Create coupons @@ -3663,8 +4305,8 @@ public interface IManagementApiAsync : IApiAccessor /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// Task of ApiResponse (InlineResponse2007) - System.Threading.Tasks.Task> CreateCouponsAsyncWithHttpInfo (int applicationId, int campaignId, NewCoupons body, string silent = default(string)); + /// Task of ApiResponse (InlineResponse2008) + System.Threading.Tasks.Task> CreateCouponsAsyncWithHttpInfo (int applicationId, int campaignId, NewCoupons body, string silent = default(string)); /// /// Create coupons asynchronously /// @@ -3701,8 +4343,8 @@ public interface IManagementApiAsync : IApiAccessor /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// Task of InlineResponse2007 - System.Threading.Tasks.Task CreateCouponsForMultipleRecipientsAsync (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)); + /// Task of InlineResponse2008 + System.Threading.Tasks.Task CreateCouponsForMultipleRecipientsAsync (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)); /// /// Create coupons for multiple recipients @@ -3715,31 +4357,50 @@ public interface IManagementApiAsync : IApiAccessor /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// Task of ApiResponse (InlineResponse2007) - System.Threading.Tasks.Task> CreateCouponsForMultipleRecipientsAsyncWithHttpInfo (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)); + /// Task of ApiResponse (InlineResponse2008) + System.Threading.Tasks.Task> CreateCouponsForMultipleRecipientsAsyncWithHttpInfo (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)); /// - /// Create notification about campaign-related changes + /// Resend invitation email /// /// - /// Create a [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). A notification about campaign-related changes is different from regular webhooks in that it is Application-scoped and has a predefined payload. [Regular webhooks](https://docs.talon.one/docs/dev/getting-started/webhooks) have user-definable payloads. **Tip:** - You can create these notifications using the Campaign Manager. See [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). - You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_created/post). + /// Resend an email invitation to an existing user. **Note:** The invitation token is valid for 24 hours after the email has been sent. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// Task of NotificationWebhook - System.Threading.Tasks.Task CreateNotificationWebhookAsync (int applicationId, NewNotificationWebhook body); + /// Task of NewInviteEmail + System.Threading.Tasks.Task CreateInviteEmailAsync (NewInviteEmail body); /// - /// Create notification about campaign-related changes + /// Resend invitation email /// /// - /// Create a [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). A notification about campaign-related changes is different from regular webhooks in that it is Application-scoped and has a predefined payload. [Regular webhooks](https://docs.talon.one/docs/dev/getting-started/webhooks) have user-definable payloads. **Tip:** - You can create these notifications using the Campaign Manager. See [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). - You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_created/post). + /// Resend an email invitation to an existing user. **Note:** The invitation token is valid for 24 hours after the email has been sent. + /// + /// Thrown when fails to make API call + /// body + /// Task of ApiResponse (NewInviteEmail) + System.Threading.Tasks.Task> CreateInviteEmailAsyncWithHttpInfo (NewInviteEmail body); + /// + /// Invite user + /// + /// + /// Create a new user in the account and send an invitation to their email address. **Note**: The invitation token is valid for 24 hours after the email has been sent. You can resend an invitation to a user with the [Resend invitation email](https://docs.talon.one/management-api#tag/Accounts-and-users/operation/createInviteEmail) endpoint. + /// + /// Thrown when fails to make API call + /// body + /// Task of User + System.Threading.Tasks.Task CreateInviteV2Async (NewInvitation body); + + /// + /// Invite user + /// + /// + /// Create a new user in the account and send an invitation to their email address. **Note**: The invitation token is valid for 24 hours after the email has been sent. You can resend an invitation to a user with the [Resend invitation email](https://docs.talon.one/management-api#tag/Accounts-and-users/operation/createInviteEmail) endpoint. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (NotificationWebhook) - System.Threading.Tasks.Task> CreateNotificationWebhookAsyncWithHttpInfo (int applicationId, NewNotificationWebhook body); + /// Task of ApiResponse (User) + System.Threading.Tasks.Task> CreateInviteV2AsyncWithHttpInfo (NewInvitation body); /// /// Request a password reset /// @@ -3783,59 +4444,128 @@ public interface IManagementApiAsync : IApiAccessor /// Task of ApiResponse (Session) System.Threading.Tasks.Task> CreateSessionAsyncWithHttpInfo (LoginParams body); /// - /// Deduct points from card + /// Create store /// /// - /// Deduct points from the given loyalty card in the specified card-based loyalty program. + /// Create a new store in a specific Application. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// Task of void - System.Threading.Tasks.Task DeductLoyaltyCardPointsAsync (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body); + /// Task of Store + System.Threading.Tasks.Task CreateStoreAsync (int applicationId, NewStore body); /// - /// Deduct points from card + /// Create store /// /// - /// Deduct points from the given loyalty card in the specified card-based loyalty program. + /// Create a new store in a specific Application. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse - System.Threading.Tasks.Task> DeductLoyaltyCardPointsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body); + /// Task of ApiResponse (Store) + System.Threading.Tasks.Task> CreateStoreAsyncWithHttpInfo (int applicationId, NewStore body); /// - /// Delete account-level collection + /// Deactivate user by email address /// /// - /// Delete the given account-level collection. + /// Deactivate a specific user by their email address. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// body /// Task of void - System.Threading.Tasks.Task DeleteAccountCollectionAsync (int collectionId); + System.Threading.Tasks.Task DeactivateUserByEmailAsync (DeactivateUserRequest body); /// - /// Delete account-level collection + /// Deactivate user by email address /// /// - /// Delete the given account-level collection. + /// Deactivate a specific user by their email address. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// body /// Task of ApiResponse - System.Threading.Tasks.Task> DeleteAccountCollectionAsyncWithHttpInfo (int collectionId); + System.Threading.Tasks.Task> DeactivateUserByEmailAsyncWithHttpInfo (DeactivateUserRequest body); /// - /// Delete campaign + /// Deduct points from card /// /// - /// Delete the given campaign. + /// Deduct points from the given loyalty card in the specified card-based loyalty program. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// body + /// Task of void + System.Threading.Tasks.Task DeductLoyaltyCardPointsAsync (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body); + + /// + /// Deduct points from card + /// + /// + /// Deduct points from the given loyalty card in the specified card-based loyalty program. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// body + /// Task of ApiResponse + System.Threading.Tasks.Task> DeductLoyaltyCardPointsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body); + /// + /// Delete account-level collection + /// + /// + /// Delete a given account-level collection. + /// + /// Thrown when fails to make API call + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// Task of void + System.Threading.Tasks.Task DeleteAccountCollectionAsync (int collectionId); + + /// + /// Delete account-level collection + /// + /// + /// Delete a given account-level collection. + /// + /// Thrown when fails to make API call + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// Task of ApiResponse + System.Threading.Tasks.Task> DeleteAccountCollectionAsyncWithHttpInfo (int collectionId); + /// + /// Delete achievement + /// + /// + /// Delete the specified achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// Task of void + System.Threading.Tasks.Task DeleteAchievementAsync (int applicationId, int campaignId, int achievementId); + + /// + /// Delete achievement + /// + /// + /// Delete the specified achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// Task of ApiResponse + System.Threading.Tasks.Task> DeleteAchievementAsyncWithHttpInfo (int applicationId, int campaignId, int achievementId); + /// + /// Delete campaign + /// + /// + /// Delete the given campaign. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// Task of void System.Threading.Tasks.Task DeleteCampaignAsync (int applicationId, int campaignId); @@ -3852,28 +4582,28 @@ public interface IManagementApiAsync : IApiAccessor /// Task of ApiResponse System.Threading.Tasks.Task> DeleteCampaignAsyncWithHttpInfo (int applicationId, int campaignId); /// - /// Delete collection + /// Delete campaign-level collection /// /// - /// Delete the given collection. + /// Delete a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// Task of void System.Threading.Tasks.Task DeleteCollectionAsync (int applicationId, int campaignId, int collectionId); /// - /// Delete collection + /// Delete campaign-level collection /// /// - /// Delete the given collection. + /// Delete a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// Task of ApiResponse System.Threading.Tasks.Task> DeleteCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId); /// @@ -3911,12 +4641,12 @@ public interface IManagementApiAsync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) /// Filter results by batches of coupons (optional) /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) @@ -3936,12 +4666,12 @@ public interface IManagementApiAsync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) /// Filter results by batches of coupons (optional) /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) @@ -3974,53 +4704,95 @@ public interface IManagementApiAsync : IApiAccessor /// Task of ApiResponse System.Threading.Tasks.Task> DeleteLoyaltyCardAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId); /// - /// Delete notification about campaign-related changes + /// Delete referral /// /// - /// Remove the given existing [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// Delete the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// Task of void - System.Threading.Tasks.Task DeleteNotificationWebhookAsync (int applicationId, int notificationWebhookId); + System.Threading.Tasks.Task DeleteReferralAsync (int applicationId, int campaignId, string referralId); /// - /// Delete notification about campaign-related changes + /// Delete referral /// /// - /// Remove the given existing [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// Delete the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// Task of ApiResponse - System.Threading.Tasks.Task> DeleteNotificationWebhookAsyncWithHttpInfo (int applicationId, int notificationWebhookId); + System.Threading.Tasks.Task> DeleteReferralAsyncWithHttpInfo (int applicationId, int campaignId, string referralId); /// - /// Delete referral + /// Delete store /// /// - /// Delete the specified referral. + /// Delete the specified store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// Task of void - System.Threading.Tasks.Task DeleteReferralAsync (int applicationId, int campaignId, string referralId); + System.Threading.Tasks.Task DeleteStoreAsync (int applicationId, string storeId); /// - /// Delete referral + /// Delete store /// /// - /// Delete the specified referral. + /// Delete the specified store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// Task of ApiResponse - System.Threading.Tasks.Task> DeleteReferralAsyncWithHttpInfo (int applicationId, int campaignId, string referralId); + System.Threading.Tasks.Task> DeleteStoreAsyncWithHttpInfo (int applicationId, string storeId); + /// + /// Delete user + /// + /// + /// Delete a specific user. + /// + /// Thrown when fails to make API call + /// The ID of the user. + /// Task of void + System.Threading.Tasks.Task DeleteUserAsync (int userId); + + /// + /// Delete user + /// + /// + /// Delete a specific user. + /// + /// Thrown when fails to make API call + /// The ID of the user. + /// Task of ApiResponse + System.Threading.Tasks.Task> DeleteUserAsyncWithHttpInfo (int userId); + /// + /// Delete user by email address + /// + /// + /// Delete a specific user by their email address. + /// + /// Thrown when fails to make API call + /// body + /// Task of void + System.Threading.Tasks.Task DeleteUserByEmailAsync (DeleteUserRequest body); + + /// + /// Delete user by email address + /// + /// + /// Delete a specific user by their email address. + /// + /// Thrown when fails to make API call + /// body + /// Task of ApiResponse + System.Threading.Tasks.Task> DeleteUserByEmailAsyncWithHttpInfo (DeleteUserRequest body); /// /// Destroy session /// @@ -4044,10 +4816,10 @@ public interface IManagementApiAsync : IApiAccessor /// Export account-level collection's items /// /// - /// Download a CSV file containing items from an account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Download a CSV file containing items from a given account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// Task of string System.Threading.Tasks.Task ExportAccountCollectionItemsAsync (int collectionId); @@ -4055,89 +4827,137 @@ public interface IManagementApiAsync : IApiAccessor /// Export account-level collection's items /// /// - /// Download a CSV file containing items from an account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Download a CSV file containing items from a given account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// Task of ApiResponse (string) System.Threading.Tasks.Task> ExportAccountCollectionItemsAsyncWithHttpInfo (int collectionId); /// - /// Export a collection's items + /// Export achievement customer data + /// + /// + /// Download a CSV file containing a list of all the customers who have participated in and are currently participating in the given achievement. The CSV file contains the following columns: - `profileIntegrationID`: The integration ID of the customer profile participating in the achievement. - `title`: The display name of the achievement in the Campaign Manager. - `target`: The required number of actions or the transactional milestone to complete the achievement. - `progress`: The current progress of the customer in the achievement. - `status`: The status of the achievement. Can be one of: ['inprogress', 'completed', 'expired']. - `startDate`: The date on which the customer profile started the achievement in RFC3339. - `endDate`: The date on which the achievement ends and resets for the customer profile in RFC3339. - `completionDate`: The date on which the customer profile completed the achievement in RFC3339. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// Task of string + System.Threading.Tasks.Task ExportAchievementsAsync (int applicationId, int campaignId, int achievementId); + + /// + /// Export achievement customer data + /// + /// + /// Download a CSV file containing a list of all the customers who have participated in and are currently participating in the given achievement. The CSV file contains the following columns: - `profileIntegrationID`: The integration ID of the customer profile participating in the achievement. - `title`: The display name of the achievement in the Campaign Manager. - `target`: The required number of actions or the transactional milestone to complete the achievement. - `progress`: The current progress of the customer in the achievement. - `status`: The status of the achievement. Can be one of: ['inprogress', 'completed', 'expired']. - `startDate`: The date on which the customer profile started the achievement in RFC3339. - `endDate`: The date on which the achievement ends and resets for the customer profile in RFC3339. - `completionDate`: The date on which the customer profile completed the achievement in RFC3339. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// Task of ApiResponse (string) + System.Threading.Tasks.Task> ExportAchievementsAsyncWithHttpInfo (int applicationId, int campaignId, int achievementId); + /// + /// Export audience members + /// + /// + /// Download a CSV file containing the integration IDs of the members of an audience. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The file contains the following column: - `profileintegrationid`: The integration ID of the customer profile. + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// Task of string + System.Threading.Tasks.Task ExportAudiencesMembershipsAsync (int audienceId); + + /// + /// Export audience members + /// + /// + /// Download a CSV file containing the integration IDs of the members of an audience. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The file contains the following column: - `profileintegrationid`: The integration ID of the customer profile. + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// Task of ApiResponse (string) + System.Threading.Tasks.Task> ExportAudiencesMembershipsAsyncWithHttpInfo (int audienceId); + /// + /// Export campaign-level collection's items /// /// - /// Download a CSV file containing a collection's items. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Download a CSV file containing items from a given campaign-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// Task of string System.Threading.Tasks.Task ExportCollectionItemsAsync (int applicationId, int campaignId, int collectionId); /// - /// Export a collection's items + /// Export campaign-level collection's items /// /// - /// Download a CSV file containing a collection's items. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Download a CSV file containing items from a given campaign-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// Task of ApiResponse (string) System.Threading.Tasks.Task> ExportCollectionItemsAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId); /// /// Export coupons /// /// - /// Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the customer considered as recipient of the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon is reserved. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. + /// Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file can contain the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon can be reserved for multiple customers. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field. (optional) /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results to an exact case-insensitive matching against the coupon code. (optional, default to false) /// Determines the format of dates in the export document. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results to only return the coupon codes (`value` column) without the associated coupon data. (optional, default to false) /// Task of string - System.Threading.Tasks.Task ExportCouponsAsync (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string)); + System.Threading.Tasks.Task ExportCouponsAsync (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string), bool? valuesOnly = default(bool?)); /// /// Export coupons /// /// - /// Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the customer considered as recipient of the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon is reserved. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. + /// Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file can contain the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon can be reserved for multiple customers. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field. (optional) /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results to an exact case-insensitive matching against the coupon code. (optional, default to false) /// Determines the format of dates in the export document. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results to only return the coupon codes (`value` column) without the associated coupon data. (optional, default to false) /// Task of ApiResponse (string) - System.Threading.Tasks.Task> ExportCouponsAsyncWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string)); + System.Threading.Tasks.Task> ExportCouponsAsyncWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string), bool? valuesOnly = default(bool?)); /// /// Export customer sessions /// /// - /// Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of the session. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `coupons`: Coupon codes in the session. + /// Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -4153,7 +4973,7 @@ public interface IManagementApiAsync : IApiAccessor /// Export customer sessions /// /// - /// Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of the session. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `coupons`: Coupon codes in the session. + /// Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -4165,16 +4985,41 @@ public interface IManagementApiAsync : IApiAccessor /// Task of ApiResponse (string) System.Threading.Tasks.Task> ExportCustomerSessionsAsyncWithHttpInfo (int applicationId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string profileIntegrationId = default(string), string dateFormat = default(string), string customerSessionState = default(string)); /// + /// Export customers' tier data + /// + /// + /// Download a CSV file containing the tier information for customers of the specified loyalty program. The generated file contains the following columns: - `programid`: The identifier of the loyalty program. It is displayed in your Talon.One deployment URL. - `subledgerid`: The ID of the subledger associated with the loyalty program. This column is empty if the loyalty program has no subledger. In this case, refer to the export file name to get the ID of the loyalty program. - `customerprofileid`: The ID used to integrate customer profiles with the loyalty program. - `tiername`: The name of the tier. - `startdate`: The tier start date in RFC3339. - `expirydate`: The tier expiry date in RFC3339. You can filter the results by providing the following optional input parameters: - `subledgerId` (optional): Filter results by subledger ID. If no value is provided, all subledger data for the specified loyalty program will be exported. - `tierName` (optional): Filter results by tier name. If no value is provided, all tier data for the specified loyalty program will be exported. + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// An array of subledgers IDs to filter the export by. (optional) + /// An array of tier names to filter the export by. (optional) + /// Task of string + System.Threading.Tasks.Task ExportCustomersTiersAsync (string loyaltyProgramId, List subledgerIds = default(List), List tierNames = default(List)); + + /// + /// Export customers' tier data + /// + /// + /// Download a CSV file containing the tier information for customers of the specified loyalty program. The generated file contains the following columns: - `programid`: The identifier of the loyalty program. It is displayed in your Talon.One deployment URL. - `subledgerid`: The ID of the subledger associated with the loyalty program. This column is empty if the loyalty program has no subledger. In this case, refer to the export file name to get the ID of the loyalty program. - `customerprofileid`: The ID used to integrate customer profiles with the loyalty program. - `tiername`: The name of the tier. - `startdate`: The tier start date in RFC3339. - `expirydate`: The tier expiry date in RFC3339. You can filter the results by providing the following optional input parameters: - `subledgerId` (optional): Filter results by subledger ID. If no value is provided, all subledger data for the specified loyalty program will be exported. - `tierName` (optional): Filter results by tier name. If no value is provided, all tier data for the specified loyalty program will be exported. + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// An array of subledgers IDs to filter the export by. (optional) + /// An array of tier names to filter the export by. (optional) + /// Task of ApiResponse (string) + System.Threading.Tasks.Task> ExportCustomersTiersAsyncWithHttpInfo (string loyaltyProgramId, List subledgerIds = default(List), List tierNames = default(List)); + /// /// Export triggered effects /// /// - /// Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. + /// Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. - `store_integration_id`: The integration ID of the store. You choose this ID when you create a store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Determines the format of dates in the export document. (optional) /// Task of string System.Threading.Tasks.Task ExportEffectsAsync (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)); @@ -4183,13 +5028,13 @@ public interface IManagementApiAsync : IApiAccessor /// Export triggered effects /// /// - /// Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. + /// Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. - `store_integration_id`: The integration ID of the store. You choose this ID when you create a store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Determines the format of dates in the export document. (optional) /// Task of ApiResponse (string) System.Threading.Tasks.Task> ExportEffectsAsyncWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)); @@ -4201,7 +5046,7 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// Task of string System.Threading.Tasks.Task ExportLoyaltyBalanceAsync (string loyaltyProgramId, DateTime? endDate = default(DateTime?)); @@ -4213,7 +5058,7 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// Task of ApiResponse (string) System.Threading.Tasks.Task> ExportLoyaltyBalanceAsyncWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)); /// @@ -4224,7 +5069,7 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// Task of string System.Threading.Tasks.Task ExportLoyaltyBalancesAsync (string loyaltyProgramId, DateTime? endDate = default(DateTime?)); @@ -4236,7 +5081,7 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// Task of ApiResponse (string) System.Threading.Tasks.Task> ExportLoyaltyBalancesAsyncWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)); /// @@ -4247,7 +5092,7 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// Task of string System.Threading.Tasks.Task ExportLoyaltyCardBalancesAsync (int loyaltyProgramId, DateTime? endDate = default(DateTime?)); @@ -4259,7 +5104,7 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// Task of ApiResponse (string) System.Threading.Tasks.Task> ExportLoyaltyCardBalancesAsyncWithHttpInfo (int loyaltyProgramId, DateTime? endDate = default(DateTime?)); /// @@ -4271,8 +5116,8 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// Determines the format of dates in the export document. (optional) /// Task of string System.Threading.Tasks.Task ExportLoyaltyCardLedgerAsync (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)); @@ -4286,8 +5131,8 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// Determines the format of dates in the export document. (optional) /// Task of ApiResponse (string) System.Threading.Tasks.Task> ExportLoyaltyCardLedgerAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)); @@ -4295,11 +5140,11 @@ public interface IManagementApiAsync : IApiAccessor /// Export customer's transaction logs /// /// - /// Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. + /// Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. - `campaignid`: The ID of the campaign. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The identifier for the loyalty program. /// The identifier of the profile. /// Determines the format of dates in the export document. (optional) @@ -4310,11 +5155,11 @@ public interface IManagementApiAsync : IApiAccessor /// Export customer's transaction logs /// /// - /// Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. + /// Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. - `campaignid`: The ID of the campaign. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The identifier for the loyalty program. /// The identifier of the profile. /// Determines the format of dates in the export document. (optional) @@ -4354,8 +5199,8 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) /// Filter results by batches of referrals (optional) @@ -4372,8 +5217,8 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) /// Filter results by batches of referrals (optional) @@ -4388,16 +5233,16 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// Only return results where the request path matches the given regular expression. (optional) /// Only return results where the request method matches the given regular expression. (optional) /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20018 - System.Threading.Tasks.Task GetAccessLogsWithoutTotalCountAsync (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of InlineResponse20019 + System.Threading.Tasks.Task GetAccessLogsWithoutTotalCountAsync (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get access logs for Application @@ -4407,16 +5252,16 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// Only return results where the request path matches the given regular expression. (optional) /// Only return results where the request method matches the given regular expression. (optional) /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20018) - System.Threading.Tasks.Task> GetAccessLogsWithoutTotalCountAsyncWithHttpInfo (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of ApiResponse (InlineResponse20019) + System.Threading.Tasks.Task> GetAccessLogsWithoutTotalCountAsyncWithHttpInfo (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get account details /// @@ -4466,7 +5311,7 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve a given account-level collection. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// Task of Collection System.Threading.Tasks.Task GetAccountCollectionAsync (int collectionId); @@ -4477,10 +5322,35 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve a given account-level collection. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// Task of ApiResponse (Collection) System.Threading.Tasks.Task> GetAccountCollectionAsyncWithHttpInfo (int collectionId); /// + /// Get achievement + /// + /// + /// Get the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// Task of Achievement + System.Threading.Tasks.Task GetAchievementAsync (int applicationId, int campaignId, int achievementId); + + /// + /// Get achievement + /// + /// + /// Get the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// Task of ApiResponse (Achievement) + System.Threading.Tasks.Task> GetAchievementAsyncWithHttpInfo (int applicationId, int campaignId, int achievementId); + /// /// Get additional cost /// /// @@ -4508,11 +5378,11 @@ public interface IManagementApiAsync : IApiAccessor /// Returns all the defined additional costs for the account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20033 - System.Threading.Tasks.Task GetAdditionalCostsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of InlineResponse20036 + System.Threading.Tasks.Task GetAdditionalCostsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List additional costs @@ -4521,11 +5391,11 @@ public interface IManagementApiAsync : IApiAccessor /// Returns all the defined additional costs for the account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20033) - System.Threading.Tasks.Task> GetAdditionalCostsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of ApiResponse (InlineResponse20036) + System.Threading.Tasks.Task> GetAdditionalCostsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List access logs /// @@ -4533,16 +5403,16 @@ public interface IManagementApiAsync : IApiAccessor /// Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// Only return results where the request path matches the given regular expression. (optional) /// Only return results where the request method matches the given regular expression. (optional) /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20019 - System.Threading.Tasks.Task GetAllAccessLogsAsync (DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of InlineResponse20020 + System.Threading.Tasks.Task GetAllAccessLogsAsync (DateTime? rangeStart = default(DateTime?), DateTime? rangeEnd = default(DateTime?), string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List access logs @@ -4551,35 +5421,16 @@ public interface IManagementApiAsync : IApiAccessor /// Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) /// Only return results where the request path matches the given regular expression. (optional) /// Only return results where the request method matches the given regular expression. (optional) /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20019) - System.Threading.Tasks.Task> GetAllAccessLogsAsyncWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); - /// - /// List roles - /// - /// - /// List all roles. - /// - /// Thrown when fails to make API call - /// Task of InlineResponse20041 - System.Threading.Tasks.Task GetAllRolesAsync (); - - /// - /// List roles - /// - /// - /// List all roles. - /// - /// Thrown when fails to make API call - /// Task of ApiResponse (InlineResponse20041) - System.Threading.Tasks.Task> GetAllRolesAsyncWithHttpInfo (); + /// Task of ApiResponse (InlineResponse20020) + System.Threading.Tasks.Task> GetAllAccessLogsAsyncWithHttpInfo (DateTime? rangeStart = default(DateTime?), DateTime? rangeEnd = default(DateTime?), string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get Application /// @@ -4654,12 +5505,12 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The Integration ID of the Advocate's Profile. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of InlineResponse20030 - System.Threading.Tasks.Task GetApplicationCustomerFriendsAsync (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); + /// Task of InlineResponse20033 + System.Threading.Tasks.Task GetApplicationCustomerFriendsAsync (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); /// /// List friends referred by customer profile @@ -4670,12 +5521,12 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The Integration ID of the Advocate's Profile. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of ApiResponse (InlineResponse20030) - System.Threading.Tasks.Task> GetApplicationCustomerFriendsAsyncWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); + /// Task of ApiResponse (InlineResponse20033) + System.Threading.Tasks.Task> GetApplicationCustomerFriendsAsyncWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); /// /// List application's customers /// @@ -4685,11 +5536,11 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of InlineResponse20021 - System.Threading.Tasks.Task GetApplicationCustomersAsync (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); + /// Task of InlineResponse20022 + System.Threading.Tasks.Task GetApplicationCustomersAsync (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); /// /// List application's customers @@ -4700,11 +5551,11 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of ApiResponse (InlineResponse20021) - System.Threading.Tasks.Task> GetApplicationCustomersAsyncWithHttpInfo (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); + /// Task of ApiResponse (InlineResponse20022) + System.Threading.Tasks.Task> GetApplicationCustomersAsyncWithHttpInfo (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); /// /// List application customers matching the given attributes /// @@ -4714,11 +5565,11 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of InlineResponse20022 - System.Threading.Tasks.Task GetApplicationCustomersByAttributesAsync (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); + /// Task of InlineResponse20023 + System.Threading.Tasks.Task GetApplicationCustomersByAttributesAsync (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); /// /// List application customers matching the given attributes @@ -4729,11 +5580,11 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of ApiResponse (InlineResponse20022) - System.Threading.Tasks.Task> GetApplicationCustomersByAttributesAsyncWithHttpInfo (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); + /// Task of ApiResponse (InlineResponse20023) + System.Threading.Tasks.Task> GetApplicationCustomersByAttributesAsyncWithHttpInfo (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)); /// /// List Applications event types /// @@ -4742,11 +5593,11 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20028 - System.Threading.Tasks.Task GetApplicationEventTypesAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of InlineResponse20029 + System.Threading.Tasks.Task GetApplicationEventTypesAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List Applications event types @@ -4756,11 +5607,11 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20028) - System.Threading.Tasks.Task> GetApplicationEventTypesAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of ApiResponse (InlineResponse20029) + System.Threading.Tasks.Task> GetApplicationEventTypesAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List Applications events /// @@ -4769,12 +5620,12 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Session integration ID filter for events. Must be exact match. (optional) /// Profile integration ID filter for events. Must be exact match. (optional) /// Customer name filter for events. Will match substrings case-insensitively. (optional) @@ -4783,8 +5634,8 @@ public interface IManagementApiAsync : IApiAccessor /// Referral code (optional) /// Rule name filter for events (optional) /// Campaign name filter for events (optional) - /// Task of InlineResponse20027 - System.Threading.Tasks.Task GetApplicationEventsWithoutTotalCountAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)); + /// Task of InlineResponse20028 + System.Threading.Tasks.Task GetApplicationEventsWithoutTotalCountAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)); /// /// List Applications events @@ -4794,12 +5645,12 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Session integration ID filter for events. Must be exact match. (optional) /// Profile integration ID filter for events. Must be exact match. (optional) /// Customer name filter for events. Will match substrings case-insensitively. (optional) @@ -4808,8 +5659,8 @@ public interface IManagementApiAsync : IApiAccessor /// Referral code (optional) /// Rule name filter for events (optional) /// Campaign name filter for events (optional) - /// Task of ApiResponse (InlineResponse20027) - System.Threading.Tasks.Task> GetApplicationEventsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)); + /// Task of ApiResponse (InlineResponse20028) + System.Threading.Tasks.Task> GetApplicationEventsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)); /// /// Get Application session /// @@ -4841,18 +5692,19 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Profile integration ID filter for sessions. Must be exact match. (optional) /// Filter by sessions with this state. Must be exact match. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Filter by sessions with this coupon. Must be exact match. (optional) /// Filter by sessions with this referral. Must be exact match. (optional) /// Filter by sessions with this integrationId. Must be exact match. (optional) - /// Task of InlineResponse20026 - System.Threading.Tasks.Task GetApplicationSessionsAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string)); + /// The integration ID of the store. You choose this ID when you create a store. (optional) + /// Task of InlineResponse20027 + System.Threading.Tasks.Task GetApplicationSessionsAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string), string storeIntegrationId = default(string)); /// /// List Application sessions @@ -4862,18 +5714,19 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Profile integration ID filter for sessions. Must be exact match. (optional) /// Filter by sessions with this state. Must be exact match. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Filter by sessions with this coupon. Must be exact match. (optional) /// Filter by sessions with this referral. Must be exact match. (optional) /// Filter by sessions with this integrationId. Must be exact match. (optional) - /// Task of ApiResponse (InlineResponse20026) - System.Threading.Tasks.Task> GetApplicationSessionsAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string)); + /// The integration ID of the store. You choose this ID when you create a store. (optional) + /// Task of ApiResponse (InlineResponse20027) + System.Threading.Tasks.Task> GetApplicationSessionsAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string), string storeIntegrationId = default(string)); /// /// List Applications /// @@ -4881,11 +5734,11 @@ public interface IManagementApiAsync : IApiAccessor /// List all applications in the current account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse2003 - System.Threading.Tasks.Task GetApplicationsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of InlineResponse2005 + System.Threading.Tasks.Task GetApplicationsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List Applications @@ -4894,11 +5747,11 @@ public interface IManagementApiAsync : IApiAccessor /// List all applications in the current account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse2003) - System.Threading.Tasks.Task> GetApplicationsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of ApiResponse (InlineResponse2005) + System.Threading.Tasks.Task> GetApplicationsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get custom attribute /// @@ -4927,12 +5780,12 @@ public interface IManagementApiAsync : IApiAccessor /// Return all the custom attributes for the account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Returned attributes will be filtered by supplied entity. (optional) - /// Task of InlineResponse20031 - System.Threading.Tasks.Task GetAttributesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)); + /// Task of InlineResponse20034 + System.Threading.Tasks.Task GetAttributesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)); /// /// List custom attributes @@ -4941,12 +5794,41 @@ public interface IManagementApiAsync : IApiAccessor /// Return all the custom attributes for the account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Returned attributes will be filtered by supplied entity. (optional) - /// Task of ApiResponse (InlineResponse20031) - System.Threading.Tasks.Task> GetAttributesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)); + /// Task of ApiResponse (InlineResponse20034) + System.Threading.Tasks.Task> GetAttributesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)); + /// + /// List audience members + /// + /// + /// Get a paginated list of the customer profiles in a given audience. A maximum of 1000 customer profiles per page is allowed. + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// The filter to select a profile. (optional) + /// Task of InlineResponse20032 + System.Threading.Tasks.Task GetAudienceMembershipsAsync (int audienceId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profileQuery = default(string)); + + /// + /// List audience members + /// + /// + /// Get a paginated list of the customer profiles in a given audience. A maximum of 1000 customer profiles per page is allowed. + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// The filter to select a profile. (optional) + /// Task of ApiResponse (InlineResponse20032) + System.Threading.Tasks.Task> GetAudienceMembershipsAsyncWithHttpInfo (int audienceId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profileQuery = default(string)); /// /// List audiences /// @@ -4954,12 +5836,12 @@ public interface IManagementApiAsync : IApiAccessor /// Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of InlineResponse20029 - System.Threading.Tasks.Task GetAudiencesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); + /// Task of InlineResponse20030 + System.Threading.Tasks.Task GetAudiencesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); /// /// List audiences @@ -4968,17 +5850,40 @@ public interface IManagementApiAsync : IApiAccessor /// Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of ApiResponse (InlineResponse20029) - System.Threading.Tasks.Task> GetAudiencesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); + /// Task of ApiResponse (InlineResponse20030) + System.Threading.Tasks.Task> GetAudiencesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)); /// - /// Get campaign + /// List audience analytics /// /// - /// Retrieve the given campaign. + /// Get a list of audience IDs and their member count. + /// + /// Thrown when fails to make API call + /// The IDs of one or more audiences, separated by commas, by which to filter results. + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of InlineResponse20031 + System.Threading.Tasks.Task GetAudiencesAnalyticsAsync (string audienceIds, string sort = default(string)); + + /// + /// List audience analytics + /// + /// + /// Get a list of audience IDs and their member count. + /// + /// Thrown when fails to make API call + /// The IDs of one or more audiences, separated by commas, by which to filter results. + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of ApiResponse (InlineResponse20031) + System.Threading.Tasks.Task> GetAudiencesAnalyticsAsyncWithHttpInfo (string audienceIds, string sort = default(string)); + /// + /// Get campaign + /// + /// + /// Retrieve the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -5006,11 +5911,11 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The time interval between the results in the returned time-series. (optional) - /// Task of InlineResponse20020 - System.Threading.Tasks.Task GetCampaignAnalyticsAsync (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)); + /// Task of InlineResponse20021 + System.Threading.Tasks.Task GetCampaignAnalyticsAsync (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)); /// /// Get analytics of campaigns @@ -5021,11 +5926,11 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The time interval between the results in the returned time-series. (optional) - /// Task of ApiResponse (InlineResponse20020) - System.Threading.Tasks.Task> GetCampaignAnalyticsAsyncWithHttpInfo (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)); + /// Task of ApiResponse (InlineResponse20021) + System.Threading.Tasks.Task> GetCampaignAnalyticsAsyncWithHttpInfo (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)); /// /// List campaigns that match the given attributes /// @@ -5035,12 +5940,12 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Task of InlineResponse2004 - System.Threading.Tasks.Task GetCampaignByAttributesAsync (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)); + /// Task of InlineResponse2006 + System.Threading.Tasks.Task GetCampaignByAttributesAsync (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)); /// /// List campaigns that match the given attributes @@ -5051,12 +5956,58 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Task of ApiResponse (InlineResponse2004) - System.Threading.Tasks.Task> GetCampaignByAttributesAsyncWithHttpInfo (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)); + /// Task of ApiResponse (InlineResponse2006) + System.Threading.Tasks.Task> GetCampaignByAttributesAsyncWithHttpInfo (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)); + /// + /// Get campaign access group + /// + /// + /// Get a campaign access group specified by its ID. + /// + /// Thrown when fails to make API call + /// The ID of the campaign access group. + /// Task of CampaignGroup + System.Threading.Tasks.Task GetCampaignGroupAsync (int campaignGroupId); + + /// + /// Get campaign access group + /// + /// + /// Get a campaign access group specified by its ID. + /// + /// Thrown when fails to make API call + /// The ID of the campaign access group. + /// Task of ApiResponse (CampaignGroup) + System.Threading.Tasks.Task> GetCampaignGroupAsyncWithHttpInfo (int campaignGroupId); + /// + /// List campaign access groups + /// + /// + /// List the campaign access groups in the current account. + /// + /// Thrown when fails to make API call + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of InlineResponse20011 + System.Threading.Tasks.Task GetCampaignGroupsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + + /// + /// List campaign access groups + /// + /// + /// List the campaign access groups in the current account. + /// + /// Thrown when fails to make API call + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of ApiResponse (InlineResponse20011) + System.Threading.Tasks.Task> GetCampaignGroupsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List campaign templates /// @@ -5064,15 +6015,15 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve a list of campaign templates. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign template. (optional) /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) /// Filter results by user ID. (optional) - /// Task of InlineResponse20010 - System.Threading.Tasks.Task GetCampaignTemplatesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)); + /// Task of InlineResponse20012 + System.Threading.Tasks.Task GetCampaignTemplatesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)); /// /// List campaign templates @@ -5081,15 +6032,15 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve a list of campaign templates. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign template. (optional) /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) /// Filter results by user ID. (optional) - /// Task of ApiResponse (InlineResponse20010) - System.Threading.Tasks.Task> GetCampaignTemplatesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)); + /// Task of ApiResponse (InlineResponse20012) + System.Threading.Tasks.Task> GetCampaignTemplatesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)); /// /// List campaigns /// @@ -5098,18 +6049,19 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) /// Filter results performing case-insensitive matching against the name of the campaign. (optional) /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results to campaigns owned by the specified campaign group ID. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results to campaigns owned by the specified campaign access group ID. (optional) /// The ID of the Campaign Template this Campaign was created from. (optional) - /// Task of InlineResponse2004 - System.Threading.Tasks.Task GetCampaignsAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?)); + /// Filter results to campaigns linked to the specified store ID. (optional) + /// Task of InlineResponse2006 + System.Threading.Tasks.Task GetCampaignsAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?), int? storeId = default(int?)); /// /// List campaigns @@ -5119,18 +6071,19 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) /// Filter results performing case-insensitive matching against the name of the campaign. (optional) /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results to campaigns owned by the specified campaign group ID. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results to campaigns owned by the specified campaign access group ID. (optional) /// The ID of the Campaign Template this Campaign was created from. (optional) - /// Task of ApiResponse (InlineResponse2004) - System.Threading.Tasks.Task> GetCampaignsAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?)); + /// Filter results to campaigns linked to the specified store ID. (optional) + /// Task of ApiResponse (InlineResponse2006) + System.Threading.Tasks.Task> GetCampaignsAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?), int? storeId = default(int?)); /// /// Get audit logs for an account /// @@ -5138,19 +6091,19 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve the audit logs displayed in **Accounts > Audit logs**. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by Application ID. (optional) /// Filter results on a case insensitive matching of the url path of the entity (optional) /// Filter results by user ID. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) /// Filter results that match the given management key ID. (optional) /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) - /// Task of InlineResponse20039 - System.Threading.Tasks.Task GetChangesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)); + /// Task of InlineResponse20042 + System.Threading.Tasks.Task GetChangesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)); /// /// Get audit logs for an account @@ -5159,69 +6112,69 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve the audit logs displayed in **Accounts > Audit logs**. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by Application ID. (optional) /// Filter results on a case insensitive matching of the url path of the entity (optional) /// Filter results by user ID. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) /// Filter results that match the given management key ID. (optional) /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) - /// Task of ApiResponse (InlineResponse20039) - System.Threading.Tasks.Task> GetChangesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)); + /// Task of ApiResponse (InlineResponse20042) + System.Threading.Tasks.Task> GetChangesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)); /// - /// Get collection + /// Get campaign-level collection /// /// - /// Retrieve a given collection. + /// Retrieve a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// Task of Collection System.Threading.Tasks.Task GetCollectionAsync (int applicationId, int campaignId, int collectionId); /// - /// Get collection + /// Get campaign-level collection /// /// - /// Retrieve a given collection. + /// Retrieve a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// Task of ApiResponse (Collection) System.Threading.Tasks.Task> GetCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId); /// /// Get collection items /// /// - /// Retrieve the items from the given collection. + /// Retrieve items from a given collection. You can retrieve items from both account-level collections and campaign-level collections using this endpoint. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// Task of InlineResponse20016 - System.Threading.Tasks.Task GetCollectionItemsAsync (int collectionId, int? pageSize = default(int?), int? skip = default(int?)); + /// Task of InlineResponse20018 + System.Threading.Tasks.Task GetCollectionItemsAsync (int collectionId, int? pageSize = default(int?), int? skip = default(int?)); /// /// Get collection items /// /// - /// Retrieve the items from the given collection. + /// Retrieve items from a given collection. You can retrieve items from both account-level collections and campaign-level collections using this endpoint. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// Task of ApiResponse (InlineResponse20016) - System.Threading.Tasks.Task> GetCollectionItemsAsyncWithHttpInfo (int collectionId, int? pageSize = default(int?), int? skip = default(int?)); + /// Task of ApiResponse (InlineResponse20018) + System.Threading.Tasks.Task> GetCollectionItemsAsyncWithHttpInfo (int collectionId, int? pageSize = default(int?), int? skip = default(int?)); /// /// List coupons /// @@ -5231,20 +6184,20 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) /// Filter results by batches of coupons (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Task of InlineResponse2008 - System.Threading.Tasks.Task GetCouponsWithoutTotalCountAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)); + /// Task of InlineResponse2009 + System.Threading.Tasks.Task GetCouponsWithoutTotalCountAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)); /// /// List coupons @@ -5255,20 +6208,20 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) /// Filter results by batches of coupons (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Task of ApiResponse (InlineResponse2008) - System.Threading.Tasks.Task> GetCouponsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)); + /// Task of ApiResponse (InlineResponse2009) + System.Threading.Tasks.Task> GetCouponsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)); /// /// Get customer's activity report /// @@ -5276,11 +6229,11 @@ public interface IManagementApiAsync : IApiAccessor /// Fetch the summary report of a given customer in the given application, in a time range. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Task of CustomerActivityReport System.Threading.Tasks.Task GetCustomerActivityReportAsync (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)); @@ -5292,11 +6245,11 @@ public interface IManagementApiAsync : IApiAccessor /// Fetch the summary report of a given customer in the given application, in a time range. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Task of ApiResponse (CustomerActivityReport) System.Threading.Tasks.Task> GetCustomerActivityReportAsyncWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)); @@ -5307,18 +6260,18 @@ public interface IManagementApiAsync : IApiAccessor /// Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Only return reports matching the customer name (optional) /// Filter results performing an exact matching against the profile integration identifier. (optional) /// Only return reports matching the campaignName (optional) /// Only return reports matching the current customer referrer name (optional) - /// Task of InlineResponse20025 - System.Threading.Tasks.Task GetCustomerActivityReportsWithoutTotalCountAsync (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)); + /// Task of InlineResponse20026 + System.Threading.Tasks.Task GetCustomerActivityReportsWithoutTotalCountAsync (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)); /// /// Get Activity Reports for Application Customers @@ -5327,18 +6280,18 @@ public interface IManagementApiAsync : IApiAccessor /// Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Only return reports matching the customer name (optional) /// Filter results performing an exact matching against the profile integration identifier. (optional) /// Only return reports matching the campaignName (optional) /// Only return reports matching the current customer referrer name (optional) - /// Task of ApiResponse (InlineResponse20025) - System.Threading.Tasks.Task> GetCustomerActivityReportsWithoutTotalCountAsyncWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)); + /// Task of ApiResponse (InlineResponse20026) + System.Threading.Tasks.Task> GetCustomerActivityReportsWithoutTotalCountAsyncWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)); /// /// Get customer's analytics report /// @@ -5348,7 +6301,7 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Task of CustomerAnalytics @@ -5363,7 +6316,7 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Task of ApiResponse (CustomerAnalytics) @@ -5390,17 +6343,48 @@ public interface IManagementApiAsync : IApiAccessor /// Task of ApiResponse (CustomerProfile) System.Threading.Tasks.Task> GetCustomerProfileAsyncWithHttpInfo (int customerId); /// + /// List customer achievements + /// + /// + /// For the given customer profile, list all the achievements that match your filter criteria. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The identifier of the profile. + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. (optional) + /// Filter results by the `title` of an achievement. (optional) + /// Task of InlineResponse20047 + System.Threading.Tasks.Task GetCustomerProfileAchievementProgressAsync (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), int? achievementId = default(int?), string title = default(string)); + + /// + /// List customer achievements + /// + /// + /// For the given customer profile, list all the achievements that match your filter criteria. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The identifier of the profile. + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. (optional) + /// Filter results by the `title` of an achievement. (optional) + /// Task of ApiResponse (InlineResponse20047) + System.Threading.Tasks.Task> GetCustomerProfileAchievementProgressAsyncWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), int? achievementId = default(int?), string title = default(string)); + /// /// List customer profiles /// /// /// List all customer profiles. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// Task of InlineResponse20024 - System.Threading.Tasks.Task GetCustomerProfilesAsync (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); + /// Task of InlineResponse20025 + System.Threading.Tasks.Task GetCustomerProfilesAsync (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); /// /// List customer profiles @@ -5409,11 +6393,11 @@ public interface IManagementApiAsync : IApiAccessor /// List all customer profiles. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// Task of ApiResponse (InlineResponse20024) - System.Threading.Tasks.Task> GetCustomerProfilesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); + /// Task of ApiResponse (InlineResponse20025) + System.Threading.Tasks.Task> GetCustomerProfilesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); /// /// List customer profiles matching the given attributes /// @@ -5422,11 +6406,11 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// Task of InlineResponse20023 - System.Threading.Tasks.Task GetCustomersByAttributesAsync (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); + /// Task of InlineResponse20024 + System.Threading.Tasks.Task GetCustomersByAttributesAsync (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); /// /// List customer profiles matching the given attributes @@ -5436,11 +6420,11 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// Task of ApiResponse (InlineResponse20023) - System.Threading.Tasks.Task> GetCustomersByAttributesAsyncWithHttpInfo (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); + /// Task of ApiResponse (InlineResponse20024) + System.Threading.Tasks.Task> GetCustomersByAttributesAsyncWithHttpInfo (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)); /// /// List event types /// @@ -5450,11 +6434,11 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) /// Include all versions of every event type. (optional, default to false) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20037 - System.Threading.Tasks.Task GetEventTypesAsync (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of InlineResponse20040 + System.Threading.Tasks.Task GetEventTypesAsync (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List event types @@ -5465,11 +6449,11 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) /// Include all versions of every event type. (optional, default to false) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20037) - System.Threading.Tasks.Task> GetEventTypesAsyncWithHttpInfo (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of ApiResponse (InlineResponse20040) + System.Threading.Tasks.Task> GetEventTypesAsyncWithHttpInfo (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get exports /// @@ -5477,13 +6461,13 @@ public interface IManagementApiAsync : IApiAccessor /// List all past exports /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Filter results by Application ID. (optional) /// Filter by the campaign ID on which the limit counters are used. (optional) /// The name of the entity type that was exported. (optional) - /// Task of InlineResponse20040 - System.Threading.Tasks.Task GetExportsAsync (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)); + /// Task of InlineResponse20043 + System.Threading.Tasks.Task GetExportsAsync (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)); /// /// Get exports @@ -5492,13 +6476,13 @@ public interface IManagementApiAsync : IApiAccessor /// List all past exports /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Filter results by Application ID. (optional) /// Filter by the campaign ID on which the limit counters are used. (optional) /// The name of the entity type that was exported. (optional) - /// Task of ApiResponse (InlineResponse20040) - System.Threading.Tasks.Task> GetExportsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)); + /// Task of ApiResponse (InlineResponse20043) + System.Threading.Tasks.Task> GetExportsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)); /// /// Get loyalty card /// @@ -5526,35 +6510,35 @@ public interface IManagementApiAsync : IApiAccessor /// List card's transactions /// /// - /// Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. + /// Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The ID of the subledger by which we filter the data. (optional) - /// Task of InlineResponse20014 - System.Threading.Tasks.Task GetLoyaltyCardTransactionLogsAsync (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)); + /// Task of InlineResponse20016 + System.Threading.Tasks.Task GetLoyaltyCardTransactionLogsAsync (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)); /// /// List card's transactions /// /// - /// Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. + /// Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The ID of the subledger by which we filter the data. (optional) - /// Task of ApiResponse (InlineResponse20014) - System.Threading.Tasks.Task> GetLoyaltyCardTransactionLogsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)); + /// Task of ApiResponse (InlineResponse20016) + System.Threading.Tasks.Task> GetLoyaltyCardTransactionLogsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)); /// /// List loyalty cards /// @@ -5563,13 +6547,13 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Optional query parameter to search cards by identifier. (optional) /// Filter by the profile ID. (optional) - /// Task of InlineResponse20013 - System.Threading.Tasks.Task GetLoyaltyCardsAsync (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)); + /// Task of InlineResponse20015 + System.Threading.Tasks.Task GetLoyaltyCardsAsync (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)); /// /// List loyalty cards @@ -5579,13 +6563,13 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Optional query parameter to search cards by identifier. (optional) /// Filter by the profile ID. (optional) - /// Task of ApiResponse (InlineResponse20013) - System.Threading.Tasks.Task> GetLoyaltyCardsAsyncWithHttpInfo (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)); + /// Task of ApiResponse (InlineResponse20015) + System.Threading.Tasks.Task> GetLoyaltyCardsAsyncWithHttpInfo (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)); /// /// Get customer's full loyalty ledger /// @@ -5616,7 +6600,7 @@ public interface IManagementApiAsync : IApiAccessor /// Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Task of LoyaltyProgram System.Threading.Tasks.Task GetLoyaltyProgramAsync (int loyaltyProgramId); @@ -5627,42 +6611,42 @@ public interface IManagementApiAsync : IApiAccessor /// Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Task of ApiResponse (LoyaltyProgram) System.Threading.Tasks.Task> GetLoyaltyProgramAsyncWithHttpInfo (int loyaltyProgramId); /// /// List loyalty program transactions /// /// - /// Retrieve all loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// Retrieve loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. **Note:** If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// Task of InlineResponse20012 - System.Threading.Tasks.Task GetLoyaltyProgramTransactionsAsync (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + /// Task of InlineResponse20014 + System.Threading.Tasks.Task GetLoyaltyProgramTransactionsAsync (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); /// /// List loyalty program transactions /// /// - /// Retrieve all loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// Retrieve loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. **Note:** If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// Task of ApiResponse (InlineResponse20012) - System.Threading.Tasks.Task> GetLoyaltyProgramTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); + /// Task of ApiResponse (InlineResponse20014) + System.Threading.Tasks.Task> GetLoyaltyProgramTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)); /// /// List loyalty programs /// @@ -5670,8 +6654,8 @@ public interface IManagementApiAsync : IApiAccessor /// List the loyalty programs of the account. /// /// Thrown when fails to make API call - /// Task of InlineResponse20011 - System.Threading.Tasks.Task GetLoyaltyProgramsAsync (); + /// Task of InlineResponse20013 + System.Threading.Tasks.Task GetLoyaltyProgramsAsync (); /// /// List loyalty programs @@ -5680,8 +6664,8 @@ public interface IManagementApiAsync : IApiAccessor /// List the loyalty programs of the account. /// /// Thrown when fails to make API call - /// Task of ApiResponse (InlineResponse20011) - System.Threading.Tasks.Task> GetLoyaltyProgramsAsyncWithHttpInfo (); + /// Task of ApiResponse (InlineResponse20013) + System.Threading.Tasks.Task> GetLoyaltyProgramsAsyncWithHttpInfo (); /// /// Get loyalty program statistics /// @@ -5689,9 +6673,9 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Task of LoyaltyStatistics - System.Threading.Tasks.Task GetLoyaltyStatisticsAsync (int loyaltyProgramId); + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Task of LoyaltyDashboardData + System.Threading.Tasks.Task GetLoyaltyStatisticsAsync (int loyaltyProgramId); /// /// Get loyalty program statistics @@ -5700,53 +6684,9 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Task of ApiResponse (LoyaltyStatistics) - System.Threading.Tasks.Task> GetLoyaltyStatisticsAsyncWithHttpInfo (int loyaltyProgramId); - /// - /// Get notification about campaign-related changes - /// - /// - /// Return the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). - /// - /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. - /// Task of NotificationWebhook - System.Threading.Tasks.Task GetNotificationWebhookAsync (int applicationId, int notificationWebhookId); - - /// - /// Get notification about campaign-related changes - /// - /// - /// Return the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). - /// - /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. - /// Task of ApiResponse (NotificationWebhook) - System.Threading.Tasks.Task> GetNotificationWebhookAsyncWithHttpInfo (int applicationId, int notificationWebhookId); - /// - /// List notifications about campaign-related changes - /// - /// - /// List all [notifications about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications) for the given Application. - /// - /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Task of InlineResponse2005 - System.Threading.Tasks.Task GetNotificationWebhooksAsync (int applicationId); - - /// - /// List notifications about campaign-related changes - /// - /// - /// List all [notifications about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications) for the given Application. - /// - /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Task of ApiResponse (InlineResponse2005) - System.Threading.Tasks.Task> GetNotificationWebhooksAsyncWithHttpInfo (int applicationId); + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Task of ApiResponse (LoyaltyDashboardData) + System.Threading.Tasks.Task> GetLoyaltyStatisticsAsyncWithHttpInfo (int loyaltyProgramId); /// /// List referrals /// @@ -5756,17 +6696,17 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) - /// Task of InlineResponse2009 - System.Threading.Tasks.Task GetReferralsWithoutTotalCountAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)); + /// Task of InlineResponse20010 + System.Threading.Tasks.Task GetReferralsWithoutTotalCountAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)); /// /// List referrals @@ -5777,38 +6717,38 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) - /// Task of ApiResponse (InlineResponse2009) - System.Threading.Tasks.Task> GetReferralsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)); + /// Task of ApiResponse (InlineResponse20010) + System.Threading.Tasks.Task> GetReferralsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)); /// /// Get role /// /// - /// Get the details of a specific role. To see all the roles, use [List roles](#operation/getAllRoles). + /// Get the details of a specific role. To see all the roles, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of role. - /// Task of Role - System.Threading.Tasks.Task GetRoleAsync (int roleId); + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// Task of RoleV2 + System.Threading.Tasks.Task GetRoleV2Async (int roleId); /// /// Get role /// /// - /// Get the details of a specific role. To see all the roles, use [List roles](#operation/getAllRoles). + /// Get the details of a specific role. To see all the roles, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of role. - /// Task of ApiResponse (Role) - System.Threading.Tasks.Task> GetRoleAsyncWithHttpInfo (int roleId); + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// Task of ApiResponse (RoleV2) + System.Threading.Tasks.Task> GetRoleV2AsyncWithHttpInfo (int roleId); /// /// Get ruleset /// @@ -5843,11 +6783,11 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse2006 - System.Threading.Tasks.Task GetRulesetsAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of InlineResponse2007 + System.Threading.Tasks.Task GetRulesetsAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List campaign rulesets @@ -5858,11 +6798,34 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse2006) - System.Threading.Tasks.Task> GetRulesetsAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of ApiResponse (InlineResponse2007) + System.Threading.Tasks.Task> GetRulesetsAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// + /// Get store + /// + /// + /// Get store details for a specific store ID. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// Task of Store + System.Threading.Tasks.Task GetStoreAsync (int applicationId, string storeId); + + /// + /// Get store + /// + /// + /// Get store details for a specific store ID. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// Task of ApiResponse (Store) + System.Threading.Tasks.Task> GetStoreAsyncWithHttpInfo (int applicationId, string storeId); /// /// Get user /// @@ -5891,11 +6854,11 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve all users in your account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20038 - System.Threading.Tasks.Task GetUsersAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of InlineResponse20041 + System.Threading.Tasks.Task GetUsersAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// List users in account @@ -5904,11 +6867,11 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve all users in your account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20038) - System.Threading.Tasks.Task> GetUsersAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); + /// Task of ApiResponse (InlineResponse20041) + System.Threading.Tasks.Task> GetUsersAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)); /// /// Get webhook /// @@ -5937,17 +6900,17 @@ public interface IManagementApiAsync : IApiAccessor /// Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by integration request UUID. (optional) /// Filter results by Webhook. (optional) /// Filter results by Application ID. (optional) /// Filter results by campaign. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Task of InlineResponse20035 - System.Threading.Tasks.Task GetWebhookActivationLogsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Task of InlineResponse20038 + System.Threading.Tasks.Task GetWebhookActivationLogsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); /// /// List webhook activation log entries @@ -5956,17 +6919,17 @@ public interface IManagementApiAsync : IApiAccessor /// Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by integration request UUID. (optional) /// Filter results by Webhook. (optional) /// Filter results by Application ID. (optional) /// Filter results by campaign. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Task of ApiResponse (InlineResponse20035) - System.Threading.Tasks.Task> GetWebhookActivationLogsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Task of ApiResponse (InlineResponse20038) + System.Threading.Tasks.Task> GetWebhookActivationLogsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); /// /// List webhook log entries /// @@ -5974,7 +6937,7 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve all webhook log entries. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by HTTP status codes. (optional) @@ -5982,10 +6945,10 @@ public interface IManagementApiAsync : IApiAccessor /// Filter results by Application ID. (optional) /// Filter results by campaign. (optional) /// Filter results by request UUID. (optional) - /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Task of InlineResponse20036 - System.Threading.Tasks.Task GetWebhookLogsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); + /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Task of InlineResponse20039 + System.Threading.Tasks.Task GetWebhookLogsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); /// /// List webhook log entries @@ -5994,7 +6957,7 @@ public interface IManagementApiAsync : IApiAccessor /// Retrieve all webhook log entries. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results by HTTP status codes. (optional) @@ -6002,10 +6965,10 @@ public interface IManagementApiAsync : IApiAccessor /// Filter results by Application ID. (optional) /// Filter results by campaign. (optional) /// Filter results by request UUID. (optional) - /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Task of ApiResponse (InlineResponse20036) - System.Threading.Tasks.Task> GetWebhookLogsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); + /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Task of ApiResponse (InlineResponse20039) + System.Threading.Tasks.Task> GetWebhookLogsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)); /// /// List webhooks /// @@ -6015,14 +6978,14 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// Filter by one or more Application IDs, separated by a comma. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Filter results by creation type. (optional) /// Filter results by visibility. (optional) /// Filter results by outgoing integration type ID. (optional) /// Filter results performing case-insensitive matching against the webhook title. (optional) - /// Task of InlineResponse20034 - System.Threading.Tasks.Task GetWebhooksAsync (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)); + /// Task of InlineResponse20037 + System.Threading.Tasks.Task GetWebhooksAsync (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)); /// /// List webhooks @@ -6033,35 +6996,35 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// Filter by one or more Application IDs, separated by a comma. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// Filter results by creation type. (optional) /// Filter results by visibility. (optional) /// Filter results by outgoing integration type ID. (optional) /// Filter results performing case-insensitive matching against the webhook title. (optional) - /// Task of ApiResponse (InlineResponse20034) - System.Threading.Tasks.Task> GetWebhooksAsyncWithHttpInfo (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)); + /// Task of ApiResponse (InlineResponse20037) + System.Threading.Tasks.Task> GetWebhooksAsyncWithHttpInfo (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)); /// - /// Import data in existing account-level collection + /// Import data into existing account-level collection /// /// /// Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The file containing the data that is being imported. (optional) /// Task of Import System.Threading.Tasks.Task ImportAccountCollectionAsync (int collectionId, string upFile = default(string)); /// - /// Import data in existing account-level collection + /// Import data into existing account-level collection /// /// /// Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The file containing the data that is being imported. (optional) /// Task of ApiResponse (Import) System.Threading.Tasks.Task> ImportAccountCollectionAsyncWithHttpInfo (int collectionId, string upFile = default(string)); /// @@ -6072,7 +7035,7 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Task of Import System.Threading.Tasks.Task ImportAllowedListAsync (int attributeId, string upFile = default(string)); @@ -6084,11 +7047,34 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Task of ApiResponse (Import) System.Threading.Tasks.Task> ImportAllowedListAsyncWithHttpInfo (int attributeId, string upFile = default(string)); /// - /// Import data in existing collection + /// Import audience members + /// + /// + /// Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. **Note:** We recommend limiting your file size to 500MB. Example: ```text profileintegrationid charles alexa ``` + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// The file containing the data that is being imported. (optional) + /// Task of Import + System.Threading.Tasks.Task ImportAudiencesMembershipsAsync (int audienceId, string upFile = default(string)); + + /// + /// Import audience members + /// + /// + /// Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. **Note:** We recommend limiting your file size to 500MB. Example: ```text profileintegrationid charles alexa ``` + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// The file containing the data that is being imported. (optional) + /// Task of ApiResponse (Import) + System.Threading.Tasks.Task> ImportAudiencesMembershipsAsyncWithHttpInfo (int audienceId, string upFile = default(string)); + /// + /// Import data into existing campaign-level collection /// /// /// Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. @@ -6096,13 +7082,13 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// The file containing the data that is being imported. (optional) /// Task of Import System.Threading.Tasks.Task ImportCollectionAsync (int applicationId, int campaignId, int collectionId, string upFile = default(string)); /// - /// Import data in existing collection + /// Import data into existing campaign-level collection /// /// /// Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. @@ -6110,35 +7096,37 @@ public interface IManagementApiAsync : IApiAccessor /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// The file containing the data that is being imported. (optional) /// Task of ApiResponse (Import) System.Threading.Tasks.Task> ImportCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId, string upFile = default(string)); /// /// Import coupons /// /// - /// Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the customer who receives the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the coupon entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). + /// Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A JSON object describing _custom_ coupon attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the coupon entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) + /// An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional) + /// The file containing the data that is being imported. (optional) /// Task of Import - System.Threading.Tasks.Task ImportCouponsAsync (int applicationId, int campaignId, string upFile = default(string)); + System.Threading.Tasks.Task ImportCouponsAsync (int applicationId, int campaignId, bool? skipDuplicates = default(bool?), string upFile = default(string)); /// /// Import coupons /// /// - /// Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the customer who receives the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the coupon entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). + /// Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A JSON object describing _custom_ coupon attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the coupon entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) + /// An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional) + /// The file containing the data that is being imported. (optional) /// Task of ApiResponse (Import) - System.Threading.Tasks.Task> ImportCouponsAsyncWithHttpInfo (int applicationId, int campaignId, string upFile = default(string)); + System.Threading.Tasks.Task> ImportCouponsAsyncWithHttpInfo (int applicationId, int campaignId, bool? skipDuplicates = default(bool?), string upFile = default(string)); /// /// Import loyalty cards /// @@ -6147,7 +7135,7 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Task of Import System.Threading.Tasks.Task ImportLoyaltyCardsAsync (int loyaltyProgramId, string upFile = default(string)); @@ -6159,18 +7147,18 @@ public interface IManagementApiAsync : IApiAccessor /// /// Thrown when fails to make API call /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Task of ApiResponse (Import) System.Threading.Tasks.Task> ImportLoyaltyCardsAsyncWithHttpInfo (int loyaltyProgramId, string upFile = default(string)); /// /// Import customers into loyalty tiers /// /// - /// Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in a tier, the customer is assigned to match the new information provided in the CSV file. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` + /// Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. **Note:** We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) /// Task of Import System.Threading.Tasks.Task ImportLoyaltyCustomersTiersAsync (int loyaltyProgramId, string upFile = default(string)); @@ -6178,22 +7166,22 @@ public interface IManagementApiAsync : IApiAccessor /// Import customers into loyalty tiers /// /// - /// Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in a tier, the customer is assigned to match the new information provided in the CSV file. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` + /// Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. **Note:** We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) /// Task of ApiResponse (Import) System.Threading.Tasks.Task> ImportLoyaltyCustomersTiersAsyncWithHttpInfo (int loyaltyProgramId, string upFile = default(string)); /// /// Import loyalty points /// /// - /// Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the loyalty program type, you can import the points into a given customer profile or into a given _active_ loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` + /// Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) /// Task of Import System.Threading.Tasks.Task ImportLoyaltyPointsAsync (int loyaltyProgramId, string upFile = default(string)); @@ -6201,22 +7189,22 @@ public interface IManagementApiAsync : IApiAccessor /// Import loyalty points /// /// - /// Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the loyalty program type, you can import the points into a given customer profile or into a given _active_ loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` + /// Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) /// Task of ApiResponse (Import) System.Threading.Tasks.Task> ImportLoyaltyPointsAsyncWithHttpInfo (int loyaltyProgramId, string upFile = default(string)); /// /// Import giveaway codes into a giveaway pool /// /// - /// Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): the code of your giveaway, for instance, a gift card redemption code. - `startdate`: the start date in RFC3339 of the code redemption period. - `enddate`: the last date in RFC3339 of the code redemption period. - `attributes`: A json object describing _custom_ giveaway attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated to the giveaway entity, set it with `\"{\"\"provider\"\": \"\"myPartnerCompany\"\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` + /// Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. **Note:** - We recommend limiting your file size to 500MB. - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` /// /// Thrown when fails to make API call /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Task of Import System.Threading.Tasks.Task ImportPoolGiveawaysAsync (int poolId, string upFile = default(string)); @@ -6224,23 +7212,23 @@ public interface IManagementApiAsync : IApiAccessor /// Import giveaway codes into a giveaway pool /// /// - /// Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): the code of your giveaway, for instance, a gift card redemption code. - `startdate`: the start date in RFC3339 of the code redemption period. - `enddate`: the last date in RFC3339 of the code redemption period. - `attributes`: A json object describing _custom_ giveaway attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated to the giveaway entity, set it with `\"{\"\"provider\"\": \"\"myPartnerCompany\"\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` + /// Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. **Note:** - We recommend limiting your file size to 500MB. - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` /// /// Thrown when fails to make API call /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Task of ApiResponse (Import) System.Threading.Tasks.Task> ImportPoolGiveawaysAsyncWithHttpInfo (int poolId, string upFile = default(string)); /// /// Import referrals /// /// - /// Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the referral entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` + /// Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Important:** When you import a CSV file with referrals, a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) is **not** automatically created for each `advocateprofileintegrationid` column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) endpoint to create the customer profiles. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Task of Import System.Threading.Tasks.Task ImportReferralsAsync (int applicationId, int campaignId, string upFile = default(string)); @@ -6248,141 +7236,272 @@ public interface IManagementApiAsync : IApiAccessor /// Import referrals /// /// - /// Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the referral entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` + /// Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Important:** When you import a CSV file with referrals, a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) is **not** automatically created for each `advocateprofileintegrationid` column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) endpoint to create the customer profiles. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) + /// The file containing the data that is being imported. (optional) /// Task of ApiResponse (Import) System.Threading.Tasks.Task> ImportReferralsAsyncWithHttpInfo (int applicationId, int campaignId, string upFile = default(string)); /// - /// List collections in account + /// Invite user from identity provider /// /// - /// List collections in account. + /// Invite a user from an external identity provider to Talon.One by sending an invitation to their email address. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// Task of InlineResponse20015 - System.Threading.Tasks.Task ListAccountCollectionsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + /// body + /// Task of void + System.Threading.Tasks.Task InviteUserExternalAsync (NewExternalInvitation body); /// - /// List collections in account + /// Invite user from identity provider /// /// - /// List collections in account. + /// Invite a user from an external identity provider to Talon.One by sending an invitation to their email address. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// Task of ApiResponse (InlineResponse20015) - System.Threading.Tasks.Task> ListAccountCollectionsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + /// body + /// Task of ApiResponse + System.Threading.Tasks.Task> InviteUserExternalAsyncWithHttpInfo (NewExternalInvitation body); /// - /// List items in a catalog + /// List collections in account /// /// - /// Return a paginated list of cart items in the given catalog. + /// List account-level collections in the account. /// /// Thrown when fails to make API call - /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// The SKU of the item. (optional) - /// Task of InlineResponse20032 - System.Threading.Tasks.Task ListCatalogItemsAsync (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), string sku = default(string)); + /// Filter by collection name. (optional) + /// Task of InlineResponse20017 + System.Threading.Tasks.Task ListAccountCollectionsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); /// - /// List items in a catalog + /// List collections in account /// /// - /// Return a paginated list of cart items in the given catalog. + /// List account-level collections in the account. /// /// Thrown when fails to make API call - /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// The SKU of the item. (optional) - /// Task of ApiResponse (InlineResponse20032) - System.Threading.Tasks.Task> ListCatalogItemsAsyncWithHttpInfo (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), string sku = default(string)); + /// Filter by collection name. (optional) + /// Task of ApiResponse (InlineResponse20017) + System.Threading.Tasks.Task> ListAccountCollectionsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); /// - /// List collections + /// List achievements /// /// - /// List collections in the campaign. + /// List all the achievements for a specific campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// Task of InlineResponse20017 - System.Threading.Tasks.Task ListCollectionsAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + /// Filter by the display name for the achievement in the campaign manager. **Note**: If no `title` is provided, all the achievements from the campaign are returned. (optional) + /// Task of InlineResponse20046 + System.Threading.Tasks.Task ListAchievementsAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string title = default(string)); /// - /// List collections + /// List achievements /// /// - /// List collections in the campaign. + /// List all the achievements for a specific campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// Task of ApiResponse (InlineResponse20017) - System.Threading.Tasks.Task> ListCollectionsAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + /// Filter by the display name for the achievement in the campaign manager. **Note**: If no `title` is provided, all the achievements from the campaign are returned. (optional) + /// Task of ApiResponse (InlineResponse20046) + System.Threading.Tasks.Task> ListAchievementsAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string title = default(string)); /// - /// List collections in application + /// List roles /// /// - /// List collections from all campaigns in the Application. + /// List all roles. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// Task of InlineResponse20017 - System.Threading.Tasks.Task ListCollectionsInApplicationAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + /// Task of InlineResponse20044 + System.Threading.Tasks.Task ListAllRolesV2Async (); /// - /// List collections in application + /// List roles /// /// - /// List collections from all campaigns in the Application. + /// List all roles. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) + /// Task of ApiResponse (InlineResponse20044) + System.Threading.Tasks.Task> ListAllRolesV2AsyncWithHttpInfo (); + /// + /// List items in a catalog + /// + /// + /// Return a paginated list of cart items in the given catalog. + /// + /// Thrown when fails to make API call + /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by one or more SKUs. Must be exact match. (optional) + /// Filter results by one or more product names. Must be exact match. (optional) + /// Task of InlineResponse20035 + System.Threading.Tasks.Task ListCatalogItemsAsync (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), List sku = default(List), List productNames = default(List)); + + /// + /// List items in a catalog + /// + /// + /// Return a paginated list of cart items in the given catalog. + /// + /// Thrown when fails to make API call + /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by one or more SKUs. Must be exact match. (optional) + /// Filter results by one or more product names. Must be exact match. (optional) + /// Task of ApiResponse (InlineResponse20035) + System.Threading.Tasks.Task> ListCatalogItemsAsyncWithHttpInfo (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), List sku = default(List), List productNames = default(List)); + /// + /// List collections in campaign + /// + /// + /// List collections in a given campaign. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// Task of InlineResponse20017 + System.Threading.Tasks.Task ListCollectionsAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + + /// + /// List collections in campaign + /// + /// + /// List collections in a given campaign. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// Task of ApiResponse (InlineResponse20017) + System.Threading.Tasks.Task> ListCollectionsAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + /// + /// List collections in Application + /// + /// + /// List campaign-level collections from all campaigns in a given Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// Task of InlineResponse20017 + System.Threading.Tasks.Task ListCollectionsInApplicationAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); + + /// + /// List collections in Application + /// + /// + /// List campaign-level collections from all campaigns in a given Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) /// Task of ApiResponse (InlineResponse20017) System.Threading.Tasks.Task> ListCollectionsInApplicationAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)); /// + /// List stores + /// + /// + /// List all stores for a specific Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by campaign. (optional) + /// The name of the store. (optional) + /// The integration ID of the store. (optional) + /// Filter results by `name` or `integrationId`. (optional) + /// Task of InlineResponse20045 + System.Threading.Tasks.Task ListStoresAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), decimal? campaignId = default(decimal?), string name = default(string), string integrationId = default(string), string query = default(string)); + + /// + /// List stores + /// + /// + /// List all stores for a specific Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by campaign. (optional) + /// The name of the store. (optional) + /// The integration ID of the store. (optional) + /// Filter results by `name` or `integrationId`. (optional) + /// Task of ApiResponse (InlineResponse20045) + System.Threading.Tasks.Task> ListStoresAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), decimal? campaignId = default(decimal?), string name = default(string), string integrationId = default(string), string query = default(string)); + /// + /// Activate or deactivate notification + /// + /// + /// Activate or deactivate the given notification. When `enabled` is false, updates will no longer be sent for the given notification. + /// + /// Thrown when fails to make API call + /// The ID of the notification. Get it with the appropriate _List notifications_ endpoint. + /// body + /// Task of void + System.Threading.Tasks.Task NotificationActivationAsync (int notificationId, NotificationActivation body); + + /// + /// Activate or deactivate notification + /// + /// + /// Activate or deactivate the given notification. When `enabled` is false, updates will no longer be sent for the given notification. + /// + /// Thrown when fails to make API call + /// The ID of the notification. Get it with the appropriate _List notifications_ endpoint. + /// body + /// Task of ApiResponse + System.Threading.Tasks.Task> NotificationActivationAsyncWithHttpInfo (int notificationId, NotificationActivation body); + /// /// Create notification about added or deducted loyalty points /// /// - /// Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -6394,7 +7513,7 @@ public interface IManagementApiAsync : IApiAccessor /// Create notification about added or deducted loyalty points /// /// - /// Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -6428,7 +7547,7 @@ public interface IManagementApiAsync : IApiAccessor /// Create notification about pending loyalty points /// /// - /// Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -6440,7 +7559,7 @@ public interface IManagementApiAsync : IApiAccessor /// Create notification about pending loyalty points /// /// - /// Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. @@ -6497,17 +7616,17 @@ public interface IManagementApiAsync : IApiAccessor /// List coupons that match the given attributes (without total count) /// /// - /// List the coupons whose attributes match the query criteria in all **active** campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// List the coupons whose attributes match the query criteria in all the campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) @@ -6515,24 +7634,24 @@ public interface IManagementApiAsync : IApiAccessor /// Filter results by batches of coupons (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Task of InlineResponse2008 - System.Threading.Tasks.Task SearchCouponsAdvancedApplicationWideWithoutTotalCountAsync (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)); + /// Task of InlineResponse2009 + System.Threading.Tasks.Task SearchCouponsAdvancedApplicationWideWithoutTotalCountAsync (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)); /// /// List coupons that match the given attributes (without total count) /// /// - /// List the coupons whose attributes match the query criteria in all **active** campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// List the coupons whose attributes match the query criteria in all the campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) @@ -6540,8 +7659,8 @@ public interface IManagementApiAsync : IApiAccessor /// Filter results by batches of coupons (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Task of ApiResponse (InlineResponse2008) - System.Threading.Tasks.Task> SearchCouponsAdvancedApplicationWideWithoutTotalCountAsyncWithHttpInfo (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)); + /// Task of ApiResponse (InlineResponse2009) + System.Threading.Tasks.Task> SearchCouponsAdvancedApplicationWideWithoutTotalCountAsyncWithHttpInfo (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)); /// /// List coupons that match the given attributes in campaign (without total count) /// @@ -6552,20 +7671,20 @@ public interface IManagementApiAsync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) /// Filter results by batches of coupons (optional) - /// Task of InlineResponse2008 - System.Threading.Tasks.Task SearchCouponsAdvancedWithoutTotalCountAsync (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)); + /// Task of InlineResponse2009 + System.Threading.Tasks.Task SearchCouponsAdvancedWithoutTotalCountAsync (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)); /// /// List coupons that match the given attributes in campaign (without total count) @@ -6577,20 +7696,20 @@ public interface IManagementApiAsync : IApiAccessor /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) /// Filter results by batches of coupons (optional) - /// Task of ApiResponse (InlineResponse2008) - System.Threading.Tasks.Task> SearchCouponsAdvancedWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)); + /// Task of ApiResponse (InlineResponse2009) + System.Threading.Tasks.Task> SearchCouponsAdvancedWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)); /// /// Transfer card data /// @@ -6620,10 +7739,10 @@ public interface IManagementApiAsync : IApiAccessor /// Update account-level collection /// /// - /// Edit the description of the account-level collection and enable or disable the collection in the specified Applications. + /// Edit the description of a given account-level collection and enable or disable the collection in the specified Applications. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// body /// Task of Collection System.Threading.Tasks.Task UpdateAccountCollectionAsync (int collectionId, UpdateCollection body); @@ -6632,18 +7751,45 @@ public interface IManagementApiAsync : IApiAccessor /// Update account-level collection /// /// - /// Edit the description of the account-level collection and enable or disable the collection in the specified Applications. + /// Edit the description of a given account-level collection and enable or disable the collection in the specified Applications. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// body /// Task of ApiResponse (Collection) System.Threading.Tasks.Task> UpdateAccountCollectionAsyncWithHttpInfo (int collectionId, UpdateCollection body); /// + /// Update achievement + /// + /// + /// Update the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// body + /// Task of Achievement + System.Threading.Tasks.Task UpdateAchievementAsync (int applicationId, int campaignId, int achievementId, UpdateAchievement body); + + /// + /// Update achievement + /// + /// + /// Update the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// body + /// Task of ApiResponse (Achievement) + System.Threading.Tasks.Task> UpdateAchievementAsyncWithHttpInfo (int applicationId, int campaignId, int achievementId, UpdateAchievement body); + /// /// Update additional cost /// /// - /// Updates an existing additional cost. Once created, the only property of an additional cost that can be changed is the title (human readable description). This restriction is in place to prevent accidentally breaking live integrations. + /// Updates an existing additional cost. Once created, the only property of an additional cost that cannot be changed is the `name` property (or **API name** in the Campaign Manager). This restriction is in place to prevent accidentally breaking live integrations. /// /// Thrown when fails to make API call /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. @@ -6655,7 +7801,7 @@ public interface IManagementApiAsync : IApiAccessor /// Update additional cost /// /// - /// Updates an existing additional cost. Once created, the only property of an additional cost that can be changed is the title (human readable description). This restriction is in place to prevent accidentally breaking live integrations. + /// Updates an existing additional cost. Once created, the only property of an additional cost that cannot be changed is the `name` property (or **API name** in the Campaign Manager). This restriction is in place to prevent accidentally breaking live integrations. /// /// Thrown when fails to make API call /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. @@ -6711,29 +7857,29 @@ public interface IManagementApiAsync : IApiAccessor /// Task of ApiResponse (Campaign) System.Threading.Tasks.Task> UpdateCampaignAsyncWithHttpInfo (int applicationId, int campaignId, UpdateCampaign body); /// - /// Update collection description + /// Update campaign-level collection's description /// /// - /// Edit the description of the collection. + /// Edit the description of a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// body /// Task of Collection System.Threading.Tasks.Task UpdateCollectionAsync (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body); /// - /// Update collection description + /// Update campaign-level collection's description /// /// - /// Edit the description of the collection. + /// Edit the description of a given campaign-level collection. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// body /// Task of ApiResponse (Collection) System.Threading.Tasks.Task> UpdateCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body); @@ -6768,7 +7914,7 @@ public interface IManagementApiAsync : IApiAccessor /// Update coupons /// /// - /// Update all coupons, or a specific batch of coupons, in a campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). + /// Update all coupons, or a specific batch of coupons in the given campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -6781,7 +7927,7 @@ public interface IManagementApiAsync : IApiAccessor /// Update coupons /// /// - /// Update all coupons, or a specific batch of coupons, in a campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). + /// Update all coupons, or a specific batch of coupons in the given campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. @@ -6815,57 +7961,103 @@ public interface IManagementApiAsync : IApiAccessor /// Task of ApiResponse (LoyaltyCard) System.Threading.Tasks.Task> UpdateLoyaltyCardAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, UpdateLoyaltyCard body); /// - /// Update notification about campaign-related changes + /// Update referral /// /// - /// Update the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). **Tip:** You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_edited/post). + /// Update the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// body - /// Task of NotificationWebhook - System.Threading.Tasks.Task UpdateNotificationWebhookAsync (int applicationId, int notificationWebhookId, NewNotificationWebhook body); + /// Task of Referral + System.Threading.Tasks.Task UpdateReferralAsync (int applicationId, int campaignId, string referralId, UpdateReferral body); /// - /// Update notification about campaign-related changes + /// Update referral /// /// - /// Update the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). **Tip:** You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_edited/post). + /// Update the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// body - /// Task of ApiResponse (NotificationWebhook) - System.Threading.Tasks.Task> UpdateNotificationWebhookAsyncWithHttpInfo (int applicationId, int notificationWebhookId, NewNotificationWebhook body); + /// Task of ApiResponse (Referral) + System.Threading.Tasks.Task> UpdateReferralAsyncWithHttpInfo (int applicationId, int campaignId, string referralId, UpdateReferral body); /// - /// Update referral + /// Update role /// /// - /// Update the specified referral. + /// Update a specific role. + /// + /// Thrown when fails to make API call + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// body + /// Task of RoleV2 + System.Threading.Tasks.Task UpdateRoleV2Async (int roleId, RoleV2Base body); + + /// + /// Update role + /// + /// + /// Update a specific role. + /// + /// Thrown when fails to make API call + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// body + /// Task of ApiResponse (RoleV2) + System.Threading.Tasks.Task> UpdateRoleV2AsyncWithHttpInfo (int roleId, RoleV2Base body); + /// + /// Update store + /// + /// + /// Update store details for a specific store ID. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// body - /// Task of Referral - System.Threading.Tasks.Task UpdateReferralAsync (int applicationId, int campaignId, string referralId, UpdateReferral body); + /// Task of Store + System.Threading.Tasks.Task UpdateStoreAsync (int applicationId, string storeId, NewStore body); /// - /// Update referral + /// Update store /// /// - /// Update the specified referral. + /// Update store details for a specific store ID. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// body - /// Task of ApiResponse (Referral) - System.Threading.Tasks.Task> UpdateReferralAsyncWithHttpInfo (int applicationId, int campaignId, string referralId, UpdateReferral body); + /// Task of ApiResponse (Store) + System.Threading.Tasks.Task> UpdateStoreAsyncWithHttpInfo (int applicationId, string storeId, NewStore body); + /// + /// Update user + /// + /// + /// Update the details of a specific user. + /// + /// Thrown when fails to make API call + /// The ID of the user. + /// body + /// Task of User + System.Threading.Tasks.Task UpdateUserAsync (int userId, UpdateUser body); + + /// + /// Update user + /// + /// + /// Update the details of a specific user. + /// + /// Thrown when fails to make API call + /// The ID of the user. + /// body + /// Task of ApiResponse (User) + System.Threading.Tasks.Task> UpdateUserAsyncWithHttpInfo (int userId, UpdateUser body); #endregion Asynchronous Operations } @@ -6987,35 +8179,27 @@ public TalonOne.Client.ExceptionFactory ExceptionFactory } /// - /// Add points to card Add points to the given loyalty card in the specified card-based loyalty program. + /// Activate user by email address Activate a deactivated user by their email address. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body /// - public void AddLoyaltyCardPoints (int loyaltyProgramId, string loyaltyCardId, AddLoyaltyPoints body) + public void ActivateUserByEmail (ActivateUserRequest body) { - AddLoyaltyCardPointsWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); + ActivateUserByEmailWithHttpInfo(body); } /// - /// Add points to card Add points to the given loyalty card in the specified card-based loyalty program. + /// Activate user by email address Activate a deactivated user by their email address. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse AddLoyaltyCardPointsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, AddLoyaltyPoints body) + public TalonOne.Client.ApiResponse ActivateUserByEmailWithHttpInfo (ActivateUserRequest body) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->AddLoyaltyCardPoints"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->AddLoyaltyCardPoints"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->ActivateUserByEmail"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7025,7 +8209,6 @@ public TalonOne.Client.ApiResponse AddLoyaltyCardPointsWithHttpInfo (int // to determine the Accept header String[] _accepts = new String[] { - "application/json" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -7034,8 +8217,6 @@ public TalonOne.Client.ApiResponse AddLoyaltyCardPointsWithHttpInfo (int var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -7060,12 +8241,12 @@ public TalonOne.Client.ApiResponse AddLoyaltyCardPointsWithHttpInfo (int } // make the HTTP request - var localVarResponse = this.Client.Put("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/add_points", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post("/v1/users/activate", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("AddLoyaltyCardPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("ActivateUserByEmail", localVarResponse); if (_exception != null) throw _exception; } @@ -7073,36 +8254,28 @@ public TalonOne.Client.ApiResponse AddLoyaltyCardPointsWithHttpInfo (int } /// - /// Add points to card Add points to the given loyalty card in the specified card-based loyalty program. + /// Activate user by email address Activate a deactivated user by their email address. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body /// Task of void - public async System.Threading.Tasks.Task AddLoyaltyCardPointsAsync (int loyaltyProgramId, string loyaltyCardId, AddLoyaltyPoints body) + public async System.Threading.Tasks.Task ActivateUserByEmailAsync (ActivateUserRequest body) { - await AddLoyaltyCardPointsAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); + await ActivateUserByEmailAsyncWithHttpInfo(body); } /// - /// Add points to card Add points to the given loyalty card in the specified card-based loyalty program. + /// Activate user by email address Activate a deactivated user by their email address. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body /// Task of ApiResponse - public async System.Threading.Tasks.Task> AddLoyaltyCardPointsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, AddLoyaltyPoints body) + public async System.Threading.Tasks.Task> ActivateUserByEmailAsyncWithHttpInfo (ActivateUserRequest body) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->AddLoyaltyCardPoints"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->AddLoyaltyCardPoints"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->ActivateUserByEmail"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7113,7 +8286,6 @@ public async System.Threading.Tasks.Task AddLoyaltyCardPointsAsync (int loyaltyP // to determine the Accept header String[] _accepts = new String[] { - "application/json" }; foreach (var _contentType in _contentTypes) @@ -7122,8 +8294,6 @@ public async System.Threading.Tasks.Task AddLoyaltyCardPointsAsync (int loyaltyP foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -7149,12 +8319,12 @@ public async System.Threading.Tasks.Task AddLoyaltyCardPointsAsync (int loyaltyP // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/add_points", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/users/activate", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("AddLoyaltyCardPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("ActivateUserByEmail", localVarResponse); if (_exception != null) throw _exception; } @@ -7162,39 +8332,35 @@ public async System.Threading.Tasks.Task AddLoyaltyCardPointsAsync (int loyaltyP } /// - /// Add points to customer profile Add points in the specified loyalty program for the given customer. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + /// Add points to card Add points to the given loyalty card in the specified card-based loyalty program. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body /// - public void AddLoyaltyPoints (string loyaltyProgramId, string integrationId, AddLoyaltyPoints body) + public void AddLoyaltyCardPoints (int loyaltyProgramId, string loyaltyCardId, AddLoyaltyPoints body) { - AddLoyaltyPointsWithHttpInfo(loyaltyProgramId, integrationId, body); + AddLoyaltyCardPointsWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); } /// - /// Add points to customer profile Add points in the specified loyalty program for the given customer. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + /// Add points to card Add points to the given loyalty card in the specified card-based loyalty program. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse AddLoyaltyPointsWithHttpInfo (string loyaltyProgramId, string integrationId, AddLoyaltyPoints body) + public TalonOne.Client.ApiResponse AddLoyaltyCardPointsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, AddLoyaltyPoints body) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->AddLoyaltyPoints"); - - // verify the required parameter 'integrationId' is set - if (integrationId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->AddLoyaltyPoints"); + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->AddLoyaltyCardPoints"); // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->AddLoyaltyPoints"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->AddLoyaltyCardPoints"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7214,7 +8380,7 @@ public TalonOne.Client.ApiResponse AddLoyaltyPointsWithHttpInfo (string if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -7239,12 +8405,12 @@ public TalonOne.Client.ApiResponse AddLoyaltyPointsWithHttpInfo (string } // make the HTTP request - var localVarResponse = this.Client.Put("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/add_points", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/add_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("AddLoyaltyPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("AddLoyaltyCardPoints", localVarResponse); if (_exception != null) throw _exception; } @@ -7252,40 +8418,36 @@ public TalonOne.Client.ApiResponse AddLoyaltyPointsWithHttpInfo (string } /// - /// Add points to customer profile Add points in the specified loyalty program for the given customer. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + /// Add points to card Add points to the given loyalty card in the specified card-based loyalty program. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body /// Task of void - public async System.Threading.Tasks.Task AddLoyaltyPointsAsync (string loyaltyProgramId, string integrationId, AddLoyaltyPoints body) + public async System.Threading.Tasks.Task AddLoyaltyCardPointsAsync (int loyaltyProgramId, string loyaltyCardId, AddLoyaltyPoints body) { - await AddLoyaltyPointsAsyncWithHttpInfo(loyaltyProgramId, integrationId, body); + await AddLoyaltyCardPointsAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); } /// - /// Add points to customer profile Add points in the specified loyalty program for the given customer. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + /// Add points to card Add points to the given loyalty card in the specified card-based loyalty program. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body /// Task of ApiResponse - public async System.Threading.Tasks.Task> AddLoyaltyPointsAsyncWithHttpInfo (string loyaltyProgramId, string integrationId, AddLoyaltyPoints body) + public async System.Threading.Tasks.Task> AddLoyaltyCardPointsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, AddLoyaltyPoints body) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->AddLoyaltyPoints"); - - // verify the required parameter 'integrationId' is set - if (integrationId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->AddLoyaltyPoints"); + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->AddLoyaltyCardPoints"); // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->AddLoyaltyPoints"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->AddLoyaltyCardPoints"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7306,7 +8468,7 @@ public async System.Threading.Tasks.Task AddLoyaltyPointsAsync (string loyaltyPr localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -7332,12 +8494,12 @@ public async System.Threading.Tasks.Task AddLoyaltyPointsAsync (string loyaltyPr // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/add_points", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/add_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("AddLoyaltyPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("AddLoyaltyCardPoints", localVarResponse); if (_exception != null) throw _exception; } @@ -7345,32 +8507,39 @@ public async System.Threading.Tasks.Task AddLoyaltyPointsAsync (string loyaltyPr } /// - /// Copy the campaign into the specified Application Copy the campaign into all specified Applications. + /// Add points to customer profile Add points in the specified loyalty program for the given customer. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The identifier for the loyalty program. + /// The identifier of the profile. /// body - /// InlineResponse2004 - public InlineResponse2004 CopyCampaignToApplications (int applicationId, int campaignId, CampaignCopy body) + /// + public void AddLoyaltyPoints (string loyaltyProgramId, string integrationId, AddLoyaltyPoints body) { - TalonOne.Client.ApiResponse localVarResponse = CopyCampaignToApplicationsWithHttpInfo(applicationId, campaignId, body); - return localVarResponse.Data; + AddLoyaltyPointsWithHttpInfo(loyaltyProgramId, integrationId, body); } /// - /// Copy the campaign into the specified Application Copy the campaign into all specified Applications. + /// Add points to customer profile Add points in the specified loyalty program for the given customer. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The identifier for the loyalty program. + /// The identifier of the profile. /// body - /// ApiResponse of InlineResponse2004 - public TalonOne.Client.ApiResponse< InlineResponse2004 > CopyCampaignToApplicationsWithHttpInfo (int applicationId, int campaignId, CampaignCopy body) + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse AddLoyaltyPointsWithHttpInfo (string loyaltyProgramId, string integrationId, AddLoyaltyPoints body) { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->AddLoyaltyPoints"); + + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->AddLoyaltyPoints"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CopyCampaignToApplications"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->AddLoyaltyPoints"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7389,8 +8558,8 @@ public TalonOne.Client.ApiResponse< InlineResponse2004 > CopyCampaignToApplicati var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -7415,12 +8584,12 @@ public TalonOne.Client.ApiResponse< InlineResponse2004 > CopyCampaignToApplicati } // make the HTTP request - var localVarResponse = this.Client.Post< InlineResponse2004 >("/v1/applications/{applicationId}/campaigns/{campaignId}/copy", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/add_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CopyCampaignToApplications", localVarResponse); + Exception _exception = this.ExceptionFactory("AddLoyaltyPoints", localVarResponse); if (_exception != null) throw _exception; } @@ -7428,33 +8597,40 @@ public TalonOne.Client.ApiResponse< InlineResponse2004 > CopyCampaignToApplicati } /// - /// Copy the campaign into the specified Application Copy the campaign into all specified Applications. + /// Add points to customer profile Add points in the specified loyalty program for the given customer. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The identifier for the loyalty program. + /// The identifier of the profile. /// body - /// Task of InlineResponse2004 - public async System.Threading.Tasks.Task CopyCampaignToApplicationsAsync (int applicationId, int campaignId, CampaignCopy body) + /// Task of void + public async System.Threading.Tasks.Task AddLoyaltyPointsAsync (string loyaltyProgramId, string integrationId, AddLoyaltyPoints body) { - TalonOne.Client.ApiResponse localVarResponse = await CopyCampaignToApplicationsAsyncWithHttpInfo(applicationId, campaignId, body); - return localVarResponse.Data; + await AddLoyaltyPointsAsyncWithHttpInfo(loyaltyProgramId, integrationId, body); } /// - /// Copy the campaign into the specified Application Copy the campaign into all specified Applications. + /// Add points to customer profile Add points in the specified loyalty program for the given customer. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The identifier for the loyalty program. + /// The identifier of the profile. /// body - /// Task of ApiResponse (InlineResponse2004) - public async System.Threading.Tasks.Task> CopyCampaignToApplicationsAsyncWithHttpInfo (int applicationId, int campaignId, CampaignCopy body) + /// Task of ApiResponse + public async System.Threading.Tasks.Task> AddLoyaltyPointsAsyncWithHttpInfo (string loyaltyProgramId, string integrationId, AddLoyaltyPoints body) { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->AddLoyaltyPoints"); + + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->AddLoyaltyPoints"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CopyCampaignToApplications"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->AddLoyaltyPoints"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7474,8 +8650,8 @@ public async System.Threading.Tasks.Task CopyCampaignToAppli foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -7501,12 +8677,12 @@ public async System.Threading.Tasks.Task CopyCampaignToAppli // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/copy", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/add_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CopyCampaignToApplications", localVarResponse); + Exception _exception = this.ExceptionFactory("AddLoyaltyPoints", localVarResponse); if (_exception != null) throw _exception; } @@ -7514,28 +8690,32 @@ public async System.Threading.Tasks.Task CopyCampaignToAppli } /// - /// Create account-level collection Create account-level collection. + /// Copy the campaign into the specified Application Copy the campaign into all specified Applications. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Collection - public Collection CreateAccountCollection (NewCollection body) + /// InlineResponse2006 + public InlineResponse2006 CopyCampaignToApplications (int applicationId, int campaignId, CampaignCopy body) { - TalonOne.Client.ApiResponse localVarResponse = CreateAccountCollectionWithHttpInfo(body); + TalonOne.Client.ApiResponse localVarResponse = CopyCampaignToApplicationsWithHttpInfo(applicationId, campaignId, body); return localVarResponse.Data; } /// - /// Create account-level collection Create account-level collection. + /// Copy the campaign into the specified Application Copy the campaign into all specified Applications. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of Collection - public TalonOne.Client.ApiResponse< Collection > CreateAccountCollectionWithHttpInfo (NewCollection body) + /// ApiResponse of InlineResponse2006 + public TalonOne.Client.ApiResponse< InlineResponse2006 > CopyCampaignToApplicationsWithHttpInfo (int applicationId, int campaignId, CampaignCopy body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAccountCollection"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CopyCampaignToApplications"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7554,6 +8734,8 @@ public TalonOne.Client.ApiResponse< Collection > CreateAccountCollectionWithHttp var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -7578,12 +8760,12 @@ public TalonOne.Client.ApiResponse< Collection > CreateAccountCollectionWithHttp } // make the HTTP request - var localVarResponse = this.Client.Post< Collection >("/v1/collections", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< InlineResponse2006 >("/v1/applications/{applicationId}/campaigns/{campaignId}/copy", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateAccountCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("CopyCampaignToApplications", localVarResponse); if (_exception != null) throw _exception; } @@ -7591,29 +8773,33 @@ public TalonOne.Client.ApiResponse< Collection > CreateAccountCollectionWithHttp } /// - /// Create account-level collection Create account-level collection. + /// Copy the campaign into the specified Application Copy the campaign into all specified Applications. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of Collection - public async System.Threading.Tasks.Task CreateAccountCollectionAsync (NewCollection body) + /// Task of InlineResponse2006 + public async System.Threading.Tasks.Task CopyCampaignToApplicationsAsync (int applicationId, int campaignId, CampaignCopy body) { - TalonOne.Client.ApiResponse localVarResponse = await CreateAccountCollectionAsyncWithHttpInfo(body); + TalonOne.Client.ApiResponse localVarResponse = await CopyCampaignToApplicationsAsyncWithHttpInfo(applicationId, campaignId, body); return localVarResponse.Data; } /// - /// Create account-level collection Create account-level collection. + /// Copy the campaign into the specified Application Copy the campaign into all specified Applications. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (Collection) - public async System.Threading.Tasks.Task> CreateAccountCollectionAsyncWithHttpInfo (NewCollection body) + /// Task of ApiResponse (InlineResponse2006) + public async System.Threading.Tasks.Task> CopyCampaignToApplicationsAsyncWithHttpInfo (int applicationId, int campaignId, CampaignCopy body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAccountCollection"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CopyCampaignToApplications"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7633,6 +8819,8 @@ public async System.Threading.Tasks.Task CreateAccountCollectionAsyn foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -7658,12 +8846,12 @@ public async System.Threading.Tasks.Task CreateAccountCollectionAsyn // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/collections", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/copy", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateAccountCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("CopyCampaignToApplications", localVarResponse); if (_exception != null) throw _exception; } @@ -7671,28 +8859,28 @@ public async System.Threading.Tasks.Task CreateAccountCollectionAsyn } /// - /// Create additional cost Create an [additional cost](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). These additional costs are shared across all applications in your account, and are never required. + /// Create account-level collection Create an account-level collection. /// /// Thrown when fails to make API call /// body - /// AccountAdditionalCost - public AccountAdditionalCost CreateAdditionalCost (NewAdditionalCost body) + /// Collection + public Collection CreateAccountCollection (NewCollection body) { - TalonOne.Client.ApiResponse localVarResponse = CreateAdditionalCostWithHttpInfo(body); + TalonOne.Client.ApiResponse localVarResponse = CreateAccountCollectionWithHttpInfo(body); return localVarResponse.Data; } /// - /// Create additional cost Create an [additional cost](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). These additional costs are shared across all applications in your account, and are never required. + /// Create account-level collection Create an account-level collection. /// /// Thrown when fails to make API call /// body - /// ApiResponse of AccountAdditionalCost - public TalonOne.Client.ApiResponse< AccountAdditionalCost > CreateAdditionalCostWithHttpInfo (NewAdditionalCost body) + /// ApiResponse of Collection + public TalonOne.Client.ApiResponse< Collection > CreateAccountCollectionWithHttpInfo (NewCollection body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAdditionalCost"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAccountCollection"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7735,12 +8923,12 @@ public TalonOne.Client.ApiResponse< AccountAdditionalCost > CreateAdditionalCost } // make the HTTP request - var localVarResponse = this.Client.Post< AccountAdditionalCost >("/v1/additional_costs", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Collection >("/v1/collections", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateAdditionalCost", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateAccountCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -7748,29 +8936,29 @@ public TalonOne.Client.ApiResponse< AccountAdditionalCost > CreateAdditionalCost } /// - /// Create additional cost Create an [additional cost](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). These additional costs are shared across all applications in your account, and are never required. + /// Create account-level collection Create an account-level collection. /// /// Thrown when fails to make API call /// body - /// Task of AccountAdditionalCost - public async System.Threading.Tasks.Task CreateAdditionalCostAsync (NewAdditionalCost body) + /// Task of Collection + public async System.Threading.Tasks.Task CreateAccountCollectionAsync (NewCollection body) { - TalonOne.Client.ApiResponse localVarResponse = await CreateAdditionalCostAsyncWithHttpInfo(body); + TalonOne.Client.ApiResponse localVarResponse = await CreateAccountCollectionAsyncWithHttpInfo(body); return localVarResponse.Data; } /// - /// Create additional cost Create an [additional cost](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). These additional costs are shared across all applications in your account, and are never required. + /// Create account-level collection Create an account-level collection. /// /// Thrown when fails to make API call /// body - /// Task of ApiResponse (AccountAdditionalCost) - public async System.Threading.Tasks.Task> CreateAdditionalCostAsyncWithHttpInfo (NewAdditionalCost body) + /// Task of ApiResponse (Collection) + public async System.Threading.Tasks.Task> CreateAccountCollectionAsyncWithHttpInfo (NewCollection body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAdditionalCost"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAccountCollection"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7815,12 +9003,12 @@ public async System.Threading.Tasks.Task CreateAdditional // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/additional_costs", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/collections", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateAdditionalCost", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateAccountCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -7828,28 +9016,32 @@ public async System.Threading.Tasks.Task CreateAdditional } /// - /// Create custom attribute Create a _custom attribute_ in this account. [Custom attributes](https://docs.talon.one/docs/dev/concepts/attributes) allow you to add data to Talon.One domain entities like campaigns, coupons, customers and so on. These attributes can then be given values when creating/updating these entities, and these values can be used in your campaign rules. For example, you could define a `zipCode` field for customer sessions, and add a rule to your campaign that only allows certain ZIP codes. These attributes are shared across all Applications in your account and are never required. + /// Create achievement Create a new achievement in a specific campaign. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Attribute - public Attribute CreateAttribute (NewAttribute body) + /// Achievement + public Achievement CreateAchievement (int applicationId, int campaignId, CreateAchievement body) { - TalonOne.Client.ApiResponse localVarResponse = CreateAttributeWithHttpInfo(body); + TalonOne.Client.ApiResponse localVarResponse = CreateAchievementWithHttpInfo(applicationId, campaignId, body); return localVarResponse.Data; } /// - /// Create custom attribute Create a _custom attribute_ in this account. [Custom attributes](https://docs.talon.one/docs/dev/concepts/attributes) allow you to add data to Talon.One domain entities like campaigns, coupons, customers and so on. These attributes can then be given values when creating/updating these entities, and these values can be used in your campaign rules. For example, you could define a `zipCode` field for customer sessions, and add a rule to your campaign that only allows certain ZIP codes. These attributes are shared across all Applications in your account and are never required. + /// Create achievement Create a new achievement in a specific campaign. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of Attribute - public TalonOne.Client.ApiResponse< Attribute > CreateAttributeWithHttpInfo (NewAttribute body) + /// ApiResponse of Achievement + public TalonOne.Client.ApiResponse< Achievement > CreateAchievementWithHttpInfo (int applicationId, int campaignId, CreateAchievement body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAttribute"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAchievement"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7868,6 +9060,8 @@ public TalonOne.Client.ApiResponse< Attribute > CreateAttributeWithHttpInfo (New var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -7892,12 +9086,12 @@ public TalonOne.Client.ApiResponse< Attribute > CreateAttributeWithHttpInfo (New } // make the HTTP request - var localVarResponse = this.Client.Post< Attribute >("/v1/attributes", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Achievement >("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateAttribute", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateAchievement", localVarResponse); if (_exception != null) throw _exception; } @@ -7905,29 +9099,33 @@ public TalonOne.Client.ApiResponse< Attribute > CreateAttributeWithHttpInfo (New } /// - /// Create custom attribute Create a _custom attribute_ in this account. [Custom attributes](https://docs.talon.one/docs/dev/concepts/attributes) allow you to add data to Talon.One domain entities like campaigns, coupons, customers and so on. These attributes can then be given values when creating/updating these entities, and these values can be used in your campaign rules. For example, you could define a `zipCode` field for customer sessions, and add a rule to your campaign that only allows certain ZIP codes. These attributes are shared across all Applications in your account and are never required. + /// Create achievement Create a new achievement in a specific campaign. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of Attribute - public async System.Threading.Tasks.Task CreateAttributeAsync (NewAttribute body) + /// Task of Achievement + public async System.Threading.Tasks.Task CreateAchievementAsync (int applicationId, int campaignId, CreateAchievement body) { - TalonOne.Client.ApiResponse localVarResponse = await CreateAttributeAsyncWithHttpInfo(body); + TalonOne.Client.ApiResponse localVarResponse = await CreateAchievementAsyncWithHttpInfo(applicationId, campaignId, body); return localVarResponse.Data; } /// - /// Create custom attribute Create a _custom attribute_ in this account. [Custom attributes](https://docs.talon.one/docs/dev/concepts/attributes) allow you to add data to Talon.One domain entities like campaigns, coupons, customers and so on. These attributes can then be given values when creating/updating these entities, and these values can be used in your campaign rules. For example, you could define a `zipCode` field for customer sessions, and add a rule to your campaign that only allows certain ZIP codes. These attributes are shared across all Applications in your account and are never required. + /// Create achievement Create a new achievement in a specific campaign. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (Attribute) - public async System.Threading.Tasks.Task> CreateAttributeAsyncWithHttpInfo (NewAttribute body) + /// Task of ApiResponse (Achievement) + public async System.Threading.Tasks.Task> CreateAchievementAsyncWithHttpInfo (int applicationId, int campaignId, CreateAchievement body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAttribute"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAchievement"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -7947,6 +9145,8 @@ public async System.Threading.Tasks.Task CreateAttributeAsync (NewAtt foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -7972,12 +9172,12 @@ public async System.Threading.Tasks.Task CreateAttributeAsync (NewAtt // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/attributes", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateAttribute", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateAchievement", localVarResponse); if (_exception != null) throw _exception; } @@ -7985,30 +9185,28 @@ public async System.Threading.Tasks.Task CreateAttributeAsync (NewAtt } /// - /// Create campaign from campaign template Use the campaign template referenced in the request body to create a new campaign in one of the connected Applications. If the template was created from a campaign with rules referencing [campaign collections](https://docs.talon.one/docs/product/campaigns/managing-collections), the corresponding collections for the new campaign are created automatically. + /// Create additional cost Create an [additional cost](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). These additional costs are shared across all applications in your account, and are never required. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// CreateTemplateCampaignResponse - public CreateTemplateCampaignResponse CreateCampaignFromTemplate (int applicationId, CreateTemplateCampaign body) + /// AccountAdditionalCost + public AccountAdditionalCost CreateAdditionalCost (NewAdditionalCost body) { - TalonOne.Client.ApiResponse localVarResponse = CreateCampaignFromTemplateWithHttpInfo(applicationId, body); + TalonOne.Client.ApiResponse localVarResponse = CreateAdditionalCostWithHttpInfo(body); return localVarResponse.Data; } /// - /// Create campaign from campaign template Use the campaign template referenced in the request body to create a new campaign in one of the connected Applications. If the template was created from a campaign with rules referencing [campaign collections](https://docs.talon.one/docs/product/campaigns/managing-collections), the corresponding collections for the new campaign are created automatically. + /// Create additional cost Create an [additional cost](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). These additional costs are shared across all applications in your account, and are never required. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of CreateTemplateCampaignResponse - public TalonOne.Client.ApiResponse< CreateTemplateCampaignResponse > CreateCampaignFromTemplateWithHttpInfo (int applicationId, CreateTemplateCampaign body) + /// ApiResponse of AccountAdditionalCost + public TalonOne.Client.ApiResponse< AccountAdditionalCost > CreateAdditionalCostWithHttpInfo (NewAdditionalCost body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCampaignFromTemplate"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAdditionalCost"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8027,7 +9225,6 @@ public TalonOne.Client.ApiResponse< CreateTemplateCampaignResponse > CreateCampa var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -8052,12 +9249,12 @@ public TalonOne.Client.ApiResponse< CreateTemplateCampaignResponse > CreateCampa } // make the HTTP request - var localVarResponse = this.Client.Post< CreateTemplateCampaignResponse >("/v1/applications/{applicationId}/create_campaign_from_template", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< AccountAdditionalCost >("/v1/additional_costs", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateCampaignFromTemplate", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateAdditionalCost", localVarResponse); if (_exception != null) throw _exception; } @@ -8065,31 +9262,29 @@ public TalonOne.Client.ApiResponse< CreateTemplateCampaignResponse > CreateCampa } /// - /// Create campaign from campaign template Use the campaign template referenced in the request body to create a new campaign in one of the connected Applications. If the template was created from a campaign with rules referencing [campaign collections](https://docs.talon.one/docs/product/campaigns/managing-collections), the corresponding collections for the new campaign are created automatically. + /// Create additional cost Create an [additional cost](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). These additional costs are shared across all applications in your account, and are never required. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// Task of CreateTemplateCampaignResponse - public async System.Threading.Tasks.Task CreateCampaignFromTemplateAsync (int applicationId, CreateTemplateCampaign body) + /// Task of AccountAdditionalCost + public async System.Threading.Tasks.Task CreateAdditionalCostAsync (NewAdditionalCost body) { - TalonOne.Client.ApiResponse localVarResponse = await CreateCampaignFromTemplateAsyncWithHttpInfo(applicationId, body); + TalonOne.Client.ApiResponse localVarResponse = await CreateAdditionalCostAsyncWithHttpInfo(body); return localVarResponse.Data; } /// - /// Create campaign from campaign template Use the campaign template referenced in the request body to create a new campaign in one of the connected Applications. If the template was created from a campaign with rules referencing [campaign collections](https://docs.talon.one/docs/product/campaigns/managing-collections), the corresponding collections for the new campaign are created automatically. + /// Create additional cost Create an [additional cost](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). These additional costs are shared across all applications in your account, and are never required. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (CreateTemplateCampaignResponse) - public async System.Threading.Tasks.Task> CreateCampaignFromTemplateAsyncWithHttpInfo (int applicationId, CreateTemplateCampaign body) + /// Task of ApiResponse (AccountAdditionalCost) + public async System.Threading.Tasks.Task> CreateAdditionalCostAsyncWithHttpInfo (NewAdditionalCost body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCampaignFromTemplate"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAdditionalCost"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8109,7 +9304,6 @@ public async System.Threading.Tasks.Task CreateC foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -8135,12 +9329,12 @@ public async System.Threading.Tasks.Task CreateC // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/create_campaign_from_template", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/additional_costs", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateCampaignFromTemplate", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateAdditionalCost", localVarResponse); if (_exception != null) throw _exception; } @@ -8148,32 +9342,28 @@ public async System.Threading.Tasks.Task CreateC } /// - /// Create collection Create a collection. + /// Create custom attribute Create a _custom attribute_ in this account. [Custom attributes](https://docs.talon.one/docs/dev/concepts/attributes) allow you to add data to Talon.One domain entities like campaigns, coupons, customers and so on. These attributes can then be given values when creating/updating these entities, and these values can be used in your campaign rules. For example, you could define a `zipCode` field for customer sessions, and add a rule to your campaign that only allows certain ZIP codes. These attributes are shared across all Applications in your account and are never required. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Collection - public Collection CreateCollection (int applicationId, int campaignId, NewCampaignCollection body) + /// Attribute + public Attribute CreateAttribute (NewAttribute body) { - TalonOne.Client.ApiResponse localVarResponse = CreateCollectionWithHttpInfo(applicationId, campaignId, body); + TalonOne.Client.ApiResponse localVarResponse = CreateAttributeWithHttpInfo(body); return localVarResponse.Data; } /// - /// Create collection Create a collection. + /// Create custom attribute Create a _custom attribute_ in this account. [Custom attributes](https://docs.talon.one/docs/dev/concepts/attributes) allow you to add data to Talon.One domain entities like campaigns, coupons, customers and so on. These attributes can then be given values when creating/updating these entities, and these values can be used in your campaign rules. For example, you could define a `zipCode` field for customer sessions, and add a rule to your campaign that only allows certain ZIP codes. These attributes are shared across all Applications in your account and are never required. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of Collection - public TalonOne.Client.ApiResponse< Collection > CreateCollectionWithHttpInfo (int applicationId, int campaignId, NewCampaignCollection body) + /// ApiResponse of Attribute + public TalonOne.Client.ApiResponse< Attribute > CreateAttributeWithHttpInfo (NewAttribute body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCollection"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAttribute"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8192,8 +9382,6 @@ public TalonOne.Client.ApiResponse< Collection > CreateCollectionWithHttpInfo (i var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -8218,12 +9406,12 @@ public TalonOne.Client.ApiResponse< Collection > CreateCollectionWithHttpInfo (i } // make the HTTP request - var localVarResponse = this.Client.Post< Collection >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Attribute >("/v1/attributes", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateAttribute", localVarResponse); if (_exception != null) throw _exception; } @@ -8231,33 +9419,29 @@ public TalonOne.Client.ApiResponse< Collection > CreateCollectionWithHttpInfo (i } /// - /// Create collection Create a collection. + /// Create custom attribute Create a _custom attribute_ in this account. [Custom attributes](https://docs.talon.one/docs/dev/concepts/attributes) allow you to add data to Talon.One domain entities like campaigns, coupons, customers and so on. These attributes can then be given values when creating/updating these entities, and these values can be used in your campaign rules. For example, you could define a `zipCode` field for customer sessions, and add a rule to your campaign that only allows certain ZIP codes. These attributes are shared across all Applications in your account and are never required. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of Collection - public async System.Threading.Tasks.Task CreateCollectionAsync (int applicationId, int campaignId, NewCampaignCollection body) + /// Task of Attribute + public async System.Threading.Tasks.Task CreateAttributeAsync (NewAttribute body) { - TalonOne.Client.ApiResponse localVarResponse = await CreateCollectionAsyncWithHttpInfo(applicationId, campaignId, body); + TalonOne.Client.ApiResponse localVarResponse = await CreateAttributeAsyncWithHttpInfo(body); return localVarResponse.Data; } /// - /// Create collection Create a collection. + /// Create custom attribute Create a _custom attribute_ in this account. [Custom attributes](https://docs.talon.one/docs/dev/concepts/attributes) allow you to add data to Talon.One domain entities like campaigns, coupons, customers and so on. These attributes can then be given values when creating/updating these entities, and these values can be used in your campaign rules. For example, you could define a `zipCode` field for customer sessions, and add a rule to your campaign that only allows certain ZIP codes. These attributes are shared across all Applications in your account and are never required. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (Collection) - public async System.Threading.Tasks.Task> CreateCollectionAsyncWithHttpInfo (int applicationId, int campaignId, NewCampaignCollection body) + /// Task of ApiResponse (Attribute) + public async System.Threading.Tasks.Task> CreateAttributeAsyncWithHttpInfo (NewAttribute body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCollection"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateAttribute"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8277,8 +9461,6 @@ public async System.Threading.Tasks.Task CreateCollectionAsync (int foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -8304,12 +9486,12 @@ public async System.Threading.Tasks.Task CreateCollectionAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/attributes", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateAttribute", localVarResponse); if (_exception != null) throw _exception; } @@ -8317,34 +9499,30 @@ public async System.Threading.Tasks.Task CreateCollectionAsync (int } /// - /// Create coupons Create coupons according to some pattern. Up to 20.000 coupons can be created without a unique prefix. When a unique prefix is provided, up to 200.000 coupons can be created. + /// Create campaign from campaign template Use the campaign template referenced in the request body to create a new campaign in one of the connected Applications. If the template was created from a campaign with rules referencing [campaign collections](https://docs.talon.one/docs/product/campaigns/managing-collections), the corresponding collections for the new campaign are created automatically. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// InlineResponse2007 - public InlineResponse2007 CreateCoupons (int applicationId, int campaignId, NewCoupons body, string silent = default(string)) + /// CreateTemplateCampaignResponse + public CreateTemplateCampaignResponse CreateCampaignFromTemplate (int applicationId, CreateTemplateCampaign body) { - TalonOne.Client.ApiResponse localVarResponse = CreateCouponsWithHttpInfo(applicationId, campaignId, body, silent); + TalonOne.Client.ApiResponse localVarResponse = CreateCampaignFromTemplateWithHttpInfo(applicationId, body); return localVarResponse.Data; } /// - /// Create coupons Create coupons according to some pattern. Up to 20.000 coupons can be created without a unique prefix. When a unique prefix is provided, up to 200.000 coupons can be created. + /// Create campaign from campaign template Use the campaign template referenced in the request body to create a new campaign in one of the connected Applications. If the template was created from a campaign with rules referencing [campaign collections](https://docs.talon.one/docs/product/campaigns/managing-collections), the corresponding collections for the new campaign are created automatically. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// ApiResponse of InlineResponse2007 - public TalonOne.Client.ApiResponse< InlineResponse2007 > CreateCouponsWithHttpInfo (int applicationId, int campaignId, NewCoupons body, string silent = default(string)) + /// ApiResponse of CreateTemplateCampaignResponse + public TalonOne.Client.ApiResponse< CreateTemplateCampaignResponse > CreateCampaignFromTemplateWithHttpInfo (int applicationId, CreateTemplateCampaign body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCoupons"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCampaignFromTemplate"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8364,11 +9542,6 @@ public async System.Threading.Tasks.Task CreateCollectionAsync (int if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (silent != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "silent", silent)); - } localVarRequestOptions.Data = body; // authentication (management_key) required @@ -8393,12 +9566,12 @@ public async System.Threading.Tasks.Task CreateCollectionAsync (int } // make the HTTP request - var localVarResponse = this.Client.Post< InlineResponse2007 >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< CreateTemplateCampaignResponse >("/v1/applications/{applicationId}/create_campaign_from_template", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateCoupons", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateCampaignFromTemplate", localVarResponse); if (_exception != null) throw _exception; } @@ -8406,35 +9579,31 @@ public async System.Threading.Tasks.Task CreateCollectionAsync (int } /// - /// Create coupons Create coupons according to some pattern. Up to 20.000 coupons can be created without a unique prefix. When a unique prefix is provided, up to 200.000 coupons can be created. + /// Create campaign from campaign template Use the campaign template referenced in the request body to create a new campaign in one of the connected Applications. If the template was created from a campaign with rules referencing [campaign collections](https://docs.talon.one/docs/product/campaigns/managing-collections), the corresponding collections for the new campaign are created automatically. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// Task of InlineResponse2007 - public async System.Threading.Tasks.Task CreateCouponsAsync (int applicationId, int campaignId, NewCoupons body, string silent = default(string)) + /// Task of CreateTemplateCampaignResponse + public async System.Threading.Tasks.Task CreateCampaignFromTemplateAsync (int applicationId, CreateTemplateCampaign body) { - TalonOne.Client.ApiResponse localVarResponse = await CreateCouponsAsyncWithHttpInfo(applicationId, campaignId, body, silent); + TalonOne.Client.ApiResponse localVarResponse = await CreateCampaignFromTemplateAsyncWithHttpInfo(applicationId, body); return localVarResponse.Data; } /// - /// Create coupons Create coupons according to some pattern. Up to 20.000 coupons can be created without a unique prefix. When a unique prefix is provided, up to 200.000 coupons can be created. + /// Create campaign from campaign template Use the campaign template referenced in the request body to create a new campaign in one of the connected Applications. If the template was created from a campaign with rules referencing [campaign collections](https://docs.talon.one/docs/product/campaigns/managing-collections), the corresponding collections for the new campaign are created automatically. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// Task of ApiResponse (InlineResponse2007) - public async System.Threading.Tasks.Task> CreateCouponsAsyncWithHttpInfo (int applicationId, int campaignId, NewCoupons body, string silent = default(string)) + /// Task of ApiResponse (CreateTemplateCampaignResponse) + public async System.Threading.Tasks.Task> CreateCampaignFromTemplateAsyncWithHttpInfo (int applicationId, CreateTemplateCampaign body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCoupons"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCampaignFromTemplate"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8455,11 +9624,6 @@ public async System.Threading.Tasks.Task CreateCollectionAsync (int localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (silent != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "silent", silent)); - } localVarRequestOptions.Data = body; // authentication (management_key) required @@ -8485,12 +9649,12 @@ public async System.Threading.Tasks.Task CreateCollectionAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/create_campaign_from_template", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateCoupons", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateCampaignFromTemplate", localVarResponse); if (_exception != null) throw _exception; } @@ -8498,32 +9662,32 @@ public async System.Threading.Tasks.Task CreateCollectionAsync (int } /// - /// Create coupons asynchronously Create up to 5,000,000 coupons asynchronously. You should typically use this enpdoint when you create at least 20,001 coupons. You receive an email when the creation is complete. If you want to create less than 20,001 coupons, you can use the [Create coupons](https://docs.talon.one/management-api#tag/Coupons/operation/createCoupons) endpoint. + /// Create campaign-level collection Create a campaign-level collection in a given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// AsyncCouponCreationResponse - public AsyncCouponCreationResponse CreateCouponsAsync (int applicationId, int campaignId, NewCouponCreationJob body) + /// Collection + public Collection CreateCollection (int applicationId, int campaignId, NewCampaignCollection body) { - TalonOne.Client.ApiResponse localVarResponse = CreateCouponsAsyncWithHttpInfo(applicationId, campaignId, body); + TalonOne.Client.ApiResponse localVarResponse = CreateCollectionWithHttpInfo(applicationId, campaignId, body); return localVarResponse.Data; } /// - /// Create coupons asynchronously Create up to 5,000,000 coupons asynchronously. You should typically use this enpdoint when you create at least 20,001 coupons. You receive an email when the creation is complete. If you want to create less than 20,001 coupons, you can use the [Create coupons](https://docs.talon.one/management-api#tag/Coupons/operation/createCoupons) endpoint. + /// Create campaign-level collection Create a campaign-level collection in a given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of AsyncCouponCreationResponse - public TalonOne.Client.ApiResponse< AsyncCouponCreationResponse > CreateCouponsAsyncWithHttpInfo (int applicationId, int campaignId, NewCouponCreationJob body) + /// ApiResponse of Collection + public TalonOne.Client.ApiResponse< Collection > CreateCollectionWithHttpInfo (int applicationId, int campaignId, NewCampaignCollection body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCouponsAsync"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCollection"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8568,12 +9732,12 @@ public TalonOne.Client.ApiResponse< AsyncCouponCreationResponse > CreateCouponsA } // make the HTTP request - var localVarResponse = this.Client.Post< AsyncCouponCreationResponse >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_async", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Collection >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateCouponsAsync", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -8581,33 +9745,33 @@ public TalonOne.Client.ApiResponse< AsyncCouponCreationResponse > CreateCouponsA } /// - /// Create coupons asynchronously Create up to 5,000,000 coupons asynchronously. You should typically use this enpdoint when you create at least 20,001 coupons. You receive an email when the creation is complete. If you want to create less than 20,001 coupons, you can use the [Create coupons](https://docs.talon.one/management-api#tag/Coupons/operation/createCoupons) endpoint. + /// Create campaign-level collection Create a campaign-level collection in a given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of AsyncCouponCreationResponse - public async System.Threading.Tasks.Task CreateCouponsAsyncAsync (int applicationId, int campaignId, NewCouponCreationJob body) + /// Task of Collection + public async System.Threading.Tasks.Task CreateCollectionAsync (int applicationId, int campaignId, NewCampaignCollection body) { - TalonOne.Client.ApiResponse localVarResponse = await CreateCouponsAsyncAsyncWithHttpInfo(applicationId, campaignId, body); + TalonOne.Client.ApiResponse localVarResponse = await CreateCollectionAsyncWithHttpInfo(applicationId, campaignId, body); return localVarResponse.Data; } /// - /// Create coupons asynchronously Create up to 5,000,000 coupons asynchronously. You should typically use this enpdoint when you create at least 20,001 coupons. You receive an email when the creation is complete. If you want to create less than 20,001 coupons, you can use the [Create coupons](https://docs.talon.one/management-api#tag/Coupons/operation/createCoupons) endpoint. + /// Create campaign-level collection Create a campaign-level collection in a given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (AsyncCouponCreationResponse) - public async System.Threading.Tasks.Task> CreateCouponsAsyncAsyncWithHttpInfo (int applicationId, int campaignId, NewCouponCreationJob body) + /// Task of ApiResponse (Collection) + public async System.Threading.Tasks.Task> CreateCollectionAsyncWithHttpInfo (int applicationId, int campaignId, NewCampaignCollection body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCouponsAsync"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCollection"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8654,12 +9818,12 @@ public async System.Threading.Tasks.Task CreateCoup // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_async", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateCouponsAsync", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -8667,34 +9831,34 @@ public async System.Threading.Tasks.Task CreateCoup } /// - /// Create coupons for multiple recipients Create coupons according to some pattern for up to 1000 recipients. + /// Create coupons Create coupons according to some pattern. Up to 20.000 coupons can be created without a unique prefix. When a unique prefix is provided, up to 200.000 coupons can be created. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// InlineResponse2007 - public InlineResponse2007 CreateCouponsForMultipleRecipients (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)) + /// InlineResponse2008 + public InlineResponse2008 CreateCoupons (int applicationId, int campaignId, NewCoupons body, string silent = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = CreateCouponsForMultipleRecipientsWithHttpInfo(applicationId, campaignId, body, silent); + TalonOne.Client.ApiResponse localVarResponse = CreateCouponsWithHttpInfo(applicationId, campaignId, body, silent); return localVarResponse.Data; } /// - /// Create coupons for multiple recipients Create coupons according to some pattern for up to 1000 recipients. + /// Create coupons Create coupons according to some pattern. Up to 20.000 coupons can be created without a unique prefix. When a unique prefix is provided, up to 200.000 coupons can be created. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// ApiResponse of InlineResponse2007 - public TalonOne.Client.ApiResponse< InlineResponse2007 > CreateCouponsForMultipleRecipientsWithHttpInfo (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)) + /// ApiResponse of InlineResponse2008 + public TalonOne.Client.ApiResponse< InlineResponse2008 > CreateCouponsWithHttpInfo (int applicationId, int campaignId, NewCoupons body, string silent = default(string)) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCouponsForMultipleRecipients"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCoupons"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8743,12 +9907,12 @@ public async System.Threading.Tasks.Task CreateCoup } // make the HTTP request - var localVarResponse = this.Client.Post< InlineResponse2007 >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_with_recipients", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< InlineResponse2008 >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateCouponsForMultipleRecipients", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateCoupons", localVarResponse); if (_exception != null) throw _exception; } @@ -8756,35 +9920,35 @@ public async System.Threading.Tasks.Task CreateCoup } /// - /// Create coupons for multiple recipients Create coupons according to some pattern for up to 1000 recipients. + /// Create coupons Create coupons according to some pattern. Up to 20.000 coupons can be created without a unique prefix. When a unique prefix is provided, up to 200.000 coupons can be created. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// Task of InlineResponse2007 - public async System.Threading.Tasks.Task CreateCouponsForMultipleRecipientsAsync (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)) + /// Task of InlineResponse2008 + public async System.Threading.Tasks.Task CreateCouponsAsync (int applicationId, int campaignId, NewCoupons body, string silent = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await CreateCouponsForMultipleRecipientsAsyncWithHttpInfo(applicationId, campaignId, body, silent); + TalonOne.Client.ApiResponse localVarResponse = await CreateCouponsAsyncWithHttpInfo(applicationId, campaignId, body, silent); return localVarResponse.Data; } /// - /// Create coupons for multiple recipients Create coupons according to some pattern for up to 1000 recipients. + /// Create coupons Create coupons according to some pattern. Up to 20.000 coupons can be created without a unique prefix. When a unique prefix is provided, up to 200.000 coupons can be created. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") - /// Task of ApiResponse (InlineResponse2007) - public async System.Threading.Tasks.Task> CreateCouponsForMultipleRecipientsAsyncWithHttpInfo (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)) + /// Task of ApiResponse (InlineResponse2008) + public async System.Threading.Tasks.Task> CreateCouponsAsyncWithHttpInfo (int applicationId, int campaignId, NewCoupons body, string silent = default(string)) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCouponsForMultipleRecipients"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCoupons"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8835,12 +9999,12 @@ public async System.Threading.Tasks.Task CreateCoup // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_with_recipients", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateCouponsForMultipleRecipients", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateCoupons", localVarResponse); if (_exception != null) throw _exception; } @@ -8848,30 +10012,32 @@ public async System.Threading.Tasks.Task CreateCoup } /// - /// Create notification about campaign-related changes Create a [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). A notification about campaign-related changes is different from regular webhooks in that it is Application-scoped and has a predefined payload. [Regular webhooks](https://docs.talon.one/docs/dev/getting-started/webhooks) have user-definable payloads. **Tip:** - You can create these notifications using the Campaign Manager. See [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). - You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_created/post). + /// Create coupons asynchronously Create up to 5,000,000 coupons asynchronously. You should typically use this enpdoint when you create at least 20,001 coupons. You receive an email when the creation is complete. If you want to create less than 20,001 coupons, you can use the [Create coupons](https://docs.talon.one/management-api#tag/Coupons/operation/createCoupons) endpoint. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// NotificationWebhook - public NotificationWebhook CreateNotificationWebhook (int applicationId, NewNotificationWebhook body) + /// AsyncCouponCreationResponse + public AsyncCouponCreationResponse CreateCouponsAsync (int applicationId, int campaignId, NewCouponCreationJob body) { - TalonOne.Client.ApiResponse localVarResponse = CreateNotificationWebhookWithHttpInfo(applicationId, body); + TalonOne.Client.ApiResponse localVarResponse = CreateCouponsAsyncWithHttpInfo(applicationId, campaignId, body); return localVarResponse.Data; } /// - /// Create notification about campaign-related changes Create a [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). A notification about campaign-related changes is different from regular webhooks in that it is Application-scoped and has a predefined payload. [Regular webhooks](https://docs.talon.one/docs/dev/getting-started/webhooks) have user-definable payloads. **Tip:** - You can create these notifications using the Campaign Manager. See [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). - You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_created/post). + /// Create coupons asynchronously Create up to 5,000,000 coupons asynchronously. You should typically use this enpdoint when you create at least 20,001 coupons. You receive an email when the creation is complete. If you want to create less than 20,001 coupons, you can use the [Create coupons](https://docs.talon.one/management-api#tag/Coupons/operation/createCoupons) endpoint. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of NotificationWebhook - public TalonOne.Client.ApiResponse< NotificationWebhook > CreateNotificationWebhookWithHttpInfo (int applicationId, NewNotificationWebhook body) + /// ApiResponse of AsyncCouponCreationResponse + public TalonOne.Client.ApiResponse< AsyncCouponCreationResponse > CreateCouponsAsyncWithHttpInfo (int applicationId, int campaignId, NewCouponCreationJob body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateNotificationWebhook"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCouponsAsync"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8891,6 +10057,7 @@ public TalonOne.Client.ApiResponse< NotificationWebhook > CreateNotificationWebh if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -8915,12 +10082,12 @@ public TalonOne.Client.ApiResponse< NotificationWebhook > CreateNotificationWebh } // make the HTTP request - var localVarResponse = this.Client.Post< NotificationWebhook >("/v1/applications/{applicationId}/notification_webhooks", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< AsyncCouponCreationResponse >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_async", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateNotificationWebhook", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateCouponsAsync", localVarResponse); if (_exception != null) throw _exception; } @@ -8928,31 +10095,33 @@ public TalonOne.Client.ApiResponse< NotificationWebhook > CreateNotificationWebh } /// - /// Create notification about campaign-related changes Create a [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). A notification about campaign-related changes is different from regular webhooks in that it is Application-scoped and has a predefined payload. [Regular webhooks](https://docs.talon.one/docs/dev/getting-started/webhooks) have user-definable payloads. **Tip:** - You can create these notifications using the Campaign Manager. See [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). - You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_created/post). + /// Create coupons asynchronously Create up to 5,000,000 coupons asynchronously. You should typically use this enpdoint when you create at least 20,001 coupons. You receive an email when the creation is complete. If you want to create less than 20,001 coupons, you can use the [Create coupons](https://docs.talon.one/management-api#tag/Coupons/operation/createCoupons) endpoint. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of NotificationWebhook - public async System.Threading.Tasks.Task CreateNotificationWebhookAsync (int applicationId, NewNotificationWebhook body) + /// Task of AsyncCouponCreationResponse + public async System.Threading.Tasks.Task CreateCouponsAsyncAsync (int applicationId, int campaignId, NewCouponCreationJob body) { - TalonOne.Client.ApiResponse localVarResponse = await CreateNotificationWebhookAsyncWithHttpInfo(applicationId, body); + TalonOne.Client.ApiResponse localVarResponse = await CreateCouponsAsyncAsyncWithHttpInfo(applicationId, campaignId, body); return localVarResponse.Data; } /// - /// Create notification about campaign-related changes Create a [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). A notification about campaign-related changes is different from regular webhooks in that it is Application-scoped and has a predefined payload. [Regular webhooks](https://docs.talon.one/docs/dev/getting-started/webhooks) have user-definable payloads. **Tip:** - You can create these notifications using the Campaign Manager. See [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). - You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_created/post). + /// Create coupons asynchronously Create up to 5,000,000 coupons asynchronously. You should typically use this enpdoint when you create at least 20,001 coupons. You receive an email when the creation is complete. If you want to create less than 20,001 coupons, you can use the [Create coupons](https://docs.talon.one/management-api#tag/Coupons/operation/createCoupons) endpoint. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (NotificationWebhook) - public async System.Threading.Tasks.Task> CreateNotificationWebhookAsyncWithHttpInfo (int applicationId, NewNotificationWebhook body) + /// Task of ApiResponse (AsyncCouponCreationResponse) + public async System.Threading.Tasks.Task> CreateCouponsAsyncAsyncWithHttpInfo (int applicationId, int campaignId, NewCouponCreationJob body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateNotificationWebhook"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCouponsAsync"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -8973,6 +10142,7 @@ public async System.Threading.Tasks.Task CreateNotification localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -8998,12 +10168,12 @@ public async System.Threading.Tasks.Task CreateNotification // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/notification_webhooks", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_async", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateNotificationWebhook", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateCouponsAsync", localVarResponse); if (_exception != null) throw _exception; } @@ -9011,28 +10181,34 @@ public async System.Threading.Tasks.Task CreateNotification } /// - /// Request a password reset Send an email with a password recovery link to the email address of an existing account. **Note:** The password recovery link expires 30 minutes after this endpoint is triggered. + /// Create coupons for multiple recipients Create coupons according to some pattern for up to 1000 recipients. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// NewPasswordEmail - public NewPasswordEmail CreatePasswordRecoveryEmail (NewPasswordEmail body) + /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") + /// InlineResponse2008 + public InlineResponse2008 CreateCouponsForMultipleRecipients (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = CreatePasswordRecoveryEmailWithHttpInfo(body); + TalonOne.Client.ApiResponse localVarResponse = CreateCouponsForMultipleRecipientsWithHttpInfo(applicationId, campaignId, body, silent); return localVarResponse.Data; } /// - /// Request a password reset Send an email with a password recovery link to the email address of an existing account. **Note:** The password recovery link expires 30 minutes after this endpoint is triggered. + /// Create coupons for multiple recipients Create coupons according to some pattern for up to 1000 recipients. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of NewPasswordEmail - public TalonOne.Client.ApiResponse< NewPasswordEmail > CreatePasswordRecoveryEmailWithHttpInfo (NewPasswordEmail body) + /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") + /// ApiResponse of InlineResponse2008 + public TalonOne.Client.ApiResponse< InlineResponse2008 > CreateCouponsForMultipleRecipientsWithHttpInfo (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreatePasswordRecoveryEmail"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCouponsForMultipleRecipients"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -9051,6 +10227,12 @@ public TalonOne.Client.ApiResponse< NewPasswordEmail > CreatePasswordRecoveryEma var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (silent != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "silent", silent)); + } localVarRequestOptions.Data = body; // authentication (management_key) required @@ -9075,12 +10257,12 @@ public TalonOne.Client.ApiResponse< NewPasswordEmail > CreatePasswordRecoveryEma } // make the HTTP request - var localVarResponse = this.Client.Post< NewPasswordEmail >("/v1/password_recovery_emails", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< InlineResponse2008 >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_with_recipients", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreatePasswordRecoveryEmail", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateCouponsForMultipleRecipients", localVarResponse); if (_exception != null) throw _exception; } @@ -9088,29 +10270,35 @@ public TalonOne.Client.ApiResponse< NewPasswordEmail > CreatePasswordRecoveryEma } /// - /// Request a password reset Send an email with a password recovery link to the email address of an existing account. **Note:** The password recovery link expires 30 minutes after this endpoint is triggered. + /// Create coupons for multiple recipients Create coupons according to some pattern for up to 1000 recipients. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of NewPasswordEmail - public async System.Threading.Tasks.Task CreatePasswordRecoveryEmailAsync (NewPasswordEmail body) + /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") + /// Task of InlineResponse2008 + public async System.Threading.Tasks.Task CreateCouponsForMultipleRecipientsAsync (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await CreatePasswordRecoveryEmailAsyncWithHttpInfo(body); + TalonOne.Client.ApiResponse localVarResponse = await CreateCouponsForMultipleRecipientsAsyncWithHttpInfo(applicationId, campaignId, body, silent); return localVarResponse.Data; } /// - /// Request a password reset Send an email with a password recovery link to the email address of an existing account. **Note:** The password recovery link expires 30 minutes after this endpoint is triggered. + /// Create coupons for multiple recipients Create coupons according to some pattern for up to 1000 recipients. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (NewPasswordEmail) - public async System.Threading.Tasks.Task> CreatePasswordRecoveryEmailAsyncWithHttpInfo (NewPasswordEmail body) + /// Possible values: `yes` or `no`. - `yes`: Increases the perfomance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to "yes") + /// Task of ApiResponse (InlineResponse2008) + public async System.Threading.Tasks.Task> CreateCouponsForMultipleRecipientsAsyncWithHttpInfo (int applicationId, int campaignId, NewCouponsForMultipleRecipients body, string silent = default(string)) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreatePasswordRecoveryEmail"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateCouponsForMultipleRecipients"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -9130,6 +10318,12 @@ public async System.Threading.Tasks.Task CreatePasswordRecover foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (silent != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "silent", silent)); + } localVarRequestOptions.Data = body; // authentication (management_key) required @@ -9155,12 +10349,12 @@ public async System.Threading.Tasks.Task CreatePasswordRecover // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/password_recovery_emails", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_with_recipients", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreatePasswordRecoveryEmail", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateCouponsForMultipleRecipients", localVarResponse); if (_exception != null) throw _exception; } @@ -9168,28 +10362,28 @@ public async System.Threading.Tasks.Task CreatePasswordRecover } /// - /// Create session Create a session to use the Management API endpoints. Use the value of the `token` property provided in the response as bearer token in other API calls. A token is valid for 3 months. In accordance with best pratices, use your generated token for all your API requests. Do **not** regenerate a token for each request. This endpoint has a rate limit of 3 to 6 requests per second per account, depending on your setup. <div class=\"redoc-section\"> <p class=\"title\">Granular API key</p> Instead of using a session, you can also use the <a href=\"https://docs.talon.one/docs/product/account/dev-tools/managing-mapi-keys\">Management API key feature</a> in the Campaign Manager to decide which endpoints can be used with a given key. </div> + /// Resend invitation email Resend an email invitation to an existing user. **Note:** The invitation token is valid for 24 hours after the email has been sent. /// /// Thrown when fails to make API call /// body - /// Session - public Session CreateSession (LoginParams body) + /// NewInviteEmail + public NewInviteEmail CreateInviteEmail (NewInviteEmail body) { - TalonOne.Client.ApiResponse localVarResponse = CreateSessionWithHttpInfo(body); + TalonOne.Client.ApiResponse localVarResponse = CreateInviteEmailWithHttpInfo(body); return localVarResponse.Data; } /// - /// Create session Create a session to use the Management API endpoints. Use the value of the `token` property provided in the response as bearer token in other API calls. A token is valid for 3 months. In accordance with best pratices, use your generated token for all your API requests. Do **not** regenerate a token for each request. This endpoint has a rate limit of 3 to 6 requests per second per account, depending on your setup. <div class=\"redoc-section\"> <p class=\"title\">Granular API key</p> Instead of using a session, you can also use the <a href=\"https://docs.talon.one/docs/product/account/dev-tools/managing-mapi-keys\">Management API key feature</a> in the Campaign Manager to decide which endpoints can be used with a given key. </div> + /// Resend invitation email Resend an email invitation to an existing user. **Note:** The invitation token is valid for 24 hours after the email has been sent. /// /// Thrown when fails to make API call /// body - /// ApiResponse of Session - public TalonOne.Client.ApiResponse< Session > CreateSessionWithHttpInfo (LoginParams body) + /// ApiResponse of NewInviteEmail + public TalonOne.Client.ApiResponse< NewInviteEmail > CreateInviteEmailWithHttpInfo (NewInviteEmail body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateSession"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateInviteEmail"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -9232,12 +10426,12 @@ public TalonOne.Client.ApiResponse< Session > CreateSessionWithHttpInfo (LoginPa } // make the HTTP request - var localVarResponse = this.Client.Post< Session >("/v1/sessions", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< NewInviteEmail >("/v1/invite_emails", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateSession", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateInviteEmail", localVarResponse); if (_exception != null) throw _exception; } @@ -9245,29 +10439,29 @@ public TalonOne.Client.ApiResponse< Session > CreateSessionWithHttpInfo (LoginPa } /// - /// Create session Create a session to use the Management API endpoints. Use the value of the `token` property provided in the response as bearer token in other API calls. A token is valid for 3 months. In accordance with best pratices, use your generated token for all your API requests. Do **not** regenerate a token for each request. This endpoint has a rate limit of 3 to 6 requests per second per account, depending on your setup. <div class=\"redoc-section\"> <p class=\"title\">Granular API key</p> Instead of using a session, you can also use the <a href=\"https://docs.talon.one/docs/product/account/dev-tools/managing-mapi-keys\">Management API key feature</a> in the Campaign Manager to decide which endpoints can be used with a given key. </div> + /// Resend invitation email Resend an email invitation to an existing user. **Note:** The invitation token is valid for 24 hours after the email has been sent. /// /// Thrown when fails to make API call /// body - /// Task of Session - public async System.Threading.Tasks.Task CreateSessionAsync (LoginParams body) + /// Task of NewInviteEmail + public async System.Threading.Tasks.Task CreateInviteEmailAsync (NewInviteEmail body) { - TalonOne.Client.ApiResponse localVarResponse = await CreateSessionAsyncWithHttpInfo(body); + TalonOne.Client.ApiResponse localVarResponse = await CreateInviteEmailAsyncWithHttpInfo(body); return localVarResponse.Data; } /// - /// Create session Create a session to use the Management API endpoints. Use the value of the `token` property provided in the response as bearer token in other API calls. A token is valid for 3 months. In accordance with best pratices, use your generated token for all your API requests. Do **not** regenerate a token for each request. This endpoint has a rate limit of 3 to 6 requests per second per account, depending on your setup. <div class=\"redoc-section\"> <p class=\"title\">Granular API key</p> Instead of using a session, you can also use the <a href=\"https://docs.talon.one/docs/product/account/dev-tools/managing-mapi-keys\">Management API key feature</a> in the Campaign Manager to decide which endpoints can be used with a given key. </div> + /// Resend invitation email Resend an email invitation to an existing user. **Note:** The invitation token is valid for 24 hours after the email has been sent. /// /// Thrown when fails to make API call /// body - /// Task of ApiResponse (Session) - public async System.Threading.Tasks.Task> CreateSessionAsyncWithHttpInfo (LoginParams body) + /// Task of ApiResponse (NewInviteEmail) + public async System.Threading.Tasks.Task> CreateInviteEmailAsyncWithHttpInfo (NewInviteEmail body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateSession"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateInviteEmail"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -9312,12 +10506,12 @@ public async System.Threading.Tasks.Task CreateSessionAsync (LoginParam // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/sessions", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/invite_emails", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("CreateSession", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateInviteEmail", localVarResponse); if (_exception != null) throw _exception; } @@ -9325,35 +10519,28 @@ public async System.Threading.Tasks.Task CreateSessionAsync (LoginParam } /// - /// Deduct points from card Deduct points from the given loyalty card in the specified card-based loyalty program. + /// Invite user Create a new user in the account and send an invitation to their email address. **Note**: The invitation token is valid for 24 hours after the email has been sent. You can resend an invitation to a user with the [Resend invitation email](https://docs.talon.one/management-api#tag/Accounts-and-users/operation/createInviteEmail) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// - public void DeductLoyaltyCardPoints (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body) + /// User + public User CreateInviteV2 (NewInvitation body) { - DeductLoyaltyCardPointsWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); + TalonOne.Client.ApiResponse localVarResponse = CreateInviteV2WithHttpInfo(body); + return localVarResponse.Data; } /// - /// Deduct points from card Deduct points from the given loyalty card in the specified card-based loyalty program. + /// Invite user Create a new user in the account and send an invitation to their email address. **Note**: The invitation token is valid for 24 hours after the email has been sent. You can resend an invitation to a user with the [Resend invitation email](https://docs.talon.one/management-api#tag/Accounts-and-users/operation/createInviteEmail) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse DeductLoyaltyCardPointsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body) + /// ApiResponse of User + public TalonOne.Client.ApiResponse< User > CreateInviteV2WithHttpInfo (NewInvitation body) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->DeductLoyaltyCardPoints"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->DeductLoyaltyCardPoints"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateInviteV2"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -9372,8 +10559,6 @@ public TalonOne.Client.ApiResponse DeductLoyaltyCardPointsWithHttpInfo ( var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -9398,12 +10583,12 @@ public TalonOne.Client.ApiResponse DeductLoyaltyCardPointsWithHttpInfo ( } // make the HTTP request - var localVarResponse = this.Client.Put("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/deduct_points", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< User >("/v2/invites", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeductLoyaltyCardPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateInviteV2", localVarResponse); if (_exception != null) throw _exception; } @@ -9411,36 +10596,29 @@ public TalonOne.Client.ApiResponse DeductLoyaltyCardPointsWithHttpInfo ( } /// - /// Deduct points from card Deduct points from the given loyalty card in the specified card-based loyalty program. + /// Invite user Create a new user in the account and send an invitation to their email address. **Note**: The invitation token is valid for 24 hours after the email has been sent. You can resend an invitation to a user with the [Resend invitation email](https://docs.talon.one/management-api#tag/Accounts-and-users/operation/createInviteEmail) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// Task of void - public async System.Threading.Tasks.Task DeductLoyaltyCardPointsAsync (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body) + /// Task of User + public async System.Threading.Tasks.Task CreateInviteV2Async (NewInvitation body) { - await DeductLoyaltyCardPointsAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); + TalonOne.Client.ApiResponse localVarResponse = await CreateInviteV2AsyncWithHttpInfo(body); + return localVarResponse.Data; } /// - /// Deduct points from card Deduct points from the given loyalty card in the specified card-based loyalty program. + /// Invite user Create a new user in the account and send an invitation to their email address. **Note**: The invitation token is valid for 24 hours after the email has been sent. You can resend an invitation to a user with the [Resend invitation email](https://docs.talon.one/management-api#tag/Accounts-and-users/operation/createInviteEmail) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeductLoyaltyCardPointsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body) + /// Task of ApiResponse (User) + public async System.Threading.Tasks.Task> CreateInviteV2AsyncWithHttpInfo (NewInvitation body) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->DeductLoyaltyCardPoints"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->DeductLoyaltyCardPoints"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateInviteV2"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -9460,8 +10638,6 @@ public async System.Threading.Tasks.Task DeductLoyaltyCardPointsAsync (int loyal foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -9487,12 +10663,12 @@ public async System.Threading.Tasks.Task DeductLoyaltyCardPointsAsync (int loyal // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/deduct_points", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v2/invites", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeductLoyaltyCardPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateInviteV2", localVarResponse); if (_exception != null) throw _exception; } @@ -9500,27 +10676,33 @@ public async System.Threading.Tasks.Task DeductLoyaltyCardPointsAsync (int loyal } /// - /// Delete account-level collection Delete the given account-level collection. + /// Request a password reset Send an email with a password recovery link to the email address of an existing account. **Note:** The password recovery link expires 30 minutes after this endpoint is triggered. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// - public void DeleteAccountCollection (int collectionId) + /// body + /// NewPasswordEmail + public NewPasswordEmail CreatePasswordRecoveryEmail (NewPasswordEmail body) { - DeleteAccountCollectionWithHttpInfo(collectionId); + TalonOne.Client.ApiResponse localVarResponse = CreatePasswordRecoveryEmailWithHttpInfo(body); + return localVarResponse.Data; } /// - /// Delete account-level collection Delete the given account-level collection. + /// Request a password reset Send an email with a password recovery link to the email address of an existing account. **Note:** The password recovery link expires 30 minutes after this endpoint is triggered. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse DeleteAccountCollectionWithHttpInfo (int collectionId) + /// body + /// ApiResponse of NewPasswordEmail + public TalonOne.Client.ApiResponse< NewPasswordEmail > CreatePasswordRecoveryEmailWithHttpInfo (NewPasswordEmail body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreatePasswordRecoveryEmail"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -9534,7 +10716,7 @@ public TalonOne.Client.ApiResponse DeleteAccountCollectionWithHttpInfo ( var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -9558,12 +10740,12 @@ public TalonOne.Client.ApiResponse DeleteAccountCollectionWithHttpInfo ( } // make the HTTP request - var localVarResponse = this.Client.Delete("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< NewPasswordEmail >("/v1/password_recovery_emails", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteAccountCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("CreatePasswordRecoveryEmail", localVarResponse); if (_exception != null) throw _exception; } @@ -9571,29 +10753,35 @@ public TalonOne.Client.ApiResponse DeleteAccountCollectionWithHttpInfo ( } /// - /// Delete account-level collection Delete the given account-level collection. + /// Request a password reset Send an email with a password recovery link to the email address of an existing account. **Note:** The password recovery link expires 30 minutes after this endpoint is triggered. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of void - public async System.Threading.Tasks.Task DeleteAccountCollectionAsync (int collectionId) + /// body + /// Task of NewPasswordEmail + public async System.Threading.Tasks.Task CreatePasswordRecoveryEmailAsync (NewPasswordEmail body) { - await DeleteAccountCollectionAsyncWithHttpInfo(collectionId); + TalonOne.Client.ApiResponse localVarResponse = await CreatePasswordRecoveryEmailAsyncWithHttpInfo(body); + return localVarResponse.Data; } /// - /// Delete account-level collection Delete the given account-level collection. + /// Request a password reset Send an email with a password recovery link to the email address of an existing account. **Note:** The password recovery link expires 30 minutes after this endpoint is triggered. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeleteAccountCollectionAsyncWithHttpInfo (int collectionId) + /// body + /// Task of ApiResponse (NewPasswordEmail) + public async System.Threading.Tasks.Task> CreatePasswordRecoveryEmailAsyncWithHttpInfo (NewPasswordEmail body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreatePasswordRecoveryEmail"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -9607,7 +10795,7 @@ public async System.Threading.Tasks.Task DeleteAccountCollectionAsync (int colle foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -9632,12 +10820,12 @@ public async System.Threading.Tasks.Task DeleteAccountCollectionAsync (int colle // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/password_recovery_emails", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteAccountCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("CreatePasswordRecoveryEmail", localVarResponse); if (_exception != null) throw _exception; } @@ -9645,33 +10833,38 @@ public async System.Threading.Tasks.Task DeleteAccountCollectionAsync (int colle } /// - /// Delete campaign Delete the given campaign. + /// Create session Create a session to use the Management API endpoints. Use the value of the `token` property provided in the response as bearer token in other API calls. A token is valid for 3 months. In accordance with best pratices, use your generated token for all your API requests. Do **not** regenerate a token for each request. This endpoint has a rate limit of 3 to 6 requests per second per account, depending on your setup. <div class=\"redoc-section\"> <p class=\"title\">Granular API key</p> Instead of using a session, you can also use the <a href=\"https://docs.talon.one/docs/product/account/dev-tools/managing-mapi-keys\">Management API key feature</a> in the Campaign Manager to decide which endpoints can be used with a given key. </div> /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// - public void DeleteCampaign (int applicationId, int campaignId) + /// body + /// Session + public Session CreateSession (LoginParams body) { - DeleteCampaignWithHttpInfo(applicationId, campaignId); + TalonOne.Client.ApiResponse localVarResponse = CreateSessionWithHttpInfo(body); + return localVarResponse.Data; } /// - /// Delete campaign Delete the given campaign. + /// Create session Create a session to use the Management API endpoints. Use the value of the `token` property provided in the response as bearer token in other API calls. A token is valid for 3 months. In accordance with best pratices, use your generated token for all your API requests. Do **not** regenerate a token for each request. This endpoint has a rate limit of 3 to 6 requests per second per account, depending on your setup. <div class=\"redoc-section\"> <p class=\"title\">Granular API key</p> Instead of using a session, you can also use the <a href=\"https://docs.talon.one/docs/product/account/dev-tools/managing-mapi-keys\">Management API key feature</a> in the Campaign Manager to decide which endpoints can be used with a given key. </div> /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse DeleteCampaignWithHttpInfo (int applicationId, int campaignId) + /// body + /// ApiResponse of Session + public TalonOne.Client.ApiResponse< Session > CreateSessionWithHttpInfo (LoginParams body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateSession"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header String[] _accepts = new String[] { + "application/json" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -9680,8 +10873,7 @@ public TalonOne.Client.ApiResponse DeleteCampaignWithHttpInfo (int appli var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -9705,12 +10897,12 @@ public TalonOne.Client.ApiResponse DeleteCampaignWithHttpInfo (int appli } // make the HTTP request - var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Session >("/v1/sessions", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteCampaign", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateSession", localVarResponse); if (_exception != null) throw _exception; } @@ -9718,35 +10910,40 @@ public TalonOne.Client.ApiResponse DeleteCampaignWithHttpInfo (int appli } /// - /// Delete campaign Delete the given campaign. + /// Create session Create a session to use the Management API endpoints. Use the value of the `token` property provided in the response as bearer token in other API calls. A token is valid for 3 months. In accordance with best pratices, use your generated token for all your API requests. Do **not** regenerate a token for each request. This endpoint has a rate limit of 3 to 6 requests per second per account, depending on your setup. <div class=\"redoc-section\"> <p class=\"title\">Granular API key</p> Instead of using a session, you can also use the <a href=\"https://docs.talon.one/docs/product/account/dev-tools/managing-mapi-keys\">Management API key feature</a> in the Campaign Manager to decide which endpoints can be used with a given key. </div> /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Task of void - public async System.Threading.Tasks.Task DeleteCampaignAsync (int applicationId, int campaignId) + /// body + /// Task of Session + public async System.Threading.Tasks.Task CreateSessionAsync (LoginParams body) { - await DeleteCampaignAsyncWithHttpInfo(applicationId, campaignId); + TalonOne.Client.ApiResponse localVarResponse = await CreateSessionAsyncWithHttpInfo(body); + return localVarResponse.Data; } /// - /// Delete campaign Delete the given campaign. + /// Create session Create a session to use the Management API endpoints. Use the value of the `token` property provided in the response as bearer token in other API calls. A token is valid for 3 months. In accordance with best pratices, use your generated token for all your API requests. Do **not** regenerate a token for each request. This endpoint has a rate limit of 3 to 6 requests per second per account, depending on your setup. <div class=\"redoc-section\"> <p class=\"title\">Granular API key</p> Instead of using a session, you can also use the <a href=\"https://docs.talon.one/docs/product/account/dev-tools/managing-mapi-keys\">Management API key feature</a> in the Campaign Manager to decide which endpoints can be used with a given key. </div> /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeleteCampaignAsyncWithHttpInfo (int applicationId, int campaignId) + /// body + /// Task of ApiResponse (Session) + public async System.Threading.Tasks.Task> CreateSessionAsyncWithHttpInfo (LoginParams body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateSession"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header String[] _accepts = new String[] { + "application/json" }; foreach (var _contentType in _contentTypes) @@ -9755,8 +10952,7 @@ public async System.Threading.Tasks.Task DeleteCampaignAsync (int applicationId, foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -9781,12 +10977,12 @@ public async System.Threading.Tasks.Task DeleteCampaignAsync (int applicationId, // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/sessions", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteCampaign", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateSession", localVarResponse); if (_exception != null) throw _exception; } @@ -9794,31 +10990,35 @@ public async System.Threading.Tasks.Task DeleteCampaignAsync (int applicationId, } /// - /// Delete collection Delete the given collection. + /// Create store Create a new store in a specific Application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// - public void DeleteCollection (int applicationId, int campaignId, int collectionId) + /// body + /// Store + public Store CreateStore (int applicationId, NewStore body) { - DeleteCollectionWithHttpInfo(applicationId, campaignId, collectionId); + TalonOne.Client.ApiResponse localVarResponse = CreateStoreWithHttpInfo(applicationId, body); + return localVarResponse.Data; } /// - /// Delete collection Delete the given collection. + /// Create store Create a new store in a specific Application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse DeleteCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId) + /// body + /// ApiResponse of Store + public TalonOne.Client.ApiResponse< Store > CreateStoreWithHttpInfo (int applicationId, NewStore body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateStore"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -9833,8 +11033,7 @@ public TalonOne.Client.ApiResponse DeleteCollectionWithHttpInfo (int app if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -9858,12 +11057,12 @@ public TalonOne.Client.ApiResponse DeleteCollectionWithHttpInfo (int app } // make the HTTP request - var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Store >("/v1/applications/{applicationId}/stores", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateStore", localVarResponse); if (_exception != null) throw _exception; } @@ -9871,33 +11070,37 @@ public TalonOne.Client.ApiResponse DeleteCollectionWithHttpInfo (int app } /// - /// Delete collection Delete the given collection. + /// Create store Create a new store in a specific Application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of void - public async System.Threading.Tasks.Task DeleteCollectionAsync (int applicationId, int campaignId, int collectionId) + /// body + /// Task of Store + public async System.Threading.Tasks.Task CreateStoreAsync (int applicationId, NewStore body) { - await DeleteCollectionAsyncWithHttpInfo(applicationId, campaignId, collectionId); + TalonOne.Client.ApiResponse localVarResponse = await CreateStoreAsyncWithHttpInfo(applicationId, body); + return localVarResponse.Data; } /// - /// Delete collection Delete the given collection. + /// Create store Create a new store in a specific Application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeleteCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId) + /// body + /// Task of ApiResponse (Store) + public async System.Threading.Tasks.Task> CreateStoreAsyncWithHttpInfo (int applicationId, NewStore body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->CreateStore"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -9912,8 +11115,7 @@ public async System.Threading.Tasks.Task DeleteCollectionAsync (int applicationI localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -9938,12 +11140,12 @@ public async System.Threading.Tasks.Task DeleteCollectionAsync (int applicationI // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/stores", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("CreateStore", localVarResponse); if (_exception != null) throw _exception; } @@ -9951,35 +11153,32 @@ public async System.Threading.Tasks.Task DeleteCollectionAsync (int applicationI } /// - /// Delete coupon Delete the specified coupon. + /// Deactivate user by email address Deactivate a specific user by their email address. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// body /// - public void DeleteCoupon (int applicationId, int campaignId, string couponId) + public void DeactivateUserByEmail (DeactivateUserRequest body) { - DeleteCouponWithHttpInfo(applicationId, campaignId, couponId); + DeactivateUserByEmailWithHttpInfo(body); } /// - /// Delete coupon Delete the specified coupon. + /// Deactivate user by email address Deactivate a specific user by their email address. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// body /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse DeleteCouponWithHttpInfo (int applicationId, int campaignId, string couponId) + public TalonOne.Client.ApiResponse DeactivateUserByEmailWithHttpInfo (DeactivateUserRequest body) { - // verify the required parameter 'couponId' is set - if (couponId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'couponId' when calling ManagementApi->DeleteCoupon"); + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->DeactivateUserByEmail"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -9992,9 +11191,7 @@ public TalonOne.Client.ApiResponse DeleteCouponWithHttpInfo (int applica var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("couponId", TalonOne.Client.ClientUtils.ParameterToString(couponId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -10018,12 +11215,12 @@ public TalonOne.Client.ApiResponse DeleteCouponWithHttpInfo (int applica } // make the HTTP request - var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post("/v1/users/deactivate", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteCoupon", localVarResponse); + Exception _exception = this.ExceptionFactory("DeactivateUserByEmail", localVarResponse); if (_exception != null) throw _exception; } @@ -10031,37 +11228,34 @@ public TalonOne.Client.ApiResponse DeleteCouponWithHttpInfo (int applica } /// - /// Delete coupon Delete the specified coupon. + /// Deactivate user by email address Deactivate a specific user by their email address. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// body /// Task of void - public async System.Threading.Tasks.Task DeleteCouponAsync (int applicationId, int campaignId, string couponId) + public async System.Threading.Tasks.Task DeactivateUserByEmailAsync (DeactivateUserRequest body) { - await DeleteCouponAsyncWithHttpInfo(applicationId, campaignId, couponId); + await DeactivateUserByEmailAsyncWithHttpInfo(body); } /// - /// Delete coupon Delete the specified coupon. + /// Deactivate user by email address Deactivate a specific user by their email address. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// body /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeleteCouponAsyncWithHttpInfo (int applicationId, int campaignId, string couponId) + public async System.Threading.Tasks.Task> DeactivateUserByEmailAsyncWithHttpInfo (DeactivateUserRequest body) { - // verify the required parameter 'couponId' is set - if (couponId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'couponId' when calling ManagementApi->DeleteCoupon"); - + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->DeactivateUserByEmail"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -10074,9 +11268,7 @@ public async System.Threading.Tasks.Task DeleteCouponAsync (int applicationId, i foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("couponId", TalonOne.Client.ClientUtils.ParameterToString(couponId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -10101,12 +11293,12 @@ public async System.Threading.Tasks.Task DeleteCouponAsync (int applicationId, i // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/users/deactivate", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteCoupon", localVarResponse); + Exception _exception = this.ExceptionFactory("DeactivateUserByEmail", localVarResponse); if (_exception != null) throw _exception; } @@ -10114,59 +11306,45 @@ public async System.Threading.Tasks.Task DeleteCouponAsync (int applicationId, i } /// - /// Delete coupons Deletes all the coupons matching the specified criteria. + /// Deduct points from card Deduct points from the given loyalty card in the specified card-based loyalty program. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) - /// Filter results by batches of coupons (optional) - /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// body /// - public void DeleteCoupons (int applicationId, int campaignId, string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), DateTime? startsAfter = default(DateTime?), DateTime? startsBefore = default(DateTime?), DateTime? expiresAfter = default(DateTime?), DateTime? expiresBefore = default(DateTime?), string valid = default(string), string batchId = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?)) + public void DeductLoyaltyCardPoints (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body) { - DeleteCouponsWithHttpInfo(applicationId, campaignId, value, createdBefore, createdAfter, startsAfter, startsBefore, expiresAfter, expiresBefore, valid, batchId, usable, referralId, recipientIntegrationId, exactMatch); + DeductLoyaltyCardPointsWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); } /// - /// Delete coupons Deletes all the coupons matching the specified criteria. + /// Deduct points from card Deduct points from the given loyalty card in the specified card-based loyalty program. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) - /// Filter results by batches of coupons (optional) - /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// body /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse DeleteCouponsWithHttpInfo (int applicationId, int campaignId, string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), DateTime? startsAfter = default(DateTime?), DateTime? startsBefore = default(DateTime?), DateTime? expiresAfter = default(DateTime?), DateTime? expiresBefore = default(DateTime?), string valid = default(string), string batchId = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?)) + public TalonOne.Client.ApiResponse DeductLoyaltyCardPointsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body) { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->DeductLoyaltyCardPoints"); + + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->DeductLoyaltyCardPoints"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header String[] _accepts = new String[] { + "application/json" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -10175,60 +11353,9 @@ public async System.Threading.Tasks.Task DeleteCouponAsync (int applicationId, i var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (value != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (startsAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startsAfter", startsAfter)); - } - if (startsBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startsBefore", startsBefore)); - } - if (expiresAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "expiresAfter", expiresAfter)); - } - if (expiresBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "expiresBefore", expiresBefore)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (batchId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (referralId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); - } - if (recipientIntegrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); - } - if (exactMatch != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); - } + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -10252,12 +11379,12 @@ public async System.Threading.Tasks.Task DeleteCouponAsync (int applicationId, i } // make the HTTP request - var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/deduct_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteCoupons", localVarResponse); + Exception _exception = this.ExceptionFactory("DeductLoyaltyCardPoints", localVarResponse); if (_exception != null) throw _exception; } @@ -10265,61 +11392,47 @@ public async System.Threading.Tasks.Task DeleteCouponAsync (int applicationId, i } /// - /// Delete coupons Deletes all the coupons matching the specified criteria. + /// Deduct points from card Deduct points from the given loyalty card in the specified card-based loyalty program. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) - /// Filter results by batches of coupons (optional) - /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// body /// Task of void - public async System.Threading.Tasks.Task DeleteCouponsAsync (int applicationId, int campaignId, string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), DateTime? startsAfter = default(DateTime?), DateTime? startsBefore = default(DateTime?), DateTime? expiresAfter = default(DateTime?), DateTime? expiresBefore = default(DateTime?), string valid = default(string), string batchId = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?)) + public async System.Threading.Tasks.Task DeductLoyaltyCardPointsAsync (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body) { - await DeleteCouponsAsyncWithHttpInfo(applicationId, campaignId, value, createdBefore, createdAfter, startsAfter, startsBefore, expiresAfter, expiresBefore, valid, batchId, usable, referralId, recipientIntegrationId, exactMatch); + await DeductLoyaltyCardPointsAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); } /// - /// Delete coupons Deletes all the coupons matching the specified criteria. + /// Deduct points from card Deduct points from the given loyalty card in the specified card-based loyalty program. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) - /// Filter results by batches of coupons (optional) - /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// body /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeleteCouponsAsyncWithHttpInfo (int applicationId, int campaignId, string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), DateTime? startsAfter = default(DateTime?), DateTime? startsBefore = default(DateTime?), DateTime? expiresAfter = default(DateTime?), DateTime? expiresBefore = default(DateTime?), string valid = default(string), string batchId = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?)) + public async System.Threading.Tasks.Task> DeductLoyaltyCardPointsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DeductLoyaltyPoints body) { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->DeductLoyaltyCardPoints"); + + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->DeductLoyaltyCardPoints"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header String[] _accepts = new String[] { + "application/json" }; foreach (var _contentType in _contentTypes) @@ -10328,60 +11441,9 @@ public async System.Threading.Tasks.Task DeleteCouponAsync (int applicationId, i foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (value != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (startsAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startsAfter", startsAfter)); - } - if (startsBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startsBefore", startsBefore)); - } - if (expiresAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "expiresAfter", expiresAfter)); - } - if (expiresBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "expiresBefore", expiresBefore)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (batchId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (referralId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); - } - if (recipientIntegrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); - } - if (exactMatch != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); - } + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -10406,12 +11468,12 @@ public async System.Threading.Tasks.Task DeleteCouponAsync (int applicationId, i // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/deduct_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteCoupons", localVarResponse); + Exception _exception = this.ExceptionFactory("DeductLoyaltyCardPoints", localVarResponse); if (_exception != null) throw _exception; } @@ -10419,30 +11481,24 @@ public async System.Threading.Tasks.Task DeleteCouponAsync (int applicationId, i } /// - /// Delete loyalty card Delete the given loyalty card. + /// Delete account-level collection Delete a given account-level collection. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// - public void DeleteLoyaltyCard (int loyaltyProgramId, string loyaltyCardId) + public void DeleteAccountCollection (int collectionId) { - DeleteLoyaltyCardWithHttpInfo(loyaltyProgramId, loyaltyCardId); + DeleteAccountCollectionWithHttpInfo(collectionId); } /// - /// Delete loyalty card Delete the given loyalty card. + /// Delete account-level collection Delete a given account-level collection. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse DeleteLoyaltyCardWithHttpInfo (int loyaltyProgramId, string loyaltyCardId) + public TalonOne.Client.ApiResponse DeleteAccountCollectionWithHttpInfo (int collectionId) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->DeleteLoyaltyCard"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -10459,8 +11515,7 @@ public TalonOne.Client.ApiResponse DeleteLoyaltyCardWithHttpInfo (int lo var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter // authentication (management_key) required if ( @@ -10484,12 +11539,12 @@ public TalonOne.Client.ApiResponse DeleteLoyaltyCardWithHttpInfo (int lo } // make the HTTP request - var localVarResponse = this.Client.Delete("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteLoyaltyCard", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteAccountCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -10497,31 +11552,25 @@ public TalonOne.Client.ApiResponse DeleteLoyaltyCardWithHttpInfo (int lo } /// - /// Delete loyalty card Delete the given loyalty card. + /// Delete account-level collection Delete a given account-level collection. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// Task of void - public async System.Threading.Tasks.Task DeleteLoyaltyCardAsync (int loyaltyProgramId, string loyaltyCardId) + public async System.Threading.Tasks.Task DeleteAccountCollectionAsync (int collectionId) { - await DeleteLoyaltyCardAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId); + await DeleteAccountCollectionAsyncWithHttpInfo(collectionId); } /// - /// Delete loyalty card Delete the given loyalty card. + /// Delete account-level collection Delete a given account-level collection. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeleteLoyaltyCardAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId) + public async System.Threading.Tasks.Task> DeleteAccountCollectionAsyncWithHttpInfo (int collectionId) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->DeleteLoyaltyCard"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -10539,8 +11588,7 @@ public async System.Threading.Tasks.Task DeleteLoyaltyCardAsync (int loyaltyProg foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter // authentication (management_key) required if ( @@ -10565,12 +11613,12 @@ public async System.Threading.Tasks.Task DeleteLoyaltyCardAsync (int loyaltyProg // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteLoyaltyCard", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteAccountCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -10578,25 +11626,27 @@ public async System.Threading.Tasks.Task DeleteLoyaltyCardAsync (int loyaltyProg } /// - /// Delete notification about campaign-related changes Remove the given existing [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// Delete achievement Delete the specified achievement. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// - public void DeleteNotificationWebhook (int applicationId, int notificationWebhookId) + public void DeleteAchievement (int applicationId, int campaignId, int achievementId) { - DeleteNotificationWebhookWithHttpInfo(applicationId, notificationWebhookId); + DeleteAchievementWithHttpInfo(applicationId, campaignId, achievementId); } /// - /// Delete notification about campaign-related changes Remove the given existing [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// Delete achievement Delete the specified achievement. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse DeleteNotificationWebhookWithHttpInfo (int applicationId, int notificationWebhookId) + public TalonOne.Client.ApiResponse DeleteAchievementWithHttpInfo (int applicationId, int campaignId, int achievementId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -10605,6 +11655,7 @@ public TalonOne.Client.ApiResponse DeleteNotificationWebhookWithHttpInfo // to determine the Accept header String[] _accepts = new String[] { + "application/json" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -10614,7 +11665,8 @@ public TalonOne.Client.ApiResponse DeleteNotificationWebhookWithHttpInfo if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("notificationWebhookId", TalonOne.Client.ClientUtils.ParameterToString(notificationWebhookId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("achievementId", TalonOne.Client.ClientUtils.ParameterToString(achievementId)); // path parameter // authentication (management_key) required if ( @@ -10638,12 +11690,12 @@ public TalonOne.Client.ApiResponse DeleteNotificationWebhookWithHttpInfo } // make the HTTP request - var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteNotificationWebhook", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteAchievement", localVarResponse); if (_exception != null) throw _exception; } @@ -10651,26 +11703,28 @@ public TalonOne.Client.ApiResponse DeleteNotificationWebhookWithHttpInfo } /// - /// Delete notification about campaign-related changes Remove the given existing [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// Delete achievement Delete the specified achievement. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// Task of void - public async System.Threading.Tasks.Task DeleteNotificationWebhookAsync (int applicationId, int notificationWebhookId) + public async System.Threading.Tasks.Task DeleteAchievementAsync (int applicationId, int campaignId, int achievementId) { - await DeleteNotificationWebhookAsyncWithHttpInfo(applicationId, notificationWebhookId); + await DeleteAchievementAsyncWithHttpInfo(applicationId, campaignId, achievementId); } /// - /// Delete notification about campaign-related changes Remove the given existing [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// Delete achievement Delete the specified achievement. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeleteNotificationWebhookAsyncWithHttpInfo (int applicationId, int notificationWebhookId) + public async System.Threading.Tasks.Task> DeleteAchievementAsyncWithHttpInfo (int applicationId, int campaignId, int achievementId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -10680,6 +11734,7 @@ public async System.Threading.Tasks.Task DeleteNotificationWebhookAsync (int app // to determine the Accept header String[] _accepts = new String[] { + "application/json" }; foreach (var _contentType in _contentTypes) @@ -10689,7 +11744,8 @@ public async System.Threading.Tasks.Task DeleteNotificationWebhookAsync (int app localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("notificationWebhookId", TalonOne.Client.ClientUtils.ParameterToString(notificationWebhookId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("achievementId", TalonOne.Client.ClientUtils.ParameterToString(achievementId)); // path parameter // authentication (management_key) required if ( @@ -10714,12 +11770,12 @@ public async System.Threading.Tasks.Task DeleteNotificationWebhookAsync (int app // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteNotificationWebhook", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteAchievement", localVarResponse); if (_exception != null) throw _exception; } @@ -10727,32 +11783,26 @@ public async System.Threading.Tasks.Task DeleteNotificationWebhookAsync (int app } /// - /// Delete referral Delete the specified referral. + /// Delete campaign Delete the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. /// - public void DeleteReferral (int applicationId, int campaignId, string referralId) + public void DeleteCampaign (int applicationId, int campaignId) { - DeleteReferralWithHttpInfo(applicationId, campaignId, referralId); + DeleteCampaignWithHttpInfo(applicationId, campaignId); } /// - /// Delete referral Delete the specified referral. + /// Delete campaign Delete the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse DeleteReferralWithHttpInfo (int applicationId, int campaignId, string referralId) + public TalonOne.Client.ApiResponse DeleteCampaignWithHttpInfo (int applicationId, int campaignId) { - // verify the required parameter 'referralId' is set - if (referralId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'referralId' when calling ManagementApi->DeleteReferral"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -10770,7 +11820,6 @@ public TalonOne.Client.ApiResponse DeleteReferralWithHttpInfo (int appli localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("referralId", TalonOne.Client.ClientUtils.ParameterToString(referralId)); // path parameter // authentication (management_key) required if ( @@ -10794,12 +11843,12 @@ public TalonOne.Client.ApiResponse DeleteReferralWithHttpInfo (int appli } // make the HTTP request - var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteReferral", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteCampaign", localVarResponse); if (_exception != null) throw _exception; } @@ -10807,33 +11856,27 @@ public TalonOne.Client.ApiResponse DeleteReferralWithHttpInfo (int appli } /// - /// Delete referral Delete the specified referral. + /// Delete campaign Delete the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. /// Task of void - public async System.Threading.Tasks.Task DeleteReferralAsync (int applicationId, int campaignId, string referralId) + public async System.Threading.Tasks.Task DeleteCampaignAsync (int applicationId, int campaignId) { - await DeleteReferralAsyncWithHttpInfo(applicationId, campaignId, referralId); + await DeleteCampaignAsyncWithHttpInfo(applicationId, campaignId); } /// - /// Delete referral Delete the specified referral. + /// Delete campaign Delete the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeleteReferralAsyncWithHttpInfo (int applicationId, int campaignId, string referralId) + public async System.Threading.Tasks.Task> DeleteCampaignAsyncWithHttpInfo (int applicationId, int campaignId) { - // verify the required parameter 'referralId' is set - if (referralId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'referralId' when calling ManagementApi->DeleteReferral"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -10852,7 +11895,6 @@ public async System.Threading.Tasks.Task DeleteReferralAsync (int applicationId, localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("referralId", TalonOne.Client.ClientUtils.ParameterToString(referralId)); // path parameter // authentication (management_key) required if ( @@ -10877,12 +11919,12 @@ public async System.Threading.Tasks.Task DeleteReferralAsync (int applicationId, // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteReferral", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteCampaign", localVarResponse); if (_exception != null) throw _exception; } @@ -10890,21 +11932,27 @@ public async System.Threading.Tasks.Task DeleteReferralAsync (int applicationId, } /// - /// Destroy session Destroys the session. + /// Delete campaign-level collection Delete a given campaign-level collection. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// - public void DestroySession () + public void DeleteCollection (int applicationId, int campaignId, int collectionId) { - DestroySessionWithHttpInfo(); + DeleteCollectionWithHttpInfo(applicationId, campaignId, collectionId); } /// - /// Destroy session Destroys the session. + /// Delete campaign-level collection Delete a given campaign-level collection. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse DestroySessionWithHttpInfo () + public TalonOne.Client.ApiResponse DeleteCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -10913,6 +11961,7 @@ public TalonOne.Client.ApiResponse DestroySessionWithHttpInfo () // to determine the Accept header String[] _accepts = new String[] { + "application/json" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -10921,6 +11970,9 @@ public TalonOne.Client.ApiResponse DestroySessionWithHttpInfo () var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter // authentication (management_key) required if ( @@ -10944,12 +11996,12 @@ public TalonOne.Client.ApiResponse DestroySessionWithHttpInfo () } // make the HTTP request - var localVarResponse = this.Client.Delete("/v1/sessions", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DestroySession", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -10957,22 +12009,28 @@ public TalonOne.Client.ApiResponse DestroySessionWithHttpInfo () } /// - /// Destroy session Destroys the session. + /// Delete campaign-level collection Delete a given campaign-level collection. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// Task of void - public async System.Threading.Tasks.Task DestroySessionAsync () + public async System.Threading.Tasks.Task DeleteCollectionAsync (int applicationId, int campaignId, int collectionId) { - await DestroySessionAsyncWithHttpInfo(); + await DeleteCollectionAsyncWithHttpInfo(applicationId, campaignId, collectionId); } /// - /// Destroy session Destroys the session. + /// Delete campaign-level collection Delete a given campaign-level collection. /// /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// Task of ApiResponse - public async System.Threading.Tasks.Task> DestroySessionAsyncWithHttpInfo () + public async System.Threading.Tasks.Task> DeleteCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -10982,6 +12040,7 @@ public async System.Threading.Tasks.Task DestroySessionAsync () // to determine the Accept header String[] _accepts = new String[] { + "application/json" }; foreach (var _contentType in _contentTypes) @@ -10990,6 +12049,9 @@ public async System.Threading.Tasks.Task DestroySessionAsync () foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter // authentication (management_key) required if ( @@ -11014,12 +12076,12 @@ public async System.Threading.Tasks.Task DestroySessionAsync () // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/sessions", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DestroySession", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -11027,25 +12089,32 @@ public async System.Threading.Tasks.Task DestroySessionAsync () } /// - /// Export account-level collection's items Download a CSV file containing items from an account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete coupon Delete the specified coupon. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// string - public string ExportAccountCollectionItems (int collectionId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// + public void DeleteCoupon (int applicationId, int campaignId, string couponId) { - TalonOne.Client.ApiResponse localVarResponse = ExportAccountCollectionItemsWithHttpInfo(collectionId); - return localVarResponse.Data; + DeleteCouponWithHttpInfo(applicationId, campaignId, couponId); } /// - /// Export account-level collection's items Download a CSV file containing items from an account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete coupon Delete the specified coupon. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportAccountCollectionItemsWithHttpInfo (int collectionId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse DeleteCouponWithHttpInfo (int applicationId, int campaignId, string couponId) { + // verify the required parameter 'couponId' is set + if (couponId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'couponId' when calling ManagementApi->DeleteCoupon"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -11053,7 +12122,6 @@ public TalonOne.Client.ApiResponse< string > ExportAccountCollectionItemsWithHtt // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -11062,7 +12130,9 @@ public TalonOne.Client.ApiResponse< string > ExportAccountCollectionItemsWithHtt var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("couponId", TalonOne.Client.ClientUtils.ParameterToString(couponId)); // path parameter // authentication (management_key) required if ( @@ -11086,12 +12156,12 @@ public TalonOne.Client.ApiResponse< string > ExportAccountCollectionItemsWithHtt } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/collections/{collectionId}/export", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportAccountCollectionItems", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteCoupon", localVarResponse); if (_exception != null) throw _exception; } @@ -11099,26 +12169,33 @@ public TalonOne.Client.ApiResponse< string > ExportAccountCollectionItemsWithHtt } /// - /// Export account-level collection's items Download a CSV file containing items from an account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete coupon Delete the specified coupon. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of string - public async System.Threading.Tasks.Task ExportAccountCollectionItemsAsync (int collectionId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// Task of void + public async System.Threading.Tasks.Task DeleteCouponAsync (int applicationId, int campaignId, string couponId) { - TalonOne.Client.ApiResponse localVarResponse = await ExportAccountCollectionItemsAsyncWithHttpInfo(collectionId); - return localVarResponse.Data; + await DeleteCouponAsyncWithHttpInfo(applicationId, campaignId, couponId); } /// - /// Export account-level collection's items Download a CSV file containing items from an account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete coupon Delete the specified coupon. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportAccountCollectionItemsAsyncWithHttpInfo (int collectionId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DeleteCouponAsyncWithHttpInfo (int applicationId, int campaignId, string couponId) { + // verify the required parameter 'couponId' is set + if (couponId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'couponId' when calling ManagementApi->DeleteCoupon"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -11127,7 +12204,6 @@ public async System.Threading.Tasks.Task ExportAccountCollectionItemsAsy // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; foreach (var _contentType in _contentTypes) @@ -11136,7 +12212,9 @@ public async System.Threading.Tasks.Task ExportAccountCollectionItemsAsy foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("couponId", TalonOne.Client.ClientUtils.ParameterToString(couponId)); // path parameter // authentication (management_key) required if ( @@ -11161,12 +12239,12 @@ public async System.Threading.Tasks.Task ExportAccountCollectionItemsAsy // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/collections/{collectionId}/export", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportAccountCollectionItems", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteCoupon", localVarResponse); if (_exception != null) throw _exception; } @@ -11174,28 +12252,51 @@ public async System.Threading.Tasks.Task ExportAccountCollectionItemsAsy } /// - /// Export a collection's items Download a CSV file containing a collection's items. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete coupons Deletes all the coupons matching the specified criteria. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// string - public string ExportCollectionItems (int applicationId, int campaignId, int collectionId) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) + /// Filter results by batches of coupons (optional) + /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// + public void DeleteCoupons (int applicationId, int campaignId, string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), DateTime? startsAfter = default(DateTime?), DateTime? startsBefore = default(DateTime?), DateTime? expiresAfter = default(DateTime?), DateTime? expiresBefore = default(DateTime?), string valid = default(string), string batchId = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = ExportCollectionItemsWithHttpInfo(applicationId, campaignId, collectionId); - return localVarResponse.Data; + DeleteCouponsWithHttpInfo(applicationId, campaignId, value, createdBefore, createdAfter, startsAfter, startsBefore, expiresAfter, expiresBefore, valid, batchId, usable, referralId, recipientIntegrationId, exactMatch); } /// - /// Export a collection's items Download a CSV file containing a collection's items. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete coupons Deletes all the coupons matching the specified criteria. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportCollectionItemsWithHttpInfo (int applicationId, int campaignId, int collectionId) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) + /// Filter results by batches of coupons (optional) + /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse DeleteCouponsWithHttpInfo (int applicationId, int campaignId, string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), DateTime? startsAfter = default(DateTime?), DateTime? startsBefore = default(DateTime?), DateTime? expiresAfter = default(DateTime?), DateTime? expiresBefore = default(DateTime?), string valid = default(string), string batchId = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -11204,7 +12305,6 @@ public TalonOne.Client.ApiResponse< string > ExportCollectionItemsWithHttpInfo ( // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -11215,7 +12315,58 @@ public TalonOne.Client.ApiResponse< string > ExportCollectionItemsWithHttpInfo ( localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + if (value != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (startsAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startsAfter", startsAfter)); + } + if (startsBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startsBefore", startsBefore)); + } + if (expiresAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "expiresAfter", expiresAfter)); + } + if (expiresBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "expiresBefore", expiresBefore)); + } + if (valid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (referralId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); + } + if (recipientIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + } + if (exactMatch != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); + } // authentication (management_key) required if ( @@ -11239,12 +12390,12 @@ public TalonOne.Client.ApiResponse< string > ExportCollectionItemsWithHttpInfo ( } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportCollectionItems", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteCoupons", localVarResponse); if (_exception != null) throw _exception; } @@ -11252,29 +12403,52 @@ public TalonOne.Client.ApiResponse< string > ExportCollectionItemsWithHttpInfo ( } /// - /// Export a collection's items Download a CSV file containing a collection's items. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete coupons Deletes all the coupons matching the specified criteria. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of string - public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int applicationId, int campaignId, int collectionId) - { - TalonOne.Client.ApiResponse localVarResponse = await ExportCollectionItemsAsyncWithHttpInfo(applicationId, campaignId, collectionId); - return localVarResponse.Data; - + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) + /// Filter results by batches of coupons (optional) + /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Task of void + public async System.Threading.Tasks.Task DeleteCouponsAsync (int applicationId, int campaignId, string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), DateTime? startsAfter = default(DateTime?), DateTime? startsBefore = default(DateTime?), DateTime? expiresAfter = default(DateTime?), DateTime? expiresBefore = default(DateTime?), string valid = default(string), string batchId = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?)) + { + await DeleteCouponsAsyncWithHttpInfo(applicationId, campaignId, value, createdBefore, createdAfter, startsAfter, startsBefore, expiresAfter, expiresBefore, valid, batchId, usable, referralId, recipientIntegrationId, exactMatch); + } /// - /// Export a collection's items Download a CSV file containing a collection's items. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete coupons Deletes all the coupons matching the specified criteria. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportCollectionItemsAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// - `expired`: Matches coupons in which the expiration date is set and in the past. - `validNow`: Matches coupons in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches coupons in which start date is set and in the future. (optional) + /// Filter results by batches of coupons (optional) + /// - `true`: only coupons where `usageCounter < usageLimit` will be returned. - `false`: only coupons where `usageCounter >= usageLimit` will be returned. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's `RecipientIntegrationId` field. (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DeleteCouponsAsyncWithHttpInfo (int applicationId, int campaignId, string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), DateTime? startsAfter = default(DateTime?), DateTime? startsBefore = default(DateTime?), DateTime? expiresAfter = default(DateTime?), DateTime? expiresBefore = default(DateTime?), string valid = default(string), string batchId = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -11284,7 +12458,6 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; foreach (var _contentType in _contentTypes) @@ -11295,7 +12468,58 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + if (value != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (startsAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startsAfter", startsAfter)); + } + if (startsBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startsBefore", startsBefore)); + } + if (expiresAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "expiresAfter", expiresAfter)); + } + if (expiresBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "expiresBefore", expiresBefore)); + } + if (valid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (referralId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); + } + if (recipientIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + } + if (exactMatch != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); + } // authentication (management_key) required if ( @@ -11320,12 +12544,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportCollectionItems", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteCoupons", localVarResponse); if (_exception != null) throw _exception; } @@ -11333,51 +12557,30 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export coupons Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the customer considered as recipient of the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon is reserved. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. + /// Delete loyalty card Delete the given loyalty card. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Determines the format of dates in the export document. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// string - public string ExportCoupons (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string)) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// + public void DeleteLoyaltyCard (int loyaltyProgramId, string loyaltyCardId) { - TalonOne.Client.ApiResponse localVarResponse = ExportCouponsWithHttpInfo(applicationId, campaignId, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, dateFormat, campaignState); - return localVarResponse.Data; + DeleteLoyaltyCardWithHttpInfo(loyaltyProgramId, loyaltyCardId); } /// - /// Export coupons Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the customer considered as recipient of the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon is reserved. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. + /// Delete loyalty card Delete the given loyalty card. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Determines the format of dates in the export document. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportCouponsWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string)) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse DeleteLoyaltyCardWithHttpInfo (int loyaltyProgramId, string loyaltyCardId) { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->DeleteLoyaltyCard"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -11385,7 +12588,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/csv" + "application/json" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -11394,59 +12597,8 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (campaignId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (value != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (referralId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); - } - if (recipientIntegrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); - } - if (batchId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); - } - if (exactMatch != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); - } - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } - if (campaignState != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); - } + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter // authentication (management_key) required if ( @@ -11470,12 +12622,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/applications/{applicationId}/export_coupons", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportCoupons", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteLoyaltyCard", localVarResponse); if (_exception != null) throw _exception; } @@ -11483,52 +12635,31 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export coupons Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the customer considered as recipient of the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon is reserved. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. + /// Delete loyalty card Delete the given loyalty card. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Determines the format of dates in the export document. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Task of string - public async System.Threading.Tasks.Task ExportCouponsAsync (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string)) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Task of void + public async System.Threading.Tasks.Task DeleteLoyaltyCardAsync (int loyaltyProgramId, string loyaltyCardId) { - TalonOne.Client.ApiResponse localVarResponse = await ExportCouponsAsyncWithHttpInfo(applicationId, campaignId, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, dateFormat, campaignState); - return localVarResponse.Data; + await DeleteLoyaltyCardAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId); } /// - /// Export coupons Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the customer considered as recipient of the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon is reserved. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. + /// Delete loyalty card Delete the given loyalty card. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Determines the format of dates in the export document. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportCouponsAsyncWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string)) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DeleteLoyaltyCardAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId) { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->DeleteLoyaltyCard"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -11537,7 +12668,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/csv" + "application/json" }; foreach (var _contentType in _contentTypes) @@ -11546,89 +12677,38 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (campaignId != null) + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); } - if (sort != null) + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (value != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (referralId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); - } - if (recipientIntegrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); - } - if (batchId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); - } - if (exactMatch != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); - } - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } - if (campaignState != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); - } - - // authentication (management_key) required - if ( - !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( - !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || - localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 - ) - ) - { - localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); - } - // authentication (manager_auth) required - if ( - !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( - !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || - localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 - ) - ) - { - localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); } // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/export_coupons", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportCoupons", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteLoyaltyCard", localVarResponse); if (_exception != null) throw _exception; } @@ -11636,35 +12716,32 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export customer sessions Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of the session. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `coupons`: Coupon codes in the session. + /// Delete referral Delete the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) - /// Only return sessions for the customer that matches this customer integration ID. (optional) - /// Determines the format of dates in the export document. (optional) - /// Filter results by state. (optional) - /// string - public string ExportCustomerSessions (int applicationId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string profileIntegrationId = default(string), string dateFormat = default(string), string customerSessionState = default(string)) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. + /// + public void DeleteReferral (int applicationId, int campaignId, string referralId) { - TalonOne.Client.ApiResponse localVarResponse = ExportCustomerSessionsWithHttpInfo(applicationId, createdBefore, createdAfter, profileIntegrationId, dateFormat, customerSessionState); - return localVarResponse.Data; + DeleteReferralWithHttpInfo(applicationId, campaignId, referralId); } /// - /// Export customer sessions Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of the session. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `coupons`: Coupon codes in the session. + /// Delete referral Delete the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) - /// Only return sessions for the customer that matches this customer integration ID. (optional) - /// Determines the format of dates in the export document. (optional) - /// Filter results by state. (optional) - /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportCustomerSessionsWithHttpInfo (int applicationId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string profileIntegrationId = default(string), string dateFormat = default(string), string customerSessionState = default(string)) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse DeleteReferralWithHttpInfo (int applicationId, int campaignId, string referralId) { + // verify the required parameter 'referralId' is set + if (referralId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'referralId' when calling ManagementApi->DeleteReferral"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -11672,7 +12749,6 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -11682,26 +12758,8 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (profileIntegrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profileIntegrationId", profileIntegrationId)); - } - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } - if (customerSessionState != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerSessionState", customerSessionState)); - } + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("referralId", TalonOne.Client.ClientUtils.ParameterToString(referralId)); // path parameter // authentication (management_key) required if ( @@ -11725,12 +12783,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/applications/{applicationId}/export_customer_sessions", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportCustomerSessions", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteReferral", localVarResponse); if (_exception != null) throw _exception; } @@ -11738,36 +12796,33 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export customer sessions Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of the session. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `coupons`: Coupon codes in the session. + /// Delete referral Delete the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) - /// Only return sessions for the customer that matches this customer integration ID. (optional) - /// Determines the format of dates in the export document. (optional) - /// Filter results by state. (optional) - /// Task of string - public async System.Threading.Tasks.Task ExportCustomerSessionsAsync (int applicationId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string profileIntegrationId = default(string), string dateFormat = default(string), string customerSessionState = default(string)) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. + /// Task of void + public async System.Threading.Tasks.Task DeleteReferralAsync (int applicationId, int campaignId, string referralId) { - TalonOne.Client.ApiResponse localVarResponse = await ExportCustomerSessionsAsyncWithHttpInfo(applicationId, createdBefore, createdAfter, profileIntegrationId, dateFormat, customerSessionState); - return localVarResponse.Data; + await DeleteReferralAsyncWithHttpInfo(applicationId, campaignId, referralId); } /// - /// Export customer sessions Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of the session. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `coupons`: Coupon codes in the session. + /// Delete referral Delete the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) - /// Only return sessions for the customer that matches this customer integration ID. (optional) - /// Determines the format of dates in the export document. (optional) - /// Filter results by state. (optional) - /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportCustomerSessionsAsyncWithHttpInfo (int applicationId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string profileIntegrationId = default(string), string dateFormat = default(string), string customerSessionState = default(string)) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DeleteReferralAsyncWithHttpInfo (int applicationId, int campaignId, string referralId) { + // verify the required parameter 'referralId' is set + if (referralId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'referralId' when calling ManagementApi->DeleteReferral"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -11776,7 +12831,6 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; foreach (var _contentType in _contentTypes) @@ -11786,26 +12840,8 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (profileIntegrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profileIntegrationId", profileIntegrationId)); - } - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } - if (customerSessionState != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerSessionState", customerSessionState)); - } + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("referralId", TalonOne.Client.ClientUtils.ParameterToString(referralId)); // path parameter // authentication (management_key) required if ( @@ -11830,12 +12866,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/export_customer_sessions", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportCustomerSessions", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteReferral", localVarResponse); if (_exception != null) throw _exception; } @@ -11843,33 +12879,30 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export triggered effects Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. + /// Delete store Delete the specified store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Determines the format of dates in the export document. (optional) - /// string - public string ExportEffects (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)) + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// + public void DeleteStore (int applicationId, string storeId) { - TalonOne.Client.ApiResponse localVarResponse = ExportEffectsWithHttpInfo(applicationId, campaignId, createdBefore, createdAfter, dateFormat); - return localVarResponse.Data; + DeleteStoreWithHttpInfo(applicationId, storeId); } /// - /// Export triggered effects Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. + /// Delete store Delete the specified store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Determines the format of dates in the export document. (optional) - /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportEffectsWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)) + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse DeleteStoreWithHttpInfo (int applicationId, string storeId) { + // verify the required parameter 'storeId' is set + if (storeId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'storeId' when calling ManagementApi->DeleteStore"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -11877,7 +12910,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/csv" + "application/json" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -11887,22 +12920,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (campaignId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } + localVarRequestOptions.PathParameters.Add("storeId", TalonOne.Client.ClientUtils.ParameterToString(storeId)); // path parameter // authentication (management_key) required if ( @@ -11926,12 +12944,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/applications/{applicationId}/export_effects", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/v1/applications/{applicationId}/stores/{storeId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportEffects", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteStore", localVarResponse); if (_exception != null) throw _exception; } @@ -11939,34 +12957,31 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export triggered effects Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. + /// Delete store Delete the specified store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Determines the format of dates in the export document. (optional) - /// Task of string - public async System.Threading.Tasks.Task ExportEffectsAsync (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)) + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// Task of void + public async System.Threading.Tasks.Task DeleteStoreAsync (int applicationId, string storeId) { - TalonOne.Client.ApiResponse localVarResponse = await ExportEffectsAsyncWithHttpInfo(applicationId, campaignId, createdBefore, createdAfter, dateFormat); - return localVarResponse.Data; + await DeleteStoreAsyncWithHttpInfo(applicationId, storeId); } /// - /// Export triggered effects Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. + /// Delete store Delete the specified store. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Determines the format of dates in the export document. (optional) - /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportEffectsAsyncWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)) + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DeleteStoreAsyncWithHttpInfo (int applicationId, string storeId) { + // verify the required parameter 'storeId' is set + if (storeId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'storeId' when calling ManagementApi->DeleteStore"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -11975,7 +12990,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/csv" + "application/json" }; foreach (var _contentType in _contentTypes) @@ -11985,22 +13000,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (campaignId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } + localVarRequestOptions.PathParameters.Add("storeId", TalonOne.Client.ClientUtils.ParameterToString(storeId)); // path parameter // authentication (management_key) required if ( @@ -12025,12 +13025,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/export_effects", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/applications/{applicationId}/stores/{storeId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportEffects", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteStore", localVarResponse); if (_exception != null) throw _exception; } @@ -12038,31 +13038,24 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export customer loyalty balance to CSV ⚠️ Deprecation notice: Support for requests to this endpoint will end soon. To export customer loyalty balances to CSV, use the [Export customer loyalty balances to CSV](/management-api#tag/Loyalty/operation/exportLoyaltyBalances) endpoint. Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete user Delete a specific user. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// string - public string ExportLoyaltyBalance (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// The ID of the user. + /// + public void DeleteUser (int userId) { - TalonOne.Client.ApiResponse localVarResponse = ExportLoyaltyBalanceWithHttpInfo(loyaltyProgramId, endDate); - return localVarResponse.Data; + DeleteUserWithHttpInfo(userId); } /// - /// Export customer loyalty balance to CSV ⚠️ Deprecation notice: Support for requests to this endpoint will end soon. To export customer loyalty balances to CSV, use the [Export customer loyalty balances to CSV](/management-api#tag/Loyalty/operation/exportLoyaltyBalances) endpoint. Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete user Delete a specific user. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportLoyaltyBalanceWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// The ID of the user. + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse DeleteUserWithHttpInfo (int userId) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyBalance"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -12070,7 +13063,6 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -12079,11 +13071,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - if (endDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); - } + localVarRequestOptions.PathParameters.Add("userId", TalonOne.Client.ClientUtils.ParameterToString(userId)); // path parameter // authentication (management_key) required if ( @@ -12107,12 +13095,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/loyalty_programs/{loyaltyProgramId}/export_customer_balance", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/v1/users/{userId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportLoyaltyBalance", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteUser", localVarResponse); if (_exception != null) throw _exception; } @@ -12120,32 +13108,25 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export customer loyalty balance to CSV ⚠️ Deprecation notice: Support for requests to this endpoint will end soon. To export customer loyalty balances to CSV, use the [Export customer loyalty balances to CSV](/management-api#tag/Loyalty/operation/exportLoyaltyBalances) endpoint. Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete user Delete a specific user. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Task of string - public async System.Threading.Tasks.Task ExportLoyaltyBalanceAsync (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// The ID of the user. + /// Task of void + public async System.Threading.Tasks.Task DeleteUserAsync (int userId) { - TalonOne.Client.ApiResponse localVarResponse = await ExportLoyaltyBalanceAsyncWithHttpInfo(loyaltyProgramId, endDate); - return localVarResponse.Data; + await DeleteUserAsyncWithHttpInfo(userId); } /// - /// Export customer loyalty balance to CSV ⚠️ Deprecation notice: Support for requests to this endpoint will end soon. To export customer loyalty balances to CSV, use the [Export customer loyalty balances to CSV](/management-api#tag/Loyalty/operation/exportLoyaltyBalances) endpoint. Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Delete user Delete a specific user. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportLoyaltyBalanceAsyncWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// The ID of the user. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DeleteUserAsyncWithHttpInfo (int userId) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyBalance"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -12154,7 +13135,6 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; foreach (var _contentType in _contentTypes) @@ -12163,11 +13143,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - if (endDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); - } + localVarRequestOptions.PathParameters.Add("userId", TalonOne.Client.ClientUtils.ParameterToString(userId)); // path parameter // authentication (management_key) required if ( @@ -12192,12 +13168,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/export_customer_balance", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/users/{userId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportLoyaltyBalance", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteUser", localVarResponse); if (_exception != null) throw _exception; } @@ -12205,39 +13181,36 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export customer loyalty balances Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. + /// Delete user by email address Delete a specific user by their email address. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// string - public string ExportLoyaltyBalances (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// body + /// + public void DeleteUserByEmail (DeleteUserRequest body) { - TalonOne.Client.ApiResponse localVarResponse = ExportLoyaltyBalancesWithHttpInfo(loyaltyProgramId, endDate); - return localVarResponse.Data; + DeleteUserByEmailWithHttpInfo(body); } /// - /// Export customer loyalty balances Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. + /// Delete user by email address Delete a specific user by their email address. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportLoyaltyBalancesWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// body + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse DeleteUserByEmailWithHttpInfo (DeleteUserRequest body) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyBalances"); + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->DeleteUserByEmail"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -12246,11 +13219,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - if (endDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); - } + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -12274,12 +13243,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/loyalty_programs/{loyaltyProgramId}/export_customer_balances", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post("/v1/users/delete", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportLoyaltyBalances", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteUserByEmail", localVarResponse); if (_exception != null) throw _exception; } @@ -12287,41 +13256,38 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export customer loyalty balances Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. + /// Delete user by email address Delete a specific user by their email address. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Task of string - public async System.Threading.Tasks.Task ExportLoyaltyBalancesAsync (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// body + /// Task of void + public async System.Threading.Tasks.Task DeleteUserByEmailAsync (DeleteUserRequest body) { - TalonOne.Client.ApiResponse localVarResponse = await ExportLoyaltyBalancesAsyncWithHttpInfo(loyaltyProgramId, endDate); - return localVarResponse.Data; + await DeleteUserByEmailAsyncWithHttpInfo(body); } /// - /// Export customer loyalty balances Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. + /// Delete user by email address Delete a specific user by their email address. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportLoyaltyBalancesAsyncWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// body + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DeleteUserByEmailAsyncWithHttpInfo (DeleteUserRequest body) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyBalances"); + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->DeleteUserByEmail"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; foreach (var _contentType in _contentTypes) @@ -12330,11 +13296,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - if (endDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); - } + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -12359,12 +13321,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/export_customer_balances", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/users/delete", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportLoyaltyBalances", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteUserByEmail", localVarResponse); if (_exception != null) throw _exception; } @@ -12372,26 +13334,21 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export all card transaction logs Download a CSV file containing the balances of all cards in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `cardIdentifier`: The alphanumeric identifier of the loyalty card. - `cardState`:The state of the loyalty card. It can be `active` or `inactive`. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. + /// Destroy session Destroys the session. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// string - public string ExportLoyaltyCardBalances (int loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// + public void DestroySession () { - TalonOne.Client.ApiResponse localVarResponse = ExportLoyaltyCardBalancesWithHttpInfo(loyaltyProgramId, endDate); - return localVarResponse.Data; + DestroySessionWithHttpInfo(); } /// - /// Export all card transaction logs Download a CSV file containing the balances of all cards in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `cardIdentifier`: The alphanumeric identifier of the loyalty card. - `cardState`:The state of the loyalty card. It can be `active` or `inactive`. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. + /// Destroy session Destroys the session. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportLoyaltyCardBalancesWithHttpInfo (int loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse DestroySessionWithHttpInfo () { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -12400,7 +13357,6 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -12409,11 +13365,6 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - if (endDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); - } // authentication (management_key) required if ( @@ -12437,12 +13388,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/loyalty_programs/{loyaltyProgramId}/export_card_balances", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/v1/sessions", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportLoyaltyCardBalances", localVarResponse); + Exception _exception = this.ExceptionFactory("DestroySession", localVarResponse); if (_exception != null) throw _exception; } @@ -12450,27 +13401,22 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export all card transaction logs Download a CSV file containing the balances of all cards in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `cardIdentifier`: The alphanumeric identifier of the loyalty card. - `cardState`:The state of the loyalty card. It can be `active` or `inactive`. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. + /// Destroy session Destroys the session. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Task of string - public async System.Threading.Tasks.Task ExportLoyaltyCardBalancesAsync (int loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// Task of void + public async System.Threading.Tasks.Task DestroySessionAsync () { - TalonOne.Client.ApiResponse localVarResponse = await ExportLoyaltyCardBalancesAsyncWithHttpInfo(loyaltyProgramId, endDate); - return localVarResponse.Data; + await DestroySessionAsyncWithHttpInfo(); } /// - /// Export all card transaction logs Download a CSV file containing the balances of all cards in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `cardIdentifier`: The alphanumeric identifier of the loyalty card. - `cardState`:The state of the loyalty card. It can be `active` or `inactive`. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. + /// Destroy session Destroys the session. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportLoyaltyCardBalancesAsyncWithHttpInfo (int loyaltyProgramId, DateTime? endDate = default(DateTime?)) + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DestroySessionAsyncWithHttpInfo () { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -12480,7 +13426,6 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/csv" }; foreach (var _contentType in _contentTypes) @@ -12489,11 +13434,6 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - if (endDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); - } // authentication (management_key) required if ( @@ -12518,12 +13458,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/export_card_balances", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/v1/sessions", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportLoyaltyCardBalances", localVarResponse); + Exception _exception = this.ExceptionFactory("DestroySession", localVarResponse); if (_exception != null) throw _exception; } @@ -12531,37 +13471,25 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export card's ledger log Download a CSV file containing a loyalty card ledger log of the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Export account-level collection's items Download a CSV file containing items from a given account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Determines the format of dates in the export document. (optional) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// string - public string ExportLoyaltyCardLedger (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)) + public string ExportAccountCollectionItems (int collectionId) { - TalonOne.Client.ApiResponse localVarResponse = ExportLoyaltyCardLedgerWithHttpInfo(loyaltyProgramId, loyaltyCardId, rangeStart, rangeEnd, dateFormat); + TalonOne.Client.ApiResponse localVarResponse = ExportAccountCollectionItemsWithHttpInfo(collectionId); return localVarResponse.Data; } /// - /// Export card's ledger log Download a CSV file containing a loyalty card ledger log of the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Export account-level collection's items Download a CSV file containing items from a given account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Determines the format of dates in the export document. (optional) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportLoyaltyCardLedgerWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)) + public TalonOne.Client.ApiResponse< string > ExportAccountCollectionItemsWithHttpInfo (int collectionId) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->ExportLoyaltyCardLedger"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -12578,14 +13506,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter // authentication (management_key) required if ( @@ -12609,12 +13530,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/export_log", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< string >("/v1/collections/{collectionId}/export", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportLoyaltyCardLedger", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportAccountCollectionItems", localVarResponse); if (_exception != null) throw _exception; } @@ -12622,38 +13543,26 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export card's ledger log Download a CSV file containing a loyalty card ledger log of the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Export account-level collection's items Download a CSV file containing items from a given account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Determines the format of dates in the export document. (optional) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// Task of string - public async System.Threading.Tasks.Task ExportLoyaltyCardLedgerAsync (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)) + public async System.Threading.Tasks.Task ExportAccountCollectionItemsAsync (int collectionId) { - TalonOne.Client.ApiResponse localVarResponse = await ExportLoyaltyCardLedgerAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, rangeStart, rangeEnd, dateFormat); + TalonOne.Client.ApiResponse localVarResponse = await ExportAccountCollectionItemsAsyncWithHttpInfo(collectionId); return localVarResponse.Data; } /// - /// Export card's ledger log Download a CSV file containing a loyalty card ledger log of the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// Export account-level collection's items Download a CSV file containing items from a given account-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Determines the format of dates in the export document. (optional) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportLoyaltyCardLedgerAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)) + public async System.Threading.Tasks.Task> ExportAccountCollectionItemsAsyncWithHttpInfo (int collectionId) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->ExportLoyaltyCardLedger"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -12671,14 +13580,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter // authentication (management_key) required if ( @@ -12703,12 +13605,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/export_log", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/collections/{collectionId}/export", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportLoyaltyCardLedger", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportAccountCollectionItems", localVarResponse); if (_exception != null) throw _exception; } @@ -12716,41 +13618,29 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export customer's transaction logs Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. + /// Export achievement customer data Download a CSV file containing a list of all the customers who have participated in and are currently participating in the given achievement. The CSV file contains the following columns: - `profileIntegrationID`: The integration ID of the customer profile participating in the achievement. - `title`: The display name of the achievement in the Campaign Manager. - `target`: The required number of actions or the transactional milestone to complete the achievement. - `progress`: The current progress of the customer in the achievement. - `status`: The status of the achievement. Can be one of: ['inprogress', 'completed', 'expired']. - `startDate`: The date on which the customer profile started the achievement in RFC3339. - `endDate`: The date on which the achievement ends and resets for the customer profile in RFC3339. - `completionDate`: The date on which the customer profile completed the achievement in RFC3339. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The identifier for the loyalty program. - /// The identifier of the profile. - /// Determines the format of dates in the export document. (optional) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// string - public string ExportLoyaltyLedger (DateTime rangeStart, DateTime rangeEnd, string loyaltyProgramId, string integrationId, string dateFormat = default(string)) + public string ExportAchievements (int applicationId, int campaignId, int achievementId) { - TalonOne.Client.ApiResponse localVarResponse = ExportLoyaltyLedgerWithHttpInfo(rangeStart, rangeEnd, loyaltyProgramId, integrationId, dateFormat); + TalonOne.Client.ApiResponse localVarResponse = ExportAchievementsWithHttpInfo(applicationId, campaignId, achievementId); return localVarResponse.Data; } /// - /// Export customer's transaction logs Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. + /// Export achievement customer data Download a CSV file containing a list of all the customers who have participated in and are currently participating in the given achievement. The CSV file contains the following columns: - `profileIntegrationID`: The integration ID of the customer profile participating in the achievement. - `title`: The display name of the achievement in the Campaign Manager. - `target`: The required number of actions or the transactional milestone to complete the achievement. - `progress`: The current progress of the customer in the achievement. - `status`: The status of the achievement. Can be one of: ['inprogress', 'completed', 'expired']. - `startDate`: The date on which the customer profile started the achievement in RFC3339. - `endDate`: The date on which the achievement ends and resets for the customer profile in RFC3339. - `completionDate`: The date on which the customer profile completed the achievement in RFC3339. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The identifier for the loyalty program. - /// The identifier of the profile. - /// Determines the format of dates in the export document. (optional) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportLoyaltyLedgerWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, string loyaltyProgramId, string integrationId, string dateFormat = default(string)) + public TalonOne.Client.ApiResponse< string > ExportAchievementsWithHttpInfo (int applicationId, int campaignId, int achievementId) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyLedger"); - - // verify the required parameter 'integrationId' is set - if (integrationId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->ExportLoyaltyLedger"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -12767,14 +13657,9 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("achievementId", TalonOne.Client.ClientUtils.ParameterToString(achievementId)); // path parameter // authentication (management_key) required if ( @@ -12798,12 +13683,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/export_log", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< string >("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}/export", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportLoyaltyLedger", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportAchievements", localVarResponse); if (_exception != null) throw _exception; } @@ -12811,42 +13696,30 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export customer's transaction logs Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. + /// Export achievement customer data Download a CSV file containing a list of all the customers who have participated in and are currently participating in the given achievement. The CSV file contains the following columns: - `profileIntegrationID`: The integration ID of the customer profile participating in the achievement. - `title`: The display name of the achievement in the Campaign Manager. - `target`: The required number of actions or the transactional milestone to complete the achievement. - `progress`: The current progress of the customer in the achievement. - `status`: The status of the achievement. Can be one of: ['inprogress', 'completed', 'expired']. - `startDate`: The date on which the customer profile started the achievement in RFC3339. - `endDate`: The date on which the achievement ends and resets for the customer profile in RFC3339. - `completionDate`: The date on which the customer profile completed the achievement in RFC3339. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The identifier for the loyalty program. - /// The identifier of the profile. - /// Determines the format of dates in the export document. (optional) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// Task of string - public async System.Threading.Tasks.Task ExportLoyaltyLedgerAsync (DateTime rangeStart, DateTime rangeEnd, string loyaltyProgramId, string integrationId, string dateFormat = default(string)) + public async System.Threading.Tasks.Task ExportAchievementsAsync (int applicationId, int campaignId, int achievementId) { - TalonOne.Client.ApiResponse localVarResponse = await ExportLoyaltyLedgerAsyncWithHttpInfo(rangeStart, rangeEnd, loyaltyProgramId, integrationId, dateFormat); + TalonOne.Client.ApiResponse localVarResponse = await ExportAchievementsAsyncWithHttpInfo(applicationId, campaignId, achievementId); return localVarResponse.Data; } /// - /// Export customer's transaction logs Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. + /// Export achievement customer data Download a CSV file containing a list of all the customers who have participated in and are currently participating in the given achievement. The CSV file contains the following columns: - `profileIntegrationID`: The integration ID of the customer profile participating in the achievement. - `title`: The display name of the achievement in the Campaign Manager. - `target`: The required number of actions or the transactional milestone to complete the achievement. - `progress`: The current progress of the customer in the achievement. - `status`: The status of the achievement. Can be one of: ['inprogress', 'completed', 'expired']. - `startDate`: The date on which the customer profile started the achievement in RFC3339. - `endDate`: The date on which the achievement ends and resets for the customer profile in RFC3339. - `completionDate`: The date on which the customer profile completed the achievement in RFC3339. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The identifier for the loyalty program. - /// The identifier of the profile. - /// Determines the format of dates in the export document. (optional) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportLoyaltyLedgerAsyncWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, string loyaltyProgramId, string integrationId, string dateFormat = default(string)) + public async System.Threading.Tasks.Task> ExportAchievementsAsyncWithHttpInfo (int applicationId, int campaignId, int achievementId) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyLedger"); - - // verify the required parameter 'integrationId' is set - if (integrationId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->ExportLoyaltyLedger"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -12864,14 +13737,9 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("achievementId", TalonOne.Client.ClientUtils.ParameterToString(achievementId)); // path parameter // authentication (management_key) required if ( @@ -12896,12 +13764,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/export_log", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}/export", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportLoyaltyLedger", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportAchievements", localVarResponse); if (_exception != null) throw _exception; } @@ -12909,28 +13777,24 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export giveaway codes of a giveaway pool Download a CSV file containing the giveaway codes of a specific giveaway pool. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `id`: The internal ID of the giveaway. - `poolid`: The internal ID of the giveaway pool. - `code`: The giveaway code. - `startdate`: The validity start date in RFC3339 of the giveaway (can be empty). - `enddate`: The validity end date in RFC3339 of the giveaway (can be empty). - `attributes`: Any custom attributes associated with the giveaway code (can be empty). - `used`: An indication of whether the giveaway is already awarded. - `importid`: The ID of the import which created the giveaway. - `created`: The creation time of the giveaway code. - `profileintegrationid`: The third-party integration ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded. - `profileid`: The internal ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded or an internal ID does not exist. + /// Export audience members Download a CSV file containing the integration IDs of the members of an audience. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The file contains the following column: - `profileintegrationid`: The integration ID of the customer profile. /// /// Thrown when fails to make API call - /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. (optional) - /// Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. (optional) + /// The ID of the audience. /// string - public string ExportPoolGiveaways (int poolId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + public string ExportAudiencesMemberships (int audienceId) { - TalonOne.Client.ApiResponse localVarResponse = ExportPoolGiveawaysWithHttpInfo(poolId, createdBefore, createdAfter); + TalonOne.Client.ApiResponse localVarResponse = ExportAudiencesMembershipsWithHttpInfo(audienceId); return localVarResponse.Data; } /// - /// Export giveaway codes of a giveaway pool Download a CSV file containing the giveaway codes of a specific giveaway pool. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `id`: The internal ID of the giveaway. - `poolid`: The internal ID of the giveaway pool. - `code`: The giveaway code. - `startdate`: The validity start date in RFC3339 of the giveaway (can be empty). - `enddate`: The validity end date in RFC3339 of the giveaway (can be empty). - `attributes`: Any custom attributes associated with the giveaway code (can be empty). - `used`: An indication of whether the giveaway is already awarded. - `importid`: The ID of the import which created the giveaway. - `created`: The creation time of the giveaway code. - `profileintegrationid`: The third-party integration ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded. - `profileid`: The internal ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded or an internal ID does not exist. + /// Export audience members Download a CSV file containing the integration IDs of the members of an audience. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The file contains the following column: - `profileintegrationid`: The integration ID of the customer profile. /// /// Thrown when fails to make API call - /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. (optional) - /// Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. (optional) + /// The ID of the audience. /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportPoolGiveawaysWithHttpInfo (int poolId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + public TalonOne.Client.ApiResponse< string > ExportAudiencesMembershipsWithHttpInfo (int audienceId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -12948,15 +13812,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("poolId", TalonOne.Client.ClientUtils.ParameterToString(poolId)); // path parameter - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } + localVarRequestOptions.PathParameters.Add("audienceId", TalonOne.Client.ClientUtils.ParameterToString(audienceId)); // path parameter // authentication (management_key) required if ( @@ -12980,12 +13836,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/giveaways/pools/{poolId}/export", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< string >("/v1/audiences/{audienceId}/memberships/export", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportPoolGiveaways", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportAudiencesMemberships", localVarResponse); if (_exception != null) throw _exception; } @@ -12993,29 +13849,25 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export giveaway codes of a giveaway pool Download a CSV file containing the giveaway codes of a specific giveaway pool. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `id`: The internal ID of the giveaway. - `poolid`: The internal ID of the giveaway pool. - `code`: The giveaway code. - `startdate`: The validity start date in RFC3339 of the giveaway (can be empty). - `enddate`: The validity end date in RFC3339 of the giveaway (can be empty). - `attributes`: Any custom attributes associated with the giveaway code (can be empty). - `used`: An indication of whether the giveaway is already awarded. - `importid`: The ID of the import which created the giveaway. - `created`: The creation time of the giveaway code. - `profileintegrationid`: The third-party integration ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded. - `profileid`: The internal ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded or an internal ID does not exist. + /// Export audience members Download a CSV file containing the integration IDs of the members of an audience. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The file contains the following column: - `profileintegrationid`: The integration ID of the customer profile. /// /// Thrown when fails to make API call - /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. (optional) - /// Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. (optional) + /// The ID of the audience. /// Task of string - public async System.Threading.Tasks.Task ExportPoolGiveawaysAsync (int poolId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + public async System.Threading.Tasks.Task ExportAudiencesMembershipsAsync (int audienceId) { - TalonOne.Client.ApiResponse localVarResponse = await ExportPoolGiveawaysAsyncWithHttpInfo(poolId, createdBefore, createdAfter); + TalonOne.Client.ApiResponse localVarResponse = await ExportAudiencesMembershipsAsyncWithHttpInfo(audienceId); return localVarResponse.Data; } /// - /// Export giveaway codes of a giveaway pool Download a CSV file containing the giveaway codes of a specific giveaway pool. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `id`: The internal ID of the giveaway. - `poolid`: The internal ID of the giveaway pool. - `code`: The giveaway code. - `startdate`: The validity start date in RFC3339 of the giveaway (can be empty). - `enddate`: The validity end date in RFC3339 of the giveaway (can be empty). - `attributes`: Any custom attributes associated with the giveaway code (can be empty). - `used`: An indication of whether the giveaway is already awarded. - `importid`: The ID of the import which created the giveaway. - `created`: The creation time of the giveaway code. - `profileintegrationid`: The third-party integration ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded. - `profileid`: The internal ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded or an internal ID does not exist. + /// Export audience members Download a CSV file containing the integration IDs of the members of an audience. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The file contains the following column: - `profileintegrationid`: The integration ID of the customer profile. /// /// Thrown when fails to make API call - /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. (optional) - /// Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. (optional) + /// The ID of the audience. /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportPoolGiveawaysAsyncWithHttpInfo (int poolId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + public async System.Threading.Tasks.Task> ExportAudiencesMembershipsAsyncWithHttpInfo (int audienceId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -13034,15 +13886,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("poolId", TalonOne.Client.ClientUtils.ParameterToString(poolId)); // path parameter - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } + localVarRequestOptions.PathParameters.Add("audienceId", TalonOne.Client.ClientUtils.ParameterToString(audienceId)); // path parameter // authentication (management_key) required if ( @@ -13067,12 +13911,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/giveaways/pools/{poolId}/export", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/audiences/{audienceId}/memberships/export", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportPoolGiveaways", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportAudiencesMemberships", localVarResponse); if (_exception != null) throw _exception; } @@ -13080,38 +13924,28 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export referrals Download a CSV file containing the referrals that match the given parameters. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `code`: The referral code. - `advocateprofileintegrationid`: The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. + /// Export campaign-level collection's items Download a CSV file containing items from a given campaign-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) - /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) - /// Filter results by batches of referrals (optional) - /// Determines the format of dates in the export document. (optional) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// string - public string ExportReferrals (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string batchId = default(string), string dateFormat = default(string)) + public string ExportCollectionItems (int applicationId, int campaignId, int collectionId) { - TalonOne.Client.ApiResponse localVarResponse = ExportReferralsWithHttpInfo(applicationId, campaignId, createdBefore, createdAfter, valid, usable, batchId, dateFormat); + TalonOne.Client.ApiResponse localVarResponse = ExportCollectionItemsWithHttpInfo(applicationId, campaignId, collectionId); return localVarResponse.Data; } /// - /// Export referrals Download a CSV file containing the referrals that match the given parameters. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `code`: The referral code. - `advocateprofileintegrationid`: The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. + /// Export campaign-level collection's items Download a CSV file containing items from a given campaign-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) - /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) - /// Filter results by batches of referrals (optional) - /// Determines the format of dates in the export document. (optional) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// ApiResponse of string - public TalonOne.Client.ApiResponse< string > ExportReferralsWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string batchId = default(string), string dateFormat = default(string)) + public TalonOne.Client.ApiResponse< string > ExportCollectionItemsWithHttpInfo (int applicationId, int campaignId, int collectionId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -13130,34 +13964,8 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (campaignId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (batchId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); - } - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter // authentication (management_key) required if ( @@ -13181,12 +13989,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } // make the HTTP request - var localVarResponse = this.Client.Get< string >("/v1/applications/{applicationId}/export_referrals", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< string >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportReferrals", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportCollectionItems", localVarResponse); if (_exception != null) throw _exception; } @@ -13194,39 +14002,29 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Export referrals Download a CSV file containing the referrals that match the given parameters. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `code`: The referral code. - `advocateprofileintegrationid`: The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. + /// Export campaign-level collection's items Download a CSV file containing items from a given campaign-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) - /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) - /// Filter results by batches of referrals (optional) - /// Determines the format of dates in the export document. (optional) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// Task of string - public async System.Threading.Tasks.Task ExportReferralsAsync (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string batchId = default(string), string dateFormat = default(string)) + public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int applicationId, int campaignId, int collectionId) { - TalonOne.Client.ApiResponse localVarResponse = await ExportReferralsAsyncWithHttpInfo(applicationId, campaignId, createdBefore, createdAfter, valid, usable, batchId, dateFormat); + TalonOne.Client.ApiResponse localVarResponse = await ExportCollectionItemsAsyncWithHttpInfo(applicationId, campaignId, collectionId); return localVarResponse.Data; } /// - /// Export referrals Download a CSV file containing the referrals that match the given parameters. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `code`: The referral code. - `advocateprofileintegrationid`: The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. + /// Export campaign-level collection's items Download a CSV file containing items from a given campaign-level collection. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results by campaign. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) - /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) - /// Filter results by batches of referrals (optional) - /// Determines the format of dates in the export document. (optional) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// Task of ApiResponse (string) - public async System.Threading.Tasks.Task> ExportReferralsAsyncWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string batchId = default(string), string dateFormat = default(string)) + public async System.Threading.Tasks.Task> ExportCollectionItemsAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -13246,34 +14044,8 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (campaignId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (batchId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); - } - if (dateFormat != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); - } + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter // authentication (management_key) required if ( @@ -13298,12 +14070,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/export_referrals", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ExportReferrals", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportCollectionItems", localVarResponse); if (_exception != null) throw _exception; } @@ -13311,40 +14083,52 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Get access logs for Application Retrieve the list of API calls sent to the specified Application. + /// Export coupons Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file can contain the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon can be reserved for multiple customers. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Only return results where the request path matches the given regular expression. (optional) - /// Only return results where the request method matches the given regular expression. (optional) - /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) + /// Filter results by campaign. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20018 - public InlineResponse20018 GetAccessLogsWithoutTotalCount (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field. (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code. (optional, default to false) + /// Determines the format of dates in the export document. (optional) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results to only return the coupon codes (`value` column) without the associated coupon data. (optional, default to false) + /// string + public string ExportCoupons (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string), bool? valuesOnly = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = GetAccessLogsWithoutTotalCountWithHttpInfo(applicationId, rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = ExportCouponsWithHttpInfo(applicationId, campaignId, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, dateFormat, campaignState, valuesOnly); return localVarResponse.Data; } /// - /// Get access logs for Application Retrieve the list of API calls sent to the specified Application. + /// Export coupons Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file can contain the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon can be reserved for multiple customers. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Only return results where the request path matches the given regular expression. (optional) - /// Only return results where the request method matches the given regular expression. (optional) - /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) + /// Filter results by campaign. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20018 - public TalonOne.Client.ApiResponse< InlineResponse20018 > GetAccessLogsWithoutTotalCountWithHttpInfo (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field. (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code. (optional, default to false) + /// Determines the format of dates in the export document. (optional) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results to only return the coupon codes (`value` column) without the associated coupon data. (optional, default to false) + /// ApiResponse of string + public TalonOne.Client.ApiResponse< string > ExportCouponsWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string), bool? valuesOnly = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -13353,7 +14137,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/json" + "application/csv" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -13363,48 +14147,78 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (path != null) + if (campaignId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "path", path)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); } - if (method != null) + if (sort != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "method", method)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } - if (status != null) + if (value != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); } - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (pageSize != null) + if (createdBefore != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); } - if (skip != null) + if (createdAfter != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); } - if (sort != null) + if (valid != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); } - - // authentication (management_key) required - if ( - !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( - !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || - localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 - ) - ) + if (usable != null) { - localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); } - // authentication (manager_auth) required - if ( - !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( - !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || - localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + if (referralId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); + } + if (recipientIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } + if (exactMatch != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); + } + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + if (campaignState != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); + } + if (valuesOnly != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valuesOnly", valuesOnly)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 ) ) { @@ -13412,12 +14226,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20018 >("/v1/applications/{applicationId}/access_logs/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< string >("/v1/applications/{applicationId}/export_coupons", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAccessLogsWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportCoupons", localVarResponse); if (_exception != null) throw _exception; } @@ -13425,41 +14239,53 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Get access logs for Application Retrieve the list of API calls sent to the specified Application. + /// Export coupons Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file can contain the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon can be reserved for multiple customers. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Only return results where the request path matches the given regular expression. (optional) - /// Only return results where the request method matches the given regular expression. (optional) - /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) + /// Filter results by campaign. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20018 - public async System.Threading.Tasks.Task GetAccessLogsWithoutTotalCountAsync (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field. (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code. (optional, default to false) + /// Determines the format of dates in the export document. (optional) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results to only return the coupon codes (`value` column) without the associated coupon data. (optional, default to false) + /// Task of string + public async System.Threading.Tasks.Task ExportCouponsAsync (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string), bool? valuesOnly = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetAccessLogsWithoutTotalCountAsyncWithHttpInfo(applicationId, rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = await ExportCouponsAsyncWithHttpInfo(applicationId, campaignId, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, dateFormat, campaignState, valuesOnly); return localVarResponse.Data; } /// - /// Get access logs for Application Retrieve the list of API calls sent to the specified Application. + /// Export coupons Download a CSV file containing the coupons that match the given properties. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file can contain the following columns: - `accountid`: The ID of your deployment. - `applicationid`: The ID of the Application this coupon is related to. - `attributes`: A json object describing _custom_ referral attribute names and their values. - `batchid`: The ID of the batch this coupon is part of. - `campaignid`: The ID of the campaign this coupon is related to. - `counter`: The number of times this coupon has been redeemed. - `created`: The creation date of the coupon code. - `deleted`: Whether the coupon code is deleted. - `deleted_changelogid`: The ID of the delete event in the logs. - `discount_counter`: The amount of discount given by this coupon. - `discount_limitval`: The maximum discount amount that can be given be this coupon. - `expirydate`: The end date in RFC3339 of the code redemption period. - `id`: The internal ID of the coupon code. - `importid`: The ID of the import job that created this coupon. - `is_reservation_mandatory`: Whether this coupon requires a reservation to be redeemed. - `limits`: The limits set on this coupon. - `limitval`: The maximum number of redemptions of this code. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `referralid`: The ID of the referral code that triggered the creation of this coupon (create coupon effect). - `reservation`: Whether the coupon can be reserved for multiple customers. - `reservation_counter`: How many times this coupon has been reserved. - `reservation_limitval`: The maximum of number of reservations this coupon can have. - `startdate`: The start date in RFC3339 of the code redemption period. - `value`: The coupon code. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Only return results where the request path matches the given regular expression. (optional) - /// Only return results where the request method matches the given regular expression. (optional) - /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) + /// Filter results by campaign. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20018) - public async System.Threading.Tasks.Task> GetAccessLogsWithoutTotalCountAsyncWithHttpInfo (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field. (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code. (optional, default to false) + /// Determines the format of dates in the export document. (optional) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results to only return the coupon codes (`value` column) without the associated coupon data. (optional, default to false) + /// Task of ApiResponse (string) + public async System.Threading.Tasks.Task> ExportCouponsAsyncWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string dateFormat = default(string), string campaignState = default(string), bool? valuesOnly = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -13469,7 +14295,7 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/json" + "application/csv" }; foreach (var _contentType in _contentTypes) @@ -13479,31 +14305,61 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (path != null) + if (campaignId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "path", path)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); } - if (method != null) + if (sort != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "method", method)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } - if (status != null) + if (value != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); } - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (pageSize != null) + if (createdBefore != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); } - if (skip != null) + if (createdAfter != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); } - if (sort != null) + if (valid != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (referralId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); + } + if (recipientIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } + if (exactMatch != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); + } + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + if (campaignState != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); + } + if (valuesOnly != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valuesOnly", valuesOnly)); } // authentication (management_key) required @@ -13529,12 +14385,12 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/access_logs/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/export_coupons", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAccessLogsWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportCoupons", localVarResponse); if (_exception != null) throw _exception; } @@ -13542,24 +14398,34 @@ public async System.Threading.Tasks.Task ExportCollectionItemsAsync (int } /// - /// Get account details Return the details of your companies Talon.One account. + /// Export customer sessions Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session. /// /// Thrown when fails to make API call - /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. - /// Account - public Account GetAccount (int accountId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) + /// Only return sessions for the customer that matches this customer integration ID. (optional) + /// Determines the format of dates in the export document. (optional) + /// Filter results by state. (optional) + /// string + public string ExportCustomerSessions (int applicationId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string profileIntegrationId = default(string), string dateFormat = default(string), string customerSessionState = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetAccountWithHttpInfo(accountId); + TalonOne.Client.ApiResponse localVarResponse = ExportCustomerSessionsWithHttpInfo(applicationId, createdBefore, createdAfter, profileIntegrationId, dateFormat, customerSessionState); return localVarResponse.Data; } /// - /// Get account details Return the details of your companies Talon.One account. + /// Export customer sessions Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session. /// /// Thrown when fails to make API call - /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. - /// ApiResponse of Account - public TalonOne.Client.ApiResponse< Account > GetAccountWithHttpInfo (int accountId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) + /// Only return sessions for the customer that matches this customer integration ID. (optional) + /// Determines the format of dates in the export document. (optional) + /// Filter results by state. (optional) + /// ApiResponse of string + public TalonOne.Client.ApiResponse< string > ExportCustomerSessionsWithHttpInfo (int applicationId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string profileIntegrationId = default(string), string dateFormat = default(string), string customerSessionState = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -13568,7 +14434,7 @@ public TalonOne.Client.ApiResponse< Account > GetAccountWithHttpInfo (int accoun // to determine the Accept header String[] _accepts = new String[] { - "application/json" + "application/csv" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -13577,7 +14443,27 @@ public TalonOne.Client.ApiResponse< Account > GetAccountWithHttpInfo (int accoun var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("accountId", TalonOne.Client.ClientUtils.ParameterToString(accountId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (profileIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profileIntegrationId", profileIntegrationId)); + } + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + if (customerSessionState != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerSessionState", customerSessionState)); + } // authentication (management_key) required if ( @@ -13601,12 +14487,12 @@ public TalonOne.Client.ApiResponse< Account > GetAccountWithHttpInfo (int accoun } // make the HTTP request - var localVarResponse = this.Client.Get< Account >("/v1/accounts/{accountId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< string >("/v1/applications/{applicationId}/export_customer_sessions", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAccount", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportCustomerSessions", localVarResponse); if (_exception != null) throw _exception; } @@ -13614,25 +14500,35 @@ public TalonOne.Client.ApiResponse< Account > GetAccountWithHttpInfo (int accoun } /// - /// Get account details Return the details of your companies Talon.One account. + /// Export customer sessions Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session. /// /// Thrown when fails to make API call - /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. - /// Task of Account - public async System.Threading.Tasks.Task GetAccountAsync (int accountId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) + /// Only return sessions for the customer that matches this customer integration ID. (optional) + /// Determines the format of dates in the export document. (optional) + /// Filter results by state. (optional) + /// Task of string + public async System.Threading.Tasks.Task ExportCustomerSessionsAsync (int applicationId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string profileIntegrationId = default(string), string dateFormat = default(string), string customerSessionState = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetAccountAsyncWithHttpInfo(accountId); + TalonOne.Client.ApiResponse localVarResponse = await ExportCustomerSessionsAsyncWithHttpInfo(applicationId, createdBefore, createdAfter, profileIntegrationId, dateFormat, customerSessionState); return localVarResponse.Data; } /// - /// Get account details Return the details of your companies Talon.One account. + /// Export customer sessions Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session. /// /// Thrown when fails to make API call - /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. - /// Task of ApiResponse (Account) - public async System.Threading.Tasks.Task> GetAccountAsyncWithHttpInfo (int accountId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional) + /// Only return sessions for the customer that matches this customer integration ID. (optional) + /// Determines the format of dates in the export document. (optional) + /// Filter results by state. (optional) + /// Task of ApiResponse (string) + public async System.Threading.Tasks.Task> ExportCustomerSessionsAsyncWithHttpInfo (int applicationId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string profileIntegrationId = default(string), string dateFormat = default(string), string customerSessionState = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -13642,7 +14538,7 @@ public async System.Threading.Tasks.Task GetAccountAsync (int accountId // to determine the Accept header String[] _accepts = new String[] { - "application/json" + "application/csv" }; foreach (var _contentType in _contentTypes) @@ -13651,7 +14547,27 @@ public async System.Threading.Tasks.Task GetAccountAsync (int accountId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("accountId", TalonOne.Client.ClientUtils.ParameterToString(accountId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (profileIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profileIntegrationId", profileIntegrationId)); + } + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + if (customerSessionState != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerSessionState", customerSessionState)); + } // authentication (management_key) required if ( @@ -13676,12 +14592,12 @@ public async System.Threading.Tasks.Task GetAccountAsync (int accountId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/accounts/{accountId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/export_customer_sessions", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAccount", localVarResponse); + Exception _exception = this.ExceptionFactory("ExportCustomerSessions", localVarResponse); if (_exception != null) throw _exception; } @@ -13689,25 +14605,4325 @@ public async System.Threading.Tasks.Task GetAccountAsync (int accountId } /// - /// Get account analytics Return the analytics of your Talon.One account. + /// Export customers' tier data Download a CSV file containing the tier information for customers of the specified loyalty program. The generated file contains the following columns: - `programid`: The identifier of the loyalty program. It is displayed in your Talon.One deployment URL. - `subledgerid`: The ID of the subledger associated with the loyalty program. This column is empty if the loyalty program has no subledger. In this case, refer to the export file name to get the ID of the loyalty program. - `customerprofileid`: The ID used to integrate customer profiles with the loyalty program. - `tiername`: The name of the tier. - `startdate`: The tier start date in RFC3339. - `expirydate`: The tier expiry date in RFC3339. You can filter the results by providing the following optional input parameters: - `subledgerId` (optional): Filter results by subledger ID. If no value is provided, all subledger data for the specified loyalty program will be exported. - `tierName` (optional): Filter results by tier name. If no value is provided, all tier data for the specified loyalty program will be exported. /// /// Thrown when fails to make API call - /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. - /// AccountAnalytics - public AccountAnalytics GetAccountAnalytics (int accountId) + /// The identifier for the loyalty program. + /// An array of subledgers IDs to filter the export by. (optional) + /// An array of tier names to filter the export by. (optional) + /// string + public string ExportCustomersTiers (string loyaltyProgramId, List subledgerIds = default(List), List tierNames = default(List)) { - TalonOne.Client.ApiResponse localVarResponse = GetAccountAnalyticsWithHttpInfo(accountId); + TalonOne.Client.ApiResponse localVarResponse = ExportCustomersTiersWithHttpInfo(loyaltyProgramId, subledgerIds, tierNames); return localVarResponse.Data; } /// - /// Get account analytics Return the analytics of your Talon.One account. + /// Export customers' tier data Download a CSV file containing the tier information for customers of the specified loyalty program. The generated file contains the following columns: - `programid`: The identifier of the loyalty program. It is displayed in your Talon.One deployment URL. - `subledgerid`: The ID of the subledger associated with the loyalty program. This column is empty if the loyalty program has no subledger. In this case, refer to the export file name to get the ID of the loyalty program. - `customerprofileid`: The ID used to integrate customer profiles with the loyalty program. - `tiername`: The name of the tier. - `startdate`: The tier start date in RFC3339. - `expirydate`: The tier expiry date in RFC3339. You can filter the results by providing the following optional input parameters: - `subledgerId` (optional): Filter results by subledger ID. If no value is provided, all subledger data for the specified loyalty program will be exported. - `tierName` (optional): Filter results by tier name. If no value is provided, all tier data for the specified loyalty program will be exported. /// /// Thrown when fails to make API call - /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. - /// ApiResponse of AccountAnalytics - public TalonOne.Client.ApiResponse< AccountAnalytics > GetAccountAnalyticsWithHttpInfo (int accountId) - { + /// The identifier for the loyalty program. + /// An array of subledgers IDs to filter the export by. (optional) + /// An array of tier names to filter the export by. (optional) + /// ApiResponse of string + public TalonOne.Client.ApiResponse< string > ExportCustomersTiersWithHttpInfo (string loyaltyProgramId, List subledgerIds = default(List), List tierNames = default(List)) + { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportCustomersTiers"); + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + if (subledgerIds != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "subledgerIds", subledgerIds)); + } + if (tierNames != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "tierNames", tierNames)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< string >("/v1/loyalty_programs/{loyaltyProgramId}/export_customers_tiers", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportCustomersTiers", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export customers' tier data Download a CSV file containing the tier information for customers of the specified loyalty program. The generated file contains the following columns: - `programid`: The identifier of the loyalty program. It is displayed in your Talon.One deployment URL. - `subledgerid`: The ID of the subledger associated with the loyalty program. This column is empty if the loyalty program has no subledger. In this case, refer to the export file name to get the ID of the loyalty program. - `customerprofileid`: The ID used to integrate customer profiles with the loyalty program. - `tiername`: The name of the tier. - `startdate`: The tier start date in RFC3339. - `expirydate`: The tier expiry date in RFC3339. You can filter the results by providing the following optional input parameters: - `subledgerId` (optional): Filter results by subledger ID. If no value is provided, all subledger data for the specified loyalty program will be exported. - `tierName` (optional): Filter results by tier name. If no value is provided, all tier data for the specified loyalty program will be exported. + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// An array of subledgers IDs to filter the export by. (optional) + /// An array of tier names to filter the export by. (optional) + /// Task of string + public async System.Threading.Tasks.Task ExportCustomersTiersAsync (string loyaltyProgramId, List subledgerIds = default(List), List tierNames = default(List)) + { + TalonOne.Client.ApiResponse localVarResponse = await ExportCustomersTiersAsyncWithHttpInfo(loyaltyProgramId, subledgerIds, tierNames); + return localVarResponse.Data; + + } + + /// + /// Export customers' tier data Download a CSV file containing the tier information for customers of the specified loyalty program. The generated file contains the following columns: - `programid`: The identifier of the loyalty program. It is displayed in your Talon.One deployment URL. - `subledgerid`: The ID of the subledger associated with the loyalty program. This column is empty if the loyalty program has no subledger. In this case, refer to the export file name to get the ID of the loyalty program. - `customerprofileid`: The ID used to integrate customer profiles with the loyalty program. - `tiername`: The name of the tier. - `startdate`: The tier start date in RFC3339. - `expirydate`: The tier expiry date in RFC3339. You can filter the results by providing the following optional input parameters: - `subledgerId` (optional): Filter results by subledger ID. If no value is provided, all subledger data for the specified loyalty program will be exported. - `tierName` (optional): Filter results by tier name. If no value is provided, all tier data for the specified loyalty program will be exported. + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// An array of subledgers IDs to filter the export by. (optional) + /// An array of tier names to filter the export by. (optional) + /// Task of ApiResponse (string) + public async System.Threading.Tasks.Task> ExportCustomersTiersAsyncWithHttpInfo (string loyaltyProgramId, List subledgerIds = default(List), List tierNames = default(List)) + { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportCustomersTiers"); + + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + if (subledgerIds != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "subledgerIds", subledgerIds)); + } + if (tierNames != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "tierNames", tierNames)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/export_customers_tiers", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportCustomersTiers", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export triggered effects Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. - `store_integration_id`: The integration ID of the store. You choose this ID when you create a store. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results by campaign. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Determines the format of dates in the export document. (optional) + /// string + public string ExportEffects (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = ExportEffectsWithHttpInfo(applicationId, campaignId, createdBefore, createdAfter, dateFormat); + return localVarResponse.Data; + } + + /// + /// Export triggered effects Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. - `store_integration_id`: The integration ID of the store. You choose this ID when you create a store. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results by campaign. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Determines the format of dates in the export document. (optional) + /// ApiResponse of string + public TalonOne.Client.ApiResponse< string > ExportEffectsWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (campaignId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< string >("/v1/applications/{applicationId}/export_effects", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportEffects", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export triggered effects Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. - `store_integration_id`: The integration ID of the store. You choose this ID when you create a store. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results by campaign. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Determines the format of dates in the export document. (optional) + /// Task of string + public async System.Threading.Tasks.Task ExportEffectsAsync (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = await ExportEffectsAsyncWithHttpInfo(applicationId, campaignId, createdBefore, createdAfter, dateFormat); + return localVarResponse.Data; + + } + + /// + /// Export triggered effects Download a CSV file containing the triggered effects that match the given attributes. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `applicationid`: The ID of the Application. - `campaignid`: The ID of the campaign. - `couponid`: The ID of the coupon, when applicable to the effect. - `created`: The timestamp of the effect. - `event_type`: The name of the event. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/events). - `eventid`: The internal ID of the effect. - `name`: The effect name. See the [docs](https://docs.talon.one/docs/dev/integration-api/api-effects). - `profileintegrationid`: The ID of the customer profile, when applicable. - `props`: The [properties](https://docs.talon.one/docs/dev/integration-api/api-effects) of the effect. - `ruleindex`: The index of the rule. - `rulesetid`: The ID of the rule set. - `sessionid`: The internal ID of the session that triggered the effect. - `profileid`: The internal ID of the customer profile. - `sessionintegrationid`: The integration ID of the session. - `total_revenue`: The total revenue. - `store_integration_id`: The integration ID of the store. You choose this ID when you create a store. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results by campaign. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Determines the format of dates in the export document. (optional) + /// Task of ApiResponse (string) + public async System.Threading.Tasks.Task> ExportEffectsAsyncWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string dateFormat = default(string)) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (campaignId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/export_effects", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportEffects", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export customer loyalty balance to CSV ⚠️ Deprecation notice: Support for requests to this endpoint will end soon. To export customer loyalty balances to CSV, use the [Export customer loyalty balances to CSV](/management-api#tag/Loyalty/operation/exportLoyaltyBalances) endpoint. Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// string + public string ExportLoyaltyBalance (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + TalonOne.Client.ApiResponse localVarResponse = ExportLoyaltyBalanceWithHttpInfo(loyaltyProgramId, endDate); + return localVarResponse.Data; + } + + /// + /// Export customer loyalty balance to CSV ⚠️ Deprecation notice: Support for requests to this endpoint will end soon. To export customer loyalty balances to CSV, use the [Export customer loyalty balances to CSV](/management-api#tag/Loyalty/operation/exportLoyaltyBalances) endpoint. Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// ApiResponse of string + public TalonOne.Client.ApiResponse< string > ExportLoyaltyBalanceWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyBalance"); + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + if (endDate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< string >("/v1/loyalty_programs/{loyaltyProgramId}/export_customer_balance", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportLoyaltyBalance", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export customer loyalty balance to CSV ⚠️ Deprecation notice: Support for requests to this endpoint will end soon. To export customer loyalty balances to CSV, use the [Export customer loyalty balances to CSV](/management-api#tag/Loyalty/operation/exportLoyaltyBalances) endpoint. Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Task of string + public async System.Threading.Tasks.Task ExportLoyaltyBalanceAsync (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + TalonOne.Client.ApiResponse localVarResponse = await ExportLoyaltyBalanceAsyncWithHttpInfo(loyaltyProgramId, endDate); + return localVarResponse.Data; + + } + + /// + /// Export customer loyalty balance to CSV ⚠️ Deprecation notice: Support for requests to this endpoint will end soon. To export customer loyalty balances to CSV, use the [Export customer loyalty balances to CSV](/management-api#tag/Loyalty/operation/exportLoyaltyBalances) endpoint. Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Task of ApiResponse (string) + public async System.Threading.Tasks.Task> ExportLoyaltyBalanceAsyncWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyBalance"); + + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + if (endDate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/export_customer_balance", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportLoyaltyBalance", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export customer loyalty balances Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// string + public string ExportLoyaltyBalances (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + TalonOne.Client.ApiResponse localVarResponse = ExportLoyaltyBalancesWithHttpInfo(loyaltyProgramId, endDate); + return localVarResponse.Data; + } + + /// + /// Export customer loyalty balances Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// ApiResponse of string + public TalonOne.Client.ApiResponse< string > ExportLoyaltyBalancesWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyBalances"); + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + if (endDate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< string >("/v1/loyalty_programs/{loyaltyProgramId}/export_customer_balances", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportLoyaltyBalances", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export customer loyalty balances Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Task of string + public async System.Threading.Tasks.Task ExportLoyaltyBalancesAsync (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + TalonOne.Client.ApiResponse localVarResponse = await ExportLoyaltyBalancesAsyncWithHttpInfo(loyaltyProgramId, endDate); + return localVarResponse.Data; + + } + + /// + /// Export customer loyalty balances Download a CSV file containing the balance of each customer in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. + /// + /// Thrown when fails to make API call + /// The identifier for the loyalty program. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Task of ApiResponse (string) + public async System.Threading.Tasks.Task> ExportLoyaltyBalancesAsyncWithHttpInfo (string loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyBalances"); + + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + if (endDate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/export_customer_balances", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportLoyaltyBalances", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export all card transaction logs Download a CSV file containing the balances of all cards in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `cardIdentifier`: The alphanumeric identifier of the loyalty card. - `cardState`:The state of the loyalty card. It can be `active` or `inactive`. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// string + public string ExportLoyaltyCardBalances (int loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + TalonOne.Client.ApiResponse localVarResponse = ExportLoyaltyCardBalancesWithHttpInfo(loyaltyProgramId, endDate); + return localVarResponse.Data; + } + + /// + /// Export all card transaction logs Download a CSV file containing the balances of all cards in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `cardIdentifier`: The alphanumeric identifier of the loyalty card. - `cardState`:The state of the loyalty card. It can be `active` or `inactive`. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// ApiResponse of string + public TalonOne.Client.ApiResponse< string > ExportLoyaltyCardBalancesWithHttpInfo (int loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + if (endDate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< string >("/v1/loyalty_programs/{loyaltyProgramId}/export_card_balances", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportLoyaltyCardBalances", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export all card transaction logs Download a CSV file containing the balances of all cards in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `cardIdentifier`: The alphanumeric identifier of the loyalty card. - `cardState`:The state of the loyalty card. It can be `active` or `inactive`. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Task of string + public async System.Threading.Tasks.Task ExportLoyaltyCardBalancesAsync (int loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + TalonOne.Client.ApiResponse localVarResponse = await ExportLoyaltyCardBalancesAsyncWithHttpInfo(loyaltyProgramId, endDate); + return localVarResponse.Data; + + } + + /// + /// Export all card transaction logs Download a CSV file containing the balances of all cards in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `cardIdentifier`: The alphanumeric identifier of the loyalty card. - `cardState`:The state of the loyalty card. It can be `active` or `inactive`. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Task of ApiResponse (string) + public async System.Threading.Tasks.Task> ExportLoyaltyCardBalancesAsyncWithHttpInfo (int loyaltyProgramId, DateTime? endDate = default(DateTime?)) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + if (endDate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/export_card_balances", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportLoyaltyCardBalances", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export card's ledger log Download a CSV file containing a loyalty card ledger log of the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Determines the format of dates in the export document. (optional) + /// string + public string ExportLoyaltyCardLedger (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = ExportLoyaltyCardLedgerWithHttpInfo(loyaltyProgramId, loyaltyCardId, rangeStart, rangeEnd, dateFormat); + return localVarResponse.Data; + } + + /// + /// Export card's ledger log Download a CSV file containing a loyalty card ledger log of the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Determines the format of dates in the export document. (optional) + /// ApiResponse of string + public TalonOne.Client.ApiResponse< string > ExportLoyaltyCardLedgerWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)) + { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->ExportLoyaltyCardLedger"); + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< string >("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/export_log", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportLoyaltyCardLedger", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export card's ledger log Download a CSV file containing a loyalty card ledger log of the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Determines the format of dates in the export document. (optional) + /// Task of string + public async System.Threading.Tasks.Task ExportLoyaltyCardLedgerAsync (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = await ExportLoyaltyCardLedgerAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, rangeStart, rangeEnd, dateFormat); + return localVarResponse.Data; + + } + + /// + /// Export card's ledger log Download a CSV file containing a loyalty card ledger log of the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Determines the format of dates in the export document. (optional) + /// Task of ApiResponse (string) + public async System.Threading.Tasks.Task> ExportLoyaltyCardLedgerAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime rangeStart, DateTime rangeEnd, string dateFormat = default(string)) + { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->ExportLoyaltyCardLedger"); + + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/export_log", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportLoyaltyCardLedger", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export customer's transaction logs Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. - `campaignid`: The ID of the campaign. + /// + /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// The identifier for the loyalty program. + /// The identifier of the profile. + /// Determines the format of dates in the export document. (optional) + /// string + public string ExportLoyaltyLedger (DateTime rangeStart, DateTime rangeEnd, string loyaltyProgramId, string integrationId, string dateFormat = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = ExportLoyaltyLedgerWithHttpInfo(rangeStart, rangeEnd, loyaltyProgramId, integrationId, dateFormat); + return localVarResponse.Data; + } + + /// + /// Export customer's transaction logs Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. - `campaignid`: The ID of the campaign. + /// + /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// The identifier for the loyalty program. + /// The identifier of the profile. + /// Determines the format of dates in the export document. (optional) + /// ApiResponse of string + public TalonOne.Client.ApiResponse< string > ExportLoyaltyLedgerWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, string loyaltyProgramId, string integrationId, string dateFormat = default(string)) + { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyLedger"); + + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->ExportLoyaltyLedger"); + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< string >("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/export_log", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportLoyaltyLedger", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export customer's transaction logs Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. - `campaignid`: The ID of the campaign. + /// + /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// The identifier for the loyalty program. + /// The identifier of the profile. + /// Determines the format of dates in the export document. (optional) + /// Task of string + public async System.Threading.Tasks.Task ExportLoyaltyLedgerAsync (DateTime rangeStart, DateTime rangeEnd, string loyaltyProgramId, string integrationId, string dateFormat = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = await ExportLoyaltyLedgerAsyncWithHttpInfo(rangeStart, rangeEnd, loyaltyProgramId, integrationId, dateFormat); + return localVarResponse.Data; + + } + + /// + /// Export customer's transaction logs Download a CSV file containing a customer's transaction logs in the loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The generated file can contain the following columns: - `customerprofileid`: The ID of the profile. - `customersessionid`: The ID of the customer session. - `rulesetid`: The ID of the rule set. - `rulename`: The name of the rule. - `programid`: The ID of the loyalty program. - `type`: The type of the loyalty program. - `name`: The name of the loyalty program. - `subledgerid`: The ID of the subledger, when applicable. - `startdate`: The start date of the program. - `expirydate`: The expiration date of the program. - `id`: The ID of the transaction. - `created`: The timestamp of the creation of the loyalty program. - `amount`: The number of points in that transaction. - `archived`: Whether the session related to the transaction is archived. - `campaignid`: The ID of the campaign. + /// + /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// The identifier for the loyalty program. + /// The identifier of the profile. + /// Determines the format of dates in the export document. (optional) + /// Task of ApiResponse (string) + public async System.Threading.Tasks.Task> ExportLoyaltyLedgerAsyncWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, string loyaltyProgramId, string integrationId, string dateFormat = default(string)) + { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->ExportLoyaltyLedger"); + + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->ExportLoyaltyLedger"); + + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/export_log", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportLoyaltyLedger", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export giveaway codes of a giveaway pool Download a CSV file containing the giveaway codes of a specific giveaway pool. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `id`: The internal ID of the giveaway. - `poolid`: The internal ID of the giveaway pool. - `code`: The giveaway code. - `startdate`: The validity start date in RFC3339 of the giveaway (can be empty). - `enddate`: The validity end date in RFC3339 of the giveaway (can be empty). - `attributes`: Any custom attributes associated with the giveaway code (can be empty). - `used`: An indication of whether the giveaway is already awarded. - `importid`: The ID of the import which created the giveaway. - `created`: The creation time of the giveaway code. - `profileintegrationid`: The third-party integration ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded. - `profileid`: The internal ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded or an internal ID does not exist. + /// + /// Thrown when fails to make API call + /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. + /// Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. (optional) + /// Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. (optional) + /// string + public string ExportPoolGiveaways (int poolId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + { + TalonOne.Client.ApiResponse localVarResponse = ExportPoolGiveawaysWithHttpInfo(poolId, createdBefore, createdAfter); + return localVarResponse.Data; + } + + /// + /// Export giveaway codes of a giveaway pool Download a CSV file containing the giveaway codes of a specific giveaway pool. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `id`: The internal ID of the giveaway. - `poolid`: The internal ID of the giveaway pool. - `code`: The giveaway code. - `startdate`: The validity start date in RFC3339 of the giveaway (can be empty). - `enddate`: The validity end date in RFC3339 of the giveaway (can be empty). - `attributes`: Any custom attributes associated with the giveaway code (can be empty). - `used`: An indication of whether the giveaway is already awarded. - `importid`: The ID of the import which created the giveaway. - `created`: The creation time of the giveaway code. - `profileintegrationid`: The third-party integration ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded. - `profileid`: The internal ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded or an internal ID does not exist. + /// + /// Thrown when fails to make API call + /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. + /// Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. (optional) + /// Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. (optional) + /// ApiResponse of string + public TalonOne.Client.ApiResponse< string > ExportPoolGiveawaysWithHttpInfo (int poolId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("poolId", TalonOne.Client.ClientUtils.ParameterToString(poolId)); // path parameter + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< string >("/v1/giveaways/pools/{poolId}/export", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportPoolGiveaways", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export giveaway codes of a giveaway pool Download a CSV file containing the giveaway codes of a specific giveaway pool. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `id`: The internal ID of the giveaway. - `poolid`: The internal ID of the giveaway pool. - `code`: The giveaway code. - `startdate`: The validity start date in RFC3339 of the giveaway (can be empty). - `enddate`: The validity end date in RFC3339 of the giveaway (can be empty). - `attributes`: Any custom attributes associated with the giveaway code (can be empty). - `used`: An indication of whether the giveaway is already awarded. - `importid`: The ID of the import which created the giveaway. - `created`: The creation time of the giveaway code. - `profileintegrationid`: The third-party integration ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded. - `profileid`: The internal ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded or an internal ID does not exist. + /// + /// Thrown when fails to make API call + /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. + /// Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. (optional) + /// Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. (optional) + /// Task of string + public async System.Threading.Tasks.Task ExportPoolGiveawaysAsync (int poolId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + { + TalonOne.Client.ApiResponse localVarResponse = await ExportPoolGiveawaysAsyncWithHttpInfo(poolId, createdBefore, createdAfter); + return localVarResponse.Data; + + } + + /// + /// Export giveaway codes of a giveaway pool Download a CSV file containing the giveaway codes of a specific giveaway pool. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `id`: The internal ID of the giveaway. - `poolid`: The internal ID of the giveaway pool. - `code`: The giveaway code. - `startdate`: The validity start date in RFC3339 of the giveaway (can be empty). - `enddate`: The validity end date in RFC3339 of the giveaway (can be empty). - `attributes`: Any custom attributes associated with the giveaway code (can be empty). - `used`: An indication of whether the giveaway is already awarded. - `importid`: The ID of the import which created the giveaway. - `created`: The creation time of the giveaway code. - `profileintegrationid`: The third-party integration ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded. - `profileid`: The internal ID of the customer profile that was awarded the giveaway. Can be empty if the giveaway was not awarded or an internal ID does not exist. + /// + /// Thrown when fails to make API call + /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. + /// Timestamp that filters the results to only contain giveaways created before this date. Must be an RFC3339 timestamp string. (optional) + /// Timestamp that filters the results to only contain giveaways created after this date. Must be an RFC3339 timestamp string. (optional) + /// Task of ApiResponse (string) + public async System.Threading.Tasks.Task> ExportPoolGiveawaysAsyncWithHttpInfo (int poolId, DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("poolId", TalonOne.Client.ClientUtils.ParameterToString(poolId)); // path parameter + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/giveaways/pools/{poolId}/export", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportPoolGiveaways", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export referrals Download a CSV file containing the referrals that match the given parameters. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `code`: The referral code. - `advocateprofileintegrationid`: The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results by campaign. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) + /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) + /// Filter results by batches of referrals (optional) + /// Determines the format of dates in the export document. (optional) + /// string + public string ExportReferrals (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string batchId = default(string), string dateFormat = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = ExportReferralsWithHttpInfo(applicationId, campaignId, createdBefore, createdAfter, valid, usable, batchId, dateFormat); + return localVarResponse.Data; + } + + /// + /// Export referrals Download a CSV file containing the referrals that match the given parameters. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `code`: The referral code. - `advocateprofileintegrationid`: The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results by campaign. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) + /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) + /// Filter results by batches of referrals (optional) + /// Determines the format of dates in the export document. (optional) + /// ApiResponse of string + public TalonOne.Client.ApiResponse< string > ExportReferralsWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string batchId = default(string), string dateFormat = default(string)) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (campaignId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (valid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< string >("/v1/applications/{applicationId}/export_referrals", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportReferrals", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Export referrals Download a CSV file containing the referrals that match the given parameters. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `code`: The referral code. - `advocateprofileintegrationid`: The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results by campaign. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) + /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) + /// Filter results by batches of referrals (optional) + /// Determines the format of dates in the export document. (optional) + /// Task of string + public async System.Threading.Tasks.Task ExportReferralsAsync (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string batchId = default(string), string dateFormat = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = await ExportReferralsAsyncWithHttpInfo(applicationId, campaignId, createdBefore, createdAfter, valid, usable, batchId, dateFormat); + return localVarResponse.Data; + + } + + /// + /// Export referrals Download a CSV file containing the referrals that match the given parameters. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `code`: The referral code. - `advocateprofileintegrationid`: The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results by campaign. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// - `expired`: Matches referrals in which the expiration date is set and in the past. - `validNow`: Matches referrals in which start date is null or in the past and expiration date is null or in the future. - `validFuture`: Matches referrals in which start date is set and in the future. (optional) + /// - `true`, only referrals where `usageCounter < usageLimit` will be returned. - `false`, only referrals where `usageCounter >= usageLimit` will be returned. (optional) + /// Filter results by batches of referrals (optional) + /// Determines the format of dates in the export document. (optional) + /// Task of ApiResponse (string) + public async System.Threading.Tasks.Task> ExportReferralsAsyncWithHttpInfo (int applicationId, decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string batchId = default(string), string dateFormat = default(string)) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/csv" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (campaignId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (valid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } + if (dateFormat != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "dateFormat", dateFormat)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/export_referrals", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ExportReferrals", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get access logs for Application Retrieve the list of API calls sent to the specified Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results where the request path matches the given regular expression. (optional) + /// Only return results where the request method matches the given regular expression. (optional) + /// Filter results by HTTP status codes. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// InlineResponse20019 + public InlineResponse20019 GetAccessLogsWithoutTotalCount (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = GetAccessLogsWithoutTotalCountWithHttpInfo(applicationId, rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); + return localVarResponse.Data; + } + + /// + /// Get access logs for Application Retrieve the list of API calls sent to the specified Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results where the request path matches the given regular expression. (optional) + /// Only return results where the request method matches the given regular expression. (optional) + /// Filter results by HTTP status codes. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// ApiResponse of InlineResponse20019 + public TalonOne.Client.ApiResponse< InlineResponse20019 > GetAccessLogsWithoutTotalCountWithHttpInfo (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (path != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "path", path)); + } + if (method != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "method", method)); + } + if (status != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + } + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< InlineResponse20019 >("/v1/applications/{applicationId}/access_logs/no_total", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAccessLogsWithoutTotalCount", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get access logs for Application Retrieve the list of API calls sent to the specified Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results where the request path matches the given regular expression. (optional) + /// Only return results where the request method matches the given regular expression. (optional) + /// Filter results by HTTP status codes. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of InlineResponse20019 + public async System.Threading.Tasks.Task GetAccessLogsWithoutTotalCountAsync (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = await GetAccessLogsWithoutTotalCountAsyncWithHttpInfo(applicationId, rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); + return localVarResponse.Data; + + } + + /// + /// Get access logs for Application Retrieve the list of API calls sent to the specified Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results where the request path matches the given regular expression. (optional) + /// Only return results where the request method matches the given regular expression. (optional) + /// Filter results by HTTP status codes. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of ApiResponse (InlineResponse20019) + public async System.Threading.Tasks.Task> GetAccessLogsWithoutTotalCountAsyncWithHttpInfo (int applicationId, DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (path != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "path", path)); + } + if (method != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "method", method)); + } + if (status != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + } + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/access_logs/no_total", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAccessLogsWithoutTotalCount", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get account details Return the details of your companies Talon.One account. + /// + /// Thrown when fails to make API call + /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. + /// Account + public Account GetAccount (int accountId) + { + TalonOne.Client.ApiResponse localVarResponse = GetAccountWithHttpInfo(accountId); + return localVarResponse.Data; + } + + /// + /// Get account details Return the details of your companies Talon.One account. + /// + /// Thrown when fails to make API call + /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. + /// ApiResponse of Account + public TalonOne.Client.ApiResponse< Account > GetAccountWithHttpInfo (int accountId) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("accountId", TalonOne.Client.ClientUtils.ParameterToString(accountId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< Account >("/v1/accounts/{accountId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAccount", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get account details Return the details of your companies Talon.One account. + /// + /// Thrown when fails to make API call + /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. + /// Task of Account + public async System.Threading.Tasks.Task GetAccountAsync (int accountId) + { + TalonOne.Client.ApiResponse localVarResponse = await GetAccountAsyncWithHttpInfo(accountId); + return localVarResponse.Data; + + } + + /// + /// Get account details Return the details of your companies Talon.One account. + /// + /// Thrown when fails to make API call + /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. + /// Task of ApiResponse (Account) + public async System.Threading.Tasks.Task> GetAccountAsyncWithHttpInfo (int accountId) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("accountId", TalonOne.Client.ClientUtils.ParameterToString(accountId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/accounts/{accountId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAccount", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get account analytics Return the analytics of your Talon.One account. + /// + /// Thrown when fails to make API call + /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. + /// AccountAnalytics + public AccountAnalytics GetAccountAnalytics (int accountId) + { + TalonOne.Client.ApiResponse localVarResponse = GetAccountAnalyticsWithHttpInfo(accountId); + return localVarResponse.Data; + } + + /// + /// Get account analytics Return the analytics of your Talon.One account. + /// + /// Thrown when fails to make API call + /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. + /// ApiResponse of AccountAnalytics + public TalonOne.Client.ApiResponse< AccountAnalytics > GetAccountAnalyticsWithHttpInfo (int accountId) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("accountId", TalonOne.Client.ClientUtils.ParameterToString(accountId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< AccountAnalytics >("/v1/accounts/{accountId}/analytics", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAccountAnalytics", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get account analytics Return the analytics of your Talon.One account. + /// + /// Thrown when fails to make API call + /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. + /// Task of AccountAnalytics + public async System.Threading.Tasks.Task GetAccountAnalyticsAsync (int accountId) + { + TalonOne.Client.ApiResponse localVarResponse = await GetAccountAnalyticsAsyncWithHttpInfo(accountId); + return localVarResponse.Data; + + } + + /// + /// Get account analytics Return the analytics of your Talon.One account. + /// + /// Thrown when fails to make API call + /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. + /// Task of ApiResponse (AccountAnalytics) + public async System.Threading.Tasks.Task> GetAccountAnalyticsAsyncWithHttpInfo (int accountId) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("accountId", TalonOne.Client.ClientUtils.ParameterToString(accountId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/accounts/{accountId}/analytics", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAccountAnalytics", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get account-level collection Retrieve a given account-level collection. + /// + /// Thrown when fails to make API call + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// Collection + public Collection GetAccountCollection (int collectionId) + { + TalonOne.Client.ApiResponse localVarResponse = GetAccountCollectionWithHttpInfo(collectionId); + return localVarResponse.Data; + } + + /// + /// Get account-level collection Retrieve a given account-level collection. + /// + /// Thrown when fails to make API call + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// ApiResponse of Collection + public TalonOne.Client.ApiResponse< Collection > GetAccountCollectionWithHttpInfo (int collectionId) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< Collection >("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAccountCollection", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get account-level collection Retrieve a given account-level collection. + /// + /// Thrown when fails to make API call + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// Task of Collection + public async System.Threading.Tasks.Task GetAccountCollectionAsync (int collectionId) + { + TalonOne.Client.ApiResponse localVarResponse = await GetAccountCollectionAsyncWithHttpInfo(collectionId); + return localVarResponse.Data; + + } + + /// + /// Get account-level collection Retrieve a given account-level collection. + /// + /// Thrown when fails to make API call + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// Task of ApiResponse (Collection) + public async System.Threading.Tasks.Task> GetAccountCollectionAsyncWithHttpInfo (int collectionId) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAccountCollection", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get achievement Get the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// Achievement + public Achievement GetAchievement (int applicationId, int campaignId, int achievementId) + { + TalonOne.Client.ApiResponse localVarResponse = GetAchievementWithHttpInfo(applicationId, campaignId, achievementId); + return localVarResponse.Data; + } + + /// + /// Get achievement Get the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// ApiResponse of Achievement + public TalonOne.Client.ApiResponse< Achievement > GetAchievementWithHttpInfo (int applicationId, int campaignId, int achievementId) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("achievementId", TalonOne.Client.ClientUtils.ParameterToString(achievementId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< Achievement >("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAchievement", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get achievement Get the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// Task of Achievement + public async System.Threading.Tasks.Task GetAchievementAsync (int applicationId, int campaignId, int achievementId) + { + TalonOne.Client.ApiResponse localVarResponse = await GetAchievementAsyncWithHttpInfo(applicationId, campaignId, achievementId); + return localVarResponse.Data; + + } + + /// + /// Get achievement Get the details of a specific achievement. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. + /// Task of ApiResponse (Achievement) + public async System.Threading.Tasks.Task> GetAchievementAsyncWithHttpInfo (int applicationId, int campaignId, int achievementId) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("achievementId", TalonOne.Client.ClientUtils.ParameterToString(achievementId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAchievement", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get additional cost Returns the additional cost. + /// + /// Thrown when fails to make API call + /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. + /// AccountAdditionalCost + public AccountAdditionalCost GetAdditionalCost (int additionalCostId) + { + TalonOne.Client.ApiResponse localVarResponse = GetAdditionalCostWithHttpInfo(additionalCostId); + return localVarResponse.Data; + } + + /// + /// Get additional cost Returns the additional cost. + /// + /// Thrown when fails to make API call + /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. + /// ApiResponse of AccountAdditionalCost + public TalonOne.Client.ApiResponse< AccountAdditionalCost > GetAdditionalCostWithHttpInfo (int additionalCostId) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("additionalCostId", TalonOne.Client.ClientUtils.ParameterToString(additionalCostId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< AccountAdditionalCost >("/v1/additional_costs/{additionalCostId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAdditionalCost", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get additional cost Returns the additional cost. + /// + /// Thrown when fails to make API call + /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. + /// Task of AccountAdditionalCost + public async System.Threading.Tasks.Task GetAdditionalCostAsync (int additionalCostId) + { + TalonOne.Client.ApiResponse localVarResponse = await GetAdditionalCostAsyncWithHttpInfo(additionalCostId); + return localVarResponse.Data; + + } + + /// + /// Get additional cost Returns the additional cost. + /// + /// Thrown when fails to make API call + /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. + /// Task of ApiResponse (AccountAdditionalCost) + public async System.Threading.Tasks.Task> GetAdditionalCostAsyncWithHttpInfo (int additionalCostId) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("additionalCostId", TalonOne.Client.ClientUtils.ParameterToString(additionalCostId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/additional_costs/{additionalCostId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAdditionalCost", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List additional costs Returns all the defined additional costs for the account. + /// + /// Thrown when fails to make API call + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// InlineResponse20036 + public InlineResponse20036 GetAdditionalCosts (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = GetAdditionalCostsWithHttpInfo(pageSize, skip, sort); + return localVarResponse.Data; + } + + /// + /// List additional costs Returns all the defined additional costs for the account. + /// + /// Thrown when fails to make API call + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// ApiResponse of InlineResponse20036 + public TalonOne.Client.ApiResponse< InlineResponse20036 > GetAdditionalCostsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< InlineResponse20036 >("/v1/additional_costs", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAdditionalCosts", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List additional costs Returns all the defined additional costs for the account. + /// + /// Thrown when fails to make API call + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of InlineResponse20036 + public async System.Threading.Tasks.Task GetAdditionalCostsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = await GetAdditionalCostsAsyncWithHttpInfo(pageSize, skip, sort); + return localVarResponse.Data; + + } + + /// + /// List additional costs Returns all the defined additional costs for the account. + /// + /// Thrown when fails to make API call + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of ApiResponse (InlineResponse20036) + public async System.Threading.Tasks.Task> GetAdditionalCostsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/additional_costs", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAdditionalCosts", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List access logs Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. + /// + /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results where the request path matches the given regular expression. (optional) + /// Only return results where the request method matches the given regular expression. (optional) + /// Filter results by HTTP status codes. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// InlineResponse20020 + public InlineResponse20020 GetAllAccessLogs (DateTime? rangeStart = default(DateTime?), DateTime? rangeEnd = default(DateTime?), string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = GetAllAccessLogsWithHttpInfo(rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); + return localVarResponse.Data; + } + + /// + /// List access logs Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. + /// + /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results where the request path matches the given regular expression. (optional) + /// Only return results where the request method matches the given regular expression. (optional) + /// Filter results by HTTP status codes. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// ApiResponse of InlineResponse20020 + public TalonOne.Client.ApiResponse< InlineResponse20020 > GetAllAccessLogsWithHttpInfo (DateTime? rangeStart = default(DateTime?), DateTime? rangeEnd = default(DateTime?), string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + if (rangeStart != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + } + if (rangeEnd != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + } + if (path != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "path", path)); + } + if (method != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "method", method)); + } + if (status != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< InlineResponse20020 >("/v1/access_logs", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllAccessLogs", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List access logs Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. + /// + /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results where the request path matches the given regular expression. (optional) + /// Only return results where the request method matches the given regular expression. (optional) + /// Filter results by HTTP status codes. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of InlineResponse20020 + public async System.Threading.Tasks.Task GetAllAccessLogsAsync (DateTime? rangeStart = default(DateTime?), DateTime? rangeEnd = default(DateTime?), string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = await GetAllAccessLogsAsyncWithHttpInfo(rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); + return localVarResponse.Data; + + } + + /// + /// List access logs Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. + /// + /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Only return results where the request path matches the given regular expression. (optional) + /// Only return results where the request method matches the given regular expression. (optional) + /// Filter results by HTTP status codes. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of ApiResponse (InlineResponse20020) + public async System.Threading.Tasks.Task> GetAllAccessLogsAsyncWithHttpInfo (DateTime? rangeStart = default(DateTime?), DateTime? rangeEnd = default(DateTime?), string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + if (rangeStart != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + } + if (rangeEnd != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + } + if (path != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "path", path)); + } + if (method != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "method", method)); + } + if (status != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/access_logs", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllAccessLogs", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get Application Get the application specified by the ID. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Application + public Application GetApplication (int applicationId) + { + TalonOne.Client.ApiResponse localVarResponse = GetApplicationWithHttpInfo(applicationId); + return localVarResponse.Data; + } + + /// + /// Get Application Get the application specified by the ID. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// ApiResponse of Application + public TalonOne.Client.ApiResponse< Application > GetApplicationWithHttpInfo (int applicationId) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< Application >("/v1/applications/{applicationId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplication", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get Application Get the application specified by the ID. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Task of Application + public async System.Threading.Tasks.Task GetApplicationAsync (int applicationId) + { + TalonOne.Client.ApiResponse localVarResponse = await GetApplicationAsyncWithHttpInfo(applicationId); + return localVarResponse.Data; + + } + + /// + /// Get Application Get the application specified by the ID. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Task of ApiResponse (Application) + public async System.Threading.Tasks.Task> GetApplicationAsyncWithHttpInfo (int applicationId) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplication", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get Application health Display the health of the Application and show the last time the Application was used. You can also display this information from the **Settings** of an Application, in the **Developer Settings** menu. See the [docs](https://docs.talon.one/docs/dev/tutorials/monitoring-integration-status). + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// ApplicationApiHealth + public ApplicationApiHealth GetApplicationApiHealth (int applicationId) + { + TalonOne.Client.ApiResponse localVarResponse = GetApplicationApiHealthWithHttpInfo(applicationId); + return localVarResponse.Data; + } + + /// + /// Get Application health Display the health of the Application and show the last time the Application was used. You can also display this information from the **Settings** of an Application, in the **Developer Settings** menu. See the [docs](https://docs.talon.one/docs/dev/tutorials/monitoring-integration-status). + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// ApiResponse of ApplicationApiHealth + public TalonOne.Client.ApiResponse< ApplicationApiHealth > GetApplicationApiHealthWithHttpInfo (int applicationId) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< ApplicationApiHealth >("/v1/applications/{applicationId}/health_report", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationApiHealth", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get Application health Display the health of the Application and show the last time the Application was used. You can also display this information from the **Settings** of an Application, in the **Developer Settings** menu. See the [docs](https://docs.talon.one/docs/dev/tutorials/monitoring-integration-status). + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Task of ApplicationApiHealth + public async System.Threading.Tasks.Task GetApplicationApiHealthAsync (int applicationId) + { + TalonOne.Client.ApiResponse localVarResponse = await GetApplicationApiHealthAsyncWithHttpInfo(applicationId); + return localVarResponse.Data; + + } + + /// + /// Get Application health Display the health of the Application and show the last time the Application was used. You can also display this information from the **Settings** of an Application, in the **Developer Settings** menu. See the [docs](https://docs.talon.one/docs/dev/tutorials/monitoring-integration-status). + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Task of ApiResponse (ApplicationApiHealth) + public async System.Threading.Tasks.Task> GetApplicationApiHealthAsyncWithHttpInfo (int applicationId) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/health_report", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationApiHealth", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get application's customer Retrieve the customers of the specified application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// ApplicationCustomer + public ApplicationCustomer GetApplicationCustomer (int applicationId, int customerId) + { + TalonOne.Client.ApiResponse localVarResponse = GetApplicationCustomerWithHttpInfo(applicationId, customerId); + return localVarResponse.Data; + } + + /// + /// Get application's customer Retrieve the customers of the specified application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// ApiResponse of ApplicationCustomer + public TalonOne.Client.ApiResponse< ApplicationCustomer > GetApplicationCustomerWithHttpInfo (int applicationId, int customerId) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< ApplicationCustomer >("/v1/applications/{applicationId}/customers/{customerId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationCustomer", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Get application's customer Retrieve the customers of the specified application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// Task of ApplicationCustomer + public async System.Threading.Tasks.Task GetApplicationCustomerAsync (int applicationId, int customerId) + { + TalonOne.Client.ApiResponse localVarResponse = await GetApplicationCustomerAsyncWithHttpInfo(applicationId, customerId); + return localVarResponse.Data; + + } + + /// + /// Get application's customer Retrieve the customers of the specified application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// Task of ApiResponse (ApplicationCustomer) + public async System.Threading.Tasks.Task> GetApplicationCustomerAsyncWithHttpInfo (int applicationId, int customerId) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/customers/{customerId}", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationCustomer", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List friends referred by customer profile List the friends referred by the specified customer profile in this Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The Integration ID of the Advocate's Profile. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// InlineResponse20033 + public InlineResponse20033 GetApplicationCustomerFriends (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + { + TalonOne.Client.ApiResponse localVarResponse = GetApplicationCustomerFriendsWithHttpInfo(applicationId, integrationId, pageSize, skip, sort, withTotalResultSize); + return localVarResponse.Data; + } + + /// + /// List friends referred by customer profile List the friends referred by the specified customer profile in this Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The Integration ID of the Advocate's Profile. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// ApiResponse of InlineResponse20033 + public TalonOne.Client.ApiResponse< InlineResponse20033 > GetApplicationCustomerFriendsWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + { + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->GetApplicationCustomerFriends"); + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< InlineResponse20033 >("/v1/applications/{applicationId}/profile/{integrationId}/friends", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationCustomerFriends", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List friends referred by customer profile List the friends referred by the specified customer profile in this Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The Integration ID of the Advocate's Profile. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Task of InlineResponse20033 + public async System.Threading.Tasks.Task GetApplicationCustomerFriendsAsync (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + { + TalonOne.Client.ApiResponse localVarResponse = await GetApplicationCustomerFriendsAsyncWithHttpInfo(applicationId, integrationId, pageSize, skip, sort, withTotalResultSize); + return localVarResponse.Data; + + } + + /// + /// List friends referred by customer profile List the friends referred by the specified customer profile in this Application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The Integration ID of the Advocate's Profile. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Task of ApiResponse (InlineResponse20033) + public async System.Threading.Tasks.Task> GetApplicationCustomerFriendsAsyncWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + { + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->GetApplicationCustomerFriends"); + + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/profile/{integrationId}/friends", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationCustomerFriends", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List application's customers List all the customers of the specified application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results performing an exact matching against the profile integration identifier. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// InlineResponse20022 + public InlineResponse20022 GetApplicationCustomers (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + { + TalonOne.Client.ApiResponse localVarResponse = GetApplicationCustomersWithHttpInfo(applicationId, integrationId, pageSize, skip, withTotalResultSize); + return localVarResponse.Data; + } + + /// + /// List application's customers List all the customers of the specified application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results performing an exact matching against the profile integration identifier. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// ApiResponse of InlineResponse20022 + public TalonOne.Client.ApiResponse< InlineResponse20022 > GetApplicationCustomersWithHttpInfo (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (integrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< InlineResponse20022 >("/v1/applications/{applicationId}/customers", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationCustomers", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List application's customers List all the customers of the specified application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results performing an exact matching against the profile integration identifier. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Task of InlineResponse20022 + public async System.Threading.Tasks.Task GetApplicationCustomersAsync (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + { + TalonOne.Client.ApiResponse localVarResponse = await GetApplicationCustomersAsyncWithHttpInfo(applicationId, integrationId, pageSize, skip, withTotalResultSize); + return localVarResponse.Data; + + } + + /// + /// List application's customers List all the customers of the specified application. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// Filter results performing an exact matching against the profile integration identifier. (optional) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Task of ApiResponse (InlineResponse20022) + public async System.Threading.Tasks.Task> GetApplicationCustomersAsyncWithHttpInfo (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (integrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/customers", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationCustomers", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List application customers matching the given attributes Get a list of the application customers matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// body + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// InlineResponse20023 + public InlineResponse20023 GetApplicationCustomersByAttributes (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + { + TalonOne.Client.ApiResponse localVarResponse = GetApplicationCustomersByAttributesWithHttpInfo(applicationId, body, pageSize, skip, withTotalResultSize); + return localVarResponse.Data; + } + + /// + /// List application customers matching the given attributes Get a list of the application customers matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// body + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// ApiResponse of InlineResponse20023 + public TalonOne.Client.ApiResponse< InlineResponse20023 > GetApplicationCustomersByAttributesWithHttpInfo (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetApplicationCustomersByAttributes"); + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + "application/json" + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + localVarRequestOptions.Data = body; + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Post< InlineResponse20023 >("/v1/applications/{applicationId}/customer_search", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationCustomersByAttributes", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List application customers matching the given attributes Get a list of the application customers matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// body + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Task of InlineResponse20023 + public async System.Threading.Tasks.Task GetApplicationCustomersByAttributesAsync (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + { + TalonOne.Client.ApiResponse localVarResponse = await GetApplicationCustomersByAttributesAsyncWithHttpInfo(applicationId, body, pageSize, skip, withTotalResultSize); + return localVarResponse.Data; + + } + + /// + /// List application customers matching the given attributes Get a list of the application customers matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// body + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Task of ApiResponse (InlineResponse20023) + public async System.Threading.Tasks.Task> GetApplicationCustomersByAttributesAsyncWithHttpInfo (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetApplicationCustomersByAttributes"); + + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + "application/json" + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + localVarRequestOptions.Data = body; + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/customer_search", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationCustomersByAttributes", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List Applications event types Get all of the distinct values of the Event `type` property for events recorded in the application. See also: [Track an event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// InlineResponse20029 + public InlineResponse20029 GetApplicationEventTypes (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = GetApplicationEventTypesWithHttpInfo(applicationId, pageSize, skip, sort); + return localVarResponse.Data; + } + + /// + /// List Applications event types Get all of the distinct values of the Event `type` property for events recorded in the application. See also: [Track an event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// ApiResponse of InlineResponse20029 + public TalonOne.Client.ApiResponse< InlineResponse20029 > GetApplicationEventTypesWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< InlineResponse20029 >("/v1/applications/{applicationId}/event_types", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationEventTypes", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List Applications event types Get all of the distinct values of the Event `type` property for events recorded in the application. See also: [Track an event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of InlineResponse20029 + public async System.Threading.Tasks.Task GetApplicationEventTypesAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = await GetApplicationEventTypesAsyncWithHttpInfo(applicationId, pageSize, skip, sort); + return localVarResponse.Data; + + } + + /// + /// List Applications event types Get all of the distinct values of the Event `type` property for events recorded in the application. See also: [Track an event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of ApiResponse (InlineResponse20029) + public async System.Threading.Tasks.Task> GetApplicationEventTypesAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + + // authentication (management_key) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + // authentication (manager_auth) required + if ( + !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( + !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") || + localVarRequestOptions.HeaderParameters["Authorization"].Count == 0 + ) + ) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/event_types", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationEventTypes", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List Applications events Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Session integration ID filter for events. Must be exact match. (optional) + /// Profile integration ID filter for events. Must be exact match. (optional) + /// Customer name filter for events. Will match substrings case-insensitively. (optional) + /// Customer e-mail address filter for events. Will match substrings case-insensitively. (optional) + /// Coupon code (optional) + /// Referral code (optional) + /// Rule name filter for events (optional) + /// Campaign name filter for events (optional) + /// InlineResponse20028 + public InlineResponse20028 GetApplicationEventsWithoutTotalCount (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = GetApplicationEventsWithoutTotalCountWithHttpInfo(applicationId, pageSize, skip, sort, type, createdBefore, createdAfter, session, profile, customerName, customerEmail, couponCode, referralCode, ruleQuery, campaignQuery); + return localVarResponse.Data; + } + + /// + /// List Applications events Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Session integration ID filter for events. Must be exact match. (optional) + /// Profile integration ID filter for events. Must be exact match. (optional) + /// Customer name filter for events. Will match substrings case-insensitively. (optional) + /// Customer e-mail address filter for events. Will match substrings case-insensitively. (optional) + /// Coupon code (optional) + /// Referral code (optional) + /// Rule name filter for events (optional) + /// Campaign name filter for events (optional) + /// ApiResponse of InlineResponse20028 + public TalonOne.Client.ApiResponse< InlineResponse20028 > GetApplicationEventsWithoutTotalCountWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)) + { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -13724,7 +18940,63 @@ public TalonOne.Client.ApiResponse< AccountAnalytics > GetAccountAnalyticsWithHt var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("accountId", TalonOne.Client.ClientUtils.ParameterToString(accountId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (type != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "type", type)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (session != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "session", session)); + } + if (profile != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profile", profile)); + } + if (customerName != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerName", customerName)); + } + if (customerEmail != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerEmail", customerEmail)); + } + if (couponCode != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "couponCode", couponCode)); + } + if (referralCode != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralCode", referralCode)); + } + if (ruleQuery != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "ruleQuery", ruleQuery)); + } + if (campaignQuery != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignQuery", campaignQuery)); + } // authentication (management_key) required if ( @@ -13744,62 +19016,146 @@ public TalonOne.Client.ApiResponse< AccountAnalytics > GetAccountAnalyticsWithHt ) ) { - localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + localVarRequestOptions.HeaderParameters.Add("Authorization", this.Configuration.GetApiKeyWithPrefix("Authorization")); + } + + // make the HTTP request + var localVarResponse = this.Client.Get< InlineResponse20028 >("/v1/applications/{applicationId}/events/no_total", localVarRequestOptions, this.Configuration); + + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetApplicationEventsWithoutTotalCount", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List Applications events Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Session integration ID filter for events. Must be exact match. (optional) + /// Profile integration ID filter for events. Must be exact match. (optional) + /// Customer name filter for events. Will match substrings case-insensitively. (optional) + /// Customer e-mail address filter for events. Will match substrings case-insensitively. (optional) + /// Coupon code (optional) + /// Referral code (optional) + /// Rule name filter for events (optional) + /// Campaign name filter for events (optional) + /// Task of InlineResponse20028 + public async System.Threading.Tasks.Task GetApplicationEventsWithoutTotalCountAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = await GetApplicationEventsWithoutTotalCountAsyncWithHttpInfo(applicationId, pageSize, skip, sort, type, createdBefore, createdAfter, session, profile, customerName, customerEmail, couponCode, referralCode, ruleQuery, campaignQuery); + return localVarResponse.Data; + + } + + /// + /// List Applications events Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Session integration ID filter for events. Must be exact match. (optional) + /// Profile integration ID filter for events. Must be exact match. (optional) + /// Customer name filter for events. Will match substrings case-insensitively. (optional) + /// Customer e-mail address filter for events. Will match substrings case-insensitively. (optional) + /// Coupon code (optional) + /// Referral code (optional) + /// Rule name filter for events (optional) + /// Campaign name filter for events (optional) + /// Task of ApiResponse (InlineResponse20028) + public async System.Threading.Tasks.Task> GetApplicationEventsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)) + { + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + foreach (var _contentType in _contentTypes) + localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); + + foreach (var _accept in _accepts) + localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (type != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "type", type)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (session != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "session", session)); + } + if (profile != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profile", profile)); + } + if (customerName != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerName", customerName)); + } + if (customerEmail != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerEmail", customerEmail)); + } + if (couponCode != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "couponCode", couponCode)); + } + if (referralCode != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralCode", referralCode)); + } + if (ruleQuery != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "ruleQuery", ruleQuery)); } - - // make the HTTP request - var localVarResponse = this.Client.Get< AccountAnalytics >("/v1/accounts/{accountId}/analytics", localVarRequestOptions, this.Configuration); - - - if (this.ExceptionFactory != null) + if (campaignQuery != null) { - Exception _exception = this.ExceptionFactory("GetAccountAnalytics", localVarResponse); - if (_exception != null) throw _exception; + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignQuery", campaignQuery)); } - return localVarResponse; - } - - /// - /// Get account analytics Return the analytics of your Talon.One account. - /// - /// Thrown when fails to make API call - /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. - /// Task of AccountAnalytics - public async System.Threading.Tasks.Task GetAccountAnalyticsAsync (int accountId) - { - TalonOne.Client.ApiResponse localVarResponse = await GetAccountAnalyticsAsyncWithHttpInfo(accountId); - return localVarResponse.Data; - - } - - /// - /// Get account analytics Return the analytics of your Talon.One account. - /// - /// Thrown when fails to make API call - /// The identifier of the account. Retrieve it via the [List users in account](https://docs.talon.one/management-api#operation/getUsers) endpoint in the `accountId` property. - /// Task of ApiResponse (AccountAnalytics) - public async System.Threading.Tasks.Task> GetAccountAnalyticsAsyncWithHttpInfo (int accountId) - { - - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); - - String[] _contentTypes = new String[] { - }; - - // to determine the Accept header - String[] _accepts = new String[] { - "application/json" - }; - - foreach (var _contentType in _contentTypes) - localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); - - foreach (var _accept in _accepts) - localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - - localVarRequestOptions.PathParameters.Add("accountId", TalonOne.Client.ClientUtils.ParameterToString(accountId)); // path parameter - // authentication (management_key) required if ( !String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("Authorization")) && ( @@ -13823,12 +19179,12 @@ public async System.Threading.Tasks.Task GetAccountAnalyticsAs // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/accounts/{accountId}/analytics", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/events/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAccountAnalytics", localVarResponse); + Exception _exception = this.ExceptionFactory("GetApplicationEventsWithoutTotalCount", localVarResponse); if (_exception != null) throw _exception; } @@ -13836,24 +19192,26 @@ public async System.Threading.Tasks.Task GetAccountAnalyticsAs } /// - /// Get account-level collection Retrieve a given account-level collection. + /// Get Application session Get the details of the given session. You can list the sessions with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Collection - public Collection GetAccountCollection (int collectionId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. + /// ApplicationSession + public ApplicationSession GetApplicationSession (int applicationId, int sessionId) { - TalonOne.Client.ApiResponse localVarResponse = GetAccountCollectionWithHttpInfo(collectionId); + TalonOne.Client.ApiResponse localVarResponse = GetApplicationSessionWithHttpInfo(applicationId, sessionId); return localVarResponse.Data; } /// - /// Get account-level collection Retrieve a given account-level collection. + /// Get Application session Get the details of the given session. You can list the sessions with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// ApiResponse of Collection - public TalonOne.Client.ApiResponse< Collection > GetAccountCollectionWithHttpInfo (int collectionId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. + /// ApiResponse of ApplicationSession + public TalonOne.Client.ApiResponse< ApplicationSession > GetApplicationSessionWithHttpInfo (int applicationId, int sessionId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -13871,7 +19229,8 @@ public TalonOne.Client.ApiResponse< Collection > GetAccountCollectionWithHttpInf var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("sessionId", TalonOne.Client.ClientUtils.ParameterToString(sessionId)); // path parameter // authentication (management_key) required if ( @@ -13895,12 +19254,12 @@ public TalonOne.Client.ApiResponse< Collection > GetAccountCollectionWithHttpInf } // make the HTTP request - var localVarResponse = this.Client.Get< Collection >("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< ApplicationSession >("/v1/applications/{applicationId}/sessions/{sessionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAccountCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("GetApplicationSession", localVarResponse); if (_exception != null) throw _exception; } @@ -13908,25 +19267,27 @@ public TalonOne.Client.ApiResponse< Collection > GetAccountCollectionWithHttpInf } /// - /// Get account-level collection Retrieve a given account-level collection. + /// Get Application session Get the details of the given session. You can list the sessions with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of Collection - public async System.Threading.Tasks.Task GetAccountCollectionAsync (int collectionId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. + /// Task of ApplicationSession + public async System.Threading.Tasks.Task GetApplicationSessionAsync (int applicationId, int sessionId) { - TalonOne.Client.ApiResponse localVarResponse = await GetAccountCollectionAsyncWithHttpInfo(collectionId); + TalonOne.Client.ApiResponse localVarResponse = await GetApplicationSessionAsyncWithHttpInfo(applicationId, sessionId); return localVarResponse.Data; } /// - /// Get account-level collection Retrieve a given account-level collection. + /// Get Application session Get the details of the given session. You can list the sessions with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of ApiResponse (Collection) - public async System.Threading.Tasks.Task> GetAccountCollectionAsyncWithHttpInfo (int collectionId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. + /// Task of ApiResponse (ApplicationSession) + public async System.Threading.Tasks.Task> GetApplicationSessionAsyncWithHttpInfo (int applicationId, int sessionId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -13945,7 +19306,8 @@ public async System.Threading.Tasks.Task GetAccountCollectionAsync ( foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("sessionId", TalonOne.Client.ClientUtils.ParameterToString(sessionId)); // path parameter // authentication (management_key) required if ( @@ -13970,12 +19332,12 @@ public async System.Threading.Tasks.Task GetAccountCollectionAsync ( // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/sessions/{sessionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAccountCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("GetApplicationSession", localVarResponse); if (_exception != null) throw _exception; } @@ -13983,24 +19345,46 @@ public async System.Threading.Tasks.Task GetAccountCollectionAsync ( } /// - /// Get additional cost Returns the additional cost. + /// List Application sessions List all the sessions of the specified Application. /// /// Thrown when fails to make API call - /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. - /// AccountAdditionalCost - public AccountAdditionalCost GetAdditionalCost (int additionalCostId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Profile integration ID filter for sessions. Must be exact match. (optional) + /// Filter by sessions with this state. Must be exact match. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter by sessions with this coupon. Must be exact match. (optional) + /// Filter by sessions with this referral. Must be exact match. (optional) + /// Filter by sessions with this integrationId. Must be exact match. (optional) + /// The integration ID of the store. You choose this ID when you create a store. (optional) + /// InlineResponse20027 + public InlineResponse20027 GetApplicationSessions (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string), string storeIntegrationId = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetAdditionalCostWithHttpInfo(additionalCostId); + TalonOne.Client.ApiResponse localVarResponse = GetApplicationSessionsWithHttpInfo(applicationId, pageSize, skip, sort, profile, state, createdBefore, createdAfter, coupon, referral, integrationId, storeIntegrationId); return localVarResponse.Data; } /// - /// Get additional cost Returns the additional cost. + /// List Application sessions List all the sessions of the specified Application. /// /// Thrown when fails to make API call - /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. - /// ApiResponse of AccountAdditionalCost - public TalonOne.Client.ApiResponse< AccountAdditionalCost > GetAdditionalCostWithHttpInfo (int additionalCostId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Profile integration ID filter for sessions. Must be exact match. (optional) + /// Filter by sessions with this state. Must be exact match. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter by sessions with this coupon. Must be exact match. (optional) + /// Filter by sessions with this referral. Must be exact match. (optional) + /// Filter by sessions with this integrationId. Must be exact match. (optional) + /// The integration ID of the store. You choose this ID when you create a store. (optional) + /// ApiResponse of InlineResponse20027 + public TalonOne.Client.ApiResponse< InlineResponse20027 > GetApplicationSessionsWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string), string storeIntegrationId = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14018,7 +19402,51 @@ public TalonOne.Client.ApiResponse< AccountAdditionalCost > GetAdditionalCostWit var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("additionalCostId", TalonOne.Client.ClientUtils.ParameterToString(additionalCostId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (profile != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profile", profile)); + } + if (state != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "state", state)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (coupon != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "coupon", coupon)); + } + if (referral != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referral", referral)); + } + if (integrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + } + if (storeIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "storeIntegrationId", storeIntegrationId)); + } // authentication (management_key) required if ( @@ -14042,12 +19470,12 @@ public TalonOne.Client.ApiResponse< AccountAdditionalCost > GetAdditionalCostWit } // make the HTTP request - var localVarResponse = this.Client.Get< AccountAdditionalCost >("/v1/additional_costs/{additionalCostId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20027 >("/v1/applications/{applicationId}/sessions", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAdditionalCost", localVarResponse); + Exception _exception = this.ExceptionFactory("GetApplicationSessions", localVarResponse); if (_exception != null) throw _exception; } @@ -14055,25 +19483,47 @@ public TalonOne.Client.ApiResponse< AccountAdditionalCost > GetAdditionalCostWit } /// - /// Get additional cost Returns the additional cost. + /// List Application sessions List all the sessions of the specified Application. /// /// Thrown when fails to make API call - /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. - /// Task of AccountAdditionalCost - public async System.Threading.Tasks.Task GetAdditionalCostAsync (int additionalCostId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Profile integration ID filter for sessions. Must be exact match. (optional) + /// Filter by sessions with this state. Must be exact match. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter by sessions with this coupon. Must be exact match. (optional) + /// Filter by sessions with this referral. Must be exact match. (optional) + /// Filter by sessions with this integrationId. Must be exact match. (optional) + /// The integration ID of the store. You choose this ID when you create a store. (optional) + /// Task of InlineResponse20027 + public async System.Threading.Tasks.Task GetApplicationSessionsAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string), string storeIntegrationId = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetAdditionalCostAsyncWithHttpInfo(additionalCostId); + TalonOne.Client.ApiResponse localVarResponse = await GetApplicationSessionsAsyncWithHttpInfo(applicationId, pageSize, skip, sort, profile, state, createdBefore, createdAfter, coupon, referral, integrationId, storeIntegrationId); return localVarResponse.Data; } /// - /// Get additional cost Returns the additional cost. + /// List Application sessions List all the sessions of the specified Application. /// /// Thrown when fails to make API call - /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. - /// Task of ApiResponse (AccountAdditionalCost) - public async System.Threading.Tasks.Task> GetAdditionalCostAsyncWithHttpInfo (int additionalCostId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Profile integration ID filter for sessions. Must be exact match. (optional) + /// Filter by sessions with this state. Must be exact match. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter by sessions with this coupon. Must be exact match. (optional) + /// Filter by sessions with this referral. Must be exact match. (optional) + /// Filter by sessions with this integrationId. Must be exact match. (optional) + /// The integration ID of the store. You choose this ID when you create a store. (optional) + /// Task of ApiResponse (InlineResponse20027) + public async System.Threading.Tasks.Task> GetApplicationSessionsAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string), string storeIntegrationId = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14092,7 +19542,51 @@ public async System.Threading.Tasks.Task GetAdditionalCos foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("additionalCostId", TalonOne.Client.ClientUtils.ParameterToString(additionalCostId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (profile != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profile", profile)); + } + if (state != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "state", state)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (coupon != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "coupon", coupon)); + } + if (referral != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referral", referral)); + } + if (integrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + } + if (storeIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "storeIntegrationId", storeIntegrationId)); + } // authentication (management_key) required if ( @@ -14117,12 +19611,12 @@ public async System.Threading.Tasks.Task GetAdditionalCos // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/additional_costs/{additionalCostId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/sessions", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAdditionalCost", localVarResponse); + Exception _exception = this.ExceptionFactory("GetApplicationSessions", localVarResponse); if (_exception != null) throw _exception; } @@ -14130,28 +19624,28 @@ public async System.Threading.Tasks.Task GetAdditionalCos } /// - /// List additional costs Returns all the defined additional costs for the account. + /// List Applications List all applications in the current account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20033 - public InlineResponse20033 GetAdditionalCosts (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// InlineResponse2005 + public InlineResponse2005 GetApplications (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetAdditionalCostsWithHttpInfo(pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = GetApplicationsWithHttpInfo(pageSize, skip, sort); return localVarResponse.Data; } /// - /// List additional costs Returns all the defined additional costs for the account. + /// List Applications List all applications in the current account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20033 - public TalonOne.Client.ApiResponse< InlineResponse20033 > GetAdditionalCostsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// ApiResponse of InlineResponse2005 + public TalonOne.Client.ApiResponse< InlineResponse2005 > GetApplicationsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14204,12 +19698,12 @@ public async System.Threading.Tasks.Task GetAdditionalCos } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20033 >("/v1/additional_costs", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse2005 >("/v1/applications", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAdditionalCosts", localVarResponse); + Exception _exception = this.ExceptionFactory("GetApplications", localVarResponse); if (_exception != null) throw _exception; } @@ -14217,29 +19711,29 @@ public async System.Threading.Tasks.Task GetAdditionalCos } /// - /// List additional costs Returns all the defined additional costs for the account. + /// List Applications List all applications in the current account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20033 - public async System.Threading.Tasks.Task GetAdditionalCostsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Task of InlineResponse2005 + public async System.Threading.Tasks.Task GetApplicationsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetAdditionalCostsAsyncWithHttpInfo(pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = await GetApplicationsAsyncWithHttpInfo(pageSize, skip, sort); return localVarResponse.Data; } /// - /// List additional costs Returns all the defined additional costs for the account. + /// List Applications List all applications in the current account. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20033) - public async System.Threading.Tasks.Task> GetAdditionalCostsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Task of ApiResponse (InlineResponse2005) + public async System.Threading.Tasks.Task> GetApplicationsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14294,12 +19788,12 @@ public async System.Threading.Tasks.Task GetAdditionalCos // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/additional_costs", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAdditionalCosts", localVarResponse); + Exception _exception = this.ExceptionFactory("GetApplications", localVarResponse); if (_exception != null) throw _exception; } @@ -14307,38 +19801,24 @@ public async System.Threading.Tasks.Task GetAdditionalCos } /// - /// List access logs Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. + /// Get custom attribute Retrieve the specified custom attribute. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Only return results where the request path matches the given regular expression. (optional) - /// Only return results where the request method matches the given regular expression. (optional) - /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20019 - public InlineResponse20019 GetAllAccessLogs (DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// Attribute + public Attribute GetAttribute (int attributeId) { - TalonOne.Client.ApiResponse localVarResponse = GetAllAccessLogsWithHttpInfo(rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = GetAttributeWithHttpInfo(attributeId); return localVarResponse.Data; } /// - /// List access logs Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. + /// Get custom attribute Retrieve the specified custom attribute. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Only return results where the request path matches the given regular expression. (optional) - /// Only return results where the request method matches the given regular expression. (optional) - /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20019 - public TalonOne.Client.ApiResponse< InlineResponse20019 > GetAllAccessLogsWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// ApiResponse of Attribute + public TalonOne.Client.ApiResponse< Attribute > GetAttributeWithHttpInfo (int attributeId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14356,32 +19836,7 @@ public async System.Threading.Tasks.Task GetAdditionalCos var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (path != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "path", path)); - } - if (method != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "method", method)); - } - if (status != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } + localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter // authentication (management_key) required if ( @@ -14405,12 +19860,12 @@ public async System.Threading.Tasks.Task GetAdditionalCos } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20019 >("/v1/access_logs", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< Attribute >("/v1/attributes/{attributeId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAllAccessLogs", localVarResponse); + Exception _exception = this.ExceptionFactory("GetAttribute", localVarResponse); if (_exception != null) throw _exception; } @@ -14418,39 +19873,25 @@ public async System.Threading.Tasks.Task GetAdditionalCos } /// - /// List access logs Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. + /// Get custom attribute Retrieve the specified custom attribute. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Only return results where the request path matches the given regular expression. (optional) - /// Only return results where the request method matches the given regular expression. (optional) - /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20019 - public async System.Threading.Tasks.Task GetAllAccessLogsAsync (DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// Task of Attribute + public async System.Threading.Tasks.Task GetAttributeAsync (int attributeId) { - TalonOne.Client.ApiResponse localVarResponse = await GetAllAccessLogsAsyncWithHttpInfo(rangeStart, rangeEnd, path, method, status, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = await GetAttributeAsyncWithHttpInfo(attributeId); return localVarResponse.Data; } /// - /// List access logs Fetches the access logs for the entire account. Sensitive requests (logins) are _always_ filtered from the logs. + /// Get custom attribute Retrieve the specified custom attribute. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// Only return results where the request path matches the given regular expression. (optional) - /// Only return results where the request method matches the given regular expression. (optional) - /// Filter results by HTTP status codes. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20019) - public async System.Threading.Tasks.Task> GetAllAccessLogsAsyncWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, string path = default(string), string method = default(string), string status = default(string), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// Task of ApiResponse (Attribute) + public async System.Threading.Tasks.Task> GetAttributeAsyncWithHttpInfo (int attributeId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14469,32 +19910,7 @@ public async System.Threading.Tasks.Task GetAdditionalCos foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (path != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "path", path)); - } - if (method != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "method", method)); - } - if (status != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } + localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter // authentication (management_key) required if ( @@ -14519,12 +19935,12 @@ public async System.Threading.Tasks.Task GetAdditionalCos // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/access_logs", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/attributes/{attributeId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAllAccessLogs", localVarResponse); + Exception _exception = this.ExceptionFactory("GetAttribute", localVarResponse); if (_exception != null) throw _exception; } @@ -14532,22 +19948,30 @@ public async System.Threading.Tasks.Task GetAdditionalCos } /// - /// List roles List all roles. + /// List custom attributes Return all the custom attributes for the account. /// /// Thrown when fails to make API call - /// InlineResponse20041 - public InlineResponse20041 GetAllRoles () + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Returned attributes will be filtered by supplied entity. (optional) + /// InlineResponse20034 + public InlineResponse20034 GetAttributes (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetAllRolesWithHttpInfo(); + TalonOne.Client.ApiResponse localVarResponse = GetAttributesWithHttpInfo(pageSize, skip, sort, entity); return localVarResponse.Data; } /// - /// List roles List all roles. + /// List custom attributes Return all the custom attributes for the account. /// /// Thrown when fails to make API call - /// ApiResponse of InlineResponse20041 - public TalonOne.Client.ApiResponse< InlineResponse20041 > GetAllRolesWithHttpInfo () + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Returned attributes will be filtered by supplied entity. (optional) + /// ApiResponse of InlineResponse20034 + public TalonOne.Client.ApiResponse< InlineResponse20034 > GetAttributesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14565,6 +19989,22 @@ public TalonOne.Client.ApiResponse< InlineResponse20041 > GetAllRolesWithHttpInf var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (entity != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entity", entity)); + } // authentication (management_key) required if ( @@ -14588,12 +20028,12 @@ public TalonOne.Client.ApiResponse< InlineResponse20041 > GetAllRolesWithHttpInf } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20041 >("/v1/roles", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20034 >("/v1/attributes", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAllRoles", localVarResponse); + Exception _exception = this.ExceptionFactory("GetAttributes", localVarResponse); if (_exception != null) throw _exception; } @@ -14601,23 +20041,31 @@ public TalonOne.Client.ApiResponse< InlineResponse20041 > GetAllRolesWithHttpInf } /// - /// List roles List all roles. + /// List custom attributes Return all the custom attributes for the account. /// /// Thrown when fails to make API call - /// Task of InlineResponse20041 - public async System.Threading.Tasks.Task GetAllRolesAsync () + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Returned attributes will be filtered by supplied entity. (optional) + /// Task of InlineResponse20034 + public async System.Threading.Tasks.Task GetAttributesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetAllRolesAsyncWithHttpInfo(); + TalonOne.Client.ApiResponse localVarResponse = await GetAttributesAsyncWithHttpInfo(pageSize, skip, sort, entity); return localVarResponse.Data; } /// - /// List roles List all roles. + /// List custom attributes Return all the custom attributes for the account. /// /// Thrown when fails to make API call - /// Task of ApiResponse (InlineResponse20041) - public async System.Threading.Tasks.Task> GetAllRolesAsyncWithHttpInfo () + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Returned attributes will be filtered by supplied entity. (optional) + /// Task of ApiResponse (InlineResponse20034) + public async System.Threading.Tasks.Task> GetAttributesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14636,6 +20084,22 @@ public async System.Threading.Tasks.Task GetAllRolesAsync ( foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (entity != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entity", entity)); + } // authentication (management_key) required if ( @@ -14660,12 +20124,12 @@ public async System.Threading.Tasks.Task GetAllRolesAsync ( // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/roles", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/attributes", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAllRoles", localVarResponse); + Exception _exception = this.ExceptionFactory("GetAttributes", localVarResponse); if (_exception != null) throw _exception; } @@ -14673,24 +20137,32 @@ public async System.Threading.Tasks.Task GetAllRolesAsync ( } /// - /// Get Application Get the application specified by the ID. + /// List audience members Get a paginated list of the customer profiles in a given audience. A maximum of 1000 customer profiles per page is allowed. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Application - public Application GetApplication (int applicationId) + /// The ID of the audience. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// The filter to select a profile. (optional) + /// InlineResponse20032 + public InlineResponse20032 GetAudienceMemberships (int audienceId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profileQuery = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetApplicationWithHttpInfo(applicationId); + TalonOne.Client.ApiResponse localVarResponse = GetAudienceMembershipsWithHttpInfo(audienceId, pageSize, skip, sort, profileQuery); return localVarResponse.Data; } /// - /// Get Application Get the application specified by the ID. + /// List audience members Get a paginated list of the customer profiles in a given audience. A maximum of 1000 customer profiles per page is allowed. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// ApiResponse of Application - public TalonOne.Client.ApiResponse< Application > GetApplicationWithHttpInfo (int applicationId) + /// The ID of the audience. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// The filter to select a profile. (optional) + /// ApiResponse of InlineResponse20032 + public TalonOne.Client.ApiResponse< InlineResponse20032 > GetAudienceMembershipsWithHttpInfo (int audienceId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profileQuery = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14708,7 +20180,23 @@ public TalonOne.Client.ApiResponse< Application > GetApplicationWithHttpInfo (in var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("audienceId", TalonOne.Client.ClientUtils.ParameterToString(audienceId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (profileQuery != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profileQuery", profileQuery)); + } // authentication (management_key) required if ( @@ -14732,12 +20220,12 @@ public TalonOne.Client.ApiResponse< Application > GetApplicationWithHttpInfo (in } // make the HTTP request - var localVarResponse = this.Client.Get< Application >("/v1/applications/{applicationId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20032 >("/v1/audiences/{audienceId}/memberships", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplication", localVarResponse); + Exception _exception = this.ExceptionFactory("GetAudienceMemberships", localVarResponse); if (_exception != null) throw _exception; } @@ -14745,25 +20233,33 @@ public TalonOne.Client.ApiResponse< Application > GetApplicationWithHttpInfo (in } /// - /// Get Application Get the application specified by the ID. + /// List audience members Get a paginated list of the customer profiles in a given audience. A maximum of 1000 customer profiles per page is allowed. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Task of Application - public async System.Threading.Tasks.Task GetApplicationAsync (int applicationId) + /// The ID of the audience. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// The filter to select a profile. (optional) + /// Task of InlineResponse20032 + public async System.Threading.Tasks.Task GetAudienceMembershipsAsync (int audienceId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profileQuery = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetApplicationAsyncWithHttpInfo(applicationId); + TalonOne.Client.ApiResponse localVarResponse = await GetAudienceMembershipsAsyncWithHttpInfo(audienceId, pageSize, skip, sort, profileQuery); return localVarResponse.Data; } /// - /// Get Application Get the application specified by the ID. + /// List audience members Get a paginated list of the customer profiles in a given audience. A maximum of 1000 customer profiles per page is allowed. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Task of ApiResponse (Application) - public async System.Threading.Tasks.Task> GetApplicationAsyncWithHttpInfo (int applicationId) + /// The ID of the audience. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// The filter to select a profile. (optional) + /// Task of ApiResponse (InlineResponse20032) + public async System.Threading.Tasks.Task> GetAudienceMembershipsAsyncWithHttpInfo (int audienceId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profileQuery = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14782,7 +20278,23 @@ public async System.Threading.Tasks.Task GetApplicationAsync (int a foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("audienceId", TalonOne.Client.ClientUtils.ParameterToString(audienceId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (profileQuery != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profileQuery", profileQuery)); + } // authentication (management_key) required if ( @@ -14807,12 +20319,12 @@ public async System.Threading.Tasks.Task GetApplicationAsync (int a // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/audiences/{audienceId}/memberships", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplication", localVarResponse); + Exception _exception = this.ExceptionFactory("GetAudienceMemberships", localVarResponse); if (_exception != null) throw _exception; } @@ -14820,24 +20332,30 @@ public async System.Threading.Tasks.Task GetApplicationAsync (int a } /// - /// Get Application health Display the health of the Application and show the last time the Application was used. You can also display this information from the **Settings** of an Application, in the **Developer Settings** menu. See the [docs](https://docs.talon.one/docs/dev/tutorials/monitoring-integration-status). + /// List audiences Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// ApplicationApiHealth - public ApplicationApiHealth GetApplicationApiHealth (int applicationId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// InlineResponse20030 + public InlineResponse20030 GetAudiences (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = GetApplicationApiHealthWithHttpInfo(applicationId); + TalonOne.Client.ApiResponse localVarResponse = GetAudiencesWithHttpInfo(pageSize, skip, sort, withTotalResultSize); return localVarResponse.Data; } /// - /// Get Application health Display the health of the Application and show the last time the Application was used. You can also display this information from the **Settings** of an Application, in the **Developer Settings** menu. See the [docs](https://docs.talon.one/docs/dev/tutorials/monitoring-integration-status). + /// List audiences Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// ApiResponse of ApplicationApiHealth - public TalonOne.Client.ApiResponse< ApplicationApiHealth > GetApplicationApiHealthWithHttpInfo (int applicationId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// ApiResponse of InlineResponse20030 + public TalonOne.Client.ApiResponse< InlineResponse20030 > GetAudiencesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14855,7 +20373,22 @@ public TalonOne.Client.ApiResponse< ApplicationApiHealth > GetApplicationApiHeal var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } // authentication (management_key) required if ( @@ -14879,12 +20412,12 @@ public TalonOne.Client.ApiResponse< ApplicationApiHealth > GetApplicationApiHeal } // make the HTTP request - var localVarResponse = this.Client.Get< ApplicationApiHealth >("/v1/applications/{applicationId}/health_report", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20030 >("/v1/audiences", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationApiHealth", localVarResponse); + Exception _exception = this.ExceptionFactory("GetAudiences", localVarResponse); if (_exception != null) throw _exception; } @@ -14892,25 +20425,31 @@ public TalonOne.Client.ApiResponse< ApplicationApiHealth > GetApplicationApiHeal } /// - /// Get Application health Display the health of the Application and show the last time the Application was used. You can also display this information from the **Settings** of an Application, in the **Developer Settings** menu. See the [docs](https://docs.talon.one/docs/dev/tutorials/monitoring-integration-status). + /// List audiences Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Task of ApplicationApiHealth - public async System.Threading.Tasks.Task GetApplicationApiHealthAsync (int applicationId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Task of InlineResponse20030 + public async System.Threading.Tasks.Task GetAudiencesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetApplicationApiHealthAsyncWithHttpInfo(applicationId); + TalonOne.Client.ApiResponse localVarResponse = await GetAudiencesAsyncWithHttpInfo(pageSize, skip, sort, withTotalResultSize); return localVarResponse.Data; } /// - /// Get Application health Display the health of the Application and show the last time the Application was used. You can also display this information from the **Settings** of an Application, in the **Developer Settings** menu. See the [docs](https://docs.talon.one/docs/dev/tutorials/monitoring-integration-status). + /// List audiences Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Task of ApiResponse (ApplicationApiHealth) - public async System.Threading.Tasks.Task> GetApplicationApiHealthAsyncWithHttpInfo (int applicationId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Task of ApiResponse (InlineResponse20030) + public async System.Threading.Tasks.Task> GetAudiencesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -14929,7 +20468,22 @@ public async System.Threading.Tasks.Task GetApplicationApi foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } // authentication (management_key) required if ( @@ -14954,12 +20508,12 @@ public async System.Threading.Tasks.Task GetApplicationApi // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/health_report", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/audiences", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationApiHealth", localVarResponse); + Exception _exception = this.ExceptionFactory("GetAudiences", localVarResponse); if (_exception != null) throw _exception; } @@ -14967,27 +20521,31 @@ public async System.Threading.Tasks.Task GetApplicationApi } /// - /// Get application's customer Retrieve the customers of the specified application. + /// List audience analytics Get a list of audience IDs and their member count. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// ApplicationCustomer - public ApplicationCustomer GetApplicationCustomer (int applicationId, int customerId) + /// The IDs of one or more audiences, separated by commas, by which to filter results. + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// InlineResponse20031 + public InlineResponse20031 GetAudiencesAnalytics (string audienceIds, string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetApplicationCustomerWithHttpInfo(applicationId, customerId); + TalonOne.Client.ApiResponse localVarResponse = GetAudiencesAnalyticsWithHttpInfo(audienceIds, sort); return localVarResponse.Data; } /// - /// Get application's customer Retrieve the customers of the specified application. + /// List audience analytics Get a list of audience IDs and their member count. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// ApiResponse of ApplicationCustomer - public TalonOne.Client.ApiResponse< ApplicationCustomer > GetApplicationCustomerWithHttpInfo (int applicationId, int customerId) + /// The IDs of one or more audiences, separated by commas, by which to filter results. + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// ApiResponse of InlineResponse20031 + public TalonOne.Client.ApiResponse< InlineResponse20031 > GetAudiencesAnalyticsWithHttpInfo (string audienceIds, string sort = default(string)) { + // verify the required parameter 'audienceIds' is set + if (audienceIds == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'audienceIds' when calling ManagementApi->GetAudiencesAnalytics"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -15004,8 +20562,11 @@ public TalonOne.Client.ApiResponse< ApplicationCustomer > GetApplicationCustomer var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "audienceIds", audienceIds)); // authentication (management_key) required if ( @@ -15029,12 +20590,12 @@ public TalonOne.Client.ApiResponse< ApplicationCustomer > GetApplicationCustomer } // make the HTTP request - var localVarResponse = this.Client.Get< ApplicationCustomer >("/v1/applications/{applicationId}/customers/{customerId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20031 >("/v1/audiences/analytics", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationCustomer", localVarResponse); + Exception _exception = this.ExceptionFactory("GetAudiencesAnalytics", localVarResponse); if (_exception != null) throw _exception; } @@ -15042,28 +20603,32 @@ public TalonOne.Client.ApiResponse< ApplicationCustomer > GetApplicationCustomer } /// - /// Get application's customer Retrieve the customers of the specified application. + /// List audience analytics Get a list of audience IDs and their member count. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// Task of ApplicationCustomer - public async System.Threading.Tasks.Task GetApplicationCustomerAsync (int applicationId, int customerId) + /// The IDs of one or more audiences, separated by commas, by which to filter results. + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of InlineResponse20031 + public async System.Threading.Tasks.Task GetAudiencesAnalyticsAsync (string audienceIds, string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetApplicationCustomerAsyncWithHttpInfo(applicationId, customerId); + TalonOne.Client.ApiResponse localVarResponse = await GetAudiencesAnalyticsAsyncWithHttpInfo(audienceIds, sort); return localVarResponse.Data; } /// - /// Get application's customer Retrieve the customers of the specified application. + /// List audience analytics Get a list of audience IDs and their member count. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// Task of ApiResponse (ApplicationCustomer) - public async System.Threading.Tasks.Task> GetApplicationCustomerAsyncWithHttpInfo (int applicationId, int customerId) + /// The IDs of one or more audiences, separated by commas, by which to filter results. + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of ApiResponse (InlineResponse20031) + public async System.Threading.Tasks.Task> GetAudiencesAnalyticsAsyncWithHttpInfo (string audienceIds, string sort = default(string)) { + // verify the required parameter 'audienceIds' is set + if (audienceIds == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'audienceIds' when calling ManagementApi->GetAudiencesAnalytics"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -15081,8 +20646,11 @@ public async System.Threading.Tasks.Task GetApplicationCust foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "audienceIds", audienceIds)); // authentication (management_key) required if ( @@ -15107,12 +20675,12 @@ public async System.Threading.Tasks.Task GetApplicationCust // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/customers/{customerId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/audiences/analytics", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationCustomer", localVarResponse); + Exception _exception = this.ExceptionFactory("GetAudiencesAnalytics", localVarResponse); if (_exception != null) throw _exception; } @@ -15120,39 +20688,27 @@ public async System.Threading.Tasks.Task GetApplicationCust } /// - /// List friends referred by customer profile List the friends referred by the specified customer profile in this Application. + /// Get campaign Retrieve the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The Integration ID of the Advocate's Profile. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// InlineResponse20030 - public InlineResponse20030 GetApplicationCustomerFriends (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// Campaign + public Campaign GetCampaign (int applicationId, int campaignId) { - TalonOne.Client.ApiResponse localVarResponse = GetApplicationCustomerFriendsWithHttpInfo(applicationId, integrationId, pageSize, skip, sort, withTotalResultSize); + TalonOne.Client.ApiResponse localVarResponse = GetCampaignWithHttpInfo(applicationId, campaignId); return localVarResponse.Data; } /// - /// List friends referred by customer profile List the friends referred by the specified customer profile in this Application. + /// Get campaign Retrieve the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The Integration ID of the Advocate's Profile. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// ApiResponse of InlineResponse20030 - public TalonOne.Client.ApiResponse< InlineResponse20030 > GetApplicationCustomerFriendsWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// ApiResponse of Campaign + public TalonOne.Client.ApiResponse< Campaign > GetCampaignWithHttpInfo (int applicationId, int campaignId) { - // verify the required parameter 'integrationId' is set - if (integrationId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->GetApplicationCustomerFriends"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -15170,23 +20726,7 @@ public async System.Threading.Tasks.Task GetApplicationCust if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter // authentication (management_key) required if ( @@ -15210,12 +20750,12 @@ public async System.Threading.Tasks.Task GetApplicationCust } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20030 >("/v1/applications/{applicationId}/profile/{integrationId}/friends", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< Campaign >("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationCustomerFriends", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaign", localVarResponse); if (_exception != null) throw _exception; } @@ -15223,40 +20763,28 @@ public async System.Threading.Tasks.Task GetApplicationCust } /// - /// List friends referred by customer profile List the friends referred by the specified customer profile in this Application. + /// Get campaign Retrieve the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The Integration ID of the Advocate's Profile. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of InlineResponse20030 - public async System.Threading.Tasks.Task GetApplicationCustomerFriendsAsync (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// Task of Campaign + public async System.Threading.Tasks.Task GetCampaignAsync (int applicationId, int campaignId) { - TalonOne.Client.ApiResponse localVarResponse = await GetApplicationCustomerFriendsAsyncWithHttpInfo(applicationId, integrationId, pageSize, skip, sort, withTotalResultSize); + TalonOne.Client.ApiResponse localVarResponse = await GetCampaignAsyncWithHttpInfo(applicationId, campaignId); return localVarResponse.Data; } /// - /// List friends referred by customer profile List the friends referred by the specified customer profile in this Application. + /// Get campaign Retrieve the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The Integration ID of the Advocate's Profile. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of ApiResponse (InlineResponse20030) - public async System.Threading.Tasks.Task> GetApplicationCustomerFriendsAsyncWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// Task of ApiResponse (Campaign) + public async System.Threading.Tasks.Task> GetCampaignAsyncWithHttpInfo (int applicationId, int campaignId) { - // verify the required parameter 'integrationId' is set - if (integrationId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->GetApplicationCustomerFriends"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -15275,23 +20803,7 @@ public async System.Threading.Tasks.Task GetApplicationCust localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter // authentication (management_key) required if ( @@ -15316,12 +20828,12 @@ public async System.Threading.Tasks.Task GetApplicationCust // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/profile/{integrationId}/friends", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationCustomerFriends", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaign", localVarResponse); if (_exception != null) throw _exception; } @@ -15329,32 +20841,32 @@ public async System.Threading.Tasks.Task GetApplicationCust } /// - /// List application's customers List all the customers of the specified application. + /// Get analytics of campaigns Retrieve statistical data about the performance of the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// The time interval between the results in the returned time-series. (optional) /// InlineResponse20021 - public InlineResponse20021 GetApplicationCustomers (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + public InlineResponse20021 GetCampaignAnalytics (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetApplicationCustomersWithHttpInfo(applicationId, integrationId, pageSize, skip, withTotalResultSize); + TalonOne.Client.ApiResponse localVarResponse = GetCampaignAnalyticsWithHttpInfo(applicationId, campaignId, rangeStart, rangeEnd, granularity); return localVarResponse.Data; } /// - /// List application's customers List all the customers of the specified application. + /// Get analytics of campaigns Retrieve statistical data about the performance of the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// The time interval between the results in the returned time-series. (optional) /// ApiResponse of InlineResponse20021 - public TalonOne.Client.ApiResponse< InlineResponse20021 > GetApplicationCustomersWithHttpInfo (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + public TalonOne.Client.ApiResponse< InlineResponse20021 > GetCampaignAnalyticsWithHttpInfo (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -15362,32 +20874,23 @@ public async System.Threading.Tasks.Task GetApplicationCust }; // to determine the Accept header - String[] _accepts = new String[] { - "application/json" - }; - - var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); - if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); - - var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); - if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (integrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (withTotalResultSize != null) + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + if (granularity != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "granularity", granularity)); } // authentication (management_key) required @@ -15412,12 +20915,12 @@ public async System.Threading.Tasks.Task GetApplicationCust } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20021 >("/v1/applications/{applicationId}/customers", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20021 >("/v1/applications/{applicationId}/campaigns/{campaignId}/analytics", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationCustomers", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaignAnalytics", localVarResponse); if (_exception != null) throw _exception; } @@ -15425,33 +20928,33 @@ public async System.Threading.Tasks.Task GetApplicationCust } /// - /// List application's customers List all the customers of the specified application. + /// Get analytics of campaigns Retrieve statistical data about the performance of the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// The time interval between the results in the returned time-series. (optional) /// Task of InlineResponse20021 - public async System.Threading.Tasks.Task GetApplicationCustomersAsync (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + public async System.Threading.Tasks.Task GetCampaignAnalyticsAsync (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetApplicationCustomersAsyncWithHttpInfo(applicationId, integrationId, pageSize, skip, withTotalResultSize); + TalonOne.Client.ApiResponse localVarResponse = await GetCampaignAnalyticsAsyncWithHttpInfo(applicationId, campaignId, rangeStart, rangeEnd, granularity); return localVarResponse.Data; } /// - /// List application's customers List all the customers of the specified application. + /// Get analytics of campaigns Retrieve statistical data about the performance of the given campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// The time interval between the results in the returned time-series. (optional) /// Task of ApiResponse (InlineResponse20021) - public async System.Threading.Tasks.Task> GetApplicationCustomersAsyncWithHttpInfo (int applicationId, string integrationId = default(string), int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + public async System.Threading.Tasks.Task> GetCampaignAnalyticsAsyncWithHttpInfo (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -15471,21 +20974,12 @@ public async System.Threading.Tasks.Task GetApplicationCust localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (integrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (withTotalResultSize != null) + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + if (granularity != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "granularity", granularity)); } // authentication (management_key) required @@ -15511,12 +21005,12 @@ public async System.Threading.Tasks.Task GetApplicationCust // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/customers", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/analytics", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationCustomers", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaignAnalytics", localVarResponse); if (_exception != null) throw _exception; } @@ -15524,36 +21018,38 @@ public async System.Threading.Tasks.Task GetApplicationCust } /// - /// List application customers matching the given attributes Get a list of the application customers matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// List campaigns that match the given attributes Get a list of all the campaigns that match a set of attributes. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// InlineResponse20022 - public InlineResponse20022 GetApplicationCustomersByAttributes (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// InlineResponse2006 + public InlineResponse2006 GetCampaignByAttributes (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetApplicationCustomersByAttributesWithHttpInfo(applicationId, body, pageSize, skip, withTotalResultSize); + TalonOne.Client.ApiResponse localVarResponse = GetCampaignByAttributesWithHttpInfo(applicationId, body, pageSize, skip, sort, campaignState); return localVarResponse.Data; } /// - /// List application customers matching the given attributes Get a list of the application customers matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// List campaigns that match the given attributes Get a list of all the campaigns that match a set of attributes. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// ApiResponse of InlineResponse20022 - public TalonOne.Client.ApiResponse< InlineResponse20022 > GetApplicationCustomersByAttributesWithHttpInfo (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// ApiResponse of InlineResponse2006 + public TalonOne.Client.ApiResponse< InlineResponse2006 > GetCampaignByAttributesWithHttpInfo (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetApplicationCustomersByAttributes"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetCampaignByAttributes"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -15581,9 +21077,13 @@ public async System.Threading.Tasks.Task GetApplicationCust { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (withTotalResultSize != null) + if (sort != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (campaignState != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); } localVarRequestOptions.Data = body; @@ -15609,12 +21109,12 @@ public async System.Threading.Tasks.Task GetApplicationCust } // make the HTTP request - var localVarResponse = this.Client.Post< InlineResponse20022 >("/v1/applications/{applicationId}/customer_search", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< InlineResponse2006 >("/v1/applications/{applicationId}/campaigns_search", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationCustomersByAttributes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaignByAttributes", localVarResponse); if (_exception != null) throw _exception; } @@ -15622,37 +21122,39 @@ public async System.Threading.Tasks.Task GetApplicationCust } /// - /// List application customers matching the given attributes Get a list of the application customers matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// List campaigns that match the given attributes Get a list of all the campaigns that match a set of attributes. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of InlineResponse20022 - public async System.Threading.Tasks.Task GetApplicationCustomersByAttributesAsync (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Task of InlineResponse2006 + public async System.Threading.Tasks.Task GetCampaignByAttributesAsync (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetApplicationCustomersByAttributesAsyncWithHttpInfo(applicationId, body, pageSize, skip, withTotalResultSize); + TalonOne.Client.ApiResponse localVarResponse = await GetCampaignByAttributesAsyncWithHttpInfo(applicationId, body, pageSize, skip, sort, campaignState); return localVarResponse.Data; } /// - /// List application customers matching the given attributes Get a list of the application customers matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// List campaigns that match the given attributes Get a list of all the campaigns that match a set of attributes. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of ApiResponse (InlineResponse20022) - public async System.Threading.Tasks.Task> GetApplicationCustomersByAttributesAsyncWithHttpInfo (int applicationId, CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?)) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Task of ApiResponse (InlineResponse2006) + public async System.Threading.Tasks.Task> GetCampaignByAttributesAsyncWithHttpInfo (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetApplicationCustomersByAttributes"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetCampaignByAttributes"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -15681,9 +21183,13 @@ public async System.Threading.Tasks.Task GetApplicationCust { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (withTotalResultSize != null) + if (sort != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (campaignState != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); } localVarRequestOptions.Data = body; @@ -15710,12 +21216,12 @@ public async System.Threading.Tasks.Task GetApplicationCust // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/customer_search", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns_search", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationCustomersByAttributes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaignByAttributes", localVarResponse); if (_exception != null) throw _exception; } @@ -15723,30 +21229,24 @@ public async System.Threading.Tasks.Task GetApplicationCust } /// - /// List Applications event types Get all of the distinct values of the Event `type` property for events recorded in the application. See also: [Track an event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) + /// Get campaign access group Get a campaign access group specified by its ID. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20028 - public InlineResponse20028 GetApplicationEventTypes (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the campaign access group. + /// CampaignGroup + public CampaignGroup GetCampaignGroup (int campaignGroupId) { - TalonOne.Client.ApiResponse localVarResponse = GetApplicationEventTypesWithHttpInfo(applicationId, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = GetCampaignGroupWithHttpInfo(campaignGroupId); return localVarResponse.Data; } /// - /// List Applications event types Get all of the distinct values of the Event `type` property for events recorded in the application. See also: [Track an event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) + /// Get campaign access group Get a campaign access group specified by its ID. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20028 - public TalonOne.Client.ApiResponse< InlineResponse20028 > GetApplicationEventTypesWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the campaign access group. + /// ApiResponse of CampaignGroup + public TalonOne.Client.ApiResponse< CampaignGroup > GetCampaignGroupWithHttpInfo (int campaignGroupId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -15764,19 +21264,7 @@ public async System.Threading.Tasks.Task GetApplicationCust var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } + localVarRequestOptions.PathParameters.Add("campaignGroupId", TalonOne.Client.ClientUtils.ParameterToString(campaignGroupId)); // path parameter // authentication (management_key) required if ( @@ -15800,12 +21288,12 @@ public async System.Threading.Tasks.Task GetApplicationCust } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20028 >("/v1/applications/{applicationId}/event_types", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< CampaignGroup >("/v1/campaign_groups/{campaignGroupId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationEventTypes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaignGroup", localVarResponse); if (_exception != null) throw _exception; } @@ -15813,31 +21301,25 @@ public async System.Threading.Tasks.Task GetApplicationCust } /// - /// List Applications event types Get all of the distinct values of the Event `type` property for events recorded in the application. See also: [Track an event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) + /// Get campaign access group Get a campaign access group specified by its ID. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20028 - public async System.Threading.Tasks.Task GetApplicationEventTypesAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the campaign access group. + /// Task of CampaignGroup + public async System.Threading.Tasks.Task GetCampaignGroupAsync (int campaignGroupId) { - TalonOne.Client.ApiResponse localVarResponse = await GetApplicationEventTypesAsyncWithHttpInfo(applicationId, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = await GetCampaignGroupAsyncWithHttpInfo(campaignGroupId); return localVarResponse.Data; } /// - /// List Applications event types Get all of the distinct values of the Event `type` property for events recorded in the application. See also: [Track an event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) + /// Get campaign access group Get a campaign access group specified by its ID. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20028) - public async System.Threading.Tasks.Task> GetApplicationEventTypesAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the campaign access group. + /// Task of ApiResponse (CampaignGroup) + public async System.Threading.Tasks.Task> GetCampaignGroupAsyncWithHttpInfo (int campaignGroupId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -15856,19 +21338,7 @@ public async System.Threading.Tasks.Task GetApplicationCust foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } + localVarRequestOptions.PathParameters.Add("campaignGroupId", TalonOne.Client.ClientUtils.ParameterToString(campaignGroupId)); // path parameter // authentication (management_key) required if ( @@ -15893,12 +21363,12 @@ public async System.Threading.Tasks.Task GetApplicationCust // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/event_types", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/campaign_groups/{campaignGroupId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationEventTypes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaignGroup", localVarResponse); if (_exception != null) throw _exception; } @@ -15906,52 +21376,28 @@ public async System.Threading.Tasks.Task GetApplicationCust } /// - /// List Applications events Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. + /// List campaign access groups List the campaign access groups in the current account. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Session integration ID filter for events. Must be exact match. (optional) - /// Profile integration ID filter for events. Must be exact match. (optional) - /// Customer name filter for events. Will match substrings case-insensitively. (optional) - /// Customer e-mail address filter for events. Will match substrings case-insensitively. (optional) - /// Coupon code (optional) - /// Referral code (optional) - /// Rule name filter for events (optional) - /// Campaign name filter for events (optional) - /// InlineResponse20027 - public InlineResponse20027 GetApplicationEventsWithoutTotalCount (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)) + /// InlineResponse20011 + public InlineResponse20011 GetCampaignGroups (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetApplicationEventsWithoutTotalCountWithHttpInfo(applicationId, pageSize, skip, sort, type, createdBefore, createdAfter, session, profile, customerName, customerEmail, couponCode, referralCode, ruleQuery, campaignQuery); + TalonOne.Client.ApiResponse localVarResponse = GetCampaignGroupsWithHttpInfo(pageSize, skip, sort); return localVarResponse.Data; } /// - /// List Applications events Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. + /// List campaign access groups List the campaign access groups in the current account. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Session integration ID filter for events. Must be exact match. (optional) - /// Profile integration ID filter for events. Must be exact match. (optional) - /// Customer name filter for events. Will match substrings case-insensitively. (optional) - /// Customer e-mail address filter for events. Will match substrings case-insensitively. (optional) - /// Coupon code (optional) - /// Referral code (optional) - /// Rule name filter for events (optional) - /// Campaign name filter for events (optional) - /// ApiResponse of InlineResponse20027 - public TalonOne.Client.ApiResponse< InlineResponse20027 > GetApplicationEventsWithoutTotalCountWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)) + /// ApiResponse of InlineResponse20011 + public TalonOne.Client.ApiResponse< InlineResponse20011 > GetCampaignGroupsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -15969,7 +21415,6 @@ public async System.Threading.Tasks.Task GetApplicationCust var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -15982,50 +21427,6 @@ public async System.Threading.Tasks.Task GetApplicationCust { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } - if (type != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "type", type)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (session != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "session", session)); - } - if (profile != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profile", profile)); - } - if (customerName != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerName", customerName)); - } - if (customerEmail != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerEmail", customerEmail)); - } - if (couponCode != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "couponCode", couponCode)); - } - if (referralCode != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralCode", referralCode)); - } - if (ruleQuery != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "ruleQuery", ruleQuery)); - } - if (campaignQuery != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignQuery", campaignQuery)); - } // authentication (management_key) required if ( @@ -16049,12 +21450,12 @@ public async System.Threading.Tasks.Task GetApplicationCust } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20027 >("/v1/applications/{applicationId}/events/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20011 >("/v1/campaign_groups", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationEventsWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaignGroups", localVarResponse); if (_exception != null) throw _exception; } @@ -16062,53 +21463,29 @@ public async System.Threading.Tasks.Task GetApplicationCust } /// - /// List Applications events Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. + /// List campaign access groups List the campaign access groups in the current account. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Session integration ID filter for events. Must be exact match. (optional) - /// Profile integration ID filter for events. Must be exact match. (optional) - /// Customer name filter for events. Will match substrings case-insensitively. (optional) - /// Customer e-mail address filter for events. Will match substrings case-insensitively. (optional) - /// Coupon code (optional) - /// Referral code (optional) - /// Rule name filter for events (optional) - /// Campaign name filter for events (optional) - /// Task of InlineResponse20027 - public async System.Threading.Tasks.Task GetApplicationEventsWithoutTotalCountAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)) + /// Task of InlineResponse20011 + public async System.Threading.Tasks.Task GetCampaignGroupsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetApplicationEventsWithoutTotalCountAsyncWithHttpInfo(applicationId, pageSize, skip, sort, type, createdBefore, createdAfter, session, profile, customerName, customerEmail, couponCode, referralCode, ruleQuery, campaignQuery); + TalonOne.Client.ApiResponse localVarResponse = await GetCampaignGroupsAsyncWithHttpInfo(pageSize, skip, sort); return localVarResponse.Data; } - /// - /// List Applications events Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. - /// - /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Comma-separated list of types by which to filter events. Must be exact match(es). (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Session integration ID filter for events. Must be exact match. (optional) - /// Profile integration ID filter for events. Must be exact match. (optional) - /// Customer name filter for events. Will match substrings case-insensitively. (optional) - /// Customer e-mail address filter for events. Will match substrings case-insensitively. (optional) - /// Coupon code (optional) - /// Referral code (optional) - /// Rule name filter for events (optional) - /// Campaign name filter for events (optional) - /// Task of ApiResponse (InlineResponse20027) - public async System.Threading.Tasks.Task> GetApplicationEventsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string type = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string session = default(string), string profile = default(string), string customerName = default(string), string customerEmail = default(string), string couponCode = default(string), string referralCode = default(string), string ruleQuery = default(string), string campaignQuery = default(string)) + /// + /// List campaign access groups List the campaign access groups in the current account. + /// + /// Thrown when fails to make API call + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of ApiResponse (InlineResponse20011) + public async System.Threading.Tasks.Task> GetCampaignGroupsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -16127,7 +21504,6 @@ public async System.Threading.Tasks.Task GetApplicationCust foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -16140,50 +21516,6 @@ public async System.Threading.Tasks.Task GetApplicationCust { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } - if (type != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "type", type)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (session != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "session", session)); - } - if (profile != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profile", profile)); - } - if (customerName != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerName", customerName)); - } - if (customerEmail != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "customerEmail", customerEmail)); - } - if (couponCode != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "couponCode", couponCode)); - } - if (referralCode != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralCode", referralCode)); - } - if (ruleQuery != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "ruleQuery", ruleQuery)); - } - if (campaignQuery != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignQuery", campaignQuery)); - } // authentication (management_key) required if ( @@ -16208,12 +21540,12 @@ public async System.Threading.Tasks.Task GetApplicationCust // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/events/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/campaign_groups", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationEventsWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaignGroups", localVarResponse); if (_exception != null) throw _exception; } @@ -16221,26 +21553,36 @@ public async System.Threading.Tasks.Task GetApplicationCust } /// - /// Get Application session Get the details of the given session. You can list the sessions with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. + /// List campaign templates Retrieve a list of campaign templates. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. - /// ApplicationSession - public ApplicationSession GetApplicationSession (int applicationId, int sessionId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by the state of the campaign template. (optional) + /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) + /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) + /// Filter results by user ID. (optional) + /// InlineResponse20012 + public InlineResponse20012 GetCampaignTemplates (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = GetApplicationSessionWithHttpInfo(applicationId, sessionId); + TalonOne.Client.ApiResponse localVarResponse = GetCampaignTemplatesWithHttpInfo(pageSize, skip, sort, state, name, tags, userId); return localVarResponse.Data; } /// - /// Get Application session Get the details of the given session. You can list the sessions with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. + /// List campaign templates Retrieve a list of campaign templates. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. - /// ApiResponse of ApplicationSession - public TalonOne.Client.ApiResponse< ApplicationSession > GetApplicationSessionWithHttpInfo (int applicationId, int sessionId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by the state of the campaign template. (optional) + /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) + /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) + /// Filter results by user ID. (optional) + /// ApiResponse of InlineResponse20012 + public TalonOne.Client.ApiResponse< InlineResponse20012 > GetCampaignTemplatesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -16258,8 +21600,34 @@ public TalonOne.Client.ApiResponse< ApplicationSession > GetApplicationSessionWi var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("sessionId", TalonOne.Client.ClientUtils.ParameterToString(sessionId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (state != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "state", state)); + } + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); + } + if (tags != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "tags", tags)); + } + if (userId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "userId", userId)); + } // authentication (management_key) required if ( @@ -16283,12 +21651,12 @@ public TalonOne.Client.ApiResponse< ApplicationSession > GetApplicationSessionWi } // make the HTTP request - var localVarResponse = this.Client.Get< ApplicationSession >("/v1/applications/{applicationId}/sessions/{sessionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20012 >("/v1/campaign_templates", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationSession", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaignTemplates", localVarResponse); if (_exception != null) throw _exception; } @@ -16296,27 +21664,37 @@ public TalonOne.Client.ApiResponse< ApplicationSession > GetApplicationSessionWi } /// - /// Get Application session Get the details of the given session. You can list the sessions with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. + /// List campaign templates Retrieve a list of campaign templates. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. - /// Task of ApplicationSession - public async System.Threading.Tasks.Task GetApplicationSessionAsync (int applicationId, int sessionId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by the state of the campaign template. (optional) + /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) + /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) + /// Filter results by user ID. (optional) + /// Task of InlineResponse20012 + public async System.Threading.Tasks.Task GetCampaignTemplatesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetApplicationSessionAsyncWithHttpInfo(applicationId, sessionId); + TalonOne.Client.ApiResponse localVarResponse = await GetCampaignTemplatesAsyncWithHttpInfo(pageSize, skip, sort, state, name, tags, userId); return localVarResponse.Data; } /// - /// Get Application session Get the details of the given session. You can list the sessions with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. + /// List campaign templates Retrieve a list of campaign templates. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint. - /// Task of ApiResponse (ApplicationSession) - public async System.Threading.Tasks.Task> GetApplicationSessionAsyncWithHttpInfo (int applicationId, int sessionId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by the state of the campaign template. (optional) + /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) + /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) + /// Filter results by user ID. (optional) + /// Task of ApiResponse (InlineResponse20012) + public async System.Threading.Tasks.Task> GetCampaignTemplatesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -16335,8 +21713,34 @@ public async System.Threading.Tasks.Task GetApplicationSessi foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("sessionId", TalonOne.Client.ClientUtils.ParameterToString(sessionId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (state != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "state", state)); + } + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); + } + if (tags != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "tags", tags)); + } + if (userId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "userId", userId)); + } // authentication (management_key) required if ( @@ -16361,12 +21765,12 @@ public async System.Threading.Tasks.Task GetApplicationSessi // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/sessions/{sessionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/campaign_templates", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationSession", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaignTemplates", localVarResponse); if (_exception != null) throw _exception; } @@ -16374,44 +21778,46 @@ public async System.Threading.Tasks.Task GetApplicationSessi } /// - /// List Application sessions List all the sessions of the specified Application. + /// List campaigns List the campaigns of the specified application that match your filter criteria. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Profile integration ID filter for sessions. Must be exact match. (optional) - /// Filter by sessions with this state. Must be exact match. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter by sessions with this coupon. Must be exact match. (optional) - /// Filter by sessions with this referral. Must be exact match. (optional) - /// Filter by sessions with this integrationId. Must be exact match. (optional) - /// InlineResponse20026 - public InlineResponse20026 GetApplicationSessions (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string)) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results performing case-insensitive matching against the name of the campaign. (optional) + /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results to campaigns owned by the specified campaign access group ID. (optional) + /// The ID of the Campaign Template this Campaign was created from. (optional) + /// Filter results to campaigns linked to the specified store ID. (optional) + /// InlineResponse2006 + public InlineResponse2006 GetCampaigns (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?), int? storeId = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = GetApplicationSessionsWithHttpInfo(applicationId, pageSize, skip, sort, profile, state, createdBefore, createdAfter, coupon, referral, integrationId); + TalonOne.Client.ApiResponse localVarResponse = GetCampaignsWithHttpInfo(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId, storeId); return localVarResponse.Data; } /// - /// List Application sessions List all the sessions of the specified Application. + /// List campaigns List the campaigns of the specified application that match your filter criteria. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Profile integration ID filter for sessions. Must be exact match. (optional) - /// Filter by sessions with this state. Must be exact match. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter by sessions with this coupon. Must be exact match. (optional) - /// Filter by sessions with this referral. Must be exact match. (optional) - /// Filter by sessions with this integrationId. Must be exact match. (optional) - /// ApiResponse of InlineResponse20026 - public TalonOne.Client.ApiResponse< InlineResponse20026 > GetApplicationSessionsWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string)) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results performing case-insensitive matching against the name of the campaign. (optional) + /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results to campaigns owned by the specified campaign access group ID. (optional) + /// The ID of the Campaign Template this Campaign was created from. (optional) + /// Filter results to campaigns linked to the specified store ID. (optional) + /// ApiResponse of InlineResponse2006 + public TalonOne.Client.ApiResponse< InlineResponse2006 > GetCampaignsWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?), int? storeId = default(int?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -16442,13 +21848,17 @@ public async System.Threading.Tasks.Task GetApplicationSessi { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } - if (profile != null) + if (campaignState != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profile", profile)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); } - if (state != null) + if (name != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "state", state)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); + } + if (tags != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "tags", tags)); } if (createdBefore != null) { @@ -16458,17 +21868,17 @@ public async System.Threading.Tasks.Task GetApplicationSessi { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); } - if (coupon != null) + if (campaignGroupId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "coupon", coupon)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignGroupId", campaignGroupId)); } - if (referral != null) + if (templateId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referral", referral)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "templateId", templateId)); } - if (integrationId != null) + if (storeId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "storeId", storeId)); } // authentication (management_key) required @@ -16493,12 +21903,12 @@ public async System.Threading.Tasks.Task GetApplicationSessi } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20026 >("/v1/applications/{applicationId}/sessions", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse2006 >("/v1/applications/{applicationId}/campaigns", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationSessions", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaigns", localVarResponse); if (_exception != null) throw _exception; } @@ -16506,45 +21916,47 @@ public async System.Threading.Tasks.Task GetApplicationSessi } /// - /// List Application sessions List all the sessions of the specified Application. + /// List campaigns List the campaigns of the specified application that match your filter criteria. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Profile integration ID filter for sessions. Must be exact match. (optional) - /// Filter by sessions with this state. Must be exact match. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter by sessions with this coupon. Must be exact match. (optional) - /// Filter by sessions with this referral. Must be exact match. (optional) - /// Filter by sessions with this integrationId. Must be exact match. (optional) - /// Task of InlineResponse20026 - public async System.Threading.Tasks.Task GetApplicationSessionsAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string)) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results performing case-insensitive matching against the name of the campaign. (optional) + /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results to campaigns owned by the specified campaign access group ID. (optional) + /// The ID of the Campaign Template this Campaign was created from. (optional) + /// Filter results to campaigns linked to the specified store ID. (optional) + /// Task of InlineResponse2006 + public async System.Threading.Tasks.Task GetCampaignsAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?), int? storeId = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetApplicationSessionsAsyncWithHttpInfo(applicationId, pageSize, skip, sort, profile, state, createdBefore, createdAfter, coupon, referral, integrationId); + TalonOne.Client.ApiResponse localVarResponse = await GetCampaignsAsyncWithHttpInfo(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId, storeId); return localVarResponse.Data; } /// - /// List Application sessions List all the sessions of the specified Application. + /// List campaigns List the campaigns of the specified application that match your filter criteria. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Profile integration ID filter for sessions. Must be exact match. (optional) - /// Filter by sessions with this state. Must be exact match. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter by sessions with this coupon. Must be exact match. (optional) - /// Filter by sessions with this referral. Must be exact match. (optional) - /// Filter by sessions with this integrationId. Must be exact match. (optional) - /// Task of ApiResponse (InlineResponse20026) - public async System.Threading.Tasks.Task> GetApplicationSessionsAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string profile = default(string), string state = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string coupon = default(string), string referral = default(string), string integrationId = default(string)) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Filter results performing case-insensitive matching against the name of the campaign. (optional) + /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results to campaigns owned by the specified campaign access group ID. (optional) + /// The ID of the Campaign Template this Campaign was created from. (optional) + /// Filter results to campaigns linked to the specified store ID. (optional) + /// Task of ApiResponse (InlineResponse2006) + public async System.Threading.Tasks.Task> GetCampaignsAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?), int? storeId = default(int?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -16576,13 +21988,17 @@ public async System.Threading.Tasks.Task GetApplicationSessi { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } - if (profile != null) + if (campaignState != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profile", profile)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); + } + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); } - if (state != null) + if (tags != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "state", state)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "tags", tags)); } if (createdBefore != null) { @@ -16592,17 +22008,17 @@ public async System.Threading.Tasks.Task GetApplicationSessi { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); } - if (coupon != null) + if (campaignGroupId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "coupon", coupon)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignGroupId", campaignGroupId)); } - if (referral != null) + if (templateId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referral", referral)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "templateId", templateId)); } - if (integrationId != null) + if (storeId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "storeId", storeId)); } // authentication (management_key) required @@ -16628,12 +22044,12 @@ public async System.Threading.Tasks.Task GetApplicationSessi // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/sessions", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplicationSessions", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCampaigns", localVarResponse); if (_exception != null) throw _exception; } @@ -16641,28 +22057,44 @@ public async System.Threading.Tasks.Task GetApplicationSessi } /// - /// List Applications List all applications in the current account. + /// Get audit logs for an account Retrieve the audit logs displayed in **Accounts > Audit logs**. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse2003 - public InlineResponse2003 GetApplications (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Filter results by Application ID. (optional) + /// Filter results on a case insensitive matching of the url path of the entity (optional) + /// Filter results by user ID. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results that match the given management key ID. (optional) + /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) + /// InlineResponse20042 + public InlineResponse20042 GetChanges (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = GetApplicationsWithHttpInfo(pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = GetChangesWithHttpInfo(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld); return localVarResponse.Data; } /// - /// List Applications List all applications in the current account. + /// Get audit logs for an account Retrieve the audit logs displayed in **Accounts > Audit logs**. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse2003 - public TalonOne.Client.ApiResponse< InlineResponse2003 > GetApplicationsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Filter results by Application ID. (optional) + /// Filter results on a case insensitive matching of the url path of the entity (optional) + /// Filter results by user ID. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results that match the given management key ID. (optional) + /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) + /// ApiResponse of InlineResponse20042 + public TalonOne.Client.ApiResponse< InlineResponse20042 > GetChangesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -16692,6 +22124,38 @@ public async System.Threading.Tasks.Task GetApplicationSessi { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } + if (applicationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); + } + if (entityPath != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entityPath", entityPath)); + } + if (userId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "userId", userId)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (managementKeyId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "managementKeyId", managementKeyId)); + } + if (includeOld != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "includeOld", includeOld)); + } // authentication (management_key) required if ( @@ -16715,12 +22179,12 @@ public async System.Threading.Tasks.Task GetApplicationSessi } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse2003 >("/v1/applications", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20042 >("/v1/changes", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplications", localVarResponse); + Exception _exception = this.ExceptionFactory("GetChanges", localVarResponse); if (_exception != null) throw _exception; } @@ -16728,29 +22192,45 @@ public async System.Threading.Tasks.Task GetApplicationSessi } /// - /// List Applications List all applications in the current account. + /// Get audit logs for an account Retrieve the audit logs displayed in **Accounts > Audit logs**. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse2003 - public async System.Threading.Tasks.Task GetApplicationsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Filter results by Application ID. (optional) + /// Filter results on a case insensitive matching of the url path of the entity (optional) + /// Filter results by user ID. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results that match the given management key ID. (optional) + /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) + /// Task of InlineResponse20042 + public async System.Threading.Tasks.Task GetChangesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetApplicationsAsyncWithHttpInfo(pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = await GetChangesAsyncWithHttpInfo(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld); return localVarResponse.Data; } /// - /// List Applications List all applications in the current account. + /// Get audit logs for an account Retrieve the audit logs displayed in **Accounts > Audit logs**. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse2003) - public async System.Threading.Tasks.Task> GetApplicationsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Filter results by Application ID. (optional) + /// Filter results on a case insensitive matching of the url path of the entity (optional) + /// Filter results by user ID. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results that match the given management key ID. (optional) + /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) + /// Task of ApiResponse (InlineResponse20042) + public async System.Threading.Tasks.Task> GetChangesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -16781,6 +22261,38 @@ public async System.Threading.Tasks.Task GetApplicationSessi { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } + if (applicationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); + } + if (entityPath != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entityPath", entityPath)); + } + if (userId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "userId", userId)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (managementKeyId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "managementKeyId", managementKeyId)); + } + if (includeOld != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "includeOld", includeOld)); + } // authentication (management_key) required if ( @@ -16805,12 +22317,12 @@ public async System.Threading.Tasks.Task GetApplicationSessi // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/changes", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetApplications", localVarResponse); + Exception _exception = this.ExceptionFactory("GetChanges", localVarResponse); if (_exception != null) throw _exception; } @@ -16818,24 +22330,28 @@ public async System.Threading.Tasks.Task GetApplicationSessi } /// - /// Get custom attribute Retrieve the specified custom attribute. + /// Get campaign-level collection Retrieve a given campaign-level collection. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// Attribute - public Attribute GetAttribute (int attributeId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// Collection + public Collection GetCollection (int applicationId, int campaignId, int collectionId) { - TalonOne.Client.ApiResponse localVarResponse = GetAttributeWithHttpInfo(attributeId); + TalonOne.Client.ApiResponse localVarResponse = GetCollectionWithHttpInfo(applicationId, campaignId, collectionId); return localVarResponse.Data; } /// - /// Get custom attribute Retrieve the specified custom attribute. + /// Get campaign-level collection Retrieve a given campaign-level collection. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// ApiResponse of Attribute - public TalonOne.Client.ApiResponse< Attribute > GetAttributeWithHttpInfo (int attributeId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// ApiResponse of Collection + public TalonOne.Client.ApiResponse< Collection > GetCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -16853,7 +22369,9 @@ public TalonOne.Client.ApiResponse< Attribute > GetAttributeWithHttpInfo (int at var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter // authentication (management_key) required if ( @@ -16877,12 +22395,12 @@ public TalonOne.Client.ApiResponse< Attribute > GetAttributeWithHttpInfo (int at } // make the HTTP request - var localVarResponse = this.Client.Get< Attribute >("/v1/attributes/{attributeId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< Collection >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAttribute", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -16890,25 +22408,29 @@ public TalonOne.Client.ApiResponse< Attribute > GetAttributeWithHttpInfo (int at } /// - /// Get custom attribute Retrieve the specified custom attribute. + /// Get campaign-level collection Retrieve a given campaign-level collection. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// Task of Attribute - public async System.Threading.Tasks.Task GetAttributeAsync (int attributeId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// Task of Collection + public async System.Threading.Tasks.Task GetCollectionAsync (int applicationId, int campaignId, int collectionId) { - TalonOne.Client.ApiResponse localVarResponse = await GetAttributeAsyncWithHttpInfo(attributeId); + TalonOne.Client.ApiResponse localVarResponse = await GetCollectionAsyncWithHttpInfo(applicationId, campaignId, collectionId); return localVarResponse.Data; } /// - /// Get custom attribute Retrieve the specified custom attribute. + /// Get campaign-level collection Retrieve a given campaign-level collection. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// Task of ApiResponse (Attribute) - public async System.Threading.Tasks.Task> GetAttributeAsyncWithHttpInfo (int attributeId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// Task of ApiResponse (Collection) + public async System.Threading.Tasks.Task> GetCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -16927,7 +22449,9 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter // authentication (management_key) required if ( @@ -16952,12 +22476,12 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/attributes/{attributeId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAttribute", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -16965,30 +22489,28 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri } /// - /// List custom attributes Return all the custom attributes for the account. + /// Get collection items Retrieve items from a given collection. You can retrieve items from both account-level collections and campaign-level collections using this endpoint. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Returned attributes will be filtered by supplied entity. (optional) - /// InlineResponse20031 - public InlineResponse20031 GetAttributes (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)) + /// InlineResponse20018 + public InlineResponse20018 GetCollectionItems (int collectionId, int? pageSize = default(int?), int? skip = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = GetAttributesWithHttpInfo(pageSize, skip, sort, entity); + TalonOne.Client.ApiResponse localVarResponse = GetCollectionItemsWithHttpInfo(collectionId, pageSize, skip); return localVarResponse.Data; } /// - /// List custom attributes Return all the custom attributes for the account. + /// Get collection items Retrieve items from a given collection. You can retrieve items from both account-level collections and campaign-level collections using this endpoint. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Returned attributes will be filtered by supplied entity. (optional) - /// ApiResponse of InlineResponse20031 - public TalonOne.Client.ApiResponse< InlineResponse20031 > GetAttributesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)) + /// ApiResponse of InlineResponse20018 + public TalonOne.Client.ApiResponse< InlineResponse20018 > GetCollectionItemsWithHttpInfo (int collectionId, int? pageSize = default(int?), int? skip = default(int?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -17006,6 +22528,7 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -17014,14 +22537,6 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (entity != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entity", entity)); - } // authentication (management_key) required if ( @@ -17045,12 +22560,12 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20031 >("/v1/attributes", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20018 >("/v1/collections/{collectionId}/items", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAttributes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCollectionItems", localVarResponse); if (_exception != null) throw _exception; } @@ -17058,31 +22573,29 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri } /// - /// List custom attributes Return all the custom attributes for the account. + /// Get collection items Retrieve items from a given collection. You can retrieve items from both account-level collections and campaign-level collections using this endpoint. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Returned attributes will be filtered by supplied entity. (optional) - /// Task of InlineResponse20031 - public async System.Threading.Tasks.Task GetAttributesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)) + /// Task of InlineResponse20018 + public async System.Threading.Tasks.Task GetCollectionItemsAsync (int collectionId, int? pageSize = default(int?), int? skip = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetAttributesAsyncWithHttpInfo(pageSize, skip, sort, entity); + TalonOne.Client.ApiResponse localVarResponse = await GetCollectionItemsAsyncWithHttpInfo(collectionId, pageSize, skip); return localVarResponse.Data; } /// - /// List custom attributes Return all the custom attributes for the account. + /// Get collection items Retrieve items from a given collection. You can retrieve items from both account-level collections and campaign-level collections using this endpoint. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Returned attributes will be filtered by supplied entity. (optional) - /// Task of ApiResponse (InlineResponse20031) - public async System.Threading.Tasks.Task> GetAttributesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string entity = default(string)) + /// Task of ApiResponse (InlineResponse20018) + public async System.Threading.Tasks.Task> GetCollectionItemsAsyncWithHttpInfo (int collectionId, int? pageSize = default(int?), int? skip = default(int?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -17101,6 +22614,7 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -17109,14 +22623,6 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (entity != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entity", entity)); - } // authentication (management_key) required if ( @@ -17141,12 +22647,12 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/attributes", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/collections/{collectionId}/items", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAttributes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCollectionItems", localVarResponse); if (_exception != null) throw _exception; } @@ -17154,30 +22660,50 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri } /// - /// List audiences Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). + /// List coupons List all the coupons matching the specified criteria. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// InlineResponse20029 - public InlineResponse20029 GetAudiences (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// InlineResponse2009 + public InlineResponse2009 GetCouponsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = GetAudiencesWithHttpInfo(pageSize, skip, sort, withTotalResultSize); + TalonOne.Client.ApiResponse localVarResponse = GetCouponsWithoutTotalCountWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch); return localVarResponse.Data; } /// - /// List audiences Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). + /// List coupons List all the coupons matching the specified criteria. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// ApiResponse of InlineResponse20029 - public TalonOne.Client.ApiResponse< InlineResponse20029 > GetAudiencesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// ApiResponse of InlineResponse2009 + public TalonOne.Client.ApiResponse< InlineResponse2009 > GetCouponsWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -17195,21 +22721,55 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter if (pageSize != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (value != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); } - if (skip != null) + if (createdAfter != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); } - if (sort != null) + if (valid != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); } - if (withTotalResultSize != null) + if (usable != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (referralId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); + } + if (recipientIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } + if (exactMatch != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); } // authentication (management_key) required @@ -17234,12 +22794,12 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20029 >("/v1/audiences", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse2009 >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAudiences", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCouponsWithoutTotalCount", localVarResponse); if (_exception != null) throw _exception; } @@ -17247,31 +22807,51 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri } /// - /// List audiences Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). + /// List coupons List all the coupons matching the specified criteria. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of InlineResponse20029 - public async System.Threading.Tasks.Task GetAudiencesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Task of InlineResponse2009 + public async System.Threading.Tasks.Task GetCouponsWithoutTotalCountAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetAudiencesAsyncWithHttpInfo(pageSize, skip, sort, withTotalResultSize); + TalonOne.Client.ApiResponse localVarResponse = await GetCouponsWithoutTotalCountAsyncWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch); return localVarResponse.Data; } /// - /// List audiences Get all audiences created in the account. To create an audience, use [Create audience](https://docs.talon.one/integration-api#tag/Audiences/operation/createAudienceV2). + /// List coupons List all the coupons matching the specified criteria. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Task of ApiResponse (InlineResponse20029) - public async System.Threading.Tasks.Task> GetAudiencesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?)) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Task of ApiResponse (InlineResponse2009) + public async System.Threading.Tasks.Task> GetCouponsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -17290,6 +22870,8 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -17302,9 +22884,41 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } - if (withTotalResultSize != null) + if (value != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (valid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (referralId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); + } + if (recipientIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } + if (exactMatch != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); } // authentication (management_key) required @@ -17330,12 +22944,12 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/audiences", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetAudiences", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCouponsWithoutTotalCount", localVarResponse); if (_exception != null) throw _exception; } @@ -17343,26 +22957,34 @@ public async System.Threading.Tasks.Task GetAttributeAsync (int attri } /// - /// Get campaign Retrieve the given campaign. + /// Get customer's activity report Fetch the summary report of a given customer in the given application, in a time range. /// /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Campaign - public Campaign GetCampaign (int applicationId, int campaignId) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// CustomerActivityReport + public CustomerActivityReport GetCustomerActivityReport (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = GetCampaignWithHttpInfo(applicationId, campaignId); + TalonOne.Client.ApiResponse localVarResponse = GetCustomerActivityReportWithHttpInfo(rangeStart, rangeEnd, applicationId, customerId, pageSize, skip); return localVarResponse.Data; } /// - /// Get campaign Retrieve the given campaign. + /// Get customer's activity report Fetch the summary report of a given customer in the given application, in a time range. /// /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// ApiResponse of Campaign - public TalonOne.Client.ApiResponse< Campaign > GetCampaignWithHttpInfo (int applicationId, int campaignId) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// ApiResponse of CustomerActivityReport + public TalonOne.Client.ApiResponse< CustomerActivityReport > GetCustomerActivityReportWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -17381,7 +23003,17 @@ public TalonOne.Client.ApiResponse< Campaign > GetCampaignWithHttpInfo (int appl if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); // authentication (management_key) required if ( @@ -17405,12 +23037,12 @@ public TalonOne.Client.ApiResponse< Campaign > GetCampaignWithHttpInfo (int appl } // make the HTTP request - var localVarResponse = this.Client.Get< Campaign >("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< CustomerActivityReport >("/v1/applications/{applicationId}/customer_activity_reports/{customerId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCampaign", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerActivityReport", localVarResponse); if (_exception != null) throw _exception; } @@ -17418,27 +23050,35 @@ public TalonOne.Client.ApiResponse< Campaign > GetCampaignWithHttpInfo (int appl } /// - /// Get campaign Retrieve the given campaign. + /// Get customer's activity report Fetch the summary report of a given customer in the given application, in a time range. /// /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Task of Campaign - public async System.Threading.Tasks.Task GetCampaignAsync (int applicationId, int campaignId) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// Task of CustomerActivityReport + public async System.Threading.Tasks.Task GetCustomerActivityReportAsync (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetCampaignAsyncWithHttpInfo(applicationId, campaignId); + TalonOne.Client.ApiResponse localVarResponse = await GetCustomerActivityReportAsyncWithHttpInfo(rangeStart, rangeEnd, applicationId, customerId, pageSize, skip); return localVarResponse.Data; } /// - /// Get campaign Retrieve the given campaign. + /// Get customer's activity report Fetch the summary report of a given customer in the given application, in a time range. /// /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Task of ApiResponse (Campaign) - public async System.Threading.Tasks.Task> GetCampaignAsyncWithHttpInfo (int applicationId, int campaignId) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// Task of ApiResponse (CustomerActivityReport) + public async System.Threading.Tasks.Task> GetCustomerActivityReportAsyncWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -17458,7 +23098,17 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); // authentication (management_key) required if ( @@ -17483,12 +23133,12 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/customer_activity_reports/{customerId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCampaign", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerActivityReport", localVarResponse); if (_exception != null) throw _exception; } @@ -17496,32 +23146,42 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } /// - /// Get analytics of campaigns Retrieve statistical data about the performance of the given campaign. + /// Get Activity Reports for Application Customers Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. /// /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The time interval between the results in the returned time-series. (optional) - /// InlineResponse20020 - public InlineResponse20020 GetCampaignAnalytics (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Only return reports matching the customer name (optional) + /// Filter results performing an exact matching against the profile integration identifier. (optional) + /// Only return reports matching the campaignName (optional) + /// Only return reports matching the current customer referrer name (optional) + /// InlineResponse20026 + public InlineResponse20026 GetCustomerActivityReportsWithoutTotalCount (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetCampaignAnalyticsWithHttpInfo(applicationId, campaignId, rangeStart, rangeEnd, granularity); + TalonOne.Client.ApiResponse localVarResponse = GetCustomerActivityReportsWithoutTotalCountWithHttpInfo(rangeStart, rangeEnd, applicationId, pageSize, skip, sort, name, integrationId, campaignName, advocateName); return localVarResponse.Data; } /// - /// Get analytics of campaigns Retrieve statistical data about the performance of the given campaign. + /// Get Activity Reports for Application Customers Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. /// /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The time interval between the results in the returned time-series. (optional) - /// ApiResponse of InlineResponse20020 - public TalonOne.Client.ApiResponse< InlineResponse20020 > GetCampaignAnalyticsWithHttpInfo (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Only return reports matching the customer name (optional) + /// Filter results performing an exact matching against the profile integration identifier. (optional) + /// Only return reports matching the campaignName (optional) + /// Only return reports matching the current customer referrer name (optional) + /// ApiResponse of InlineResponse20026 + public TalonOne.Client.ApiResponse< InlineResponse20026 > GetCustomerActivityReportsWithoutTotalCountWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -17540,12 +23200,35 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (granularity != null) + if (name != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "granularity", granularity)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); + } + if (integrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + } + if (campaignName != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignName", campaignName)); + } + if (advocateName != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "advocateName", advocateName)); } // authentication (management_key) required @@ -17570,12 +23253,12 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20020 >("/v1/applications/{applicationId}/campaigns/{campaignId}/analytics", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20026 >("/v1/applications/{applicationId}/customer_activity_reports/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCampaignAnalytics", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerActivityReportsWithoutTotalCount", localVarResponse); if (_exception != null) throw _exception; } @@ -17583,33 +23266,43 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } /// - /// Get analytics of campaigns Retrieve statistical data about the performance of the given campaign. + /// Get Activity Reports for Application Customers Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. /// /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The time interval between the results in the returned time-series. (optional) - /// Task of InlineResponse20020 - public async System.Threading.Tasks.Task GetCampaignAnalyticsAsync (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Only return reports matching the customer name (optional) + /// Filter results performing an exact matching against the profile integration identifier. (optional) + /// Only return reports matching the campaignName (optional) + /// Only return reports matching the current customer referrer name (optional) + /// Task of InlineResponse20026 + public async System.Threading.Tasks.Task GetCustomerActivityReportsWithoutTotalCountAsync (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetCampaignAnalyticsAsyncWithHttpInfo(applicationId, campaignId, rangeStart, rangeEnd, granularity); + TalonOne.Client.ApiResponse localVarResponse = await GetCustomerActivityReportsWithoutTotalCountAsyncWithHttpInfo(rangeStart, rangeEnd, applicationId, pageSize, skip, sort, name, integrationId, campaignName, advocateName); return localVarResponse.Data; } /// - /// Get analytics of campaigns Retrieve statistical data about the performance of the given campaign. + /// Get Activity Reports for Application Customers Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. /// /// Thrown when fails to make API call + /// Only return results from after this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + /// Only return results from before this timestamp. **Note:** - This must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The time interval between the results in the returned time-series. (optional) - /// Task of ApiResponse (InlineResponse20020) - public async System.Threading.Tasks.Task> GetCampaignAnalyticsAsyncWithHttpInfo (int applicationId, int campaignId, DateTime rangeStart, DateTime rangeEnd, string granularity = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Only return reports matching the customer name (optional) + /// Filter results performing an exact matching against the profile integration identifier. (optional) + /// Only return reports matching the campaignName (optional) + /// Only return reports matching the current customer referrer name (optional) + /// Task of ApiResponse (InlineResponse20026) + public async System.Threading.Tasks.Task> GetCustomerActivityReportsWithoutTotalCountAsyncWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -17629,12 +23322,35 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (granularity != null) + if (name != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "granularity", granularity)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); + } + if (integrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + } + if (campaignName != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignName", campaignName)); + } + if (advocateName != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "advocateName", advocateName)); } // authentication (management_key) required @@ -17660,12 +23376,12 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/analytics", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/customer_activity_reports/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCampaignAnalytics", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerActivityReportsWithoutTotalCount", localVarResponse); if (_exception != null) throw _exception; } @@ -17673,43 +23389,36 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } /// - /// List campaigns that match the given attributes Get a list of all the campaigns that match a set of attributes. + /// Get customer's analytics report Fetch analytics for a given customer in the given application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// body - /// The number of items in this response. (optional, default to 1000) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// InlineResponse2004 - public InlineResponse2004 GetCampaignByAttributes (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)) + /// CustomerAnalytics + public CustomerAnalytics GetCustomerAnalytics (int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetCampaignByAttributesWithHttpInfo(applicationId, body, pageSize, skip, sort, campaignState); + TalonOne.Client.ApiResponse localVarResponse = GetCustomerAnalyticsWithHttpInfo(applicationId, customerId, pageSize, skip, sort); return localVarResponse.Data; } /// - /// List campaigns that match the given attributes Get a list of all the campaigns that match a set of attributes. + /// Get customer's analytics report Fetch analytics for a given customer in the given application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// body - /// The number of items in this response. (optional, default to 1000) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// ApiResponse of InlineResponse2004 - public TalonOne.Client.ApiResponse< InlineResponse2004 > GetCampaignByAttributesWithHttpInfo (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)) + /// ApiResponse of CustomerAnalytics + public TalonOne.Client.ApiResponse< CustomerAnalytics > GetCustomerAnalyticsWithHttpInfo (int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - // verify the required parameter 'body' is set - if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetCampaignByAttributes"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "application/json" }; // to determine the Accept header @@ -17724,6 +23433,7 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -17736,11 +23446,6 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } - if (campaignState != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); - } - localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -17764,12 +23469,12 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } // make the HTTP request - var localVarResponse = this.Client.Post< InlineResponse2004 >("/v1/applications/{applicationId}/campaigns_search", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< CustomerAnalytics >("/v1/applications/{applicationId}/customers/{customerId}/analytics", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCampaignByAttributes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerAnalytics", localVarResponse); if (_exception != null) throw _exception; } @@ -17777,45 +23482,38 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } /// - /// List campaigns that match the given attributes Get a list of all the campaigns that match a set of attributes. + /// Get customer's analytics report Fetch analytics for a given customer in the given application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// body - /// The number of items in this response. (optional, default to 1000) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Task of InlineResponse2004 - public async System.Threading.Tasks.Task GetCampaignByAttributesAsync (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)) + /// Task of CustomerAnalytics + public async System.Threading.Tasks.Task GetCustomerAnalyticsAsync (int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetCampaignByAttributesAsyncWithHttpInfo(applicationId, body, pageSize, skip, sort, campaignState); + TalonOne.Client.ApiResponse localVarResponse = await GetCustomerAnalyticsAsyncWithHttpInfo(applicationId, customerId, pageSize, skip, sort); return localVarResponse.Data; } /// - /// List campaigns that match the given attributes Get a list of all the campaigns that match a set of attributes. + /// Get customer's analytics report Fetch analytics for a given customer in the given application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// body - /// The number of items in this response. (optional, default to 1000) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Task of ApiResponse (InlineResponse2004) - public async System.Threading.Tasks.Task> GetCampaignByAttributesAsyncWithHttpInfo (int applicationId, CampaignSearch body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string)) + /// Task of ApiResponse (CustomerAnalytics) + public async System.Threading.Tasks.Task> GetCustomerAnalyticsAsyncWithHttpInfo (int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - // verify the required parameter 'body' is set - if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetCampaignByAttributes"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "application/json" }; // to determine the Accept header @@ -17830,6 +23528,7 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -17842,11 +23541,6 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } - if (campaignState != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); - } - localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -17871,12 +23565,12 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns_search", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/customers/{customerId}/analytics", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCampaignByAttributes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerAnalytics", localVarResponse); if (_exception != null) throw _exception; } @@ -17884,36 +23578,24 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } /// - /// List campaign templates Retrieve a list of campaign templates. + /// Get customer profile Return the details of the specified customer profile. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> You can retrieve the same information via the Integration API, which can save you extra API requests. consider these options: - Request the customer profile to be part of the response content using [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2). - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`. </div> /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign template. (optional) - /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) - /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) - /// Filter results by user ID. (optional) - /// InlineResponse20010 - public InlineResponse20010 GetCampaignTemplates (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// CustomerProfile + public CustomerProfile GetCustomerProfile (int customerId) { - TalonOne.Client.ApiResponse localVarResponse = GetCampaignTemplatesWithHttpInfo(pageSize, skip, sort, state, name, tags, userId); + TalonOne.Client.ApiResponse localVarResponse = GetCustomerProfileWithHttpInfo(customerId); return localVarResponse.Data; } /// - /// List campaign templates Retrieve a list of campaign templates. + /// Get customer profile Return the details of the specified customer profile. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> You can retrieve the same information via the Integration API, which can save you extra API requests. consider these options: - Request the customer profile to be part of the response content using [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2). - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`. </div> /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign template. (optional) - /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) - /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) - /// Filter results by user ID. (optional) - /// ApiResponse of InlineResponse20010 - public TalonOne.Client.ApiResponse< InlineResponse20010 > GetCampaignTemplatesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// ApiResponse of CustomerProfile + public TalonOne.Client.ApiResponse< CustomerProfile > GetCustomerProfileWithHttpInfo (int customerId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -17931,34 +23613,7 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (state != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "state", state)); - } - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } - if (tags != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "tags", tags)); - } - if (userId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "userId", userId)); - } + localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter // authentication (management_key) required if ( @@ -17982,12 +23637,12 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20010 >("/v1/campaign_templates", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< CustomerProfile >("/v1/customers/{customerId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCampaignTemplates", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerProfile", localVarResponse); if (_exception != null) throw _exception; } @@ -17995,37 +23650,25 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } /// - /// List campaign templates Retrieve a list of campaign templates. + /// Get customer profile Return the details of the specified customer profile. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> You can retrieve the same information via the Integration API, which can save you extra API requests. consider these options: - Request the customer profile to be part of the response content using [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2). - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`. </div> /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign template. (optional) - /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) - /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) - /// Filter results by user ID. (optional) - /// Task of InlineResponse20010 - public async System.Threading.Tasks.Task GetCampaignTemplatesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// Task of CustomerProfile + public async System.Threading.Tasks.Task GetCustomerProfileAsync (int customerId) { - TalonOne.Client.ApiResponse localVarResponse = await GetCampaignTemplatesAsyncWithHttpInfo(pageSize, skip, sort, state, name, tags, userId); + TalonOne.Client.ApiResponse localVarResponse = await GetCustomerProfileAsyncWithHttpInfo(customerId); return localVarResponse.Data; } /// - /// List campaign templates Retrieve a list of campaign templates. + /// Get customer profile Return the details of the specified customer profile. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> You can retrieve the same information via the Integration API, which can save you extra API requests. consider these options: - Request the customer profile to be part of the response content using [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2). - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`. </div> /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign template. (optional) - /// Filter results performing case-insensitive matching against the name of the campaign template. (optional) - /// Filter results performing case-insensitive matching against the tags of the campaign template. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values. (optional) - /// Filter results by user ID. (optional) - /// Task of ApiResponse (InlineResponse20010) - public async System.Threading.Tasks.Task> GetCampaignTemplatesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string state = default(string), string name = default(string), string tags = default(string), int? userId = default(int?)) + /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + /// Task of ApiResponse (CustomerProfile) + public async System.Threading.Tasks.Task> GetCustomerProfileAsyncWithHttpInfo (int customerId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -18044,34 +23687,7 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (state != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "state", state)); - } - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } - if (tags != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "tags", tags)); - } - if (userId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "userId", userId)); - } + localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter // authentication (management_key) required if ( @@ -18096,12 +23712,12 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/campaign_templates", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/customers/{customerId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCampaignTemplates", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerProfile", localVarResponse); if (_exception != null) throw _exception; } @@ -18109,45 +23725,39 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } /// - /// List campaigns List the campaigns of the specified application that match your filter criteria. + /// List customer achievements For the given customer profile, list all the achievements that match your filter criteria. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The identifier of the profile. + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Filter results performing case-insensitive matching against the name of the campaign. (optional) - /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results to campaigns owned by the specified campaign group ID. (optional) - /// The ID of the Campaign Template this Campaign was created from. (optional) - /// InlineResponse2004 - public InlineResponse2004 GetCampaigns (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?)) + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. (optional) + /// Filter results by the `title` of an achievement. (optional) + /// InlineResponse20047 + public InlineResponse20047 GetCustomerProfileAchievementProgress (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), int? achievementId = default(int?), string title = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetCampaignsWithHttpInfo(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId); + TalonOne.Client.ApiResponse localVarResponse = GetCustomerProfileAchievementProgressWithHttpInfo(applicationId, integrationId, pageSize, skip, achievementId, title); return localVarResponse.Data; } /// - /// List campaigns List the campaigns of the specified application that match your filter criteria. + /// List customer achievements For the given customer profile, list all the achievements that match your filter criteria. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The identifier of the profile. + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Filter results performing case-insensitive matching against the name of the campaign. (optional) - /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results to campaigns owned by the specified campaign group ID. (optional) - /// The ID of the Campaign Template this Campaign was created from. (optional) - /// ApiResponse of InlineResponse2004 - public TalonOne.Client.ApiResponse< InlineResponse2004 > GetCampaignsWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?)) + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. (optional) + /// Filter results by the `title` of an achievement. (optional) + /// ApiResponse of InlineResponse20047 + public TalonOne.Client.ApiResponse< InlineResponse20047 > GetCustomerProfileAchievementProgressWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), int? achievementId = default(int?), string title = default(string)) { + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->GetCustomerProfileAchievementProgress"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -18165,6 +23775,7 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -18173,37 +23784,13 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (campaignState != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); - } - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } - if (tags != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "tags", tags)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (campaignGroupId != null) + if (achievementId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignGroupId", campaignGroupId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "achievementId", achievementId)); } - if (templateId != null) + if (title != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "templateId", templateId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "title", title)); } // authentication (management_key) required @@ -18228,12 +23815,12 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse2004 >("/v1/applications/{applicationId}/campaigns", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20047 >("/v1/applications/{applicationId}/achievement_progress/{integrationId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCampaigns", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerProfileAchievementProgress", localVarResponse); if (_exception != null) throw _exception; } @@ -18241,46 +23828,40 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } /// - /// List campaigns List the campaigns of the specified application that match your filter criteria. + /// List customer achievements For the given customer profile, list all the achievements that match your filter criteria. /// - /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Filter results performing case-insensitive matching against the name of the campaign. (optional) - /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results to campaigns owned by the specified campaign group ID. (optional) - /// The ID of the Campaign Template this Campaign was created from. (optional) - /// Task of InlineResponse2004 - public async System.Threading.Tasks.Task GetCampaignsAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?)) + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The identifier of the profile. + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. (optional) + /// Filter results by the `title` of an achievement. (optional) + /// Task of InlineResponse20047 + public async System.Threading.Tasks.Task GetCustomerProfileAchievementProgressAsync (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), int? achievementId = default(int?), string title = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetCampaignsAsyncWithHttpInfo(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId); + TalonOne.Client.ApiResponse localVarResponse = await GetCustomerProfileAchievementProgressAsyncWithHttpInfo(applicationId, integrationId, pageSize, skip, achievementId, title); return localVarResponse.Data; } /// - /// List campaigns List the campaigns of the specified application that match your filter criteria. + /// List customer achievements For the given customer profile, list all the achievements that match your filter criteria. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The identifier of the profile. + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Filter results performing case-insensitive matching against the name of the campaign. (optional) - /// Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results to campaigns owned by the specified campaign group ID. (optional) - /// The ID of the Campaign Template this Campaign was created from. (optional) - /// Task of ApiResponse (InlineResponse2004) - public async System.Threading.Tasks.Task> GetCampaignsAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string campaignState = default(string), string name = default(string), string tags = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), int? campaignGroupId = default(int?), int? templateId = default(int?)) + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. (optional) + /// Filter results by the `title` of an achievement. (optional) + /// Task of ApiResponse (InlineResponse20047) + public async System.Threading.Tasks.Task> GetCustomerProfileAchievementProgressAsyncWithHttpInfo (int applicationId, string integrationId, int? pageSize = default(int?), int? skip = default(int?), int? achievementId = default(int?), string title = default(string)) { + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->GetCustomerProfileAchievementProgress"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -18299,6 +23880,7 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -18307,37 +23889,13 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (campaignState != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); - } - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } - if (tags != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "tags", tags)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (campaignGroupId != null) + if (achievementId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignGroupId", campaignGroupId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "achievementId", achievementId)); } - if (templateId != null) + if (title != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "templateId", templateId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "title", title)); } // authentication (management_key) required @@ -18363,12 +23921,12 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/achievement_progress/{integrationId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCampaigns", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerProfileAchievementProgress", localVarResponse); if (_exception != null) throw _exception; } @@ -18376,44 +23934,28 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } /// - /// Get audit logs for an account Retrieve the audit logs displayed in **Accounts > Audit logs**. + /// List customer profiles List all customer profiles. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by Application ID. (optional) - /// Filter results on a case insensitive matching of the url path of the entity (optional) - /// Filter results by user ID. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter results that match the given management key ID. (optional) - /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) - /// InlineResponse20039 - public InlineResponse20039 GetChanges (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)) + /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) + /// InlineResponse20025 + public InlineResponse20025 GetCustomerProfiles (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = GetChangesWithHttpInfo(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld); + TalonOne.Client.ApiResponse localVarResponse = GetCustomerProfilesWithHttpInfo(pageSize, skip, sandbox); return localVarResponse.Data; } /// - /// Get audit logs for an account Retrieve the audit logs displayed in **Accounts > Audit logs**. + /// List customer profiles List all customer profiles. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by Application ID. (optional) - /// Filter results on a case insensitive matching of the url path of the entity (optional) - /// Filter results by user ID. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter results that match the given management key ID. (optional) - /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) - /// ApiResponse of InlineResponse20039 - public TalonOne.Client.ApiResponse< InlineResponse20039 > GetChangesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)) + /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) + /// ApiResponse of InlineResponse20025 + public TalonOne.Client.ApiResponse< InlineResponse20025 > GetCustomerProfilesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -18439,41 +23981,9 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (applicationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); - } - if (entityPath != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entityPath", entityPath)); - } - if (userId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "userId", userId)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } - if (managementKeyId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "managementKeyId", managementKeyId)); - } - if (includeOld != null) + if (sandbox != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "includeOld", includeOld)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sandbox", sandbox)); } // authentication (management_key) required @@ -18498,12 +24008,12 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20039 >("/v1/changes", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20025 >("/v1/customers/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetChanges", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerProfiles", localVarResponse); if (_exception != null) throw _exception; } @@ -18511,45 +24021,29 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } /// - /// Get audit logs for an account Retrieve the audit logs displayed in **Accounts > Audit logs**. + /// List customer profiles List all customer profiles. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by Application ID. (optional) - /// Filter results on a case insensitive matching of the url path of the entity (optional) - /// Filter results by user ID. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter results that match the given management key ID. (optional) - /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) - /// Task of InlineResponse20039 - public async System.Threading.Tasks.Task GetChangesAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)) + /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) + /// Task of InlineResponse20025 + public async System.Threading.Tasks.Task GetCustomerProfilesAsync (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetChangesAsyncWithHttpInfo(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld); + TalonOne.Client.ApiResponse localVarResponse = await GetCustomerProfilesAsyncWithHttpInfo(pageSize, skip, sandbox); return localVarResponse.Data; } /// - /// Get audit logs for an account Retrieve the audit logs displayed in **Accounts > Audit logs**. + /// List customer profiles List all customer profiles. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by Application ID. (optional) - /// Filter results on a case insensitive matching of the url path of the entity (optional) - /// Filter results by user ID. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the change creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter results that match the given management key ID. (optional) - /// When this flag is set to false, the state without the change will not be returned. The default value is true. (optional) - /// Task of ApiResponse (InlineResponse20039) - public async System.Threading.Tasks.Task> GetChangesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), decimal? applicationId = default(decimal?), string entityPath = default(string), int? userId = default(int?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), bool? withTotalResultSize = default(bool?), int? managementKeyId = default(int?), bool? includeOld = default(bool?)) + /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) + /// Task of ApiResponse (InlineResponse20025) + public async System.Threading.Tasks.Task> GetCustomerProfilesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -18576,41 +24070,9 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (applicationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); - } - if (entityPath != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entityPath", entityPath)); - } - if (userId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "userId", userId)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } - if (managementKeyId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "managementKeyId", managementKeyId)); - } - if (includeOld != null) + if (sandbox != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "includeOld", includeOld)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sandbox", sandbox)); } // authentication (management_key) required @@ -18636,12 +24098,12 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/changes", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/customers/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetChanges", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomerProfiles", localVarResponse); if (_exception != null) throw _exception; } @@ -18649,32 +24111,39 @@ public async System.Threading.Tasks.Task GetCampaignAsync (int applica } /// - /// Get collection Retrieve a given collection. + /// List customer profiles matching the given attributes Get a list of the customer profiles matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Collection - public Collection GetCollection (int applicationId, int campaignId, int collectionId) + /// body + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) + /// InlineResponse20024 + public InlineResponse20024 GetCustomersByAttributes (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = GetCollectionWithHttpInfo(applicationId, campaignId, collectionId); + TalonOne.Client.ApiResponse localVarResponse = GetCustomersByAttributesWithHttpInfo(body, pageSize, skip, sandbox); return localVarResponse.Data; } /// - /// Get collection Retrieve a given collection. + /// List customer profiles matching the given attributes Get a list of the customer profiles matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// ApiResponse of Collection - public TalonOne.Client.ApiResponse< Collection > GetCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId) + /// body + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) + /// ApiResponse of InlineResponse20024 + public TalonOne.Client.ApiResponse< InlineResponse20024 > GetCustomersByAttributesWithHttpInfo (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetCustomersByAttributes"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -18688,9 +24157,19 @@ public TalonOne.Client.ApiResponse< Collection > GetCollectionWithHttpInfo (int var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sandbox != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sandbox", sandbox)); + } + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -18714,12 +24193,12 @@ public TalonOne.Client.ApiResponse< Collection > GetCollectionWithHttpInfo (int } // make the HTTP request - var localVarResponse = this.Client.Get< Collection >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< InlineResponse20024 >("/v1/customer_search/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomersByAttributes", localVarResponse); if (_exception != null) throw _exception; } @@ -18727,34 +24206,41 @@ public TalonOne.Client.ApiResponse< Collection > GetCollectionWithHttpInfo (int } /// - /// Get collection Retrieve a given collection. + /// List customer profiles matching the given attributes Get a list of the customer profiles matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of Collection - public async System.Threading.Tasks.Task GetCollectionAsync (int applicationId, int campaignId, int collectionId) + /// body + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) + /// Task of InlineResponse20024 + public async System.Threading.Tasks.Task GetCustomersByAttributesAsync (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetCollectionAsyncWithHttpInfo(applicationId, campaignId, collectionId); + TalonOne.Client.ApiResponse localVarResponse = await GetCustomersByAttributesAsyncWithHttpInfo(body, pageSize, skip, sandbox); return localVarResponse.Data; } /// - /// Get collection Retrieve a given collection. + /// List customer profiles matching the given attributes Get a list of the customer profiles matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// Task of ApiResponse (Collection) - public async System.Threading.Tasks.Task> GetCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId) + /// body + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) + /// Task of ApiResponse (InlineResponse20024) + public async System.Threading.Tasks.Task> GetCustomersByAttributesAsyncWithHttpInfo (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetCustomersByAttributes"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -18768,9 +24254,19 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sandbox != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sandbox", sandbox)); + } + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -18795,12 +24291,12 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/customer_search/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("GetCustomersByAttributes", localVarResponse); if (_exception != null) throw _exception; } @@ -18808,28 +24304,32 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } /// - /// Get collection items Retrieve the items from the given collection. + /// List event types Fetch all event type definitions for your account. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) + /// Include all versions of every event type. (optional, default to false) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// InlineResponse20016 - public InlineResponse20016 GetCollectionItems (int collectionId, int? pageSize = default(int?), int? skip = default(int?)) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// InlineResponse20040 + public InlineResponse20040 GetEventTypes (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetCollectionItemsWithHttpInfo(collectionId, pageSize, skip); + TalonOne.Client.ApiResponse localVarResponse = GetEventTypesWithHttpInfo(name, includeOldVersions, pageSize, skip, sort); return localVarResponse.Data; } /// - /// Get collection items Retrieve the items from the given collection. + /// List event types Fetch all event type definitions for your account. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) + /// Include all versions of every event type. (optional, default to false) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// ApiResponse of InlineResponse20016 - public TalonOne.Client.ApiResponse< InlineResponse20016 > GetCollectionItemsWithHttpInfo (int collectionId, int? pageSize = default(int?), int? skip = default(int?)) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// ApiResponse of InlineResponse20040 + public TalonOne.Client.ApiResponse< InlineResponse20040 > GetEventTypesWithHttpInfo (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -18847,7 +24347,14 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); + } + if (includeOldVersions != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "includeOldVersions", includeOldVersions)); + } if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -18856,6 +24363,10 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } // authentication (management_key) required if ( @@ -18879,12 +24390,12 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20016 >("/v1/collections/{collectionId}/items", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20040 >("/v1/event_types", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCollectionItems", localVarResponse); + Exception _exception = this.ExceptionFactory("GetEventTypes", localVarResponse); if (_exception != null) throw _exception; } @@ -18892,29 +24403,33 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } /// - /// Get collection items Retrieve the items from the given collection. + /// List event types Fetch all event type definitions for your account. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) + /// Include all versions of every event type. (optional, default to false) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// Task of InlineResponse20016 - public async System.Threading.Tasks.Task GetCollectionItemsAsync (int collectionId, int? pageSize = default(int?), int? skip = default(int?)) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of InlineResponse20040 + public async System.Threading.Tasks.Task GetEventTypesAsync (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetCollectionItemsAsyncWithHttpInfo(collectionId, pageSize, skip); + TalonOne.Client.ApiResponse localVarResponse = await GetEventTypesAsyncWithHttpInfo(name, includeOldVersions, pageSize, skip, sort); return localVarResponse.Data; } /// - /// Get collection items Retrieve the items from the given collection. + /// List event types Fetch all event type definitions for your account. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) + /// Include all versions of every event type. (optional, default to false) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// Task of ApiResponse (InlineResponse20016) - public async System.Threading.Tasks.Task> GetCollectionItemsAsyncWithHttpInfo (int collectionId, int? pageSize = default(int?), int? skip = default(int?)) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of ApiResponse (InlineResponse20040) + public async System.Threading.Tasks.Task> GetEventTypesAsyncWithHttpInfo (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -18933,7 +24448,14 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); + } + if (includeOldVersions != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "includeOldVersions", includeOldVersions)); + } if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -18942,6 +24464,10 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } // authentication (management_key) required if ( @@ -18966,12 +24492,12 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/collections/{collectionId}/items", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/event_types", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCollectionItems", localVarResponse); + Exception _exception = this.ExceptionFactory("GetEventTypes", localVarResponse); if (_exception != null) throw _exception; } @@ -18979,50 +24505,32 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } /// - /// List coupons List all the coupons matching the specified criteria. + /// Get exports List all past exports /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// InlineResponse2008 - public InlineResponse2008 GetCouponsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)) + /// Filter results by Application ID. (optional) + /// Filter by the campaign ID on which the limit counters are used. (optional) + /// The name of the entity type that was exported. (optional) + /// InlineResponse20043 + public InlineResponse20043 GetExports (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetCouponsWithoutTotalCountWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch); + TalonOne.Client.ApiResponse localVarResponse = GetExportsWithHttpInfo(pageSize, skip, applicationId, campaignId, entity); return localVarResponse.Data; } /// - /// List coupons List all the coupons matching the specified criteria. + /// Get exports List all past exports /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// ApiResponse of InlineResponse2008 - public TalonOne.Client.ApiResponse< InlineResponse2008 > GetCouponsWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)) + /// Filter results by Application ID. (optional) + /// Filter by the campaign ID on which the limit counters are used. (optional) + /// The name of the entity type that was exported. (optional) + /// ApiResponse of InlineResponse20043 + public TalonOne.Client.ApiResponse< InlineResponse20043 > GetExportsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -19040,8 +24548,6 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -19050,45 +24556,17 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (value != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (referralId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); - } - if (recipientIntegrationId != null) + if (applicationId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); } - if (batchId != null) + if (campaignId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); } - if (exactMatch != null) + if (entity != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entity", entity)); } // authentication (management_key) required @@ -19113,12 +24591,12 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse2008 >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20043 >("/v1/exports", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCouponsWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("GetExports", localVarResponse); if (_exception != null) throw _exception; } @@ -19126,51 +24604,33 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } /// - /// List coupons List all the coupons matching the specified criteria. + /// Get exports List all past exports /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Task of InlineResponse2008 - public async System.Threading.Tasks.Task GetCouponsWithoutTotalCountAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)) + /// Filter results by Application ID. (optional) + /// Filter by the campaign ID on which the limit counters are used. (optional) + /// The name of the entity type that was exported. (optional) + /// Task of InlineResponse20043 + public async System.Threading.Tasks.Task GetExportsAsync (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetCouponsWithoutTotalCountAsyncWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch); + TalonOne.Client.ApiResponse localVarResponse = await GetExportsAsyncWithHttpInfo(pageSize, skip, applicationId, campaignId, entity); return localVarResponse.Data; } /// - /// List coupons List all the coupons matching the specified criteria. + /// Get exports List all past exports /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Task of ApiResponse (InlineResponse2008) - public async System.Threading.Tasks.Task> GetCouponsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?)) + /// Filter results by Application ID. (optional) + /// Filter by the campaign ID on which the limit counters are used. (optional) + /// The name of the entity type that was exported. (optional) + /// Task of ApiResponse (InlineResponse20043) + public async System.Threading.Tasks.Task> GetExportsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -19189,8 +24649,6 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -19199,45 +24657,17 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (value != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (referralId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); - } - if (recipientIntegrationId != null) + if (applicationId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); } - if (batchId != null) + if (campaignId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); } - if (exactMatch != null) + if (entity != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entity", entity)); } // authentication (management_key) required @@ -19263,12 +24693,12 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/exports", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCouponsWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("GetExports", localVarResponse); if (_exception != null) throw _exception; } @@ -19276,63 +24706,49 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } /// - /// Get customer's activity report Fetch the summary report of a given customer in the given application, in a time range. + /// Get loyalty card Get the given loyalty card. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// CustomerActivityReport - public CustomerActivityReport GetCustomerActivityReport (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// LoyaltyCard + public LoyaltyCard GetLoyaltyCard (int loyaltyProgramId, string loyaltyCardId) { - TalonOne.Client.ApiResponse localVarResponse = GetCustomerActivityReportWithHttpInfo(rangeStart, rangeEnd, applicationId, customerId, pageSize, skip); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyCardWithHttpInfo(loyaltyProgramId, loyaltyCardId); return localVarResponse.Data; } /// - /// Get customer's activity report Fetch the summary report of a given customer in the given application, in a time range. + /// Get loyalty card Get the given loyalty card. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// ApiResponse of CustomerActivityReport - public TalonOne.Client.ApiResponse< CustomerActivityReport > GetCustomerActivityReportWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// ApiResponse of LoyaltyCard + public TalonOne.Client.ApiResponse< LoyaltyCard > GetLoyaltyCardWithHttpInfo (int loyaltyProgramId, string loyaltyCardId) { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->GetLoyaltyCard"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { }; // to determine the Accept header - String[] _accepts = new String[] { - "application/json" - }; - - var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); - if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); - - var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); - if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter // authentication (management_key) required if ( @@ -19356,12 +24772,12 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } // make the HTTP request - var localVarResponse = this.Client.Get< CustomerActivityReport >("/v1/applications/{applicationId}/customer_activity_reports/{customerId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< LoyaltyCard >("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomerActivityReport", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyCard", localVarResponse); if (_exception != null) throw _exception; } @@ -19369,36 +24785,32 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } /// - /// Get customer's activity report Fetch the summary report of a given customer in the given application, in a time range. + /// Get loyalty card Get the given loyalty card. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Task of CustomerActivityReport - public async System.Threading.Tasks.Task GetCustomerActivityReportAsync (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Task of LoyaltyCard + public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int loyaltyProgramId, string loyaltyCardId) { - TalonOne.Client.ApiResponse localVarResponse = await GetCustomerActivityReportAsyncWithHttpInfo(rangeStart, rangeEnd, applicationId, customerId, pageSize, skip); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyCardAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId); return localVarResponse.Data; } /// - /// Get customer's activity report Fetch the summary report of a given customer in the given application, in a time range. + /// Get loyalty card Get the given loyalty card. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Task of ApiResponse (CustomerActivityReport) - public async System.Threading.Tasks.Task> GetCustomerActivityReportAsyncWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?)) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Task of ApiResponse (LoyaltyCard) + public async System.Threading.Tasks.Task> GetLoyaltyCardAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId) { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->GetLoyaltyCard"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -19416,18 +24828,8 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter // authentication (management_key) required if ( @@ -19452,12 +24854,12 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/customer_activity_reports/{customerId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomerActivityReport", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyCard", localVarResponse); if (_exception != null) throw _exception; } @@ -19465,43 +24867,41 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } /// - /// Get Activity Reports for Application Customers Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. + /// List card's transactions Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Only return reports matching the customer name (optional) - /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// Only return reports matching the campaignName (optional) - /// Only return reports matching the current customer referrer name (optional) - /// InlineResponse20025 - public InlineResponse20025 GetCustomerActivityReportsWithoutTotalCount (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)) + /// The ID of the subledger by which we filter the data. (optional) + /// InlineResponse20016 + public InlineResponse20016 GetLoyaltyCardTransactionLogs (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetCustomerActivityReportsWithoutTotalCountWithHttpInfo(rangeStart, rangeEnd, applicationId, pageSize, skip, sort, name, integrationId, campaignName, advocateName); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyCardTransactionLogsWithHttpInfo(loyaltyProgramId, loyaltyCardId, startDate, endDate, pageSize, skip, subledgerId); return localVarResponse.Data; } /// - /// Get Activity Reports for Application Customers Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. + /// List card's transactions Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Only return reports matching the customer name (optional) - /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// Only return reports matching the campaignName (optional) - /// Only return reports matching the current customer referrer name (optional) - /// ApiResponse of InlineResponse20025 - public TalonOne.Client.ApiResponse< InlineResponse20025 > GetCustomerActivityReportsWithoutTotalCountWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)) + /// The ID of the subledger by which we filter the data. (optional) + /// ApiResponse of InlineResponse20016 + public TalonOne.Client.ApiResponse< InlineResponse20016 > GetLoyaltyCardTransactionLogsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)) { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->GetLoyaltyCardTransactionLogs"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -19518,36 +24918,27 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + if (startDate != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startDate", startDate)); } - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (name != null) + if (endDate != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); } - if (integrationId != null) + if (pageSize != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); } - if (campaignName != null) + if (skip != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignName", campaignName)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (advocateName != null) + if (subledgerId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "advocateName", advocateName)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); } // authentication (management_key) required @@ -19572,12 +24963,12 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20025 >("/v1/applications/{applicationId}/customer_activity_reports/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20016 >("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/logs", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomerActivityReportsWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyCardTransactionLogs", localVarResponse); if (_exception != null) throw _exception; } @@ -19585,44 +24976,42 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } /// - /// Get Activity Reports for Application Customers Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. + /// List card's transactions Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Only return reports matching the customer name (optional) - /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// Only return reports matching the campaignName (optional) - /// Only return reports matching the current customer referrer name (optional) - /// Task of InlineResponse20025 - public async System.Threading.Tasks.Task GetCustomerActivityReportsWithoutTotalCountAsync (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)) + /// The ID of the subledger by which we filter the data. (optional) + /// Task of InlineResponse20016 + public async System.Threading.Tasks.Task GetLoyaltyCardTransactionLogsAsync (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetCustomerActivityReportsWithoutTotalCountAsyncWithHttpInfo(rangeStart, rangeEnd, applicationId, pageSize, skip, sort, name, integrationId, campaignName, advocateName); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyCardTransactionLogsAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, startDate, endDate, pageSize, skip, subledgerId); return localVarResponse.Data; } /// - /// Get Activity Reports for Application Customers Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results. + /// List card's transactions Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. /// /// Thrown when fails to make API call - /// Only return results from after this timestamp. This must be an RFC3339 timestamp string. - /// Only return results from before this timestamp. This must be an RFC3339 timestamp string. - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Only return reports matching the customer name (optional) - /// Filter results performing an exact matching against the profile integration identifier. (optional) - /// Only return reports matching the campaignName (optional) - /// Only return reports matching the current customer referrer name (optional) - /// Task of ApiResponse (InlineResponse20025) - public async System.Threading.Tasks.Task> GetCustomerActivityReportsWithoutTotalCountAsyncWithHttpInfo (DateTime rangeStart, DateTime rangeEnd, int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string name = default(string), string integrationId = default(string), string campaignName = default(string), string advocateName = default(string)) + /// The ID of the subledger by which we filter the data. (optional) + /// Task of ApiResponse (InlineResponse20016) + public async System.Threading.Tasks.Task> GetLoyaltyCardTransactionLogsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)) { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->GetLoyaltyCardTransactionLogs"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -19640,36 +25029,27 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + if (startDate != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startDate", startDate)); } - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeStart", rangeStart)); - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "rangeEnd", rangeEnd)); - if (name != null) + if (endDate != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); } - if (integrationId != null) + if (pageSize != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); } - if (campaignName != null) + if (skip != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignName", campaignName)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (advocateName != null) + if (subledgerId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "advocateName", advocateName)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); } // authentication (management_key) required @@ -19695,12 +25075,12 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/customer_activity_reports/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/logs", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomerActivityReportsWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyCardTransactionLogs", localVarResponse); if (_exception != null) throw _exception; } @@ -19708,32 +25088,34 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } /// - /// Get customer's analytics report Fetch analytics for a given customer in the given application. + /// List loyalty cards For the given card-based loyalty program, list the loyalty cards that match your filter criteria. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// CustomerAnalytics - public CustomerAnalytics GetCustomerAnalytics (int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Optional query parameter to search cards by identifier. (optional) + /// Filter by the profile ID. (optional) + /// InlineResponse20015 + public InlineResponse20015 GetLoyaltyCards (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = GetCustomerAnalyticsWithHttpInfo(applicationId, customerId, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyCardsWithHttpInfo(loyaltyProgramId, pageSize, skip, sort, identifier, profileId); return localVarResponse.Data; } /// - /// Get customer's analytics report Fetch analytics for a given customer in the given application. + /// List loyalty cards For the given card-based loyalty program, list the loyalty cards that match your filter criteria. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of CustomerAnalytics - public TalonOne.Client.ApiResponse< CustomerAnalytics > GetCustomerAnalyticsWithHttpInfo (int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Optional query parameter to search cards by identifier. (optional) + /// Filter by the profile ID. (optional) + /// ApiResponse of InlineResponse20015 + public TalonOne.Client.ApiResponse< InlineResponse20015 > GetLoyaltyCardsWithHttpInfo (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -19751,8 +25133,7 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -19765,6 +25146,14 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } + if (identifier != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "identifier", identifier)); + } + if (profileId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profileId", profileId)); + } // authentication (management_key) required if ( @@ -19788,12 +25177,12 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } // make the HTTP request - var localVarResponse = this.Client.Get< CustomerAnalytics >("/v1/applications/{applicationId}/customers/{customerId}/analytics", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20015 >("/v1/loyalty_programs/{loyaltyProgramId}/cards", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomerAnalytics", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyCards", localVarResponse); if (_exception != null) throw _exception; } @@ -19801,33 +25190,35 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } /// - /// Get customer's analytics report Fetch analytics for a given customer in the given application. + /// List loyalty cards For the given card-based loyalty program, list the loyalty cards that match your filter criteria. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of CustomerAnalytics - public async System.Threading.Tasks.Task GetCustomerAnalyticsAsync (int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Optional query parameter to search cards by identifier. (optional) + /// Filter by the profile ID. (optional) + /// Task of InlineResponse20015 + public async System.Threading.Tasks.Task GetLoyaltyCardsAsync (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetCustomerAnalyticsAsyncWithHttpInfo(applicationId, customerId, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyCardsAsyncWithHttpInfo(loyaltyProgramId, pageSize, skip, sort, identifier, profileId); return localVarResponse.Data; } /// - /// Get customer's analytics report Fetch analytics for a given customer in the given application. + /// List loyalty cards For the given card-based loyalty program, list the loyalty cards that match your filter criteria. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The number of items in the response. (optional, default to 1000) /// The number of items to skip when paging through large result sets. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (CustomerAnalytics) - public async System.Threading.Tasks.Task> GetCustomerAnalyticsAsyncWithHttpInfo (int applicationId, int customerId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Optional query parameter to search cards by identifier. (optional) + /// Filter by the profile ID. (optional) + /// Task of ApiResponse (InlineResponse20015) + public async System.Threading.Tasks.Task> GetLoyaltyCardsAsyncWithHttpInfo (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -19846,8 +25237,7 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -19860,6 +25250,14 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } + if (identifier != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "identifier", identifier)); + } + if (profileId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profileId", profileId)); + } // authentication (management_key) required if ( @@ -19884,12 +25282,12 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/customers/{customerId}/analytics", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomerAnalytics", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyCards", localVarResponse); if (_exception != null) throw _exception; } @@ -19897,25 +25295,35 @@ public async System.Threading.Tasks.Task GetCollectionAsync (int app } /// - /// Get customer profile Return the details of the specified customer profile. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> You can retrieve the same information via the Integration API, which can save you extra API requests. consider these options: - Request the customer profile to be part of the response content using [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2). - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`. </div> + /// Get customer's full loyalty ledger Get the loyalty ledger for this profile integration ID. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// CustomerProfile - public CustomerProfile GetCustomerProfile (int customerId) + /// The identifier for the loyalty program. + /// The identifier of the profile. + /// LoyaltyLedger + public LoyaltyLedger GetLoyaltyPoints (string loyaltyProgramId, string integrationId) { - TalonOne.Client.ApiResponse localVarResponse = GetCustomerProfileWithHttpInfo(customerId); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyPointsWithHttpInfo(loyaltyProgramId, integrationId); return localVarResponse.Data; } /// - /// Get customer profile Return the details of the specified customer profile. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> You can retrieve the same information via the Integration API, which can save you extra API requests. consider these options: - Request the customer profile to be part of the response content using [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2). - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`. </div> + /// Get customer's full loyalty ledger Get the loyalty ledger for this profile integration ID. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// ApiResponse of CustomerProfile - public TalonOne.Client.ApiResponse< CustomerProfile > GetCustomerProfileWithHttpInfo (int customerId) + /// The identifier for the loyalty program. + /// The identifier of the profile. + /// ApiResponse of LoyaltyLedger + public TalonOne.Client.ApiResponse< LoyaltyLedger > GetLoyaltyPointsWithHttpInfo (string loyaltyProgramId, string integrationId) { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->GetLoyaltyPoints"); + + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->GetLoyaltyPoints"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -19932,7 +25340,8 @@ public TalonOne.Client.ApiResponse< CustomerProfile > GetCustomerProfileWithHttp var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter // authentication (management_key) required if ( @@ -19956,12 +25365,12 @@ public TalonOne.Client.ApiResponse< CustomerProfile > GetCustomerProfileWithHttp } // make the HTTP request - var localVarResponse = this.Client.Get< CustomerProfile >("/v1/customers/{customerId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< LoyaltyLedger >("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomerProfile", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyPoints", localVarResponse); if (_exception != null) throw _exception; } @@ -19969,26 +25378,36 @@ public TalonOne.Client.ApiResponse< CustomerProfile > GetCustomerProfileWithHttp } /// - /// Get customer profile Return the details of the specified customer profile. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> You can retrieve the same information via the Integration API, which can save you extra API requests. consider these options: - Request the customer profile to be part of the response content using [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2). - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`. </div> + /// Get customer's full loyalty ledger Get the loyalty ledger for this profile integration ID. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// Task of CustomerProfile - public async System.Threading.Tasks.Task GetCustomerProfileAsync (int customerId) + /// The identifier for the loyalty program. + /// The identifier of the profile. + /// Task of LoyaltyLedger + public async System.Threading.Tasks.Task GetLoyaltyPointsAsync (string loyaltyProgramId, string integrationId) { - TalonOne.Client.ApiResponse localVarResponse = await GetCustomerProfileAsyncWithHttpInfo(customerId); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyPointsAsyncWithHttpInfo(loyaltyProgramId, integrationId); return localVarResponse.Data; } /// - /// Get customer profile Return the details of the specified customer profile. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> You can retrieve the same information via the Integration API, which can save you extra API requests. consider these options: - Request the customer profile to be part of the response content using [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2). - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`. </div> + /// Get customer's full loyalty ledger Get the loyalty ledger for this profile integration ID. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// The value of the `id` property of a customer profile. Get it with the [List Application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. - /// Task of ApiResponse (CustomerProfile) - public async System.Threading.Tasks.Task> GetCustomerProfileAsyncWithHttpInfo (int customerId) + /// The identifier for the loyalty program. + /// The identifier of the profile. + /// Task of ApiResponse (LoyaltyLedger) + public async System.Threading.Tasks.Task> GetLoyaltyPointsAsyncWithHttpInfo (string loyaltyProgramId, string integrationId) { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->GetLoyaltyPoints"); + + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->GetLoyaltyPoints"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -20006,7 +25425,8 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("customerId", TalonOne.Client.ClientUtils.ParameterToString(customerId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter // authentication (management_key) required if ( @@ -20031,12 +25451,12 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/customers/{customerId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomerProfile", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyPoints", localVarResponse); if (_exception != null) throw _exception; } @@ -20044,28 +25464,24 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } /// - /// List customer profiles List all customer profiles. + /// Get loyalty program Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// InlineResponse20024 - public InlineResponse20024 GetCustomerProfiles (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// LoyaltyProgram + public LoyaltyProgram GetLoyaltyProgram (int loyaltyProgramId) { - TalonOne.Client.ApiResponse localVarResponse = GetCustomerProfilesWithHttpInfo(pageSize, skip, sandbox); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyProgramWithHttpInfo(loyaltyProgramId); return localVarResponse.Data; } /// - /// List customer profiles List all customer profiles. + /// Get loyalty program Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// ApiResponse of InlineResponse20024 - public TalonOne.Client.ApiResponse< InlineResponse20024 > GetCustomerProfilesWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// ApiResponse of LoyaltyProgram + public TalonOne.Client.ApiResponse< LoyaltyProgram > GetLoyaltyProgramWithHttpInfo (int loyaltyProgramId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -20083,18 +25499,7 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sandbox != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sandbox", sandbox)); - } + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter // authentication (management_key) required if ( @@ -20118,12 +25523,12 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20024 >("/v1/customers/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< LoyaltyProgram >("/v1/loyalty_programs/{loyaltyProgramId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomerProfiles", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyProgram", localVarResponse); if (_exception != null) throw _exception; } @@ -20131,29 +25536,25 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } /// - /// List customer profiles List all customer profiles. + /// Get loyalty program Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// Task of InlineResponse20024 - public async System.Threading.Tasks.Task GetCustomerProfilesAsync (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Task of LoyaltyProgram + public async System.Threading.Tasks.Task GetLoyaltyProgramAsync (int loyaltyProgramId) { - TalonOne.Client.ApiResponse localVarResponse = await GetCustomerProfilesAsyncWithHttpInfo(pageSize, skip, sandbox); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyProgramAsyncWithHttpInfo(loyaltyProgramId); return localVarResponse.Data; } /// - /// List customer profiles List all customer profiles. + /// Get loyalty program Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// Task of ApiResponse (InlineResponse20024) - public async System.Threading.Tasks.Task> GetCustomerProfilesAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Task of ApiResponse (LoyaltyProgram) + public async System.Threading.Tasks.Task> GetLoyaltyProgramAsyncWithHttpInfo (int loyaltyProgramId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -20172,18 +25573,7 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sandbox != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sandbox", sandbox)); - } + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter // authentication (management_key) required if ( @@ -20208,12 +25598,12 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/customers/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomerProfiles", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyProgram", localVarResponse); if (_exception != null) throw _exception; } @@ -20221,39 +25611,40 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } /// - /// List customer profiles matching the given attributes Get a list of the customer profiles matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// List loyalty program transactions Retrieve loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. **Note:** If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// body - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// The ID of the subledger by which we filter the data. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// InlineResponse20023 - public InlineResponse20023 GetCustomersByAttributes (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) + /// InlineResponse20014 + public InlineResponse20014 GetLoyaltyProgramTransactions (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = GetCustomersByAttributesWithHttpInfo(body, pageSize, skip, sandbox); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyProgramTransactionsWithHttpInfo(loyaltyProgramId, loyaltyTransactionType, subledgerId, startDate, endDate, pageSize, skip); return localVarResponse.Data; } /// - /// List customer profiles matching the given attributes Get a list of the customer profiles matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// List loyalty program transactions Retrieve loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. **Note:** If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// body - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// The ID of the subledger by which we filter the data. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// ApiResponse of InlineResponse20023 - public TalonOne.Client.ApiResponse< InlineResponse20023 > GetCustomersByAttributesWithHttpInfo (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) + /// ApiResponse of InlineResponse20014 + public TalonOne.Client.ApiResponse< InlineResponse20014 > GetLoyaltyProgramTransactionsWithHttpInfo (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { - // verify the required parameter 'body' is set - if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetCustomersByAttributes"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "application/json" }; // to determine the Accept header @@ -20267,6 +25658,23 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + if (loyaltyTransactionType != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "loyaltyTransactionType", loyaltyTransactionType)); + } + if (subledgerId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); + } + if (startDate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startDate", startDate)); + } + if (endDate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); + } if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -20275,11 +25683,6 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (sandbox != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sandbox", sandbox)); - } - localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -20303,12 +25706,12 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } // make the HTTP request - var localVarResponse = this.Client.Post< InlineResponse20023 >("/v1/customer_search/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20014 >("/v1/loyalty_programs/{loyaltyProgramId}/transactions", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomersByAttributes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyProgramTransactions", localVarResponse); if (_exception != null) throw _exception; } @@ -20316,41 +25719,42 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } /// - /// List customer profiles matching the given attributes Get a list of the customer profiles matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// List loyalty program transactions Retrieve loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. **Note:** If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// body - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// The ID of the subledger by which we filter the data. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// Task of InlineResponse20023 - public async System.Threading.Tasks.Task GetCustomersByAttributesAsync (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) + /// Task of InlineResponse20014 + public async System.Threading.Tasks.Task GetLoyaltyProgramTransactionsAsync (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetCustomersByAttributesAsyncWithHttpInfo(body, pageSize, skip, sandbox); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyProgramTransactionsAsyncWithHttpInfo(loyaltyProgramId, loyaltyTransactionType, subledgerId, startDate, endDate, pageSize, skip); return localVarResponse.Data; } /// - /// List customer profiles matching the given attributes Get a list of the customer profiles matching the provided criteria. The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request. + /// List loyalty program transactions Retrieve loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. **Note:** If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). /// /// Thrown when fails to make API call - /// body - /// The number of items in this response. (optional, default to 1000) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) + /// The ID of the subledger by which we filter the data. (optional) + /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + /// The number of items in the response. (optional, default to 50) /// The number of items to skip when paging through large result sets. (optional) - /// Indicates whether you are pointing to a sandbox or Live customer. (optional, default to false) - /// Task of ApiResponse (InlineResponse20023) - public async System.Threading.Tasks.Task> GetCustomersByAttributesAsyncWithHttpInfo (CustomerProfileSearchQuery body, int? pageSize = default(int?), int? skip = default(int?), bool? sandbox = default(bool?)) + /// Task of ApiResponse (InlineResponse20014) + public async System.Threading.Tasks.Task> GetLoyaltyProgramTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) { - // verify the required parameter 'body' is set - if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->GetCustomersByAttributes"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "application/json" }; // to determine the Accept header @@ -20364,6 +25768,23 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + if (loyaltyTransactionType != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "loyaltyTransactionType", loyaltyTransactionType)); + } + if (subledgerId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); + } + if (startDate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startDate", startDate)); + } + if (endDate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); + } if (pageSize != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); @@ -20372,11 +25793,6 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (sandbox != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sandbox", sandbox)); - } - localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -20401,12 +25817,12 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/customer_search/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/transactions", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCustomersByAttributes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyProgramTransactions", localVarResponse); if (_exception != null) throw _exception; } @@ -20414,32 +25830,22 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } /// - /// List event types Fetch all event type definitions for your account. + /// List loyalty programs List the loyalty programs of the account. /// /// Thrown when fails to make API call - /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) - /// Include all versions of every event type. (optional, default to false) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20037 - public InlineResponse20037 GetEventTypes (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// InlineResponse20013 + public InlineResponse20013 GetLoyaltyPrograms () { - TalonOne.Client.ApiResponse localVarResponse = GetEventTypesWithHttpInfo(name, includeOldVersions, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyProgramsWithHttpInfo(); return localVarResponse.Data; } /// - /// List event types Fetch all event type definitions for your account. + /// List loyalty programs List the loyalty programs of the account. /// /// Thrown when fails to make API call - /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) - /// Include all versions of every event type. (optional, default to false) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20037 - public TalonOne.Client.ApiResponse< InlineResponse20037 > GetEventTypesWithHttpInfo (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// ApiResponse of InlineResponse20013 + public TalonOne.Client.ApiResponse< InlineResponse20013 > GetLoyaltyProgramsWithHttpInfo () { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -20457,26 +25863,6 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } - if (includeOldVersions != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "includeOldVersions", includeOldVersions)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } // authentication (management_key) required if ( @@ -20500,12 +25886,12 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20037 >("/v1/event_types", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20013 >("/v1/loyalty_programs", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetEventTypes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyPrograms", localVarResponse); if (_exception != null) throw _exception; } @@ -20513,33 +25899,23 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } /// - /// List event types Fetch all event type definitions for your account. + /// List loyalty programs List the loyalty programs of the account. /// /// Thrown when fails to make API call - /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) - /// Include all versions of every event type. (optional, default to false) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20037 - public async System.Threading.Tasks.Task GetEventTypesAsync (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Task of InlineResponse20013 + public async System.Threading.Tasks.Task GetLoyaltyProgramsAsync () { - TalonOne.Client.ApiResponse localVarResponse = await GetEventTypesAsyncWithHttpInfo(name, includeOldVersions, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyProgramsAsyncWithHttpInfo(); return localVarResponse.Data; } /// - /// List event types Fetch all event type definitions for your account. + /// List loyalty programs List the loyalty programs of the account. /// /// Thrown when fails to make API call - /// Filter results to event types with the given name. This parameter implies `includeOldVersions`. (optional) - /// Include all versions of every event type. (optional, default to false) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20037) - public async System.Threading.Tasks.Task> GetEventTypesAsyncWithHttpInfo (string name = default(string), bool? includeOldVersions = default(bool?), int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Task of ApiResponse (InlineResponse20013) + public async System.Threading.Tasks.Task> GetLoyaltyProgramsAsyncWithHttpInfo () { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -20558,26 +25934,6 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } - if (includeOldVersions != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "includeOldVersions", includeOldVersions)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } // authentication (management_key) required if ( @@ -20602,12 +25958,12 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/event_types", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetEventTypes", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyPrograms", localVarResponse); if (_exception != null) throw _exception; } @@ -20615,32 +25971,24 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } /// - /// Get exports List all past exports + /// Get loyalty program statistics Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Filter results by Application ID. (optional) - /// Filter by the campaign ID on which the limit counters are used. (optional) - /// The name of the entity type that was exported. (optional) - /// InlineResponse20040 - public InlineResponse20040 GetExports (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// LoyaltyDashboardData + public LoyaltyDashboardData GetLoyaltyStatistics (int loyaltyProgramId) { - TalonOne.Client.ApiResponse localVarResponse = GetExportsWithHttpInfo(pageSize, skip, applicationId, campaignId, entity); + TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyStatisticsWithHttpInfo(loyaltyProgramId); return localVarResponse.Data; } /// - /// Get exports List all past exports + /// Get loyalty program statistics Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Filter results by Application ID. (optional) - /// Filter by the campaign ID on which the limit counters are used. (optional) - /// The name of the entity type that was exported. (optional) - /// ApiResponse of InlineResponse20040 - public TalonOne.Client.ApiResponse< InlineResponse20040 > GetExportsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// ApiResponse of LoyaltyDashboardData + public TalonOne.Client.ApiResponse< LoyaltyDashboardData > GetLoyaltyStatisticsWithHttpInfo (int loyaltyProgramId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -20658,26 +26006,7 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (applicationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); - } - if (campaignId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); - } - if (entity != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entity", entity)); - } + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter // authentication (management_key) required if ( @@ -20701,12 +26030,12 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20040 >("/v1/exports", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< LoyaltyDashboardData >("/v1/loyalty_programs/{loyaltyProgramId}/statistics", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetExports", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyStatistics", localVarResponse); if (_exception != null) throw _exception; } @@ -20714,33 +26043,25 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } /// - /// Get exports List all past exports + /// Get loyalty program statistics Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Filter results by Application ID. (optional) - /// Filter by the campaign ID on which the limit counters are used. (optional) - /// The name of the entity type that was exported. (optional) - /// Task of InlineResponse20040 - public async System.Threading.Tasks.Task GetExportsAsync (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Task of LoyaltyDashboardData + public async System.Threading.Tasks.Task GetLoyaltyStatisticsAsync (int loyaltyProgramId) { - TalonOne.Client.ApiResponse localVarResponse = await GetExportsAsyncWithHttpInfo(pageSize, skip, applicationId, campaignId, entity); + TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyStatisticsAsyncWithHttpInfo(loyaltyProgramId); return localVarResponse.Data; } /// - /// Get exports List all past exports + /// Get loyalty program statistics Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Filter results by Application ID. (optional) - /// Filter by the campaign ID on which the limit counters are used. (optional) - /// The name of the entity type that was exported. (optional) - /// Task of ApiResponse (InlineResponse20040) - public async System.Threading.Tasks.Task> GetExportsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), decimal? applicationId = default(decimal?), int? campaignId = default(int?), string entity = default(string)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Task of ApiResponse (LoyaltyDashboardData) + public async System.Threading.Tasks.Task> GetLoyaltyStatisticsAsyncWithHttpInfo (int loyaltyProgramId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -20759,26 +26080,7 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (applicationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); - } - if (campaignId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); - } - if (entity != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "entity", entity)); - } + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter // authentication (management_key) required if ( @@ -20803,12 +26105,12 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/exports", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/statistics", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetExports", localVarResponse); + Exception _exception = this.ExceptionFactory("GetLoyaltyStatistics", localVarResponse); if (_exception != null) throw _exception; } @@ -20816,31 +26118,45 @@ public async System.Threading.Tasks.Task GetCustomerProfileAsyn } /// - /// Get loyalty card Get the given loyalty card. + /// List referrals List all referrals of the specified campaign. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// LoyaltyCard - public LoyaltyCard GetLoyaltyCard (int loyaltyProgramId, string loyaltyCardId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) + /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) + /// InlineResponse20010 + public InlineResponse20010 GetReferralsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyCardWithHttpInfo(loyaltyProgramId, loyaltyCardId); + TalonOne.Client.ApiResponse localVarResponse = GetReferralsWithoutTotalCountWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, code, createdBefore, createdAfter, valid, usable, advocate); return localVarResponse.Data; } /// - /// Get loyalty card Get the given loyalty card. + /// List referrals List all referrals of the specified campaign. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// ApiResponse of LoyaltyCard - public TalonOne.Client.ApiResponse< LoyaltyCard > GetLoyaltyCardWithHttpInfo (int loyaltyProgramId, string loyaltyCardId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) + /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) + /// ApiResponse of InlineResponse20010 + public TalonOne.Client.ApiResponse< InlineResponse20010 > GetReferralsWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->GetLoyaltyCard"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -20857,8 +26173,44 @@ public TalonOne.Client.ApiResponse< LoyaltyCard > GetLoyaltyCardWithHttpInfo (in var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (code != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "code", code)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (valid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (advocate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "advocate", advocate)); + } // authentication (management_key) required if ( @@ -20882,12 +26234,12 @@ public TalonOne.Client.ApiResponse< LoyaltyCard > GetLoyaltyCardWithHttpInfo (in } // make the HTTP request - var localVarResponse = this.Client.Get< LoyaltyCard >("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20010 >("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyCard", localVarResponse); + Exception _exception = this.ExceptionFactory("GetReferralsWithoutTotalCount", localVarResponse); if (_exception != null) throw _exception; } @@ -20895,32 +26247,46 @@ public TalonOne.Client.ApiResponse< LoyaltyCard > GetLoyaltyCardWithHttpInfo (in } /// - /// Get loyalty card Get the given loyalty card. + /// List referrals List all referrals of the specified campaign. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Task of LoyaltyCard - public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int loyaltyProgramId, string loyaltyCardId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) + /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) + /// Task of InlineResponse20010 + public async System.Threading.Tasks.Task GetReferralsWithoutTotalCountAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyCardAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId); + TalonOne.Client.ApiResponse localVarResponse = await GetReferralsWithoutTotalCountAsyncWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, code, createdBefore, createdAfter, valid, usable, advocate); return localVarResponse.Data; } /// - /// Get loyalty card Get the given loyalty card. + /// List referrals List all referrals of the specified campaign. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Task of ApiResponse (LoyaltyCard) - public async System.Threading.Tasks.Task> GetLoyaltyCardAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) + /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) + /// Task of ApiResponse (InlineResponse20010) + public async System.Threading.Tasks.Task> GetReferralsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->GetLoyaltyCard"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -20938,8 +26304,44 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (code != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "code", code)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (valid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (advocate != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "advocate", advocate)); + } // authentication (management_key) required if ( @@ -20964,12 +26366,12 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyCard", localVarResponse); + Exception _exception = this.ExceptionFactory("GetReferralsWithoutTotalCount", localVarResponse); if (_exception != null) throw _exception; } @@ -20977,41 +26379,25 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l } /// - /// List card's transactions Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. + /// Get role Get the details of a specific role. To see all the roles, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The ID of the subledger by which we filter the data. (optional) - /// InlineResponse20014 - public InlineResponse20014 GetLoyaltyCardTransactionLogs (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)) + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// RoleV2 + public RoleV2 GetRoleV2 (int roleId) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyCardTransactionLogsWithHttpInfo(loyaltyProgramId, loyaltyCardId, startDate, endDate, pageSize, skip, subledgerId); + TalonOne.Client.ApiResponse localVarResponse = GetRoleV2WithHttpInfo(roleId); return localVarResponse.Data; } /// - /// List card's transactions Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. + /// Get role Get the details of a specific role. To see all the roles, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The ID of the subledger by which we filter the data. (optional) - /// ApiResponse of InlineResponse20014 - public TalonOne.Client.ApiResponse< InlineResponse20014 > GetLoyaltyCardTransactionLogsWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)) + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// ApiResponse of RoleV2 + public TalonOne.Client.ApiResponse< RoleV2 > GetRoleV2WithHttpInfo (int roleId) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->GetLoyaltyCardTransactionLogs"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -21028,28 +26414,7 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter - if (startDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startDate", startDate)); - } - if (endDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (subledgerId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); - } + localVarRequestOptions.PathParameters.Add("roleId", TalonOne.Client.ClientUtils.ParameterToString(roleId)); // path parameter // authentication (management_key) required if ( @@ -21073,12 +26438,12 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20014 >("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/logs", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< RoleV2 >("/v2/roles/{roleId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyCardTransactionLogs", localVarResponse); + Exception _exception = this.ExceptionFactory("GetRoleV2", localVarResponse); if (_exception != null) throw _exception; } @@ -21086,42 +26451,26 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l } /// - /// List card's transactions Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. + /// Get role Get the details of a specific role. To see all the roles, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The ID of the subledger by which we filter the data. (optional) - /// Task of InlineResponse20014 - public async System.Threading.Tasks.Task GetLoyaltyCardTransactionLogsAsync (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)) + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// Task of RoleV2 + public async System.Threading.Tasks.Task GetRoleV2Async (int roleId) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyCardTransactionLogsAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, startDate, endDate, pageSize, skip, subledgerId); + TalonOne.Client.ApiResponse localVarResponse = await GetRoleV2AsyncWithHttpInfo(roleId); return localVarResponse.Data; } /// - /// List card's transactions Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned. + /// Get role Get the details of a specific role. To see all the roles, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The ID of the subledger by which we filter the data. (optional) - /// Task of ApiResponse (InlineResponse20014) - public async System.Threading.Tasks.Task> GetLoyaltyCardTransactionLogsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?), string subledgerId = default(string)) + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. + /// Task of ApiResponse (RoleV2) + public async System.Threading.Tasks.Task> GetRoleV2AsyncWithHttpInfo (int roleId) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->GetLoyaltyCardTransactionLogs"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -21139,28 +26488,7 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter - if (startDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startDate", startDate)); - } - if (endDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (subledgerId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); - } + localVarRequestOptions.PathParameters.Add("roleId", TalonOne.Client.ClientUtils.ParameterToString(roleId)); // path parameter // authentication (management_key) required if ( @@ -21185,12 +26513,12 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/logs", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v2/roles/{roleId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyCardTransactionLogs", localVarResponse); + Exception _exception = this.ExceptionFactory("GetRoleV2", localVarResponse); if (_exception != null) throw _exception; } @@ -21198,34 +26526,28 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l } /// - /// List loyalty cards For the given card-based loyalty program, list the loyalty cards that match your filter criteria. + /// Get ruleset Retrieve the specified ruleset. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Optional query parameter to search cards by identifier. (optional) - /// Filter by the profile ID. (optional) - /// InlineResponse20013 - public InlineResponse20013 GetLoyaltyCards (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the ruleset. + /// Ruleset + public Ruleset GetRuleset (int applicationId, int campaignId, int rulesetId) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyCardsWithHttpInfo(loyaltyProgramId, pageSize, skip, sort, identifier, profileId); + TalonOne.Client.ApiResponse localVarResponse = GetRulesetWithHttpInfo(applicationId, campaignId, rulesetId); return localVarResponse.Data; } /// - /// List loyalty cards For the given card-based loyalty program, list the loyalty cards that match your filter criteria. + /// Get ruleset Retrieve the specified ruleset. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Optional query parameter to search cards by identifier. (optional) - /// Filter by the profile ID. (optional) - /// ApiResponse of InlineResponse20013 - public TalonOne.Client.ApiResponse< InlineResponse20013 > GetLoyaltyCardsWithHttpInfo (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the ruleset. + /// ApiResponse of Ruleset + public TalonOne.Client.ApiResponse< Ruleset > GetRulesetWithHttpInfo (int applicationId, int campaignId, int rulesetId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -21243,27 +26565,9 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (identifier != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "identifier", identifier)); - } - if (profileId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profileId", profileId)); - } + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("rulesetId", TalonOne.Client.ClientUtils.ParameterToString(rulesetId)); // path parameter // authentication (management_key) required if ( @@ -21287,12 +26591,12 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20013 >("/v1/loyalty_programs/{loyaltyProgramId}/cards", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< Ruleset >("/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets/{rulesetId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyCards", localVarResponse); + Exception _exception = this.ExceptionFactory("GetRuleset", localVarResponse); if (_exception != null) throw _exception; } @@ -21300,35 +26604,29 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l } /// - /// List loyalty cards For the given card-based loyalty program, list the loyalty cards that match your filter criteria. + /// Get ruleset Retrieve the specified ruleset. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Optional query parameter to search cards by identifier. (optional) - /// Filter by the profile ID. (optional) - /// Task of InlineResponse20013 - public async System.Threading.Tasks.Task GetLoyaltyCardsAsync (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the ruleset. + /// Task of Ruleset + public async System.Threading.Tasks.Task GetRulesetAsync (int applicationId, int campaignId, int rulesetId) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyCardsAsyncWithHttpInfo(loyaltyProgramId, pageSize, skip, sort, identifier, profileId); + TalonOne.Client.ApiResponse localVarResponse = await GetRulesetAsyncWithHttpInfo(applicationId, campaignId, rulesetId); return localVarResponse.Data; } /// - /// List loyalty cards For the given card-based loyalty program, list the loyalty cards that match your filter criteria. + /// Get ruleset Retrieve the specified ruleset. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Optional query parameter to search cards by identifier. (optional) - /// Filter by the profile ID. (optional) - /// Task of ApiResponse (InlineResponse20013) - public async System.Threading.Tasks.Task> GetLoyaltyCardsAsyncWithHttpInfo (int loyaltyProgramId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string identifier = default(string), int? profileId = default(int?)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the ruleset. + /// Task of ApiResponse (Ruleset) + public async System.Threading.Tasks.Task> GetRulesetAsyncWithHttpInfo (int applicationId, int campaignId, int rulesetId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -21347,27 +26645,9 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (identifier != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "identifier", identifier)); - } - if (profileId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "profileId", profileId)); - } + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("rulesetId", TalonOne.Client.ClientUtils.ParameterToString(rulesetId)); // path parameter // authentication (management_key) required if ( @@ -21392,12 +26672,12 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets/{rulesetId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyCards", localVarResponse); + Exception _exception = this.ExceptionFactory("GetRuleset", localVarResponse); if (_exception != null) throw _exception; } @@ -21405,35 +26685,33 @@ public async System.Threading.Tasks.Task GetLoyaltyCardAsync (int l } /// - /// Get customer's full loyalty ledger Get the loyalty ledger for this profile integration ID. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// List campaign rulesets List all rulesets of this campaign. A ruleset is a revision of the rules of a campaign. **Important:** The response also includes deleted rules. You should only consider the latest revision of the returned rulesets. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. - /// LoyaltyLedger - public LoyaltyLedger GetLoyaltyPoints (string loyaltyProgramId, string integrationId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// InlineResponse2007 + public InlineResponse2007 GetRulesets (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyPointsWithHttpInfo(loyaltyProgramId, integrationId); + TalonOne.Client.ApiResponse localVarResponse = GetRulesetsWithHttpInfo(applicationId, campaignId, pageSize, skip, sort); return localVarResponse.Data; } /// - /// Get customer's full loyalty ledger Get the loyalty ledger for this profile integration ID. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// List campaign rulesets List all rulesets of this campaign. A ruleset is a revision of the rules of a campaign. **Important:** The response also includes deleted rules. You should only consider the latest revision of the returned rulesets. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. - /// ApiResponse of LoyaltyLedger - public TalonOne.Client.ApiResponse< LoyaltyLedger > GetLoyaltyPointsWithHttpInfo (string loyaltyProgramId, string integrationId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// ApiResponse of InlineResponse2007 + public TalonOne.Client.ApiResponse< InlineResponse2007 > GetRulesetsWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->GetLoyaltyPoints"); - - // verify the required parameter 'integrationId' is set - if (integrationId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->GetLoyaltyPoints"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -21450,8 +26728,20 @@ public TalonOne.Client.ApiResponse< LoyaltyLedger > GetLoyaltyPointsWithHttpInfo var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } // authentication (management_key) required if ( @@ -21475,12 +26765,12 @@ public TalonOne.Client.ApiResponse< LoyaltyLedger > GetLoyaltyPointsWithHttpInfo } // make the HTTP request - var localVarResponse = this.Client.Get< LoyaltyLedger >("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse2007 >("/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("GetRulesets", localVarResponse); if (_exception != null) throw _exception; } @@ -21488,36 +26778,34 @@ public TalonOne.Client.ApiResponse< LoyaltyLedger > GetLoyaltyPointsWithHttpInfo } /// - /// Get customer's full loyalty ledger Get the loyalty ledger for this profile integration ID. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// List campaign rulesets List all rulesets of this campaign. A ruleset is a revision of the rules of a campaign. **Important:** The response also includes deleted rules. You should only consider the latest revision of the returned rulesets. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. - /// Task of LoyaltyLedger - public async System.Threading.Tasks.Task GetLoyaltyPointsAsync (string loyaltyProgramId, string integrationId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of InlineResponse2007 + public async System.Threading.Tasks.Task GetRulesetsAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyPointsAsyncWithHttpInfo(loyaltyProgramId, integrationId); + TalonOne.Client.ApiResponse localVarResponse = await GetRulesetsAsyncWithHttpInfo(applicationId, campaignId, pageSize, skip, sort); return localVarResponse.Data; } /// - /// Get customer's full loyalty ledger Get the loyalty ledger for this profile integration ID. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// List campaign rulesets List all rulesets of this campaign. A ruleset is a revision of the rules of a campaign. **Important:** The response also includes deleted rules. You should only consider the latest revision of the returned rulesets. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. - /// Task of ApiResponse (LoyaltyLedger) - public async System.Threading.Tasks.Task> GetLoyaltyPointsAsyncWithHttpInfo (string loyaltyProgramId, string integrationId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of ApiResponse (InlineResponse2007) + public async System.Threading.Tasks.Task> GetRulesetsAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->GetLoyaltyPoints"); - - // verify the required parameter 'integrationId' is set - if (integrationId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->GetLoyaltyPoints"); - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -21535,8 +26823,20 @@ public async System.Threading.Tasks.Task GetLoyaltyPointsAsync (s foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } // authentication (management_key) required if ( @@ -21561,12 +26861,12 @@ public async System.Threading.Tasks.Task GetLoyaltyPointsAsync (s // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("GetRulesets", localVarResponse); if (_exception != null) throw _exception; } @@ -21574,25 +26874,31 @@ public async System.Threading.Tasks.Task GetLoyaltyPointsAsync (s } /// - /// Get loyalty program Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) + /// Get store Get store details for a specific store ID. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// LoyaltyProgram - public LoyaltyProgram GetLoyaltyProgram (int loyaltyProgramId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// Store + public Store GetStore (int applicationId, string storeId) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyProgramWithHttpInfo(loyaltyProgramId); + TalonOne.Client.ApiResponse localVarResponse = GetStoreWithHttpInfo(applicationId, storeId); return localVarResponse.Data; } /// - /// Get loyalty program Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) + /// Get store Get store details for a specific store ID. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// ApiResponse of LoyaltyProgram - public TalonOne.Client.ApiResponse< LoyaltyProgram > GetLoyaltyProgramWithHttpInfo (int loyaltyProgramId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// ApiResponse of Store + public TalonOne.Client.ApiResponse< Store > GetStoreWithHttpInfo (int applicationId, string storeId) { + // verify the required parameter 'storeId' is set + if (storeId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'storeId' when calling ManagementApi->GetStore"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { @@ -21609,7 +26915,8 @@ public TalonOne.Client.ApiResponse< LoyaltyProgram > GetLoyaltyProgramWithHttpIn var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("storeId", TalonOne.Client.ClientUtils.ParameterToString(storeId)); // path parameter // authentication (management_key) required if ( @@ -21633,12 +26940,12 @@ public TalonOne.Client.ApiResponse< LoyaltyProgram > GetLoyaltyProgramWithHttpIn } // make the HTTP request - var localVarResponse = this.Client.Get< LoyaltyProgram >("/v1/loyalty_programs/{loyaltyProgramId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< Store >("/v1/applications/{applicationId}/stores/{storeId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyProgram", localVarResponse); + Exception _exception = this.ExceptionFactory("GetStore", localVarResponse); if (_exception != null) throw _exception; } @@ -21646,26 +26953,32 @@ public TalonOne.Client.ApiResponse< LoyaltyProgram > GetLoyaltyProgramWithHttpIn } /// - /// Get loyalty program Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) + /// Get store Get store details for a specific store ID. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Task of LoyaltyProgram - public async System.Threading.Tasks.Task GetLoyaltyProgramAsync (int loyaltyProgramId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// Task of Store + public async System.Threading.Tasks.Task GetStoreAsync (int applicationId, string storeId) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyProgramAsyncWithHttpInfo(loyaltyProgramId); + TalonOne.Client.ApiResponse localVarResponse = await GetStoreAsyncWithHttpInfo(applicationId, storeId); return localVarResponse.Data; } /// - /// Get loyalty program Get the specified [loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview). To list all loyalty programs in your Application, use [List loyalty programs](#operation/getLoyaltyPrograms). To list the loyalty programs that a customer profile is part of, use the [List customer data](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/getCustomerInventory) + /// Get store Get store details for a specific store ID. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Task of ApiResponse (LoyaltyProgram) - public async System.Threading.Tasks.Task> GetLoyaltyProgramAsyncWithHttpInfo (int loyaltyProgramId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. + /// Task of ApiResponse (Store) + public async System.Threading.Tasks.Task> GetStoreAsyncWithHttpInfo (int applicationId, string storeId) { + // verify the required parameter 'storeId' is set + if (storeId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'storeId' when calling ManagementApi->GetStore"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -21683,7 +26996,8 @@ public async System.Threading.Tasks.Task GetLoyaltyProgramAsync foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("storeId", TalonOne.Client.ClientUtils.ParameterToString(storeId)); // path parameter // authentication (management_key) required if ( @@ -21708,12 +27022,12 @@ public async System.Threading.Tasks.Task GetLoyaltyProgramAsync // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/stores/{storeId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyProgram", localVarResponse); + Exception _exception = this.ExceptionFactory("GetStore", localVarResponse); if (_exception != null) throw _exception; } @@ -21721,36 +27035,24 @@ public async System.Threading.Tasks.Task GetLoyaltyProgramAsync } /// - /// List loyalty program transactions Retrieve all loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// Get user Retrieve the data (including an invitation code) for a user. Non-admin users can only get their own profile. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) - /// The number of items to skip when paging through large result sets. (optional) - /// InlineResponse20012 - public InlineResponse20012 GetLoyaltyProgramTransactions (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + /// The ID of the user. + /// User + public User GetUser (int userId) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyProgramTransactionsWithHttpInfo(loyaltyProgramId, loyaltyTransactionType, subledgerId, startDate, endDate, pageSize, skip); + TalonOne.Client.ApiResponse localVarResponse = GetUserWithHttpInfo(userId); return localVarResponse.Data; } /// - /// List loyalty program transactions Retrieve all loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// Get user Retrieve the data (including an invitation code) for a user. Non-admin users can only get their own profile. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) - /// The number of items to skip when paging through large result sets. (optional) - /// ApiResponse of InlineResponse20012 - public TalonOne.Client.ApiResponse< InlineResponse20012 > GetLoyaltyProgramTransactionsWithHttpInfo (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + /// The ID of the user. + /// ApiResponse of User + public TalonOne.Client.ApiResponse< User > GetUserWithHttpInfo (int userId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -21768,31 +27070,7 @@ public async System.Threading.Tasks.Task GetLoyaltyProgramAsync var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - if (loyaltyTransactionType != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "loyaltyTransactionType", loyaltyTransactionType)); - } - if (subledgerId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); - } - if (startDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startDate", startDate)); - } - if (endDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } + localVarRequestOptions.PathParameters.Add("userId", TalonOne.Client.ClientUtils.ParameterToString(userId)); // path parameter // authentication (management_key) required if ( @@ -21816,12 +27094,12 @@ public async System.Threading.Tasks.Task GetLoyaltyProgramAsync } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20012 >("/v1/loyalty_programs/{loyaltyProgramId}/transactions", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< User >("/v1/users/{userId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyProgramTransactions", localVarResponse); + Exception _exception = this.ExceptionFactory("GetUser", localVarResponse); if (_exception != null) throw _exception; } @@ -21829,37 +27107,25 @@ public async System.Threading.Tasks.Task GetLoyaltyProgramAsync } /// - /// List loyalty program transactions Retrieve all loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// Get user Retrieve the data (including an invitation code) for a user. Non-admin users can only get their own profile. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) - /// The number of items to skip when paging through large result sets. (optional) - /// Task of InlineResponse20012 - public async System.Threading.Tasks.Task GetLoyaltyProgramTransactionsAsync (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + /// The ID of the user. + /// Task of User + public async System.Threading.Tasks.Task GetUserAsync (int userId) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyProgramTransactionsAsyncWithHttpInfo(loyaltyProgramId, loyaltyTransactionType, subledgerId, startDate, endDate, pageSize, skip); + TalonOne.Client.ApiResponse localVarResponse = await GetUserAsyncWithHttpInfo(userId); return localVarResponse.Data; } /// - /// List loyalty program transactions Retrieve all loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included. If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned. **Important:** To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's [Get customer's loyalty logs](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). + /// Get user Retrieve the data (including an invitation code) for a user. Non-admin users can only get their own profile. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional) - /// The ID of the subledger by which we filter the data. (optional) - /// Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. (optional) - /// The number of items in this response. (optional, default to 50) - /// The number of items to skip when paging through large result sets. (optional) - /// Task of ApiResponse (InlineResponse20012) - public async System.Threading.Tasks.Task> GetLoyaltyProgramTransactionsAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyTransactionType = default(string), string subledgerId = default(string), DateTime? startDate = default(DateTime?), DateTime? endDate = default(DateTime?), int? pageSize = default(int?), int? skip = default(int?)) + /// The ID of the user. + /// Task of ApiResponse (User) + public async System.Threading.Tasks.Task> GetUserAsyncWithHttpInfo (int userId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -21878,31 +27144,7 @@ public async System.Threading.Tasks.Task GetLoyaltyProgramAsync foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - if (loyaltyTransactionType != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "loyaltyTransactionType", loyaltyTransactionType)); - } - if (subledgerId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "subledgerId", subledgerId)); - } - if (startDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "startDate", startDate)); - } - if (endDate != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "endDate", endDate)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } + localVarRequestOptions.PathParameters.Add("userId", TalonOne.Client.ClientUtils.ParameterToString(userId)); // path parameter // authentication (management_key) required if ( @@ -21927,12 +27169,12 @@ public async System.Threading.Tasks.Task GetLoyaltyProgramAsync // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/transactions", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/users/{userId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyProgramTransactions", localVarResponse); + Exception _exception = this.ExceptionFactory("GetUser", localVarResponse); if (_exception != null) throw _exception; } @@ -21940,22 +27182,28 @@ public async System.Threading.Tasks.Task GetLoyaltyProgramAsync } /// - /// List loyalty programs List the loyalty programs of the account. + /// List users in account Retrieve all users in your account. /// /// Thrown when fails to make API call - /// InlineResponse20011 - public InlineResponse20011 GetLoyaltyPrograms () + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// InlineResponse20041 + public InlineResponse20041 GetUsers (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyProgramsWithHttpInfo(); + TalonOne.Client.ApiResponse localVarResponse = GetUsersWithHttpInfo(pageSize, skip, sort); return localVarResponse.Data; } /// - /// List loyalty programs List the loyalty programs of the account. + /// List users in account Retrieve all users in your account. /// /// Thrown when fails to make API call - /// ApiResponse of InlineResponse20011 - public TalonOne.Client.ApiResponse< InlineResponse20011 > GetLoyaltyProgramsWithHttpInfo () + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// ApiResponse of InlineResponse20041 + public TalonOne.Client.ApiResponse< InlineResponse20041 > GetUsersWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -21973,6 +27221,18 @@ public TalonOne.Client.ApiResponse< InlineResponse20011 > GetLoyaltyProgramsWith var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } // authentication (management_key) required if ( @@ -21996,12 +27256,12 @@ public TalonOne.Client.ApiResponse< InlineResponse20011 > GetLoyaltyProgramsWith } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20011 >("/v1/loyalty_programs", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20041 >("/v1/users", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyPrograms", localVarResponse); + Exception _exception = this.ExceptionFactory("GetUsers", localVarResponse); if (_exception != null) throw _exception; } @@ -22009,23 +27269,29 @@ public TalonOne.Client.ApiResponse< InlineResponse20011 > GetLoyaltyProgramsWith } /// - /// List loyalty programs List the loyalty programs of the account. + /// List users in account Retrieve all users in your account. /// /// Thrown when fails to make API call - /// Task of InlineResponse20011 - public async System.Threading.Tasks.Task GetLoyaltyProgramsAsync () + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of InlineResponse20041 + public async System.Threading.Tasks.Task GetUsersAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyProgramsAsyncWithHttpInfo(); + TalonOne.Client.ApiResponse localVarResponse = await GetUsersAsyncWithHttpInfo(pageSize, skip, sort); return localVarResponse.Data; } /// - /// List loyalty programs List the loyalty programs of the account. + /// List users in account Retrieve all users in your account. /// /// Thrown when fails to make API call - /// Task of ApiResponse (InlineResponse20011) - public async System.Threading.Tasks.Task> GetLoyaltyProgramsAsyncWithHttpInfo () + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Task of ApiResponse (InlineResponse20041) + public async System.Threading.Tasks.Task> GetUsersAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -22044,6 +27310,18 @@ public async System.Threading.Tasks.Task GetLoyaltyPrograms foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } // authentication (management_key) required if ( @@ -22068,12 +27346,12 @@ public async System.Threading.Tasks.Task GetLoyaltyPrograms // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/users", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyPrograms", localVarResponse); + Exception _exception = this.ExceptionFactory("GetUsers", localVarResponse); if (_exception != null) throw _exception; } @@ -22081,24 +27359,24 @@ public async System.Threading.Tasks.Task GetLoyaltyPrograms } /// - /// Get loyalty program statistics Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. + /// Get webhook Returns a webhook by its id. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// LoyaltyStatistics - public LoyaltyStatistics GetLoyaltyStatistics (int loyaltyProgramId) + /// The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. + /// Webhook + public Webhook GetWebhook (int webhookId) { - TalonOne.Client.ApiResponse localVarResponse = GetLoyaltyStatisticsWithHttpInfo(loyaltyProgramId); + TalonOne.Client.ApiResponse localVarResponse = GetWebhookWithHttpInfo(webhookId); return localVarResponse.Data; } /// - /// Get loyalty program statistics Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. + /// Get webhook Returns a webhook by its id. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// ApiResponse of LoyaltyStatistics - public TalonOne.Client.ApiResponse< LoyaltyStatistics > GetLoyaltyStatisticsWithHttpInfo (int loyaltyProgramId) + /// The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. + /// ApiResponse of Webhook + public TalonOne.Client.ApiResponse< Webhook > GetWebhookWithHttpInfo (int webhookId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -22116,7 +27394,7 @@ public TalonOne.Client.ApiResponse< LoyaltyStatistics > GetLoyaltyStatisticsWith var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("webhookId", TalonOne.Client.ClientUtils.ParameterToString(webhookId)); // path parameter // authentication (management_key) required if ( @@ -22140,12 +27418,12 @@ public TalonOne.Client.ApiResponse< LoyaltyStatistics > GetLoyaltyStatisticsWith } // make the HTTP request - var localVarResponse = this.Client.Get< LoyaltyStatistics >("/v1/loyalty_programs/{loyaltyProgramId}/statistics", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< Webhook >("/v1/webhooks/{webhookId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyStatistics", localVarResponse); + Exception _exception = this.ExceptionFactory("GetWebhook", localVarResponse); if (_exception != null) throw _exception; } @@ -22153,25 +27431,25 @@ public TalonOne.Client.ApiResponse< LoyaltyStatistics > GetLoyaltyStatisticsWith } /// - /// Get loyalty program statistics Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. + /// Get webhook Returns a webhook by its id. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Task of LoyaltyStatistics - public async System.Threading.Tasks.Task GetLoyaltyStatisticsAsync (int loyaltyProgramId) + /// The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. + /// Task of Webhook + public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId) { - TalonOne.Client.ApiResponse localVarResponse = await GetLoyaltyStatisticsAsyncWithHttpInfo(loyaltyProgramId); + TalonOne.Client.ApiResponse localVarResponse = await GetWebhookAsyncWithHttpInfo(webhookId); return localVarResponse.Data; } /// - /// Get loyalty program statistics Retrieve the statistics of the specified loyalty program such as the total active points, pending points, spent points, and expired points. **Important:** The returned data does not include the current day. All statistics are updated daily at 11:59 PM in the loyalty program time zone. + /// Get webhook Returns a webhook by its id. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Task of ApiResponse (LoyaltyStatistics) - public async System.Threading.Tasks.Task> GetLoyaltyStatisticsAsyncWithHttpInfo (int loyaltyProgramId) + /// The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. + /// Task of ApiResponse (Webhook) + public async System.Threading.Tasks.Task> GetWebhookAsyncWithHttpInfo (int webhookId) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -22190,7 +27468,7 @@ public async System.Threading.Tasks.Task GetLoyaltyStatistics foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("webhookId", TalonOne.Client.ClientUtils.ParameterToString(webhookId)); // path parameter // authentication (management_key) required if ( @@ -22215,12 +27493,12 @@ public async System.Threading.Tasks.Task GetLoyaltyStatistics // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/loyalty_programs/{loyaltyProgramId}/statistics", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/webhooks/{webhookId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetLoyaltyStatistics", localVarResponse); + Exception _exception = this.ExceptionFactory("GetWebhook", localVarResponse); if (_exception != null) throw _exception; } @@ -22228,26 +27506,40 @@ public async System.Threading.Tasks.Task GetLoyaltyStatistics } /// - /// Get notification about campaign-related changes Return the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// List webhook activation log entries Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. - /// NotificationWebhook - public NotificationWebhook GetNotificationWebhook (int applicationId, int notificationWebhookId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by integration request UUID. (optional) + /// Filter results by Webhook. (optional) + /// Filter results by Application ID. (optional) + /// Filter results by campaign. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// InlineResponse20038 + public InlineResponse20038 GetWebhookActivationLogs (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) { - TalonOne.Client.ApiResponse localVarResponse = GetNotificationWebhookWithHttpInfo(applicationId, notificationWebhookId); + TalonOne.Client.ApiResponse localVarResponse = GetWebhookActivationLogsWithHttpInfo(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter); return localVarResponse.Data; } /// - /// Get notification about campaign-related changes Return the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// List webhook activation log entries Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. - /// ApiResponse of NotificationWebhook - public TalonOne.Client.ApiResponse< NotificationWebhook > GetNotificationWebhookWithHttpInfo (int applicationId, int notificationWebhookId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by integration request UUID. (optional) + /// Filter results by Webhook. (optional) + /// Filter results by Application ID. (optional) + /// Filter results by campaign. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// ApiResponse of InlineResponse20038 + public TalonOne.Client.ApiResponse< InlineResponse20038 > GetWebhookActivationLogsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -22265,8 +27557,42 @@ public TalonOne.Client.ApiResponse< NotificationWebhook > GetNotificationWebhook var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("notificationWebhookId", TalonOne.Client.ClientUtils.ParameterToString(notificationWebhookId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (integrationRequestUuid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationRequestUuid", integrationRequestUuid)); + } + if (webhookId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "webhookId", webhookId)); + } + if (applicationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); + } + if (campaignId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } // authentication (management_key) required if ( @@ -22290,12 +27616,12 @@ public TalonOne.Client.ApiResponse< NotificationWebhook > GetNotificationWebhook } // make the HTTP request - var localVarResponse = this.Client.Get< NotificationWebhook >("/v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20038 >("/v1/webhook_activation_logs", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetNotificationWebhook", localVarResponse); + Exception _exception = this.ExceptionFactory("GetWebhookActivationLogs", localVarResponse); if (_exception != null) throw _exception; } @@ -22303,27 +27629,41 @@ public TalonOne.Client.ApiResponse< NotificationWebhook > GetNotificationWebhook } /// - /// Get notification about campaign-related changes Return the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// List webhook activation log entries Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. - /// Task of NotificationWebhook - public async System.Threading.Tasks.Task GetNotificationWebhookAsync (int applicationId, int notificationWebhookId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by integration request UUID. (optional) + /// Filter results by Webhook. (optional) + /// Filter results by Application ID. (optional) + /// Filter results by campaign. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Task of InlineResponse20038 + public async System.Threading.Tasks.Task GetWebhookActivationLogsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetNotificationWebhookAsyncWithHttpInfo(applicationId, notificationWebhookId); + TalonOne.Client.ApiResponse localVarResponse = await GetWebhookActivationLogsAsyncWithHttpInfo(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter); return localVarResponse.Data; } /// - /// Get notification about campaign-related changes Return the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). + /// List webhook activation log entries Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. - /// Task of ApiResponse (NotificationWebhook) - public async System.Threading.Tasks.Task> GetNotificationWebhookAsyncWithHttpInfo (int applicationId, int notificationWebhookId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by integration request UUID. (optional) + /// Filter results by Webhook. (optional) + /// Filter results by Application ID. (optional) + /// Filter results by campaign. (optional) + /// Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Task of ApiResponse (InlineResponse20038) + public async System.Threading.Tasks.Task> GetWebhookActivationLogsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -22342,8 +27682,42 @@ public async System.Threading.Tasks.Task GetNotificationWeb foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("notificationWebhookId", TalonOne.Client.ClientUtils.ParameterToString(notificationWebhookId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (integrationRequestUuid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationRequestUuid", integrationRequestUuid)); + } + if (webhookId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "webhookId", webhookId)); + } + if (applicationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); + } + if (campaignId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } // authentication (management_key) required if ( @@ -22368,12 +27742,12 @@ public async System.Threading.Tasks.Task GetNotificationWeb // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/webhook_activation_logs", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetNotificationWebhook", localVarResponse); + Exception _exception = this.ExceptionFactory("GetWebhookActivationLogs", localVarResponse); if (_exception != null) throw _exception; } @@ -22381,24 +27755,42 @@ public async System.Threading.Tasks.Task GetNotificationWeb } /// - /// List notifications about campaign-related changes List all [notifications about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications) for the given Application. + /// List webhook log entries Retrieve all webhook log entries. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// InlineResponse2005 - public InlineResponse2005 GetNotificationWebhooks (int applicationId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by HTTP status codes. (optional) + /// Filter results by Webhook. (optional) + /// Filter results by Application ID. (optional) + /// Filter results by campaign. (optional) + /// Filter results by request UUID. (optional) + /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// InlineResponse20039 + public InlineResponse20039 GetWebhookLogs (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) { - TalonOne.Client.ApiResponse localVarResponse = GetNotificationWebhooksWithHttpInfo(applicationId); + TalonOne.Client.ApiResponse localVarResponse = GetWebhookLogsWithHttpInfo(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter); return localVarResponse.Data; } /// - /// List notifications about campaign-related changes List all [notifications about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications) for the given Application. + /// List webhook log entries Retrieve all webhook log entries. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// ApiResponse of InlineResponse2005 - public TalonOne.Client.ApiResponse< InlineResponse2005 > GetNotificationWebhooksWithHttpInfo (int applicationId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by HTTP status codes. (optional) + /// Filter results by Webhook. (optional) + /// Filter results by Application ID. (optional) + /// Filter results by campaign. (optional) + /// Filter results by request UUID. (optional) + /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// ApiResponse of InlineResponse20039 + public TalonOne.Client.ApiResponse< InlineResponse20039 > GetWebhookLogsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -22416,7 +27808,46 @@ public TalonOne.Client.ApiResponse< InlineResponse2005 > GetNotificationWebhooks var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (status != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + } + if (webhookId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "webhookId", webhookId)); + } + if (applicationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); + } + if (campaignId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); + } + if (requestUuid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "requestUuid", requestUuid)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } // authentication (management_key) required if ( @@ -22440,12 +27871,12 @@ public TalonOne.Client.ApiResponse< InlineResponse2005 > GetNotificationWebhooks } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse2005 >("/v1/applications/{applicationId}/notification_webhooks", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20039 >("/v1/webhook_logs", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetNotificationWebhooks", localVarResponse); + Exception _exception = this.ExceptionFactory("GetWebhookLogs", localVarResponse); if (_exception != null) throw _exception; } @@ -22453,25 +27884,43 @@ public TalonOne.Client.ApiResponse< InlineResponse2005 > GetNotificationWebhooks } /// - /// List notifications about campaign-related changes List all [notifications about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications) for the given Application. + /// List webhook log entries Retrieve all webhook log entries. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Task of InlineResponse2005 - public async System.Threading.Tasks.Task GetNotificationWebhooksAsync (int applicationId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by HTTP status codes. (optional) + /// Filter results by Webhook. (optional) + /// Filter results by Application ID. (optional) + /// Filter results by campaign. (optional) + /// Filter results by request UUID. (optional) + /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Task of InlineResponse20039 + public async System.Threading.Tasks.Task GetWebhookLogsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) { - TalonOne.Client.ApiResponse localVarResponse = await GetNotificationWebhooksAsyncWithHttpInfo(applicationId); + TalonOne.Client.ApiResponse localVarResponse = await GetWebhookLogsAsyncWithHttpInfo(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter); return localVarResponse.Data; } /// - /// List notifications about campaign-related changes List all [notifications about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications) for the given Application. + /// List webhook log entries Retrieve all webhook log entries. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// Task of ApiResponse (InlineResponse2005) - public async System.Threading.Tasks.Task> GetNotificationWebhooksAsyncWithHttpInfo (int applicationId) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results by HTTP status codes. (optional) + /// Filter results by Webhook. (optional) + /// Filter results by Application ID. (optional) + /// Filter results by campaign. (optional) + /// Filter results by request UUID. (optional) + /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Task of ApiResponse (InlineResponse20039) + public async System.Threading.Tasks.Task> GetWebhookLogsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -22490,7 +27939,46 @@ public async System.Threading.Tasks.Task GetNotificationWebh foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (status != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); + } + if (webhookId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "webhookId", webhookId)); + } + if (applicationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); + } + if (campaignId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); + } + if (requestUuid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "requestUuid", requestUuid)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } // authentication (management_key) required if ( @@ -22515,12 +28003,12 @@ public async System.Threading.Tasks.Task GetNotificationWebh // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/notification_webhooks", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/webhook_logs", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetNotificationWebhooks", localVarResponse); + Exception _exception = this.ExceptionFactory("GetWebhookLogs", localVarResponse); if (_exception != null) throw _exception; } @@ -22528,44 +28016,38 @@ public async System.Threading.Tasks.Task GetNotificationWebh } /// - /// List referrals List all referrals of the specified campaign. + /// List webhooks List all webhooks. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) + /// Filter by one or more Application IDs, separated by a comma. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) - /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) - /// InlineResponse2009 - public InlineResponse2009 GetReferralsWithoutTotalCount (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// Filter results by creation type. (optional) + /// Filter results by visibility. (optional) + /// Filter results by outgoing integration type ID. (optional) + /// Filter results performing case-insensitive matching against the webhook title. (optional) + /// InlineResponse20037 + public InlineResponse20037 GetWebhooks (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetReferralsWithoutTotalCountWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, code, createdBefore, createdAfter, valid, usable, advocate); + TalonOne.Client.ApiResponse localVarResponse = GetWebhooksWithHttpInfo(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title); return localVarResponse.Data; } /// - /// List referrals List all referrals of the specified campaign. + /// List webhooks List all webhooks. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) + /// Filter by one or more Application IDs, separated by a comma. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) - /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) - /// ApiResponse of InlineResponse2009 - public TalonOne.Client.ApiResponse< InlineResponse2009 > GetReferralsWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// Filter results by creation type. (optional) + /// Filter results by visibility. (optional) + /// Filter results by outgoing integration type ID. (optional) + /// Filter results performing case-insensitive matching against the webhook title. (optional) + /// ApiResponse of InlineResponse20037 + public TalonOne.Client.ApiResponse< InlineResponse20037 > GetWebhooksWithHttpInfo (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -22583,43 +28065,37 @@ public async System.Threading.Tasks.Task GetNotificationWebh var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) + if (applicationIds != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationIds", applicationIds)); } if (sort != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } - if (code != null) + if (pageSize != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "code", code)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); } - if (createdBefore != null) + if (skip != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (createdAfter != null) + if (creationType != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "creationType", creationType)); } - if (valid != null) + if (visibility != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "visibility", visibility)); } - if (usable != null) + if (outgoingIntegrationsTypeId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "outgoingIntegrationsTypeId", outgoingIntegrationsTypeId)); } - if (advocate != null) + if (title != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "advocate", advocate)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "title", title)); } // authentication (management_key) required @@ -22644,12 +28120,12 @@ public async System.Threading.Tasks.Task GetNotificationWebh } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse2009 >("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20037 >("/v1/webhooks", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetReferralsWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("GetWebhooks", localVarResponse); if (_exception != null) throw _exception; } @@ -22657,45 +28133,39 @@ public async System.Threading.Tasks.Task GetNotificationWebh } /// - /// List referrals List all referrals of the specified campaign. + /// List webhooks List all webhooks. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) + /// Filter by one or more Application IDs, separated by a comma. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) - /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) - /// Task of InlineResponse2009 - public async System.Threading.Tasks.Task GetReferralsWithoutTotalCountAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// Filter results by creation type. (optional) + /// Filter results by visibility. (optional) + /// Filter results by outgoing integration type ID. (optional) + /// Filter results performing case-insensitive matching against the webhook title. (optional) + /// Task of InlineResponse20037 + public async System.Threading.Tasks.Task GetWebhooksAsync (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetReferralsWithoutTotalCountAsyncWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, code, createdBefore, createdAfter, valid, usable, advocate); + TalonOne.Client.ApiResponse localVarResponse = await GetWebhooksAsyncWithHttpInfo(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title); return localVarResponse.Data; } /// - /// List referrals List all referrals of the specified campaign. + /// List webhooks List all webhooks. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) + /// Filter by one or more Application IDs, separated by a comma. (optional) /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the referral code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the referral creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches referrals in which the expiration date is set and in the past. The second matches referrals in which start date is null or in the past and expiration date is null or in the future, the third matches referrals in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only referrals where `usageCounter < usageLimit` will be returned, \"false\" will return only referrals where `usageCounter >= usageLimit`. (optional) - /// Filter results by match with a profile id specified in the referral's AdvocateProfileIntegrationId field (optional) - /// Task of ApiResponse (InlineResponse2009) - public async System.Threading.Tasks.Task> GetReferralsWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string code = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), string advocate = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// Filter results by creation type. (optional) + /// Filter results by visibility. (optional) + /// Filter results by outgoing integration type ID. (optional) + /// Filter results performing case-insensitive matching against the webhook title. (optional) + /// Task of ApiResponse (InlineResponse20037) + public async System.Threading.Tasks.Task> GetWebhooksAsyncWithHttpInfo (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -22714,43 +28184,37 @@ public async System.Threading.Tasks.Task GetNotificationWebh foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) + if (applicationIds != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationIds", applicationIds)); } if (sort != null) { localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); } - if (code != null) + if (pageSize != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "code", code)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); } - if (createdBefore != null) + if (skip != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); } - if (createdAfter != null) + if (creationType != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "creationType", creationType)); } - if (valid != null) + if (visibility != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "visibility", visibility)); } - if (usable != null) + if (outgoingIntegrationsTypeId != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "outgoingIntegrationsTypeId", outgoingIntegrationsTypeId)); } - if (advocate != null) + if (title != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "advocate", advocate)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "title", title)); } // authentication (management_key) required @@ -22776,12 +28240,12 @@ public async System.Threading.Tasks.Task GetNotificationWebh // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/webhooks", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetReferralsWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("GetWebhooks", localVarResponse); if (_exception != null) throw _exception; } @@ -22789,28 +28253,31 @@ public async System.Threading.Tasks.Task GetNotificationWebh } /// - /// Get role Get the details of a specific role. To see all the roles, use [List roles](#operation/getAllRoles). + /// Import data into existing account-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of role. - /// Role - public Role GetRole (int roleId) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The file containing the data that is being imported. (optional) + /// Import + public Import ImportAccountCollection (int collectionId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetRoleWithHttpInfo(roleId); + TalonOne.Client.ApiResponse localVarResponse = ImportAccountCollectionWithHttpInfo(collectionId, upFile); return localVarResponse.Data; } /// - /// Get role Get the details of a specific role. To see all the roles, use [List roles](#operation/getAllRoles). + /// Import data into existing account-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of role. - /// ApiResponse of Role - public TalonOne.Client.ApiResponse< Role > GetRoleWithHttpInfo (int roleId) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The file containing the data that is being imported. (optional) + /// ApiResponse of Import + public TalonOne.Client.ApiResponse< Import > ImportAccountCollectionWithHttpInfo (int collectionId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -22824,7 +28291,12 @@ public TalonOne.Client.ApiResponse< Role > GetRoleWithHttpInfo (int roleId) var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("roleId", TalonOne.Client.ClientUtils.ParameterToString(roleId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) + { + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + } // authentication (management_key) required if ( @@ -22848,12 +28320,17 @@ public TalonOne.Client.ApiResponse< Role > GetRoleWithHttpInfo (int roleId) } // make the HTTP request - var localVarResponse = this.Client.Get< Role >("/v1/roles/{roleId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Import >("/v1/collections/{collectionId}/import", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetRole", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportAccountCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -22861,30 +28338,33 @@ public TalonOne.Client.ApiResponse< Role > GetRoleWithHttpInfo (int roleId) } /// - /// Get role Get the details of a specific role. To see all the roles, use [List roles](#operation/getAllRoles). + /// Import data into existing account-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of role. - /// Task of Role - public async System.Threading.Tasks.Task GetRoleAsync (int roleId) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The file containing the data that is being imported. (optional) + /// Task of Import + public async System.Threading.Tasks.Task ImportAccountCollectionAsync (int collectionId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetRoleAsyncWithHttpInfo(roleId); + TalonOne.Client.ApiResponse localVarResponse = await ImportAccountCollectionAsyncWithHttpInfo(collectionId, upFile); return localVarResponse.Data; } /// - /// Get role Get the details of a specific role. To see all the roles, use [List roles](#operation/getAllRoles). + /// Import data into existing account-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of role. - /// Task of ApiResponse (Role) - public async System.Threading.Tasks.Task> GetRoleAsyncWithHttpInfo (int roleId) + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. + /// The file containing the data that is being imported. (optional) + /// Task of ApiResponse (Import) + public async System.Threading.Tasks.Task> ImportAccountCollectionAsyncWithHttpInfo (int collectionId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -22898,7 +28378,12 @@ public async System.Threading.Tasks.Task GetRoleAsync (int roleId) foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("roleId", TalonOne.Client.ClientUtils.ParameterToString(roleId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) + { + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + } // authentication (management_key) required if ( @@ -22923,12 +28408,17 @@ public async System.Threading.Tasks.Task GetRoleAsync (int roleId) // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/roles/{roleId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/collections/{collectionId}/import", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetRole", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportAccountCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -22936,32 +28426,31 @@ public async System.Threading.Tasks.Task GetRoleAsync (int roleId) } /// - /// Get ruleset Retrieve the specified ruleset. + /// Import allowed values for attribute Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item` (required): the values in your allowed list, for example a list of SKU's. An allowed list is limited to 500,000 items. Example: ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ``` /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the ruleset. - /// Ruleset - public Ruleset GetRuleset (int applicationId, int campaignId, int rulesetId) + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// The file containing the data that is being imported. (optional) + /// Import + public Import ImportAllowedList (int attributeId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetRulesetWithHttpInfo(applicationId, campaignId, rulesetId); + TalonOne.Client.ApiResponse localVarResponse = ImportAllowedListWithHttpInfo(attributeId, upFile); return localVarResponse.Data; } /// - /// Get ruleset Retrieve the specified ruleset. + /// Import allowed values for attribute Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item` (required): the values in your allowed list, for example a list of SKU's. An allowed list is limited to 500,000 items. Example: ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ``` /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the ruleset. - /// ApiResponse of Ruleset - public TalonOne.Client.ApiResponse< Ruleset > GetRulesetWithHttpInfo (int applicationId, int campaignId, int rulesetId) + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// The file containing the data that is being imported. (optional) + /// ApiResponse of Import + public TalonOne.Client.ApiResponse< Import > ImportAllowedListWithHttpInfo (int attributeId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -22975,9 +28464,12 @@ public TalonOne.Client.ApiResponse< Ruleset > GetRulesetWithHttpInfo (int applic var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("rulesetId", TalonOne.Client.ClientUtils.ParameterToString(rulesetId)); // path parameter + localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) + { + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + } // authentication (management_key) required if ( @@ -23001,12 +28493,17 @@ public TalonOne.Client.ApiResponse< Ruleset > GetRulesetWithHttpInfo (int applic } // make the HTTP request - var localVarResponse = this.Client.Get< Ruleset >("/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets/{rulesetId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Import >("/v1/attributes/{attributeId}/allowed_list/import", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetRuleset", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportAllowedList", localVarResponse); if (_exception != null) throw _exception; } @@ -23014,34 +28511,33 @@ public TalonOne.Client.ApiResponse< Ruleset > GetRulesetWithHttpInfo (int applic } /// - /// Get ruleset Retrieve the specified ruleset. + /// Import allowed values for attribute Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item` (required): the values in your allowed list, for example a list of SKU's. An allowed list is limited to 500,000 items. Example: ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ``` /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the ruleset. - /// Task of Ruleset - public async System.Threading.Tasks.Task GetRulesetAsync (int applicationId, int campaignId, int rulesetId) + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// The file containing the data that is being imported. (optional) + /// Task of Import + public async System.Threading.Tasks.Task ImportAllowedListAsync (int attributeId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetRulesetAsyncWithHttpInfo(applicationId, campaignId, rulesetId); + TalonOne.Client.ApiResponse localVarResponse = await ImportAllowedListAsyncWithHttpInfo(attributeId, upFile); return localVarResponse.Data; } /// - /// Get ruleset Retrieve the specified ruleset. + /// Import allowed values for attribute Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item` (required): the values in your allowed list, for example a list of SKU's. An allowed list is limited to 500,000 items. Example: ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ``` /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the ruleset. - /// Task of ApiResponse (Ruleset) - public async System.Threading.Tasks.Task> GetRulesetAsyncWithHttpInfo (int applicationId, int campaignId, int rulesetId) + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// The file containing the data that is being imported. (optional) + /// Task of ApiResponse (Import) + public async System.Threading.Tasks.Task> ImportAllowedListAsyncWithHttpInfo (int attributeId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -23055,9 +28551,12 @@ public async System.Threading.Tasks.Task GetRulesetAsync (int applicati foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("rulesetId", TalonOne.Client.ClientUtils.ParameterToString(rulesetId)); // path parameter + localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) + { + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + } // authentication (management_key) required if ( @@ -23082,12 +28581,17 @@ public async System.Threading.Tasks.Task GetRulesetAsync (int applicati // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets/{rulesetId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/attributes/{attributeId}/allowed_list/import", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetRuleset", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportAllowedList", localVarResponse); if (_exception != null) throw _exception; } @@ -23095,36 +28599,31 @@ public async System.Threading.Tasks.Task GetRulesetAsync (int applicati } /// - /// List campaign rulesets List all rulesets of this campaign. A ruleset is a revision of the rules of a campaign. **Important:** The response also includes deleted rules. You should only consider the latest revision of the returned rulesets. - /// - /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse2006 - public InlineResponse2006 GetRulesets (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// Import audience members Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. **Note:** We recommend limiting your file size to 500MB. Example: ```text profileintegrationid charles alexa ``` + /// + /// Thrown when fails to make API call + /// The ID of the audience. + /// The file containing the data that is being imported. (optional) + /// Import + public Import ImportAudiencesMemberships (int audienceId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetRulesetsWithHttpInfo(applicationId, campaignId, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = ImportAudiencesMembershipsWithHttpInfo(audienceId, upFile); return localVarResponse.Data; } /// - /// List campaign rulesets List all rulesets of this campaign. A ruleset is a revision of the rules of a campaign. **Important:** The response also includes deleted rules. You should only consider the latest revision of the returned rulesets. + /// Import audience members Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. **Note:** We recommend limiting your file size to 500MB. Example: ```text profileintegrationid charles alexa ``` /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse2006 - public TalonOne.Client.ApiResponse< InlineResponse2006 > GetRulesetsWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the audience. + /// The file containing the data that is being imported. (optional) + /// ApiResponse of Import + public TalonOne.Client.ApiResponse< Import > ImportAudiencesMembershipsWithHttpInfo (int audienceId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -23138,19 +28637,11 @@ public async System.Threading.Tasks.Task GetRulesetAsync (int applicati var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) + localVarRequestOptions.PathParameters.Add("audienceId", TalonOne.Client.ClientUtils.ParameterToString(audienceId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter } // authentication (management_key) required @@ -23175,12 +28666,17 @@ public async System.Threading.Tasks.Task GetRulesetAsync (int applicati } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse2006 >("/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Import >("/v1/audiences/{audienceId}/memberships/import", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetRulesets", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportAudiencesMemberships", localVarResponse); if (_exception != null) throw _exception; } @@ -23188,38 +28684,33 @@ public async System.Threading.Tasks.Task GetRulesetAsync (int applicati } /// - /// List campaign rulesets List all rulesets of this campaign. A ruleset is a revision of the rules of a campaign. **Important:** The response also includes deleted rules. You should only consider the latest revision of the returned rulesets. + /// Import audience members Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. **Note:** We recommend limiting your file size to 500MB. Example: ```text profileintegrationid charles alexa ``` /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse2006 - public async System.Threading.Tasks.Task GetRulesetsAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the audience. + /// The file containing the data that is being imported. (optional) + /// Task of Import + public async System.Threading.Tasks.Task ImportAudiencesMembershipsAsync (int audienceId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetRulesetsAsyncWithHttpInfo(applicationId, campaignId, pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = await ImportAudiencesMembershipsAsyncWithHttpInfo(audienceId, upFile); return localVarResponse.Data; } /// - /// List campaign rulesets List all rulesets of this campaign. A ruleset is a revision of the rules of a campaign. **Important:** The response also includes deleted rules. You should only consider the latest revision of the returned rulesets. + /// Import audience members Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. **Note:** We recommend limiting your file size to 500MB. Example: ```text profileintegrationid charles alexa ``` /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse2006) - public async System.Threading.Tasks.Task> GetRulesetsAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the audience. + /// The file containing the data that is being imported. (optional) + /// Task of ApiResponse (Import) + public async System.Threading.Tasks.Task> ImportAudiencesMembershipsAsyncWithHttpInfo (int audienceId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -23233,19 +28724,11 @@ public async System.Threading.Tasks.Task GetRulesetAsync (int applicati foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) + localVarRequestOptions.PathParameters.Add("audienceId", TalonOne.Client.ClientUtils.ParameterToString(audienceId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter } // authentication (management_key) required @@ -23271,12 +28754,17 @@ public async System.Threading.Tasks.Task GetRulesetAsync (int applicati // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/audiences/{audienceId}/memberships/import", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetRulesets", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportAudiencesMemberships", localVarResponse); if (_exception != null) throw _exception; } @@ -23284,28 +28772,35 @@ public async System.Threading.Tasks.Task GetRulesetAsync (int applicati } /// - /// Get user Retrieve the data (including an invitation code) for a user. Non-admin users can only get their own profile. + /// Import data into existing campaign-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of the user. - /// User - public User GetUser (int userId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// The file containing the data that is being imported. (optional) + /// Import + public Import ImportCollection (int applicationId, int campaignId, int collectionId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetUserWithHttpInfo(userId); + TalonOne.Client.ApiResponse localVarResponse = ImportCollectionWithHttpInfo(applicationId, campaignId, collectionId, upFile); return localVarResponse.Data; } /// - /// Get user Retrieve the data (including an invitation code) for a user. Non-admin users can only get their own profile. + /// Import data into existing campaign-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of the user. - /// ApiResponse of User - public TalonOne.Client.ApiResponse< User > GetUserWithHttpInfo (int userId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// The file containing the data that is being imported. (optional) + /// ApiResponse of Import + public TalonOne.Client.ApiResponse< Import > ImportCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -23319,7 +28814,14 @@ public TalonOne.Client.ApiResponse< User > GetUserWithHttpInfo (int userId) var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("userId", TalonOne.Client.ClientUtils.ParameterToString(userId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) + { + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + } // authentication (management_key) required if ( @@ -23343,12 +28845,17 @@ public TalonOne.Client.ApiResponse< User > GetUserWithHttpInfo (int userId) } // make the HTTP request - var localVarResponse = this.Client.Get< User >("/v1/users/{userId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Import >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/import", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetUser", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -23356,30 +28863,37 @@ public TalonOne.Client.ApiResponse< User > GetUserWithHttpInfo (int userId) } /// - /// Get user Retrieve the data (including an invitation code) for a user. Non-admin users can only get their own profile. + /// Import data into existing campaign-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of the user. - /// Task of User - public async System.Threading.Tasks.Task GetUserAsync (int userId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// The file containing the data that is being imported. (optional) + /// Task of Import + public async System.Threading.Tasks.Task ImportCollectionAsync (int applicationId, int campaignId, int collectionId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetUserAsyncWithHttpInfo(userId); + TalonOne.Client.ApiResponse localVarResponse = await ImportCollectionAsyncWithHttpInfo(applicationId, campaignId, collectionId, upFile); return localVarResponse.Data; } /// - /// Get user Retrieve the data (including an invitation code) for a user. Non-admin users can only get their own profile. + /// Import data into existing campaign-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. /// /// Thrown when fails to make API call - /// The ID of the user. - /// Task of ApiResponse (User) - public async System.Threading.Tasks.Task> GetUserAsyncWithHttpInfo (int userId) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. + /// The file containing the data that is being imported. (optional) + /// Task of ApiResponse (Import) + public async System.Threading.Tasks.Task> ImportCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -23393,7 +28907,14 @@ public async System.Threading.Tasks.Task GetUserAsync (int userId) foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("userId", TalonOne.Client.ClientUtils.ParameterToString(userId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) + { + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + } // authentication (management_key) required if ( @@ -23418,12 +28939,17 @@ public async System.Threading.Tasks.Task GetUserAsync (int userId) // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/users/{userId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/import", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetUser", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -23431,32 +28957,35 @@ public async System.Threading.Tasks.Task GetUserAsync (int userId) } /// - /// List users in account Retrieve all users in your account. + /// Import coupons Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A JSON object describing _custom_ coupon attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the coupon entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// InlineResponse20038 - public InlineResponse20038 GetUsers (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional) + /// The file containing the data that is being imported. (optional) + /// Import + public Import ImportCoupons (int applicationId, int campaignId, bool? skipDuplicates = default(bool?), string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetUsersWithHttpInfo(pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = ImportCouponsWithHttpInfo(applicationId, campaignId, skipDuplicates, upFile); return localVarResponse.Data; } /// - /// List users in account Retrieve all users in your account. + /// Import coupons Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A JSON object describing _custom_ coupon attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the coupon entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// ApiResponse of InlineResponse20038 - public TalonOne.Client.ApiResponse< InlineResponse20038 > GetUsersWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional) + /// The file containing the data that is being imported. (optional) + /// ApiResponse of Import + public TalonOne.Client.ApiResponse< Import > ImportCouponsWithHttpInfo (int applicationId, int campaignId, bool? skipDuplicates = default(bool?), string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -23470,17 +28999,16 @@ public async System.Threading.Tasks.Task GetUserAsync (int userId) var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (skipDuplicates != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skipDuplicates", skipDuplicates)); } - if (sort != null) + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter } // authentication (management_key) required @@ -23505,12 +29033,17 @@ public async System.Threading.Tasks.Task GetUserAsync (int userId) } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20038 >("/v1/users", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Import >("/v1/applications/{applicationId}/campaigns/{campaignId}/import_coupons", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetUsers", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportCoupons", localVarResponse); if (_exception != null) throw _exception; } @@ -23518,34 +29051,37 @@ public async System.Threading.Tasks.Task GetUserAsync (int userId) } /// - /// List users in account Retrieve all users in your account. + /// Import coupons Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A JSON object describing _custom_ coupon attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the coupon entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of InlineResponse20038 - public async System.Threading.Tasks.Task GetUsersAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional) + /// The file containing the data that is being imported. (optional) + /// Task of Import + public async System.Threading.Tasks.Task ImportCouponsAsync (int applicationId, int campaignId, bool? skipDuplicates = default(bool?), string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetUsersAsyncWithHttpInfo(pageSize, skip, sort); + TalonOne.Client.ApiResponse localVarResponse = await ImportCouponsAsyncWithHttpInfo(applicationId, campaignId, skipDuplicates, upFile); return localVarResponse.Data; } /// - /// List users in account Retrieve all users in your account. + /// Import coupons Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the recipient of the coupon. Only the customer with this integration ID can redeem this code. Available only for personal codes. - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A JSON object describing _custom_ coupon attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the coupon entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Task of ApiResponse (InlineResponse20038) - public async System.Threading.Tasks.Task> GetUsersAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional) + /// The file containing the data that is being imported. (optional) + /// Task of ApiResponse (Import) + public async System.Threading.Tasks.Task> ImportCouponsAsyncWithHttpInfo (int applicationId, int campaignId, bool? skipDuplicates = default(bool?), string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -23559,17 +29095,16 @@ public async System.Threading.Tasks.Task GetUserAsync (int userId) foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (skipDuplicates != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skipDuplicates", skipDuplicates)); } - if (sort != null) + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter } // authentication (management_key) required @@ -23595,12 +29130,17 @@ public async System.Threading.Tasks.Task GetUserAsync (int userId) // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/users", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/import_coupons", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetUsers", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportCoupons", localVarResponse); if (_exception != null) throw _exception; } @@ -23608,28 +29148,31 @@ public async System.Threading.Tasks.Task GetUserAsync (int userId) } /// - /// Get webhook Returns a webhook by its id. + /// Import loyalty cards Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The alphanumeric identifier of the loyalty card. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ``` /// /// Thrown when fails to make API call - /// The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. - /// Webhook - public Webhook GetWebhook (int webhookId) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// Import + public Import ImportLoyaltyCards (int loyaltyProgramId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetWebhookWithHttpInfo(webhookId); + TalonOne.Client.ApiResponse localVarResponse = ImportLoyaltyCardsWithHttpInfo(loyaltyProgramId, upFile); return localVarResponse.Data; } /// - /// Get webhook Returns a webhook by its id. + /// Import loyalty cards Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The alphanumeric identifier of the loyalty card. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ``` /// /// Thrown when fails to make API call - /// The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. - /// ApiResponse of Webhook - public TalonOne.Client.ApiResponse< Webhook > GetWebhookWithHttpInfo (int webhookId) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// ApiResponse of Import + public TalonOne.Client.ApiResponse< Import > ImportLoyaltyCardsWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -23643,7 +29186,12 @@ public TalonOne.Client.ApiResponse< Webhook > GetWebhookWithHttpInfo (int webhoo var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("webhookId", TalonOne.Client.ClientUtils.ParameterToString(webhookId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) + { + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + } // authentication (management_key) required if ( @@ -23667,12 +29215,17 @@ public TalonOne.Client.ApiResponse< Webhook > GetWebhookWithHttpInfo (int webhoo } // make the HTTP request - var localVarResponse = this.Client.Get< Webhook >("/v1/webhooks/{webhookId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Import >("/v1/loyalty_programs/{loyaltyProgramId}/import_cards", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetWebhook", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportLoyaltyCards", localVarResponse); if (_exception != null) throw _exception; } @@ -23680,30 +29233,33 @@ public TalonOne.Client.ApiResponse< Webhook > GetWebhookWithHttpInfo (int webhoo } /// - /// Get webhook Returns a webhook by its id. - /// - /// Thrown when fails to make API call - /// The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. - /// Task of Webhook - public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId) + /// Import loyalty cards Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The alphanumeric identifier of the loyalty card. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ``` + /// + /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// Task of Import + public async System.Threading.Tasks.Task ImportLoyaltyCardsAsync (int loyaltyProgramId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetWebhookAsyncWithHttpInfo(webhookId); + TalonOne.Client.ApiResponse localVarResponse = await ImportLoyaltyCardsAsyncWithHttpInfo(loyaltyProgramId, upFile); return localVarResponse.Data; } /// - /// Get webhook Returns a webhook by its id. + /// Import loyalty cards Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The alphanumeric identifier of the loyalty card. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ``` /// /// Thrown when fails to make API call - /// The ID of the webhook. You can find the ID in the Campaign Manager's URL when you display the details of the webhook in **Account** > **Webhooks**. - /// Task of ApiResponse (Webhook) - public async System.Threading.Tasks.Task> GetWebhookAsyncWithHttpInfo (int webhookId) + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// Task of ApiResponse (Import) + public async System.Threading.Tasks.Task> ImportLoyaltyCardsAsyncWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -23717,7 +29273,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("webhookId", TalonOne.Client.ClientUtils.ParameterToString(webhookId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) + { + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + } // authentication (management_key) required if ( @@ -23742,12 +29303,17 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/webhooks/{webhookId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/loyalty_programs/{loyaltyProgramId}/import_cards", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetWebhook", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportLoyaltyCards", localVarResponse); if (_exception != null) throw _exception; } @@ -23755,44 +29321,31 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List webhook activation log entries Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). + /// Import customers into loyalty tiers Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. **Note:** We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by integration request UUID. (optional) - /// Filter results by Webhook. (optional) - /// Filter results by Application ID. (optional) - /// Filter results by campaign. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// InlineResponse20035 - public InlineResponse20035 GetWebhookActivationLogs (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// Import + public Import ImportLoyaltyCustomersTiers (int loyaltyProgramId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetWebhookActivationLogsWithHttpInfo(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter); + TalonOne.Client.ApiResponse localVarResponse = ImportLoyaltyCustomersTiersWithHttpInfo(loyaltyProgramId, upFile); return localVarResponse.Data; } /// - /// List webhook activation log entries Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). + /// Import customers into loyalty tiers Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. **Note:** We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by integration request UUID. (optional) - /// Filter results by Webhook. (optional) - /// Filter results by Application ID. (optional) - /// Filter results by campaign. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// ApiResponse of InlineResponse20035 - public TalonOne.Client.ApiResponse< InlineResponse20035 > GetWebhookActivationLogsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// ApiResponse of Import + public TalonOne.Client.ApiResponse< Import > ImportLoyaltyCustomersTiersWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -23806,41 +29359,11 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (integrationRequestUuid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationRequestUuid", integrationRequestUuid)); - } - if (webhookId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "webhookId", webhookId)); - } - if (applicationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); - } - if (campaignId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter } // authentication (management_key) required @@ -23865,12 +29388,17 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20035 >("/v1/webhook_activation_logs", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Import >("/v1/loyalty_programs/{loyaltyProgramId}/import_customers_tiers", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetWebhookActivationLogs", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportLoyaltyCustomersTiers", localVarResponse); if (_exception != null) throw _exception; } @@ -23878,46 +29406,33 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List webhook activation log entries Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). + /// Import customers into loyalty tiers Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. **Note:** We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by integration request UUID. (optional) - /// Filter results by Webhook. (optional) - /// Filter results by Application ID. (optional) - /// Filter results by campaign. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Task of InlineResponse20035 - public async System.Threading.Tasks.Task GetWebhookActivationLogsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// Task of Import + public async System.Threading.Tasks.Task ImportLoyaltyCustomersTiersAsync (int loyaltyProgramId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetWebhookActivationLogsAsyncWithHttpInfo(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter); + TalonOne.Client.ApiResponse localVarResponse = await ImportLoyaltyCustomersTiersAsyncWithHttpInfo(loyaltyProgramId, upFile); return localVarResponse.Data; } /// - /// List webhook activation log entries Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks). + /// Import customers into loyalty tiers Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. **Note:** We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by integration request UUID. (optional) - /// Filter results by Webhook. (optional) - /// Filter results by Application ID. (optional) - /// Filter results by campaign. (optional) - /// Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Task of ApiResponse (InlineResponse20035) - public async System.Threading.Tasks.Task> GetWebhookActivationLogsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string integrationRequestUuid = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// Task of ApiResponse (Import) + public async System.Threading.Tasks.Task> ImportLoyaltyCustomersTiersAsyncWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -23931,41 +29446,11 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (integrationRequestUuid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationRequestUuid", integrationRequestUuid)); - } - if (webhookId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "webhookId", webhookId)); - } - if (applicationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); - } - if (campaignId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter } // authentication (management_key) required @@ -23991,12 +29476,17 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/webhook_activation_logs", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/loyalty_programs/{loyaltyProgramId}/import_customers_tiers", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetWebhookActivationLogs", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportLoyaltyCustomersTiers", localVarResponse); if (_exception != null) throw _exception; } @@ -24004,46 +29494,31 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List webhook log entries Retrieve all webhook log entries. + /// Import loyalty points Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by HTTP status codes. (optional) - /// Filter results by Webhook. (optional) - /// Filter results by Application ID. (optional) - /// Filter results by campaign. (optional) - /// Filter results by request UUID. (optional) - /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// InlineResponse20036 - public InlineResponse20036 GetWebhookLogs (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// Import + public Import ImportLoyaltyPoints (int loyaltyProgramId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetWebhookLogsWithHttpInfo(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter); + TalonOne.Client.ApiResponse localVarResponse = ImportLoyaltyPointsWithHttpInfo(loyaltyProgramId, upFile); return localVarResponse.Data; } /// - /// List webhook log entries Retrieve all webhook log entries. + /// Import loyalty points Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by HTTP status codes. (optional) - /// Filter results by Webhook. (optional) - /// Filter results by Application ID. (optional) - /// Filter results by campaign. (optional) - /// Filter results by request UUID. (optional) - /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// ApiResponse of InlineResponse20036 - public TalonOne.Client.ApiResponse< InlineResponse20036 > GetWebhookLogsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// ApiResponse of Import + public TalonOne.Client.ApiResponse< Import > ImportLoyaltyPointsWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -24057,45 +29532,11 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (status != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); - } - if (webhookId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "webhookId", webhookId)); - } - if (applicationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); - } - if (campaignId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); - } - if (requestUuid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "requestUuid", requestUuid)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter } // authentication (management_key) required @@ -24120,61 +29561,51 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20036 >("/v1/webhook_logs", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Import >("/v1/loyalty_programs/{loyaltyProgramId}/import_points", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetWebhookLogs", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportLoyaltyPoints", localVarResponse); if (_exception != null) throw _exception; } return localVarResponse; - } - - /// - /// List webhook log entries Retrieve all webhook log entries. - /// - /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by HTTP status codes. (optional) - /// Filter results by Webhook. (optional) - /// Filter results by Application ID. (optional) - /// Filter results by campaign. (optional) - /// Filter results by request UUID. (optional) - /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Task of InlineResponse20036 - public async System.Threading.Tasks.Task GetWebhookLogsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + } + + /// + /// Import loyalty points Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` + /// + /// Thrown when fails to make API call + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// Task of Import + public async System.Threading.Tasks.Task ImportLoyaltyPointsAsync (int loyaltyProgramId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetWebhookLogsAsyncWithHttpInfo(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter); + TalonOne.Client.ApiResponse localVarResponse = await ImportLoyaltyPointsAsyncWithHttpInfo(loyaltyProgramId, upFile); return localVarResponse.Data; } /// - /// List webhook log entries Retrieve all webhook log entries. + /// Import loyalty points Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results by HTTP status codes. (optional) - /// Filter results by Webhook. (optional) - /// Filter results by Application ID. (optional) - /// Filter results by campaign. (optional) - /// Filter results by request UUID. (optional) - /// Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Task of ApiResponse (InlineResponse20036) - public async System.Threading.Tasks.Task> GetWebhookLogsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string status = default(string), decimal? webhookId = default(decimal?), decimal? applicationId = default(decimal?), decimal? campaignId = default(decimal?), string requestUuid = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?)) + /// Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The file containing the data that is being imported. (optional) + /// Task of ApiResponse (Import) + public async System.Threading.Tasks.Task> ImportLoyaltyPointsAsyncWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -24188,45 +29619,11 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (status != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "status", status)); - } - if (webhookId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "webhookId", webhookId)); - } - if (applicationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationId", applicationId)); - } - if (campaignId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); - } - if (requestUuid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "requestUuid", requestUuid)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter } // authentication (management_key) required @@ -24252,12 +29649,17 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/webhook_logs", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/loyalty_programs/{loyaltyProgramId}/import_points", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetWebhookLogs", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportLoyaltyPoints", localVarResponse); if (_exception != null) throw _exception; } @@ -24265,42 +29667,31 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List webhooks List all webhooks. + /// Import giveaway codes into a giveaway pool Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. **Note:** - We recommend limiting your file size to 500MB. - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` /// /// Thrown when fails to make API call - /// Filter by one or more Application IDs, separated by a comma. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Filter results by creation type. (optional) - /// Filter results by visibility. (optional) - /// Filter results by outgoing integration type ID. (optional) - /// Filter results performing case-insensitive matching against the webhook title. (optional) - /// InlineResponse20034 - public InlineResponse20034 GetWebhooks (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)) + /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. + /// The file containing the data that is being imported. (optional) + /// Import + public Import ImportPoolGiveaways (int poolId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = GetWebhooksWithHttpInfo(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title); + TalonOne.Client.ApiResponse localVarResponse = ImportPoolGiveawaysWithHttpInfo(poolId, upFile); return localVarResponse.Data; } /// - /// List webhooks List all webhooks. + /// Import giveaway codes into a giveaway pool Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. **Note:** - We recommend limiting your file size to 500MB. - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` /// /// Thrown when fails to make API call - /// Filter by one or more Application IDs, separated by a comma. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Filter results by creation type. (optional) - /// Filter results by visibility. (optional) - /// Filter results by outgoing integration type ID. (optional) - /// Filter results performing case-insensitive matching against the webhook title. (optional) - /// ApiResponse of InlineResponse20034 - public TalonOne.Client.ApiResponse< InlineResponse20034 > GetWebhooksWithHttpInfo (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)) + /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. + /// The file containing the data that is being imported. (optional) + /// ApiResponse of Import + public TalonOne.Client.ApiResponse< Import > ImportPoolGiveawaysWithHttpInfo (int poolId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -24314,37 +29705,11 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - if (applicationIds != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationIds", applicationIds)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (creationType != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "creationType", creationType)); - } - if (visibility != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "visibility", visibility)); - } - if (outgoingIntegrationsTypeId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "outgoingIntegrationsTypeId", outgoingIntegrationsTypeId)); - } - if (title != null) + localVarRequestOptions.PathParameters.Add("poolId", TalonOne.Client.ClientUtils.ParameterToString(poolId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "title", title)); + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter } // authentication (management_key) required @@ -24369,12 +29734,17 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20034 >("/v1/webhooks", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Import >("/v1/giveaways/pools/{poolId}/import", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetWebhooks", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportPoolGiveaways", localVarResponse); if (_exception != null) throw _exception; } @@ -24382,44 +29752,33 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List webhooks List all webhooks. + /// Import giveaway codes into a giveaway pool Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. **Note:** - We recommend limiting your file size to 500MB. - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` /// /// Thrown when fails to make API call - /// Filter by one or more Application IDs, separated by a comma. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Filter results by creation type. (optional) - /// Filter results by visibility. (optional) - /// Filter results by outgoing integration type ID. (optional) - /// Filter results performing case-insensitive matching against the webhook title. (optional) - /// Task of InlineResponse20034 - public async System.Threading.Tasks.Task GetWebhooksAsync (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)) + /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. + /// The file containing the data that is being imported. (optional) + /// Task of Import + public async System.Threading.Tasks.Task ImportPoolGiveawaysAsync (int poolId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await GetWebhooksAsyncWithHttpInfo(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title); + TalonOne.Client.ApiResponse localVarResponse = await ImportPoolGiveawaysAsyncWithHttpInfo(poolId, upFile); return localVarResponse.Data; } /// - /// List webhooks List all webhooks. + /// Import giveaway codes into a giveaway pool Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. **Note:** - We recommend limiting your file size to 500MB. - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` /// /// Thrown when fails to make API call - /// Filter by one or more Application IDs, separated by a comma. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// Filter results by creation type. (optional) - /// Filter results by visibility. (optional) - /// Filter results by outgoing integration type ID. (optional) - /// Filter results performing case-insensitive matching against the webhook title. (optional) - /// Task of ApiResponse (InlineResponse20034) - public async System.Threading.Tasks.Task> GetWebhooksAsyncWithHttpInfo (string applicationIds = default(string), string sort = default(string), int? pageSize = default(int?), int? skip = default(int?), string creationType = default(string), string visibility = default(string), int? outgoingIntegrationsTypeId = default(int?), string title = default(string)) + /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. + /// The file containing the data that is being imported. (optional) + /// Task of ApiResponse (Import) + public async System.Threading.Tasks.Task> ImportPoolGiveawaysAsyncWithHttpInfo (int poolId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "multipart/form-data" }; // to determine the Accept header @@ -24433,37 +29792,11 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - if (applicationIds != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "applicationIds", applicationIds)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (creationType != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "creationType", creationType)); - } - if (visibility != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "visibility", visibility)); - } - if (outgoingIntegrationsTypeId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "outgoingIntegrationsTypeId", outgoingIntegrationsTypeId)); - } - if (title != null) + localVarRequestOptions.PathParameters.Add("poolId", TalonOne.Client.ClientUtils.ParameterToString(poolId)); // path parameter + MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); + if (upFile != null) { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "title", title)); + localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter } // authentication (management_key) required @@ -24489,12 +29822,17 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/webhooks", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/giveaways/pools/{poolId}/import", localVarRequestOptions, this.Configuration); + if (upFileStream != null) + { + upFileStream.Close(); + upFileStream.Dispose(); + } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetWebhooks", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportPoolGiveaways", localVarResponse); if (_exception != null) throw _exception; } @@ -24502,26 +29840,28 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import data in existing account-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. + /// Import referrals Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Important:** When you import a CSV file with referrals, a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) is **not** automatically created for each `advocateprofileintegrationid` column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) endpoint to create the customer profiles. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The file containing the data that is being imported. (optional) /// Import - public Import ImportAccountCollection (int collectionId, string upFile = default(string)) + public Import ImportReferrals (int applicationId, int campaignId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = ImportAccountCollectionWithHttpInfo(collectionId, upFile); + TalonOne.Client.ApiResponse localVarResponse = ImportReferralsWithHttpInfo(applicationId, campaignId, upFile); return localVarResponse.Data; } /// - /// Import data in existing account-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. + /// Import referrals Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Important:** When you import a CSV file with referrals, a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) is **not** automatically created for each `advocateprofileintegrationid` column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) endpoint to create the customer profiles. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The file containing the data that is being imported. (optional) /// ApiResponse of Import - public TalonOne.Client.ApiResponse< Import > ImportAccountCollectionWithHttpInfo (int collectionId, string upFile = default(string)) + public TalonOne.Client.ApiResponse< Import > ImportReferralsWithHttpInfo (int applicationId, int campaignId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -24540,7 +29880,8 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); if (upFile != null) { @@ -24569,7 +29910,7 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Post< Import >("/v1/collections/{collectionId}/import", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< Import >("/v1/applications/{applicationId}/campaigns/{campaignId}/import_referrals", localVarRequestOptions, this.Configuration); if (upFileStream != null) { @@ -24579,7 +29920,7 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportAccountCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportReferrals", localVarResponse); if (_exception != null) throw _exception; } @@ -24587,27 +29928,29 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import data in existing account-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. + /// Import referrals Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Important:** When you import a CSV file with referrals, a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) is **not** automatically created for each `advocateprofileintegrationid` column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) endpoint to create the customer profiles. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The file containing the data that is being imported. (optional) /// Task of Import - public async System.Threading.Tasks.Task ImportAccountCollectionAsync (int collectionId, string upFile = default(string)) + public async System.Threading.Tasks.Task ImportReferralsAsync (int applicationId, int campaignId, string upFile = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await ImportAccountCollectionAsyncWithHttpInfo(collectionId, upFile); + TalonOne.Client.ApiResponse localVarResponse = await ImportReferralsAsyncWithHttpInfo(applicationId, campaignId, upFile); return localVarResponse.Data; } /// - /// Import data in existing account-level collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. + /// Import referrals Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Important:** When you import a CSV file with referrals, a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) is **not** automatically created for each `advocateprofileintegrationid` column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) endpoint to create the customer profiles. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The file containing the data that is being imported. (optional) /// Task of ApiResponse (Import) - public async System.Threading.Tasks.Task> ImportAccountCollectionAsyncWithHttpInfo (int collectionId, string upFile = default(string)) + public async System.Threading.Tasks.Task> ImportReferralsAsyncWithHttpInfo (int applicationId, int campaignId, string upFile = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -24627,7 +29970,8 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); if (upFile != null) { @@ -24657,7 +30001,7 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/collections/{collectionId}/import", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/import_referrals", localVarRequestOptions, this.Configuration); if (upFileStream != null) { @@ -24667,7 +30011,7 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportAccountCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("ImportReferrals", localVarResponse); if (_exception != null) throw _exception; } @@ -24675,36 +30019,36 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import allowed values for attribute Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item` (required): the values in your allowed list, for example a list of SKU's. An allowed list is limited to 500,000 items. Example: ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ``` + /// Invite user from identity provider Invite a user from an external identity provider to Talon.One by sending an invitation to their email address. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// The file with the information about the data that should be imported. (optional) - /// Import - public Import ImportAllowedList (int attributeId, string upFile = default(string)) + /// body + /// + public void InviteUserExternal (NewExternalInvitation body) { - TalonOne.Client.ApiResponse localVarResponse = ImportAllowedListWithHttpInfo(attributeId, upFile); - return localVarResponse.Data; + InviteUserExternalWithHttpInfo(body); } /// - /// Import allowed values for attribute Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item` (required): the values in your allowed list, for example a list of SKU's. An allowed list is limited to 500,000 items. Example: ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ``` + /// Invite user from identity provider Invite a user from an external identity provider to Talon.One by sending an invitation to their email address. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// The file with the information about the data that should be imported. (optional) - /// ApiResponse of Import - public TalonOne.Client.ApiResponse< Import > ImportAllowedListWithHttpInfo (int attributeId, string upFile = default(string)) + /// body + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse InviteUserExternalWithHttpInfo (NewExternalInvitation body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->InviteUserExternal"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" + "application/json" }; // to determine the Accept header String[] _accepts = new String[] { - "application/json" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -24713,12 +30057,7 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) - { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter - } + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -24742,17 +30081,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Post< Import >("/v1/attributes/{attributeId}/allowed_list/import", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post("/v1/users/invite", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportAllowedList", localVarResponse); + Exception _exception = this.ExceptionFactory("InviteUserExternal", localVarResponse); if (_exception != null) throw _exception; } @@ -24760,38 +30094,38 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import allowed values for attribute Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item` (required): the values in your allowed list, for example a list of SKU's. An allowed list is limited to 500,000 items. Example: ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ``` + /// Invite user from identity provider Invite a user from an external identity provider to Talon.One by sending an invitation to their email address. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// The file with the information about the data that should be imported. (optional) - /// Task of Import - public async System.Threading.Tasks.Task ImportAllowedListAsync (int attributeId, string upFile = default(string)) + /// body + /// Task of void + public async System.Threading.Tasks.Task InviteUserExternalAsync (NewExternalInvitation body) { - TalonOne.Client.ApiResponse localVarResponse = await ImportAllowedListAsyncWithHttpInfo(attributeId, upFile); - return localVarResponse.Data; + await InviteUserExternalAsyncWithHttpInfo(body); } /// - /// Import allowed values for attribute Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item` (required): the values in your allowed list, for example a list of SKU's. An allowed list is limited to 500,000 items. Example: ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ``` + /// Invite user from identity provider Invite a user from an external identity provider to Talon.One by sending an invitation to their email address. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. - /// The file with the information about the data that should be imported. (optional) - /// Task of ApiResponse (Import) - public async System.Threading.Tasks.Task> ImportAllowedListAsyncWithHttpInfo (int attributeId, string upFile = default(string)) + /// body + /// Task of ApiResponse + public async System.Threading.Tasks.Task> InviteUserExternalAsyncWithHttpInfo (NewExternalInvitation body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->InviteUserExternal"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" + "application/json" }; // to determine the Accept header String[] _accepts = new String[] { - "application/json" }; foreach (var _contentType in _contentTypes) @@ -24800,12 +30134,7 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) - { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter - } + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -24830,17 +30159,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/attributes/{attributeId}/allowed_list/import", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/users/invite", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportAllowedList", localVarResponse); + Exception _exception = this.ExceptionFactory("InviteUserExternal", localVarResponse); if (_exception != null) throw _exception; } @@ -24848,35 +30172,36 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import data in existing collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. + /// List collections in account List account-level collections in the account. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Import - public Import ImportCollection (int applicationId, int campaignId, int collectionId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// InlineResponse20017 + public InlineResponse20017 ListAccountCollections (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = ImportCollectionWithHttpInfo(applicationId, campaignId, collectionId, upFile); + TalonOne.Client.ApiResponse localVarResponse = ListAccountCollectionsWithHttpInfo(pageSize, skip, sort, withTotalResultSize, name); return localVarResponse.Data; } /// - /// Import data in existing collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. + /// List collections in account List account-level collections in the account. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// ApiResponse of Import - public TalonOne.Client.ApiResponse< Import > ImportCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// ApiResponse of InlineResponse20017 + public TalonOne.Client.ApiResponse< InlineResponse20017 > ListAccountCollectionsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -24890,13 +30215,25 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); } // authentication (management_key) required @@ -24921,17 +30258,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Post< Import >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/import", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20017 >("/v1/collections", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("ListAccountCollections", localVarResponse); if (_exception != null) throw _exception; } @@ -24939,37 +30271,38 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import data in existing collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. + /// List collections in account List account-level collections in the account. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Task of Import - public async System.Threading.Tasks.Task ImportCollectionAsync (int applicationId, int campaignId, int collectionId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// Task of InlineResponse20017 + public async System.Threading.Tasks.Task ListAccountCollectionsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await ImportCollectionAsyncWithHttpInfo(applicationId, campaignId, collectionId, upFile); + TalonOne.Client.ApiResponse localVarResponse = await ListAccountCollectionsAsyncWithHttpInfo(pageSize, skip, sort, withTotalResultSize, name); return localVarResponse.Data; } /// - /// Import data in existing collection Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. Example: ``` item Addidas Nike Asics ``` **Note:** Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection. + /// List collections in account List account-level collections in the account. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Task of ApiResponse (Import) - public async System.Threading.Tasks.Task> ImportCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// Task of ApiResponse (InlineResponse20017) + public async System.Threading.Tasks.Task> ListAccountCollectionsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -24983,13 +30316,25 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); } // authentication (management_key) required @@ -25015,17 +30360,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/import", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/collections", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("ListAccountCollections", localVarResponse); if (_exception != null) throw _exception; } @@ -25033,33 +30373,36 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import coupons Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the customer who receives the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the coupon entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). + /// List achievements List all the achievements for a specific campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) - /// Import - public Import ImportCoupons (int applicationId, int campaignId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Filter by the display name for the achievement in the campaign manager. **Note**: If no `title` is provided, all the achievements from the campaign are returned. (optional) + /// InlineResponse20046 + public InlineResponse20046 ListAchievements (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string title = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = ImportCouponsWithHttpInfo(applicationId, campaignId, upFile); + TalonOne.Client.ApiResponse localVarResponse = ListAchievementsWithHttpInfo(applicationId, campaignId, pageSize, skip, title); return localVarResponse.Data; } /// - /// Import coupons Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the customer who receives the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the coupon entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). + /// List achievements List all the achievements for a specific campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) - /// ApiResponse of Import - public TalonOne.Client.ApiResponse< Import > ImportCouponsWithHttpInfo (int applicationId, int campaignId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Filter by the display name for the achievement in the campaign manager. **Note**: If no `title` is provided, all the achievements from the campaign are returned. (optional) + /// ApiResponse of InlineResponse20046 + public TalonOne.Client.ApiResponse< InlineResponse20046 > ListAchievementsWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string title = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -25075,10 +30418,17 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (title != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "title", title)); } // authentication (management_key) required @@ -25103,17 +30453,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Post< Import >("/v1/applications/{applicationId}/campaigns/{campaignId}/import_coupons", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20046 >("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportCoupons", localVarResponse); + Exception _exception = this.ExceptionFactory("ListAchievements", localVarResponse); if (_exception != null) throw _exception; } @@ -25121,35 +30466,38 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import coupons Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the customer who receives the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the coupon entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). + /// List achievements List all the achievements for a specific campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) - /// Task of Import - public async System.Threading.Tasks.Task ImportCouponsAsync (int applicationId, int campaignId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Filter by the display name for the achievement in the campaign manager. **Note**: If no `title` is provided, all the achievements from the campaign are returned. (optional) + /// Task of InlineResponse20046 + public async System.Threading.Tasks.Task ListAchievementsAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string title = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await ImportCouponsAsyncWithHttpInfo(applicationId, campaignId, upFile); + TalonOne.Client.ApiResponse localVarResponse = await ListAchievementsAsyncWithHttpInfo(applicationId, campaignId, pageSize, skip, title); return localVarResponse.Data; } /// - /// Import coupons Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `value` (required): The coupon code. - `expirydate`: The end date in RFC3339 of the code redemption period. - `startdate`: The start date in RFC3339 of the code redemption period. - `recipientintegrationid`: The integration ID of the customer who receives the coupon. Only the customer with this integration ID can redeem the corresponding coupon code. Learn about [coupon reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). - `limitval`: The maximum number of redemptions of this code. For unlimited redemptions, use `0`. Defaults to `1` when not provided. - `discountlimit`: The total discount value that the code can give. This is typically used to represent a gift card value. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the coupon entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text \"value\",\"expirydate\",\"startdate\",\"recipientintegrationid\",\"limitval\",\"attributes\",\"discountlimit\" COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,\"{\"\"Category\"\": \"\"10_off\"\"}\",2.4 ``` Once imported, you can find the `batchId` in the Campaign Manager or by using [List coupons](#tag/Coupons/operation/getCouponsWithoutTotalCount). + /// List achievements List all the achievements for a specific campaign. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) - /// Task of ApiResponse (Import) - public async System.Threading.Tasks.Task> ImportCouponsAsyncWithHttpInfo (int applicationId, int campaignId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 50) + /// The number of items to skip when paging through large result sets. (optional) + /// Filter by the display name for the achievement in the campaign manager. **Note**: If no `title` is provided, all the achievements from the campaign are returned. (optional) + /// Task of ApiResponse (InlineResponse20046) + public async System.Threading.Tasks.Task> ListAchievementsAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string title = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -25165,10 +30513,17 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (title != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "title", title)); } // authentication (management_key) required @@ -25194,17 +30549,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/import_coupons", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportCoupons", localVarResponse); + Exception _exception = this.ExceptionFactory("ListAchievements", localVarResponse); if (_exception != null) throw _exception; } @@ -25212,31 +30562,26 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import loyalty cards Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The alphanumeric identifier of the loyalty card. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ``` + /// List roles List all roles. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Import - public Import ImportLoyaltyCards (int loyaltyProgramId, string upFile = default(string)) + /// InlineResponse20044 + public InlineResponse20044 ListAllRolesV2 () { - TalonOne.Client.ApiResponse localVarResponse = ImportLoyaltyCardsWithHttpInfo(loyaltyProgramId, upFile); + TalonOne.Client.ApiResponse localVarResponse = ListAllRolesV2WithHttpInfo(); return localVarResponse.Data; } /// - /// Import loyalty cards Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The alphanumeric identifier of the loyalty card. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ``` + /// List roles List all roles. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// ApiResponse of Import - public TalonOne.Client.ApiResponse< Import > ImportLoyaltyCardsWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) + /// ApiResponse of InlineResponse20044 + public TalonOne.Client.ApiResponse< InlineResponse20044 > ListAllRolesV2WithHttpInfo () { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -25250,12 +30595,6 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) - { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter - } // authentication (management_key) required if ( @@ -25279,17 +30618,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Post< Import >("/v1/loyalty_programs/{loyaltyProgramId}/import_cards", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20044 >("/v2/roles", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportLoyaltyCards", localVarResponse); + Exception _exception = this.ExceptionFactory("ListAllRolesV2", localVarResponse); if (_exception != null) throw _exception; } @@ -25297,33 +30631,28 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import loyalty cards Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The alphanumeric identifier of the loyalty card. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ``` + /// List roles List all roles. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Task of Import - public async System.Threading.Tasks.Task ImportLoyaltyCardsAsync (int loyaltyProgramId, string upFile = default(string)) + /// Task of InlineResponse20044 + public async System.Threading.Tasks.Task ListAllRolesV2Async () { - TalonOne.Client.ApiResponse localVarResponse = await ImportLoyaltyCardsAsyncWithHttpInfo(loyaltyProgramId, upFile); + TalonOne.Client.ApiResponse localVarResponse = await ListAllRolesV2AsyncWithHttpInfo(); return localVarResponse.Data; } /// - /// Import loyalty cards Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The alphanumeric identifier of the loyalty card. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ``` + /// List roles List all roles. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Task of ApiResponse (Import) - public async System.Threading.Tasks.Task> ImportLoyaltyCardsAsyncWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) + /// Task of ApiResponse (InlineResponse20044) + public async System.Threading.Tasks.Task> ListAllRolesV2AsyncWithHttpInfo () { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -25337,12 +30666,6 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) - { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter - } // authentication (management_key) required if ( @@ -25367,17 +30690,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/loyalty_programs/{loyaltyProgramId}/import_cards", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v2/roles", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportLoyaltyCards", localVarResponse); + Exception _exception = this.ExceptionFactory("ListAllRolesV2", localVarResponse); if (_exception != null) throw _exception; } @@ -25385,31 +30703,38 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import customers into loyalty tiers Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in a tier, the customer is assigned to match the new information provided in the CSV file. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` + /// List items in a catalog Return a paginated list of cart items in the given catalog. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Import - public Import ImportLoyaltyCustomersTiers (int loyaltyProgramId, string upFile = default(string)) + /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by one or more SKUs. Must be exact match. (optional) + /// Filter results by one or more product names. Must be exact match. (optional) + /// InlineResponse20035 + public InlineResponse20035 ListCatalogItems (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), List sku = default(List), List productNames = default(List)) { - TalonOne.Client.ApiResponse localVarResponse = ImportLoyaltyCustomersTiersWithHttpInfo(loyaltyProgramId, upFile); + TalonOne.Client.ApiResponse localVarResponse = ListCatalogItemsWithHttpInfo(catalogId, pageSize, skip, withTotalResultSize, sku, productNames); return localVarResponse.Data; } /// - /// Import customers into loyalty tiers Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in a tier, the customer is assigned to match the new information provided in the CSV file. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` + /// List items in a catalog Return a paginated list of cart items in the given catalog. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// ApiResponse of Import - public TalonOne.Client.ApiResponse< Import > ImportLoyaltyCustomersTiersWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) + /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by one or more SKUs. Must be exact match. (optional) + /// Filter results by one or more product names. Must be exact match. (optional) + /// ApiResponse of InlineResponse20035 + public TalonOne.Client.ApiResponse< InlineResponse20035 > ListCatalogItemsWithHttpInfo (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), List sku = default(List), List productNames = default(List)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -25423,11 +30748,26 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + localVarRequestOptions.PathParameters.Add("catalogId", TalonOne.Client.ClientUtils.ParameterToString(catalogId)); // path parameter + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (sku != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "sku", sku)); + } + if (productNames != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "productNames", productNames)); } // authentication (management_key) required @@ -25452,17 +30792,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Post< Import >("/v1/loyalty_programs/{loyaltyProgramId}/import_customers_tiers", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20035 >("/v1/catalogs/{catalogId}/items", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportLoyaltyCustomersTiers", localVarResponse); + Exception _exception = this.ExceptionFactory("ListCatalogItems", localVarResponse); if (_exception != null) throw _exception; } @@ -25470,33 +30805,40 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import customers into loyalty tiers Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in a tier, the customer is assigned to match the new information provided in the CSV file. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` + /// List items in a catalog Return a paginated list of cart items in the given catalog. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Task of Import - public async System.Threading.Tasks.Task ImportLoyaltyCustomersTiersAsync (int loyaltyProgramId, string upFile = default(string)) + /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by one or more SKUs. Must be exact match. (optional) + /// Filter results by one or more product names. Must be exact match. (optional) + /// Task of InlineResponse20035 + public async System.Threading.Tasks.Task ListCatalogItemsAsync (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), List sku = default(List), List productNames = default(List)) { - TalonOne.Client.ApiResponse localVarResponse = await ImportLoyaltyCustomersTiersAsyncWithHttpInfo(loyaltyProgramId, upFile); + TalonOne.Client.ApiResponse localVarResponse = await ListCatalogItemsAsyncWithHttpInfo(catalogId, pageSize, skip, withTotalResultSize, sku, productNames); return localVarResponse.Data; } /// - /// Import customers into loyalty tiers Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. **Important:** This endpoint only works with loyalty programs with advanced tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in a tier, the customer is assigned to match the new information provided in the CSV file. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ``` + /// List items in a catalog Return a paginated list of cart items in the given catalog. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Task of ApiResponse (Import) - public async System.Threading.Tasks.Task> ImportLoyaltyCustomersTiersAsyncWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) + /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by one or more SKUs. Must be exact match. (optional) + /// Filter results by one or more product names. Must be exact match. (optional) + /// Task of ApiResponse (InlineResponse20035) + public async System.Threading.Tasks.Task> ListCatalogItemsAsyncWithHttpInfo (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), List sku = default(List), List productNames = default(List)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -25510,11 +30852,26 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + localVarRequestOptions.PathParameters.Add("catalogId", TalonOne.Client.ClientUtils.ParameterToString(catalogId)); // path parameter + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (sku != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "sku", sku)); + } + if (productNames != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("csv", "productNames", productNames)); } // authentication (management_key) required @@ -25540,17 +30897,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/loyalty_programs/{loyaltyProgramId}/import_customers_tiers", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/catalogs/{catalogId}/items", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportLoyaltyCustomersTiers", localVarResponse); + Exception _exception = this.ExceptionFactory("ListCatalogItems", localVarResponse); if (_exception != null) throw _exception; } @@ -25558,31 +30910,40 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import loyalty points Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the loyalty program type, you can import the points into a given customer profile or into a given _active_ loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` + /// List collections in campaign List collections in a given campaign. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Import - public Import ImportLoyaltyPoints (int loyaltyProgramId, string upFile = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// InlineResponse20017 + public InlineResponse20017 ListCollections (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = ImportLoyaltyPointsWithHttpInfo(loyaltyProgramId, upFile); + TalonOne.Client.ApiResponse localVarResponse = ListCollectionsWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, withTotalResultSize, name); return localVarResponse.Data; } /// - /// Import loyalty points Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the loyalty program type, you can import the points into a given customer profile or into a given _active_ loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` + /// List collections in campaign List collections in a given campaign. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// ApiResponse of Import - public TalonOne.Client.ApiResponse< Import > ImportLoyaltyPointsWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// ApiResponse of InlineResponse20017 + public TalonOne.Client.ApiResponse< InlineResponse20017 > ListCollectionsWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -25596,11 +30957,27 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); } // authentication (management_key) required @@ -25625,17 +31002,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Post< Import >("/v1/loyalty_programs/{loyaltyProgramId}/import_points", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20017 >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportLoyaltyPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("ListCollections", localVarResponse); if (_exception != null) throw _exception; } @@ -25643,33 +31015,42 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import loyalty points Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the loyalty program type, you can import the points into a given customer profile or into a given _active_ loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` + /// List collections in campaign List collections in a given campaign. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Task of Import - public async System.Threading.Tasks.Task ImportLoyaltyPointsAsync (int loyaltyProgramId, string upFile = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// Task of InlineResponse20017 + public async System.Threading.Tasks.Task ListCollectionsAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await ImportLoyaltyPointsAsyncWithHttpInfo(loyaltyProgramId, upFile); + TalonOne.Client.ApiResponse localVarResponse = await ListCollectionsAsyncWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, withTotalResultSize, name); return localVarResponse.Data; } /// - /// Import loyalty points Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the loyalty program type, you can import the points into a given customer profile or into a given _active_ loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` + /// List collections in campaign List collections in a given campaign. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// The file with the information about the data that should be imported. (optional) - /// Task of ApiResponse (Import) - public async System.Threading.Tasks.Task> ImportLoyaltyPointsAsyncWithHttpInfo (int loyaltyProgramId, string upFile = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// Task of ApiResponse (InlineResponse20017) + public async System.Threading.Tasks.Task> ListCollectionsAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -25683,11 +31064,27 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); } // authentication (management_key) required @@ -25713,17 +31110,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/loyalty_programs/{loyaltyProgramId}/import_points", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportLoyaltyPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("ListCollections", localVarResponse); if (_exception != null) throw _exception; } @@ -25731,31 +31123,38 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import giveaway codes into a giveaway pool Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): the code of your giveaway, for instance, a gift card redemption code. - `startdate`: the start date in RFC3339 of the code redemption period. - `enddate`: the last date in RFC3339 of the code redemption period. - `attributes`: A json object describing _custom_ giveaway attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated to the giveaway entity, set it with `\"{\"\"provider\"\": \"\"myPartnerCompany\"\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` + /// List collections in Application List campaign-level collections from all campaigns in a given Application. /// /// Thrown when fails to make API call - /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// The file with the information about the data that should be imported. (optional) - /// Import - public Import ImportPoolGiveaways (int poolId, string upFile = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// InlineResponse20017 + public InlineResponse20017 ListCollectionsInApplication (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = ImportPoolGiveawaysWithHttpInfo(poolId, upFile); + TalonOne.Client.ApiResponse localVarResponse = ListCollectionsInApplicationWithHttpInfo(applicationId, pageSize, skip, sort, withTotalResultSize, name); return localVarResponse.Data; } /// - /// Import giveaway codes into a giveaway pool Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): the code of your giveaway, for instance, a gift card redemption code. - `startdate`: the start date in RFC3339 of the code redemption period. - `enddate`: the last date in RFC3339 of the code redemption period. - `attributes`: A json object describing _custom_ giveaway attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated to the giveaway entity, set it with `\"{\"\"provider\"\": \"\"myPartnerCompany\"\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` + /// List collections in Application List campaign-level collections from all campaigns in a given Application. /// /// Thrown when fails to make API call - /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// The file with the information about the data that should be imported. (optional) - /// ApiResponse of Import - public TalonOne.Client.ApiResponse< Import > ImportPoolGiveawaysWithHttpInfo (int poolId, string upFile = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// ApiResponse of InlineResponse20017 + public TalonOne.Client.ApiResponse< InlineResponse20017 > ListCollectionsInApplicationWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -25769,11 +31168,26 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("poolId", TalonOne.Client.ClientUtils.ParameterToString(poolId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); } // authentication (management_key) required @@ -25798,17 +31212,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Post< Import >("/v1/giveaways/pools/{poolId}/import", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20017 >("/v1/applications/{applicationId}/collections", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportPoolGiveaways", localVarResponse); + Exception _exception = this.ExceptionFactory("ListCollectionsInApplication", localVarResponse); if (_exception != null) throw _exception; } @@ -25816,33 +31225,40 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import giveaway codes into a giveaway pool Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): the code of your giveaway, for instance, a gift card redemption code. - `startdate`: the start date in RFC3339 of the code redemption period. - `enddate`: the last date in RFC3339 of the code redemption period. - `attributes`: A json object describing _custom_ giveaway attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated to the giveaway entity, set it with `\"{\"\"provider\"\": \"\"myPartnerCompany\"\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` + /// List collections in Application List campaign-level collections from all campaigns in a given Application. /// /// Thrown when fails to make API call - /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// The file with the information about the data that should be imported. (optional) - /// Task of Import - public async System.Threading.Tasks.Task ImportPoolGiveawaysAsync (int poolId, string upFile = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// Task of InlineResponse20017 + public async System.Threading.Tasks.Task ListCollectionsInApplicationAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await ImportPoolGiveawaysAsyncWithHttpInfo(poolId, upFile); + TalonOne.Client.ApiResponse localVarResponse = await ListCollectionsInApplicationAsyncWithHttpInfo(applicationId, pageSize, skip, sort, withTotalResultSize, name); return localVarResponse.Data; } /// - /// Import giveaway codes into a giveaway pool Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): the code of your giveaway, for instance, a gift card redemption code. - `startdate`: the start date in RFC3339 of the code redemption period. - `enddate`: the last date in RFC3339 of the code redemption period. - `attributes`: A json object describing _custom_ giveaway attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated to the giveaway entity, set it with `\"{\"\"provider\"\": \"\"myPartnerCompany\"\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ``` + /// List collections in Application List campaign-level collections from all campaigns in a given Application. /// /// Thrown when fails to make API call - /// The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. - /// The file with the information about the data that should be imported. (optional) - /// Task of ApiResponse (Import) - public async System.Threading.Tasks.Task> ImportPoolGiveawaysAsyncWithHttpInfo (int poolId, string upFile = default(string)) + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter by collection name. (optional) + /// Task of ApiResponse (InlineResponse20017) + public async System.Threading.Tasks.Task> ListCollectionsInApplicationAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -25856,11 +31272,26 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("poolId", TalonOne.Client.ClientUtils.ParameterToString(poolId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); } // authentication (management_key) required @@ -25886,17 +31317,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/giveaways/pools/{poolId}/import", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/collections", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportPoolGiveaways", localVarResponse); + Exception _exception = this.ExceptionFactory("ListCollectionsInApplication", localVarResponse); if (_exception != null) throw _exception; } @@ -25904,33 +31330,44 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import referrals Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the referral entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` + /// List stores List all stores for a specific Application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) - /// Import - public Import ImportReferrals (int applicationId, int campaignId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by campaign. (optional) + /// The name of the store. (optional) + /// The integration ID of the store. (optional) + /// Filter results by `name` or `integrationId`. (optional) + /// InlineResponse20045 + public InlineResponse20045 ListStores (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), decimal? campaignId = default(decimal?), string name = default(string), string integrationId = default(string), string query = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = ImportReferralsWithHttpInfo(applicationId, campaignId, upFile); + TalonOne.Client.ApiResponse localVarResponse = ListStoresWithHttpInfo(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query); return localVarResponse.Data; } /// - /// Import referrals Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the referral entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` + /// List stores List all stores for a specific Application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) - /// ApiResponse of Import - public TalonOne.Client.ApiResponse< Import > ImportReferralsWithHttpInfo (int applicationId, int campaignId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by campaign. (optional) + /// The name of the store. (optional) + /// The integration ID of the store. (optional) + /// Filter results by `name` or `integrationId`. (optional) + /// ApiResponse of InlineResponse20045 + public TalonOne.Client.ApiResponse< InlineResponse20045 > ListStoresWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), decimal? campaignId = default(decimal?), string name = default(string), string integrationId = default(string), string query = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -25945,11 +31382,37 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (campaignId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); + } + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); + } + if (integrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + } + if (query != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "query", query)); } // authentication (management_key) required @@ -25974,17 +31437,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Post< Import >("/v1/applications/{applicationId}/campaigns/{campaignId}/import_referrals", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get< InlineResponse20045 >("/v1/applications/{applicationId}/stores", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportReferrals", localVarResponse); + Exception _exception = this.ExceptionFactory("ListStores", localVarResponse); if (_exception != null) throw _exception; } @@ -25992,35 +31450,46 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Import referrals Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the referral entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` + /// List stores List all stores for a specific Application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) - /// Task of Import - public async System.Threading.Tasks.Task ImportReferralsAsync (int applicationId, int campaignId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by campaign. (optional) + /// The name of the store. (optional) + /// The integration ID of the store. (optional) + /// Filter results by `name` or `integrationId`. (optional) + /// Task of InlineResponse20045 + public async System.Threading.Tasks.Task ListStoresAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), decimal? campaignId = default(decimal?), string name = default(string), string integrationId = default(string), string query = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await ImportReferralsAsyncWithHttpInfo(applicationId, campaignId, upFile); + TalonOne.Client.ApiResponse localVarResponse = await ListStoresAsyncWithHttpInfo(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query); return localVarResponse.Data; } /// - /// Import referrals Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A json object describing _custom_ referral attribute names and their values. Double the double-quotes in the object. For example, if you [created a custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated to the referral entity, set it with `\"{\"\"category\"\": \"\"10_off\"\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** We recommend limiting your file size to 500MB. **Example:** ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ``` + /// List stores List all stores for a specific Application. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The file with the information about the data that should be imported. (optional) - /// Task of ApiResponse (Import) - public async System.Threading.Tasks.Task> ImportReferralsAsyncWithHttpInfo (int applicationId, int campaignId, string upFile = default(string)) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) + /// Filter results by campaign. (optional) + /// The name of the store. (optional) + /// The integration ID of the store. (optional) + /// Filter results by `name` or `integrationId`. (optional) + /// Task of ApiResponse (InlineResponse20045) + public async System.Threading.Tasks.Task> ListStoresAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), decimal? campaignId = default(decimal?), string name = default(string), string integrationId = default(string), string query = default(string)) { TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { - "multipart/form-data" }; // to determine the Accept header @@ -26035,11 +31504,37 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - MemoryStream upFileStream = TalonOne.Client.ClientUtils.ParameterToStream(upFile); - if (upFile != null) + if (pageSize != null) { - localVarRequestOptions.FileParameters.Add("upFile", upFileStream); // file parameter + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (withTotalResultSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); + } + if (campaignId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignId", campaignId)); + } + if (name != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); + } + if (integrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "integrationId", integrationId)); + } + if (query != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "query", query)); } // authentication (management_key) required @@ -26065,17 +31560,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/import_referrals", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/stores", localVarRequestOptions, this.Configuration); - if (upFileStream != null) - { - upFileStream.Close(); - upFileStream.Dispose(); - } if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ImportReferrals", localVarResponse); + Exception _exception = this.ExceptionFactory("ListStores", localVarResponse); if (_exception != null) throw _exception; } @@ -26083,41 +31573,38 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List collections in account List collections in account. + /// Activate or deactivate notification Activate or deactivate the given notification. When `enabled` is false, updates will no longer be sent for the given notification. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// InlineResponse20015 - public InlineResponse20015 ListAccountCollections (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// The ID of the notification. Get it with the appropriate _List notifications_ endpoint. + /// body + /// + public void NotificationActivation (int notificationId, NotificationActivation body) { - TalonOne.Client.ApiResponse localVarResponse = ListAccountCollectionsWithHttpInfo(pageSize, skip, sort, withTotalResultSize, name); - return localVarResponse.Data; + NotificationActivationWithHttpInfo(notificationId, body); } /// - /// List collections in account List collections in account. + /// Activate or deactivate notification Activate or deactivate the given notification. When `enabled` is false, updates will no longer be sent for the given notification. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// ApiResponse of InlineResponse20015 - public TalonOne.Client.ApiResponse< InlineResponse20015 > ListAccountCollectionsWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// The ID of the notification. Get it with the appropriate _List notifications_ endpoint. + /// body + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse NotificationActivationWithHttpInfo (int notificationId, NotificationActivation body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->NotificationActivation"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header String[] _accepts = new String[] { - "application/json" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -26126,26 +31613,8 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } + localVarRequestOptions.PathParameters.Add("notificationId", TalonOne.Client.ClientUtils.ParameterToString(notificationId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -26169,12 +31638,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20015 >("/v1/collections", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put("/v1/notifications/{notificationId}/activation", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ListAccountCollections", localVarResponse); + Exception _exception = this.ExceptionFactory("NotificationActivation", localVarResponse); if (_exception != null) throw _exception; } @@ -26182,43 +31651,40 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List collections in account List collections in account. + /// Activate or deactivate notification Activate or deactivate the given notification. When `enabled` is false, updates will no longer be sent for the given notification. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// Task of InlineResponse20015 - public async System.Threading.Tasks.Task ListAccountCollectionsAsync (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// The ID of the notification. Get it with the appropriate _List notifications_ endpoint. + /// body + /// Task of void + public async System.Threading.Tasks.Task NotificationActivationAsync (int notificationId, NotificationActivation body) { - TalonOne.Client.ApiResponse localVarResponse = await ListAccountCollectionsAsyncWithHttpInfo(pageSize, skip, sort, withTotalResultSize, name); - return localVarResponse.Data; + await NotificationActivationAsyncWithHttpInfo(notificationId, body); } /// - /// List collections in account List collections in account. + /// Activate or deactivate notification Activate or deactivate the given notification. When `enabled` is false, updates will no longer be sent for the given notification. /// /// Thrown when fails to make API call - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// Task of ApiResponse (InlineResponse20015) - public async System.Threading.Tasks.Task> ListAccountCollectionsAsyncWithHttpInfo (int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// The ID of the notification. Get it with the appropriate _List notifications_ endpoint. + /// body + /// Task of ApiResponse + public async System.Threading.Tasks.Task> NotificationActivationAsyncWithHttpInfo (int notificationId, NotificationActivation body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->NotificationActivation"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header String[] _accepts = new String[] { - "application/json" }; foreach (var _contentType in _contentTypes) @@ -26227,26 +31693,8 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } + localVarRequestOptions.PathParameters.Add("notificationId", TalonOne.Client.ClientUtils.ParameterToString(notificationId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -26271,12 +31719,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/collections", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/notifications/{notificationId}/activation", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ListAccountCollections", localVarResponse); + Exception _exception = this.ExceptionFactory("NotificationActivation", localVarResponse); if (_exception != null) throw _exception; } @@ -26284,36 +31732,35 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List items in a catalog Return a paginated list of cart items in the given catalog. + /// Create notification about added or deducted loyalty points Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call - /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// The SKU of the item. (optional) - /// InlineResponse20032 - public InlineResponse20032 ListCatalogItems (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), string sku = default(string)) + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// body + /// BaseNotification + public BaseNotification PostAddedDeductedPointsNotification (int loyaltyProgramId, NewBaseNotification body) { - TalonOne.Client.ApiResponse localVarResponse = ListCatalogItemsWithHttpInfo(catalogId, pageSize, skip, withTotalResultSize, sku); + TalonOne.Client.ApiResponse localVarResponse = PostAddedDeductedPointsNotificationWithHttpInfo(loyaltyProgramId, body); return localVarResponse.Data; } /// - /// List items in a catalog Return a paginated list of cart items in the given catalog. + /// Create notification about added or deducted loyalty points Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// - /// Thrown when fails to make API call - /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// The SKU of the item. (optional) - /// ApiResponse of InlineResponse20032 - public TalonOne.Client.ApiResponse< InlineResponse20032 > ListCatalogItemsWithHttpInfo (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), string sku = default(string)) + /// Thrown when fails to make API call + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// body + /// ApiResponse of BaseNotification + public TalonOne.Client.ApiResponse< BaseNotification > PostAddedDeductedPointsNotificationWithHttpInfo (int loyaltyProgramId, NewBaseNotification body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostAddedDeductedPointsNotification"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -26327,23 +31774,8 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("catalogId", TalonOne.Client.ClientUtils.ParameterToString(catalogId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } - if (sku != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sku", sku)); - } + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -26367,12 +31799,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20032 >("/v1/catalogs/{catalogId}/items", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< BaseNotification >("/v1/loyalty_programs/{loyaltyProgramId}/notifications/added_deducted_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ListCatalogItems", localVarResponse); + Exception _exception = this.ExceptionFactory("PostAddedDeductedPointsNotification", localVarResponse); if (_exception != null) throw _exception; } @@ -26380,38 +31812,37 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List items in a catalog Return a paginated list of cart items in the given catalog. + /// Create notification about added or deducted loyalty points Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call - /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// The SKU of the item. (optional) - /// Task of InlineResponse20032 - public async System.Threading.Tasks.Task ListCatalogItemsAsync (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), string sku = default(string)) + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// body + /// Task of BaseNotification + public async System.Threading.Tasks.Task PostAddedDeductedPointsNotificationAsync (int loyaltyProgramId, NewBaseNotification body) { - TalonOne.Client.ApiResponse localVarResponse = await ListCatalogItemsAsyncWithHttpInfo(catalogId, pageSize, skip, withTotalResultSize, sku); + TalonOne.Client.ApiResponse localVarResponse = await PostAddedDeductedPointsNotificationAsyncWithHttpInfo(loyaltyProgramId, body); return localVarResponse.Data; } /// - /// List items in a catalog Return a paginated list of cart items in the given catalog. + /// Create notification about added or deducted loyalty points Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call - /// The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// The SKU of the item. (optional) - /// Task of ApiResponse (InlineResponse20032) - public async System.Threading.Tasks.Task> ListCatalogItemsAsyncWithHttpInfo (int catalogId, int? pageSize = default(int?), int? skip = default(int?), bool? withTotalResultSize = default(bool?), string sku = default(string)) + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// body + /// Task of ApiResponse (BaseNotification) + public async System.Threading.Tasks.Task> PostAddedDeductedPointsNotificationAsyncWithHttpInfo (int loyaltyProgramId, NewBaseNotification body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostAddedDeductedPointsNotification"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -26425,23 +31856,8 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("catalogId", TalonOne.Client.ClientUtils.ParameterToString(catalogId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } - if (sku != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sku", sku)); - } + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -26466,12 +31882,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/catalogs/{catalogId}/items", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/loyalty_programs/{loyaltyProgramId}/notifications/added_deducted_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ListCatalogItems", localVarResponse); + Exception _exception = this.ExceptionFactory("PostAddedDeductedPointsNotification", localVarResponse); if (_exception != null) throw _exception; } @@ -26479,40 +31895,35 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List collections List collections in the campaign. + /// Create strikethrough notification Create a notification for the in the given Application. For more information, see [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). See the [payload](https://docs.talon.one/outbound-notifications) you will receive. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// InlineResponse20017 - public InlineResponse20017 ListCollections (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// body + /// BaseNotification + public BaseNotification PostCatalogsStrikethroughNotification (int applicationId, NewBaseNotification body) { - TalonOne.Client.ApiResponse localVarResponse = ListCollectionsWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, withTotalResultSize, name); + TalonOne.Client.ApiResponse localVarResponse = PostCatalogsStrikethroughNotificationWithHttpInfo(applicationId, body); return localVarResponse.Data; } /// - /// List collections List collections in the campaign. + /// Create strikethrough notification Create a notification for the in the given Application. For more information, see [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). See the [payload](https://docs.talon.one/outbound-notifications) you will receive. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// ApiResponse of InlineResponse20017 - public TalonOne.Client.ApiResponse< InlineResponse20017 > ListCollectionsWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// body + /// ApiResponse of BaseNotification + public TalonOne.Client.ApiResponse< BaseNotification > PostCatalogsStrikethroughNotificationWithHttpInfo (int applicationId, NewBaseNotification body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostCatalogsStrikethroughNotification"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -26527,27 +31938,7 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -26571,12 +31962,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20017 >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< BaseNotification >("/v1/applications/{applicationId}/catalogs/notifications/strikethrough", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ListCollections", localVarResponse); + Exception _exception = this.ExceptionFactory("PostCatalogsStrikethroughNotification", localVarResponse); if (_exception != null) throw _exception; } @@ -26584,42 +31975,37 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List collections List collections in the campaign. + /// Create strikethrough notification Create a notification for the in the given Application. For more information, see [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). See the [payload](https://docs.talon.one/outbound-notifications) you will receive. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// Task of InlineResponse20017 - public async System.Threading.Tasks.Task ListCollectionsAsync (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// body + /// Task of BaseNotification + public async System.Threading.Tasks.Task PostCatalogsStrikethroughNotificationAsync (int applicationId, NewBaseNotification body) { - TalonOne.Client.ApiResponse localVarResponse = await ListCollectionsAsyncWithHttpInfo(applicationId, campaignId, pageSize, skip, sort, withTotalResultSize, name); + TalonOne.Client.ApiResponse localVarResponse = await PostCatalogsStrikethroughNotificationAsyncWithHttpInfo(applicationId, body); return localVarResponse.Data; } /// - /// List collections List collections in the campaign. + /// Create strikethrough notification Create a notification for the in the given Application. For more information, see [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). See the [payload](https://docs.talon.one/outbound-notifications) you will receive. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// Task of ApiResponse (InlineResponse20017) - public async System.Threading.Tasks.Task> ListCollectionsAsyncWithHttpInfo (int applicationId, int campaignId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// body + /// Task of ApiResponse (BaseNotification) + public async System.Threading.Tasks.Task> PostCatalogsStrikethroughNotificationAsyncWithHttpInfo (int applicationId, NewBaseNotification body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostCatalogsStrikethroughNotification"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -26634,27 +32020,7 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -26679,12 +32045,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/catalogs/notifications/strikethrough", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ListCollections", localVarResponse); + Exception _exception = this.ExceptionFactory("PostCatalogsStrikethroughNotification", localVarResponse); if (_exception != null) throw _exception; } @@ -26692,38 +32058,35 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List collections in application List collections from all campaigns in the Application. + /// Create notification about pending loyalty points Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// InlineResponse20017 - public InlineResponse20017 ListCollectionsInApplication (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// body + /// BaseNotification + public BaseNotification PostPendingPointsNotification (int loyaltyProgramId, NewBaseNotification body) { - TalonOne.Client.ApiResponse localVarResponse = ListCollectionsInApplicationWithHttpInfo(applicationId, pageSize, skip, sort, withTotalResultSize, name); + TalonOne.Client.ApiResponse localVarResponse = PostPendingPointsNotificationWithHttpInfo(loyaltyProgramId, body); return localVarResponse.Data; } /// - /// List collections in application List collections from all campaigns in the Application. + /// Create notification about pending loyalty points Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// ApiResponse of InlineResponse20017 - public TalonOne.Client.ApiResponse< InlineResponse20017 > ListCollectionsInApplicationWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// body + /// ApiResponse of BaseNotification + public TalonOne.Client.ApiResponse< BaseNotification > PostPendingPointsNotificationWithHttpInfo (int loyaltyProgramId, NewBaseNotification body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostPendingPointsNotification"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -26737,27 +32100,8 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -26781,12 +32125,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } // make the HTTP request - var localVarResponse = this.Client.Get< InlineResponse20017 >("/v1/applications/{applicationId}/collections", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< BaseNotification >("/v1/loyalty_programs/{loyaltyProgramId}/notifications/pending_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ListCollectionsInApplication", localVarResponse); + Exception _exception = this.ExceptionFactory("PostPendingPointsNotification", localVarResponse); if (_exception != null) throw _exception; } @@ -26794,40 +32138,37 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// List collections in application List collections from all campaigns in the Application. + /// Create notification about pending loyalty points Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// Task of InlineResponse20017 - public async System.Threading.Tasks.Task ListCollectionsInApplicationAsync (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// body + /// Task of BaseNotification + public async System.Threading.Tasks.Task PostPendingPointsNotificationAsync (int loyaltyProgramId, NewBaseNotification body) { - TalonOne.Client.ApiResponse localVarResponse = await ListCollectionsInApplicationAsyncWithHttpInfo(applicationId, pageSize, skip, sort, withTotalResultSize, name); + TalonOne.Client.ApiResponse localVarResponse = await PostPendingPointsNotificationAsyncWithHttpInfo(loyaltyProgramId, body); return localVarResponse.Data; } /// - /// List collections in application List collections from all campaigns in the Application. + /// Create notification about pending loyalty points Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-notifications). /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional) - /// Filter by the name of the Collection. (optional) - /// Task of ApiResponse (InlineResponse20017) - public async System.Threading.Tasks.Task> ListCollectionsInApplicationAsyncWithHttpInfo (int applicationId, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), bool? withTotalResultSize = default(bool?), string name = default(string)) + /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// body + /// Task of ApiResponse (BaseNotification) + public async System.Threading.Tasks.Task> PostPendingPointsNotificationAsyncWithHttpInfo (int loyaltyProgramId, NewBaseNotification body) { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostPendingPointsNotification"); + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); String[] _contentTypes = new String[] { + "application/json" }; // to determine the Accept header @@ -26841,27 +32182,8 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (withTotalResultSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "withTotalResultSize", withTotalResultSize)); - } - if (name != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "name", name)); - } + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.Data = body; // authentication (management_key) required if ( @@ -26886,12 +32208,12 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/v1/applications/{applicationId}/collections", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/loyalty_programs/{loyaltyProgramId}/notifications/pending_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ListCollectionsInApplication", localVarResponse); + Exception _exception = this.ExceptionFactory("PostPendingPointsNotification", localVarResponse); if (_exception != null) throw _exception; } @@ -26899,30 +32221,39 @@ public async System.Threading.Tasks.Task GetWebhookAsync (int webhookId } /// - /// Create notification about added or deducted loyalty points Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Deduct points from customer profile Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The identifier for the loyalty program. + /// The identifier of the profile. /// body - /// BaseNotification - public BaseNotification PostAddedDeductedPointsNotification (int loyaltyProgramId, NewBaseNotification body) + /// + public void RemoveLoyaltyPoints (string loyaltyProgramId, string integrationId, DeductLoyaltyPoints body) { - TalonOne.Client.ApiResponse localVarResponse = PostAddedDeductedPointsNotificationWithHttpInfo(loyaltyProgramId, body); - return localVarResponse.Data; + RemoveLoyaltyPointsWithHttpInfo(loyaltyProgramId, integrationId, body); } /// - /// Create notification about added or deducted loyalty points Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Deduct points from customer profile Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The identifier for the loyalty program. + /// The identifier of the profile. /// body - /// ApiResponse of BaseNotification - public TalonOne.Client.ApiResponse< BaseNotification > PostAddedDeductedPointsNotificationWithHttpInfo (int loyaltyProgramId, NewBaseNotification body) + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse RemoveLoyaltyPointsWithHttpInfo (string loyaltyProgramId, string integrationId, DeductLoyaltyPoints body) { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->RemoveLoyaltyPoints"); + + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->RemoveLoyaltyPoints"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostAddedDeductedPointsNotification"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->RemoveLoyaltyPoints"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -26942,6 +32273,7 @@ public TalonOne.Client.ApiResponse< BaseNotification > PostAddedDeductedPointsNo if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -26966,12 +32298,12 @@ public TalonOne.Client.ApiResponse< BaseNotification > PostAddedDeductedPointsNo } // make the HTTP request - var localVarResponse = this.Client.Post< BaseNotification >("/v1/loyalty_programs/{loyaltyProgramId}/notifications/added_deducted_points", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("PostAddedDeductedPointsNotification", localVarResponse); + Exception _exception = this.ExceptionFactory("RemoveLoyaltyPoints", localVarResponse); if (_exception != null) throw _exception; } @@ -26979,31 +32311,40 @@ public TalonOne.Client.ApiResponse< BaseNotification > PostAddedDeductedPointsNo } /// - /// Create notification about added or deducted loyalty points Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Deduct points from customer profile Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The identifier for the loyalty program. + /// The identifier of the profile. /// body - /// Task of BaseNotification - public async System.Threading.Tasks.Task PostAddedDeductedPointsNotificationAsync (int loyaltyProgramId, NewBaseNotification body) + /// Task of void + public async System.Threading.Tasks.Task RemoveLoyaltyPointsAsync (string loyaltyProgramId, string integrationId, DeductLoyaltyPoints body) { - TalonOne.Client.ApiResponse localVarResponse = await PostAddedDeductedPointsNotificationAsyncWithHttpInfo(loyaltyProgramId, body); - return localVarResponse.Data; + await RemoveLoyaltyPointsAsyncWithHttpInfo(loyaltyProgramId, integrationId, body); } /// - /// Create notification about added or deducted loyalty points Create a notification about added or deducted loyalty points in a given profile-based loyalty program. A notification for added or deducted loyalty points is different from regular webhooks in that it is loyalty program-scoped and has a predefined payload. For more information, see [Managing notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// Deduct points from customer profile Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. /// /// Thrown when fails to make API call - /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The identifier for the loyalty program. + /// The identifier of the profile. /// body - /// Task of ApiResponse (BaseNotification) - public async System.Threading.Tasks.Task> PostAddedDeductedPointsNotificationAsyncWithHttpInfo (int loyaltyProgramId, NewBaseNotification body) + /// Task of ApiResponse + public async System.Threading.Tasks.Task> RemoveLoyaltyPointsAsyncWithHttpInfo (string loyaltyProgramId, string integrationId, DeductLoyaltyPoints body) { + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->RemoveLoyaltyPoints"); + + // verify the required parameter 'integrationId' is set + if (integrationId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->RemoveLoyaltyPoints"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostAddedDeductedPointsNotification"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->RemoveLoyaltyPoints"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -27024,6 +32365,7 @@ public async System.Threading.Tasks.Task PostAddedDeductedPoin localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -27049,12 +32391,12 @@ public async System.Threading.Tasks.Task PostAddedDeductedPoin // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/loyalty_programs/{loyaltyProgramId}/notifications/added_deducted_points", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("PostAddedDeductedPointsNotification", localVarResponse); + Exception _exception = this.ExceptionFactory("RemoveLoyaltyPoints", localVarResponse); if (_exception != null) throw _exception; } @@ -27062,30 +32404,28 @@ public async System.Threading.Tasks.Task PostAddedDeductedPoin } /// - /// Create strikethrough notification Create a notification for the in the given Application. For more information, see [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). See the [payload](https://docs.talon.one/outbound-notifications) you will receive. + /// Reset password Consumes the supplied password reset token and updates the password for the associated account. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// BaseNotification - public BaseNotification PostCatalogsStrikethroughNotification (int applicationId, NewBaseNotification body) + /// NewPassword + public NewPassword ResetPassword (NewPassword body) { - TalonOne.Client.ApiResponse localVarResponse = PostCatalogsStrikethroughNotificationWithHttpInfo(applicationId, body); + TalonOne.Client.ApiResponse localVarResponse = ResetPasswordWithHttpInfo(body); return localVarResponse.Data; } /// - /// Create strikethrough notification Create a notification for the in the given Application. For more information, see [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). See the [payload](https://docs.talon.one/outbound-notifications) you will receive. + /// Reset password Consumes the supplied password reset token and updates the password for the associated account. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of BaseNotification - public TalonOne.Client.ApiResponse< BaseNotification > PostCatalogsStrikethroughNotificationWithHttpInfo (int applicationId, NewBaseNotification body) + /// ApiResponse of NewPassword + public TalonOne.Client.ApiResponse< NewPassword > ResetPasswordWithHttpInfo (NewPassword body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostCatalogsStrikethroughNotification"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->ResetPassword"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -27104,7 +32444,6 @@ public TalonOne.Client.ApiResponse< BaseNotification > PostCatalogsStrikethrough var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -27129,12 +32468,12 @@ public TalonOne.Client.ApiResponse< BaseNotification > PostCatalogsStrikethrough } // make the HTTP request - var localVarResponse = this.Client.Post< BaseNotification >("/v1/catalogs/{applicationId}/notifications/strikethrough", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< NewPassword >("/v1/reset_password", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("PostCatalogsStrikethroughNotification", localVarResponse); + Exception _exception = this.ExceptionFactory("ResetPassword", localVarResponse); if (_exception != null) throw _exception; } @@ -27142,31 +32481,29 @@ public TalonOne.Client.ApiResponse< BaseNotification > PostCatalogsStrikethrough } /// - /// Create strikethrough notification Create a notification for the in the given Application. For more information, see [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). See the [payload](https://docs.talon.one/outbound-notifications) you will receive. + /// Reset password Consumes the supplied password reset token and updates the password for the associated account. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// Task of BaseNotification - public async System.Threading.Tasks.Task PostCatalogsStrikethroughNotificationAsync (int applicationId, NewBaseNotification body) + /// Task of NewPassword + public async System.Threading.Tasks.Task ResetPasswordAsync (NewPassword body) { - TalonOne.Client.ApiResponse localVarResponse = await PostCatalogsStrikethroughNotificationAsyncWithHttpInfo(applicationId, body); + TalonOne.Client.ApiResponse localVarResponse = await ResetPasswordAsyncWithHttpInfo(body); return localVarResponse.Data; } /// - /// Create strikethrough notification Create a notification for the in the given Application. For more information, see [Managing notifications](https://docs.talon.one/docs/product/applications/outbound-notifications). See the [payload](https://docs.talon.one/outbound-notifications) you will receive. + /// Reset password Consumes the supplied password reset token and updates the password for the associated account. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (BaseNotification) - public async System.Threading.Tasks.Task> PostCatalogsStrikethroughNotificationAsyncWithHttpInfo (int applicationId, NewBaseNotification body) + /// Task of ApiResponse (NewPassword) + public async System.Threading.Tasks.Task> ResetPasswordAsyncWithHttpInfo (NewPassword body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostCatalogsStrikethroughNotification"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->ResetPassword"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -27186,7 +32523,6 @@ public async System.Threading.Tasks.Task PostCatalogsStrikethr foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -27212,62 +32548,140 @@ public async System.Threading.Tasks.Task PostCatalogsStrikethr // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/catalogs/{applicationId}/notifications/strikethrough", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/reset_password", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("PostCatalogsStrikethroughNotification", localVarResponse); - if (_exception != null) throw _exception; + Exception _exception = this.ExceptionFactory("ResetPassword", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// List coupons that match the given attributes (without total count) List the coupons whose attributes match the query criteria in all the campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// body + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// InlineResponse2009 + public InlineResponse2009 SearchCouponsAdvancedApplicationWideWithoutTotalCount (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)) + { + TalonOne.Client.ApiResponse localVarResponse = SearchCouponsAdvancedApplicationWideWithoutTotalCountWithHttpInfo(applicationId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, campaignState); + return localVarResponse.Data; + } + + /// + /// List coupons that match the given attributes (without total count) List the coupons whose attributes match the query criteria in all the campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// + /// Thrown when fails to make API call + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// body + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// ApiResponse of InlineResponse2009 + public TalonOne.Client.ApiResponse< InlineResponse2009 > SearchCouponsAdvancedApplicationWideWithoutTotalCountWithHttpInfo (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)) + { + // verify the required parameter 'body' is set + if (body == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->SearchCouponsAdvancedApplicationWideWithoutTotalCount"); + + TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); + + String[] _contentTypes = new String[] { + "application/json" + }; + + // to determine the Accept header + String[] _accepts = new String[] { + "application/json" + }; + + var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (value != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (valid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (referralId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); + } + if (recipientIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } + if (exactMatch != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); + } + if (campaignState != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); } - - return localVarResponse; - } - - /// - /// Create notification about pending loyalty points Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). - /// - /// Thrown when fails to make API call - /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// body - /// BaseNotification - public BaseNotification PostPendingPointsNotification (int loyaltyProgramId, NewBaseNotification body) - { - TalonOne.Client.ApiResponse localVarResponse = PostPendingPointsNotificationWithHttpInfo(loyaltyProgramId, body); - return localVarResponse.Data; - } - - /// - /// Create notification about pending loyalty points Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). - /// - /// Thrown when fails to make API call - /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// body - /// ApiResponse of BaseNotification - public TalonOne.Client.ApiResponse< BaseNotification > PostPendingPointsNotificationWithHttpInfo (int loyaltyProgramId, NewBaseNotification body) - { - // verify the required parameter 'body' is set - if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostPendingPointsNotification"); - - TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); - - String[] _contentTypes = new String[] { - "application/json" - }; - - // to determine the Accept header - String[] _accepts = new String[] { - "application/json" - }; - - var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); - if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); - - var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); - if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -27292,12 +32706,12 @@ public TalonOne.Client.ApiResponse< BaseNotification > PostPendingPointsNotifica } // make the HTTP request - var localVarResponse = this.Client.Post< BaseNotification >("/v1/loyalty_programs/{loyaltyProgramId}/notifications/pending_points", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< InlineResponse2009 >("/v1/applications/{applicationId}/coupons_search_advanced/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("PostPendingPointsNotification", localVarResponse); + Exception _exception = this.ExceptionFactory("SearchCouponsAdvancedApplicationWideWithoutTotalCount", localVarResponse); if (_exception != null) throw _exception; } @@ -27305,31 +32719,57 @@ public TalonOne.Client.ApiResponse< BaseNotification > PostPendingPointsNotifica } /// - /// Create notification about pending loyalty points Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// List coupons that match the given attributes (without total count) List the coupons whose attributes match the query criteria in all the campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. /// /// Thrown when fails to make API call - /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// Task of BaseNotification - public async System.Threading.Tasks.Task PostPendingPointsNotificationAsync (int loyaltyProgramId, NewBaseNotification body) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Task of InlineResponse2009 + public async System.Threading.Tasks.Task SearchCouponsAdvancedApplicationWideWithoutTotalCountAsync (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)) { - TalonOne.Client.ApiResponse localVarResponse = await PostPendingPointsNotificationAsyncWithHttpInfo(loyaltyProgramId, body); + TalonOne.Client.ApiResponse localVarResponse = await SearchCouponsAdvancedApplicationWideWithoutTotalCountAsyncWithHttpInfo(applicationId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, campaignState); return localVarResponse.Data; } /// - /// Create notification about pending loyalty points Create a notification about pending loyalty points for a given profile-based loyalty program. For more information, see [Managing loyalty notifications](https://docs.talon.one/docs/product/loyalty-programs/managing-notifications). + /// List coupons that match the given attributes (without total count) List the coupons whose attributes match the query criteria in all the campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. /// /// Thrown when fails to make API call - /// Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (BaseNotification) - public async System.Threading.Tasks.Task> PostPendingPointsNotificationAsyncWithHttpInfo (int loyaltyProgramId, NewBaseNotification body) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results by batches of coupons (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) + /// Task of ApiResponse (InlineResponse2009) + public async System.Threading.Tasks.Task> SearchCouponsAdvancedApplicationWideWithoutTotalCountAsyncWithHttpInfo (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->PostPendingPointsNotification"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->SearchCouponsAdvancedApplicationWideWithoutTotalCount"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -27349,7 +32789,59 @@ public async System.Threading.Tasks.Task PostPendingPointsNoti foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (value != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (valid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (referralId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); + } + if (recipientIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } + if (exactMatch != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); + } + if (campaignState != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); + } localVarRequestOptions.Data = body; // authentication (management_key) required @@ -27375,12 +32867,12 @@ public async System.Threading.Tasks.Task PostPendingPointsNoti // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/loyalty_programs/{loyaltyProgramId}/notifications/pending_points", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/coupons_search_advanced/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("PostPendingPointsNotification", localVarResponse); + Exception _exception = this.ExceptionFactory("SearchCouponsAdvancedApplicationWideWithoutTotalCount", localVarResponse); if (_exception != null) throw _exception; } @@ -27388,39 +32880,56 @@ public async System.Threading.Tasks.Task PostPendingPointsNoti } /// - /// Deduct points from customer profile Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + /// List coupons that match the given attributes in campaign (without total count) List the coupons whose attributes match the query criteria in the given campaign. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// - public void RemoveLoyaltyPoints (string loyaltyProgramId, string integrationId, DeductLoyaltyPoints body) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results by batches of coupons (optional) + /// InlineResponse2009 + public InlineResponse2009 SearchCouponsAdvancedWithoutTotalCount (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)) { - RemoveLoyaltyPointsWithHttpInfo(loyaltyProgramId, integrationId, body); + TalonOne.Client.ApiResponse localVarResponse = SearchCouponsAdvancedWithoutTotalCountWithHttpInfo(applicationId, campaignId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, exactMatch, batchId); + return localVarResponse.Data; } /// - /// Deduct points from customer profile Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + /// List coupons that match the given attributes in campaign (without total count) List the coupons whose attributes match the query criteria in the given campaign. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse RemoveLoyaltyPointsWithHttpInfo (string loyaltyProgramId, string integrationId, DeductLoyaltyPoints body) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results by batches of coupons (optional) + /// ApiResponse of InlineResponse2009 + public TalonOne.Client.ApiResponse< InlineResponse2009 > SearchCouponsAdvancedWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->RemoveLoyaltyPoints"); - - // verify the required parameter 'integrationId' is set - if (integrationId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->RemoveLoyaltyPoints"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->RemoveLoyaltyPoints"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->SearchCouponsAdvancedWithoutTotalCount"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -27439,8 +32948,56 @@ public TalonOne.Client.ApiResponse RemoveLoyaltyPointsWithHttpInfo (stri var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (value != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (valid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (referralId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); + } + if (recipientIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + } + if (exactMatch != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } localVarRequestOptions.Data = body; // authentication (management_key) required @@ -27465,12 +33022,12 @@ public TalonOne.Client.ApiResponse RemoveLoyaltyPointsWithHttpInfo (stri } // make the HTTP request - var localVarResponse = this.Client.Put("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Post< InlineResponse2009 >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_search_advanced/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("RemoveLoyaltyPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("SearchCouponsAdvancedWithoutTotalCount", localVarResponse); if (_exception != null) throw _exception; } @@ -27478,40 +33035,57 @@ public TalonOne.Client.ApiResponse RemoveLoyaltyPointsWithHttpInfo (stri } /// - /// Deduct points from customer profile Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + /// List coupons that match the given attributes in campaign (without total count) List the coupons whose attributes match the query criteria in the given campaign. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of void - public async System.Threading.Tasks.Task RemoveLoyaltyPointsAsync (string loyaltyProgramId, string integrationId, DeductLoyaltyPoints body) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results by batches of coupons (optional) + /// Task of InlineResponse2009 + public async System.Threading.Tasks.Task SearchCouponsAdvancedWithoutTotalCountAsync (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)) { - await RemoveLoyaltyPointsAsyncWithHttpInfo(loyaltyProgramId, integrationId, body); + TalonOne.Client.ApiResponse localVarResponse = await SearchCouponsAdvancedWithoutTotalCountAsyncWithHttpInfo(applicationId, campaignId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, exactMatch, batchId); + return localVarResponse.Data; } /// - /// Deduct points from customer profile Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + /// List coupons that match the given attributes in campaign (without total count) List the coupons whose attributes match the query criteria in the given campaign. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. /// /// Thrown when fails to make API call - /// The identifier for the loyalty program. - /// The identifier of the profile. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse - public async System.Threading.Tasks.Task> RemoveLoyaltyPointsAsyncWithHttpInfo (string loyaltyProgramId, string integrationId, DeductLoyaltyPoints body) + /// The number of items in the response. (optional, default to 1000) + /// The number of items to skip when paging through large result sets. (optional) + /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) + /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional) + /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) + /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) + /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) + /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) + /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) + /// Filter results by batches of coupons (optional) + /// Task of ApiResponse (InlineResponse2009) + public async System.Threading.Tasks.Task> SearchCouponsAdvancedWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)) { - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyProgramId' when calling ManagementApi->RemoveLoyaltyPoints"); - - // verify the required parameter 'integrationId' is set - if (integrationId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'integrationId' when calling ManagementApi->RemoveLoyaltyPoints"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->RemoveLoyaltyPoints"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->SearchCouponsAdvancedWithoutTotalCount"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -27531,8 +33105,56 @@ public async System.Threading.Tasks.Task RemoveLoyaltyPointsAsync (string loyalt foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("integrationId", TalonOne.Client.ClientUtils.ParameterToString(integrationId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); + } + if (skip != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); + } + if (sort != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); + } + if (value != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); + } + if (createdBefore != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); + } + if (createdAfter != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); + } + if (valid != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); + } + if (usable != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); + } + if (referralId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); + } + if (recipientIntegrationId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); + } + if (exactMatch != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); + } + if (batchId != null) + { + localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); + } localVarRequestOptions.Data = body; // authentication (management_key) required @@ -27558,12 +33180,12 @@ public async System.Threading.Tasks.Task RemoveLoyaltyPointsAsync (string loyalt // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_search_advanced/no_total", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("RemoveLoyaltyPoints", localVarResponse); + Exception _exception = this.ExceptionFactory("SearchCouponsAdvancedWithoutTotalCount", localVarResponse); if (_exception != null) throw _exception; } @@ -27571,28 +33193,35 @@ public async System.Threading.Tasks.Task RemoveLoyaltyPointsAsync (string loyalt } /// - /// Reset password Consumes the supplied password reset token and updates the password for the associated account. + /// Transfer card data Transfer loyalty card data, such as linked customers, loyalty balances and transactions, from a given loyalty card to a new, automatically created loyalty card. **Important:** - The original card is automatically blocked once the new card is created, and it cannot be activated again. - The default status of the new card is _active_. /// /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// NewPassword - public NewPassword ResetPassword (NewPassword body) + /// + public void TransferLoyaltyCard (int loyaltyProgramId, string loyaltyCardId, TransferLoyaltyCard body) { - TalonOne.Client.ApiResponse localVarResponse = ResetPasswordWithHttpInfo(body); - return localVarResponse.Data; + TransferLoyaltyCardWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); } /// - /// Reset password Consumes the supplied password reset token and updates the password for the associated account. + /// Transfer card data Transfer loyalty card data, such as linked customers, loyalty balances and transactions, from a given loyalty card to a new, automatically created loyalty card. **Important:** - The original card is automatically blocked once the new card is created, and it cannot be activated again. - The default status of the new card is _active_. /// /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// ApiResponse of NewPassword - public TalonOne.Client.ApiResponse< NewPassword > ResetPasswordWithHttpInfo (NewPassword body) + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse TransferLoyaltyCardWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, TransferLoyaltyCard body) { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->TransferLoyaltyCard"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->ResetPassword"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->TransferLoyaltyCard"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -27611,6 +33240,8 @@ public TalonOne.Client.ApiResponse< NewPassword > ResetPasswordWithHttpInfo (New var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -27635,12 +33266,12 @@ public TalonOne.Client.ApiResponse< NewPassword > ResetPasswordWithHttpInfo (New } // make the HTTP request - var localVarResponse = this.Client.Post< NewPassword >("/v1/reset_password", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transfer", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ResetPassword", localVarResponse); + Exception _exception = this.ExceptionFactory("TransferLoyaltyCard", localVarResponse); if (_exception != null) throw _exception; } @@ -27648,29 +33279,36 @@ public TalonOne.Client.ApiResponse< NewPassword > ResetPasswordWithHttpInfo (New } /// - /// Reset password Consumes the supplied password reset token and updates the password for the associated account. + /// Transfer card data Transfer loyalty card data, such as linked customers, loyalty balances and transactions, from a given loyalty card to a new, automatically created loyalty card. **Important:** - The original card is automatically blocked once the new card is created, and it cannot be activated again. - The default status of the new card is _active_. /// /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// Task of NewPassword - public async System.Threading.Tasks.Task ResetPasswordAsync (NewPassword body) + /// Task of void + public async System.Threading.Tasks.Task TransferLoyaltyCardAsync (int loyaltyProgramId, string loyaltyCardId, TransferLoyaltyCard body) { - TalonOne.Client.ApiResponse localVarResponse = await ResetPasswordAsyncWithHttpInfo(body); - return localVarResponse.Data; + await TransferLoyaltyCardAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); } /// - /// Reset password Consumes the supplied password reset token and updates the password for the associated account. + /// Transfer card data Transfer loyalty card data, such as linked customers, loyalty balances and transactions, from a given loyalty card to a new, automatically created loyalty card. **Important:** - The original card is automatically blocked once the new card is created, and it cannot be activated again. - The default status of the new card is _active_. /// /// Thrown when fails to make API call + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// Task of ApiResponse (NewPassword) - public async System.Threading.Tasks.Task> ResetPasswordAsyncWithHttpInfo (NewPassword body) + /// Task of ApiResponse + public async System.Threading.Tasks.Task> TransferLoyaltyCardAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, TransferLoyaltyCard body) { + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->TransferLoyaltyCard"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->ResetPassword"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->TransferLoyaltyCard"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -27690,6 +33328,8 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -27715,12 +33355,12 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/reset_password", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transfer", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("ResetPassword", localVarResponse); + Exception _exception = this.ExceptionFactory("TransferLoyaltyCard", localVarResponse); if (_exception != null) throw _exception; } @@ -27728,56 +33368,30 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas } /// - /// List coupons that match the given attributes (without total count) List the coupons whose attributes match the query criteria in all **active** campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// Update account-level collection Edit the description of a given account-level collection and enable or disable the collection in the specified Applications. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// body - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// InlineResponse2008 - public InlineResponse2008 SearchCouponsAdvancedApplicationWideWithoutTotalCount (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)) + /// Collection + public Collection UpdateAccountCollection (int collectionId, UpdateCollection body) { - TalonOne.Client.ApiResponse localVarResponse = SearchCouponsAdvancedApplicationWideWithoutTotalCountWithHttpInfo(applicationId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, campaignState); + TalonOne.Client.ApiResponse localVarResponse = UpdateAccountCollectionWithHttpInfo(collectionId, body); return localVarResponse.Data; } /// - /// List coupons that match the given attributes (without total count) List the coupons whose attributes match the query criteria in all **active** campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// Update account-level collection Edit the description of a given account-level collection and enable or disable the collection in the specified Applications. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// body - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// ApiResponse of InlineResponse2008 - public TalonOne.Client.ApiResponse< InlineResponse2008 > SearchCouponsAdvancedApplicationWideWithoutTotalCountWithHttpInfo (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)) + /// ApiResponse of Collection + public TalonOne.Client.ApiResponse< Collection > UpdateAccountCollectionWithHttpInfo (int collectionId, UpdateCollection body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->SearchCouponsAdvancedApplicationWideWithoutTotalCount"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAccountCollection"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -27796,59 +33410,7 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (value != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (referralId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); - } - if (recipientIntegrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); - } - if (batchId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); - } - if (exactMatch != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); - } - if (campaignState != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); - } + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -27873,12 +33435,12 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas } // make the HTTP request - var localVarResponse = this.Client.Post< InlineResponse2008 >("/v1/applications/{applicationId}/coupons_search_advanced/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< Collection >("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("SearchCouponsAdvancedApplicationWideWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateAccountCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -27886,57 +33448,31 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas } /// - /// List coupons that match the given attributes (without total count) List the coupons whose attributes match the query criteria in all **active** campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// Update account-level collection Edit the description of a given account-level collection and enable or disable the collection in the specified Applications. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// body - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Task of InlineResponse2008 - public async System.Threading.Tasks.Task SearchCouponsAdvancedApplicationWideWithoutTotalCountAsync (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)) + /// Task of Collection + public async System.Threading.Tasks.Task UpdateAccountCollectionAsync (int collectionId, UpdateCollection body) { - TalonOne.Client.ApiResponse localVarResponse = await SearchCouponsAdvancedApplicationWideWithoutTotalCountAsyncWithHttpInfo(applicationId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, batchId, exactMatch, campaignState); + TalonOne.Client.ApiResponse localVarResponse = await UpdateAccountCollectionAsyncWithHttpInfo(collectionId, body); return localVarResponse.Data; } /// - /// List coupons that match the given attributes (without total count) List the coupons whose attributes match the query criteria in all **active** campaigns of the given Application. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// Update account-level collection Edit the description of a given account-level collection and enable or disable the collection in the specified Applications. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. /// body - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results by batches of coupons (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Filter results by the state of the campaign. - `enabled`: Campaigns that are scheduled, running (activated), or expired. - `running`: Campaigns that are running (activated). - `disabled`: Campaigns that are disabled. - `expired`: Campaigns that are expired. - `archived`: Campaigns that are archived. - `draft`: Campaigns that are drafts. (optional) - /// Task of ApiResponse (InlineResponse2008) - public async System.Threading.Tasks.Task> SearchCouponsAdvancedApplicationWideWithoutTotalCountAsyncWithHttpInfo (int applicationId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), string batchId = default(string), bool? exactMatch = default(bool?), string campaignState = default(string)) + /// Task of ApiResponse (Collection) + public async System.Threading.Tasks.Task> UpdateAccountCollectionAsyncWithHttpInfo (int collectionId, UpdateCollection body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->SearchCouponsAdvancedApplicationWideWithoutTotalCount"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAccountCollection"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -27956,59 +33492,7 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (value != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (referralId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); - } - if (recipientIntegrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); - } - if (batchId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); - } - if (exactMatch != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); - } - if (campaignState != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "campaignState", campaignState)); - } + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -28034,12 +33518,12 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/coupons_search_advanced/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("SearchCouponsAdvancedApplicationWideWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateAccountCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -28047,56 +33531,34 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas } /// - /// List coupons that match the given attributes in campaign (without total count) List the coupons whose attributes match the query criteria in the given campaign. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// Update achievement Update the details of a specific achievement. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// body - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Filter results by batches of coupons (optional) - /// InlineResponse2008 - public InlineResponse2008 SearchCouponsAdvancedWithoutTotalCount (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)) + /// Achievement + public Achievement UpdateAchievement (int applicationId, int campaignId, int achievementId, UpdateAchievement body) { - TalonOne.Client.ApiResponse localVarResponse = SearchCouponsAdvancedWithoutTotalCountWithHttpInfo(applicationId, campaignId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, exactMatch, batchId); + TalonOne.Client.ApiResponse localVarResponse = UpdateAchievementWithHttpInfo(applicationId, campaignId, achievementId, body); return localVarResponse.Data; } /// - /// List coupons that match the given attributes in campaign (without total count) List the coupons whose attributes match the query criteria in the given campaign. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// Update achievement Update the details of a specific achievement. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// body - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Filter results by batches of coupons (optional) - /// ApiResponse of InlineResponse2008 - public TalonOne.Client.ApiResponse< InlineResponse2008 > SearchCouponsAdvancedWithoutTotalCountWithHttpInfo (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)) + /// ApiResponse of Achievement + public TalonOne.Client.ApiResponse< Achievement > UpdateAchievementWithHttpInfo (int applicationId, int campaignId, int achievementId, UpdateAchievement body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->SearchCouponsAdvancedWithoutTotalCount"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAchievement"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -28117,54 +33579,7 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (value != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (referralId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); - } - if (recipientIntegrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); - } - if (exactMatch != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); - } - if (batchId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); - } + localVarRequestOptions.PathParameters.Add("achievementId", TalonOne.Client.ClientUtils.ParameterToString(achievementId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -28189,12 +33604,12 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas } // make the HTTP request - var localVarResponse = this.Client.Post< InlineResponse2008 >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_search_advanced/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< Achievement >("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("SearchCouponsAdvancedWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateAchievement", localVarResponse); if (_exception != null) throw _exception; } @@ -28202,57 +33617,35 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas } /// - /// List coupons that match the given attributes in campaign (without total count) List the coupons whose attributes match the query criteria in the given campaign. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// Update achievement Update the details of a specific achievement. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// body - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Filter results by batches of coupons (optional) - /// Task of InlineResponse2008 - public async System.Threading.Tasks.Task SearchCouponsAdvancedWithoutTotalCountAsync (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)) + /// Task of Achievement + public async System.Threading.Tasks.Task UpdateAchievementAsync (int applicationId, int campaignId, int achievementId, UpdateAchievement body) { - TalonOne.Client.ApiResponse localVarResponse = await SearchCouponsAdvancedWithoutTotalCountAsyncWithHttpInfo(applicationId, campaignId, body, pageSize, skip, sort, value, createdBefore, createdAfter, valid, usable, referralId, recipientIntegrationId, exactMatch, batchId); + TalonOne.Client.ApiResponse localVarResponse = await UpdateAchievementAsyncWithHttpInfo(applicationId, campaignId, achievementId, body); return localVarResponse.Data; } /// - /// List coupons that match the given attributes in campaign (without total count) List the coupons whose attributes match the query criteria in the given campaign. The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request. **Note:** The total count is not included in the response. + /// Update achievement Update the details of a specific achievement. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint. /// body - /// The number of items in this response. (optional, default to 1000) - /// The number of items to skip when paging through large result sets. (optional) - /// The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** This parameter works only with numeric fields. (optional) - /// Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. (optional) - /// Either \"expired\", \"validNow\", or \"validFuture\". The first option matches coupons in which the expiration date is set and in the past. The second matches coupons in which start date is null or in the past and expiration date is null or in the future, the third matches coupons in which start date is set and in the future. (optional) - /// Either \"true\" or \"false\". If \"true\", only coupons where `usageCounter < usageLimit` will be returned, \"false\" will return only coupons where `usageCounter >= usageLimit`. (optional) - /// Filter the results by matching them with the ID of a referral. This filter shows the coupons created by redeeming a referral code. (optional) - /// Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field (optional) - /// Filter results to an exact case-insensitive matching against the coupon code (optional, default to false) - /// Filter results by batches of coupons (optional) - /// Task of ApiResponse (InlineResponse2008) - public async System.Threading.Tasks.Task> SearchCouponsAdvancedWithoutTotalCountAsyncWithHttpInfo (int applicationId, int campaignId, Object body, int? pageSize = default(int?), int? skip = default(int?), string sort = default(string), string value = default(string), DateTime? createdBefore = default(DateTime?), DateTime? createdAfter = default(DateTime?), string valid = default(string), string usable = default(string), int? referralId = default(int?), string recipientIntegrationId = default(string), bool? exactMatch = default(bool?), string batchId = default(string)) + /// Task of ApiResponse (Achievement) + public async System.Threading.Tasks.Task> UpdateAchievementAsyncWithHttpInfo (int applicationId, int campaignId, int achievementId, UpdateAchievement body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->SearchCouponsAdvancedWithoutTotalCount"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAchievement"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -28274,54 +33667,7 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - if (pageSize != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "pageSize", pageSize)); - } - if (skip != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "skip", skip)); - } - if (sort != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "sort", sort)); - } - if (value != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "value", value)); - } - if (createdBefore != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdBefore", createdBefore)); - } - if (createdAfter != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "createdAfter", createdAfter)); - } - if (valid != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "valid", valid)); - } - if (usable != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "usable", usable)); - } - if (referralId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "referralId", referralId)); - } - if (recipientIntegrationId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "recipientIntegrationId", recipientIntegrationId)); - } - if (exactMatch != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "exactMatch", exactMatch)); - } - if (batchId != null) - { - localVarRequestOptions.QueryParameters.Add(TalonOne.Client.ClientUtils.ParameterToMultiMap("", "batchId", batchId)); - } + localVarRequestOptions.PathParameters.Add("achievementId", TalonOne.Client.ClientUtils.ParameterToString(achievementId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -28347,12 +33693,12 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PostAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons_search_advanced/no_total", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("SearchCouponsAdvancedWithoutTotalCount", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateAchievement", localVarResponse); if (_exception != null) throw _exception; } @@ -28360,35 +33706,30 @@ public async System.Threading.Tasks.Task ResetPasswordAsync (NewPas } /// - /// Transfer card data Transfer loyalty card data, such as linked customers, loyalty balances and transactions, from a given loyalty card to a new, automatically created loyalty card. **Important:** - The original card is automatically blocked once the new card is created, and it cannot be activated again. - The default status of the new card is _active_. + /// Update additional cost Updates an existing additional cost. Once created, the only property of an additional cost that cannot be changed is the `name` property (or **API name** in the Campaign Manager). This restriction is in place to prevent accidentally breaking live integrations. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. /// body - /// - public void TransferLoyaltyCard (int loyaltyProgramId, string loyaltyCardId, TransferLoyaltyCard body) + /// AccountAdditionalCost + public AccountAdditionalCost UpdateAdditionalCost (int additionalCostId, NewAdditionalCost body) { - TransferLoyaltyCardWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); + TalonOne.Client.ApiResponse localVarResponse = UpdateAdditionalCostWithHttpInfo(additionalCostId, body); + return localVarResponse.Data; } /// - /// Transfer card data Transfer loyalty card data, such as linked customers, loyalty balances and transactions, from a given loyalty card to a new, automatically created loyalty card. **Important:** - The original card is automatically blocked once the new card is created, and it cannot be activated again. - The default status of the new card is _active_. + /// Update additional cost Updates an existing additional cost. Once created, the only property of an additional cost that cannot be changed is the `name` property (or **API name** in the Campaign Manager). This restriction is in place to prevent accidentally breaking live integrations. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. /// body - /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse TransferLoyaltyCardWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, TransferLoyaltyCard body) + /// ApiResponse of AccountAdditionalCost + public TalonOne.Client.ApiResponse< AccountAdditionalCost > UpdateAdditionalCostWithHttpInfo (int additionalCostId, NewAdditionalCost body) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->TransferLoyaltyCard"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->TransferLoyaltyCard"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAdditionalCost"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -28407,8 +33748,7 @@ public TalonOne.Client.ApiResponse TransferLoyaltyCardWithHttpInfo (int var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.PathParameters.Add("additionalCostId", TalonOne.Client.ClientUtils.ParameterToString(additionalCostId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -28433,12 +33773,12 @@ public TalonOne.Client.ApiResponse TransferLoyaltyCardWithHttpInfo (int } // make the HTTP request - var localVarResponse = this.Client.Put("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transfer", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< AccountAdditionalCost >("/v1/additional_costs/{additionalCostId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("TransferLoyaltyCard", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateAdditionalCost", localVarResponse); if (_exception != null) throw _exception; } @@ -28446,36 +33786,31 @@ public TalonOne.Client.ApiResponse TransferLoyaltyCardWithHttpInfo (int } /// - /// Transfer card data Transfer loyalty card data, such as linked customers, loyalty balances and transactions, from a given loyalty card to a new, automatically created loyalty card. **Important:** - The original card is automatically blocked once the new card is created, and it cannot be activated again. - The default status of the new card is _active_. + /// Update additional cost Updates an existing additional cost. Once created, the only property of an additional cost that cannot be changed is the `name` property (or **API name** in the Campaign Manager). This restriction is in place to prevent accidentally breaking live integrations. /// - /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// Thrown when fails to make API call + /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. /// body - /// Task of void - public async System.Threading.Tasks.Task TransferLoyaltyCardAsync (int loyaltyProgramId, string loyaltyCardId, TransferLoyaltyCard body) + /// Task of AccountAdditionalCost + public async System.Threading.Tasks.Task UpdateAdditionalCostAsync (int additionalCostId, NewAdditionalCost body) { - await TransferLoyaltyCardAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); + TalonOne.Client.ApiResponse localVarResponse = await UpdateAdditionalCostAsyncWithHttpInfo(additionalCostId, body); + return localVarResponse.Data; } /// - /// Transfer card data Transfer loyalty card data, such as linked customers, loyalty balances and transactions, from a given loyalty card to a new, automatically created loyalty card. **Important:** - The original card is automatically blocked once the new card is created, and it cannot be activated again. - The default status of the new card is _active_. + /// Update additional cost Updates an existing additional cost. Once created, the only property of an additional cost that cannot be changed is the `name` property (or **API name** in the Campaign Manager). This restriction is in place to prevent accidentally breaking live integrations. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. /// body - /// Task of ApiResponse - public async System.Threading.Tasks.Task> TransferLoyaltyCardAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, TransferLoyaltyCard body) + /// Task of ApiResponse (AccountAdditionalCost) + public async System.Threading.Tasks.Task> UpdateAdditionalCostAsyncWithHttpInfo (int additionalCostId, NewAdditionalCost body) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->TransferLoyaltyCard"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->TransferLoyaltyCard"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAdditionalCost"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -28495,8 +33830,7 @@ public async System.Threading.Tasks.Task TransferLoyaltyCardAsync (int loyaltyPr foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.PathParameters.Add("additionalCostId", TalonOne.Client.ClientUtils.ParameterToString(additionalCostId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -28522,12 +33856,12 @@ public async System.Threading.Tasks.Task TransferLoyaltyCardAsync (int loyaltyPr // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transfer", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/additional_costs/{additionalCostId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("TransferLoyaltyCard", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateAdditionalCost", localVarResponse); if (_exception != null) throw _exception; } @@ -28535,30 +33869,30 @@ public async System.Threading.Tasks.Task TransferLoyaltyCardAsync (int loyaltyPr } /// - /// Update account-level collection Edit the description of the account-level collection and enable or disable the collection in the specified Applications. + /// Update custom attribute Update an existing custom attribute. Once created, the only property of a custom attribute that can be changed is the description. To change the `type` or `name` property of a custom attribute, create a new attribute and update any relevant integrations and rules to use the new attribute. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. /// body - /// Collection - public Collection UpdateAccountCollection (int collectionId, UpdateCollection body) + /// Attribute + public Attribute UpdateAttribute (int attributeId, NewAttribute body) { - TalonOne.Client.ApiResponse localVarResponse = UpdateAccountCollectionWithHttpInfo(collectionId, body); + TalonOne.Client.ApiResponse localVarResponse = UpdateAttributeWithHttpInfo(attributeId, body); return localVarResponse.Data; } /// - /// Update account-level collection Edit the description of the account-level collection and enable or disable the collection in the specified Applications. + /// Update custom attribute Update an existing custom attribute. Once created, the only property of a custom attribute that can be changed is the description. To change the `type` or `name` property of a custom attribute, create a new attribute and update any relevant integrations and rules to use the new attribute. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. /// body - /// ApiResponse of Collection - public TalonOne.Client.ApiResponse< Collection > UpdateAccountCollectionWithHttpInfo (int collectionId, UpdateCollection body) + /// ApiResponse of Attribute + public TalonOne.Client.ApiResponse< Attribute > UpdateAttributeWithHttpInfo (int attributeId, NewAttribute body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAccountCollection"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAttribute"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -28577,7 +33911,7 @@ public TalonOne.Client.ApiResponse< Collection > UpdateAccountCollectionWithHttp var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -28602,12 +33936,12 @@ public TalonOne.Client.ApiResponse< Collection > UpdateAccountCollectionWithHttp } // make the HTTP request - var localVarResponse = this.Client.Put< Collection >("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< Attribute >("/v1/attributes/{attributeId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateAccountCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateAttribute", localVarResponse); if (_exception != null) throw _exception; } @@ -28615,31 +33949,31 @@ public TalonOne.Client.ApiResponse< Collection > UpdateAccountCollectionWithHttp } /// - /// Update account-level collection Edit the description of the account-level collection and enable or disable the collection in the specified Applications. + /// Update custom attribute Update an existing custom attribute. Once created, the only property of a custom attribute that can be changed is the description. To change the `type` or `name` property of a custom attribute, create a new attribute and update any relevant integrations and rules to use the new attribute. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. /// body - /// Task of Collection - public async System.Threading.Tasks.Task UpdateAccountCollectionAsync (int collectionId, UpdateCollection body) + /// Task of Attribute + public async System.Threading.Tasks.Task UpdateAttributeAsync (int attributeId, NewAttribute body) { - TalonOne.Client.ApiResponse localVarResponse = await UpdateAccountCollectionAsyncWithHttpInfo(collectionId, body); + TalonOne.Client.ApiResponse localVarResponse = await UpdateAttributeAsyncWithHttpInfo(attributeId, body); return localVarResponse.Data; } /// - /// Update account-level collection Edit the description of the account-level collection and enable or disable the collection in the specified Applications. + /// Update custom attribute Update an existing custom attribute. Once created, the only property of a custom attribute that can be changed is the description. To change the `type` or `name` property of a custom attribute, create a new attribute and update any relevant integrations and rules to use the new attribute. /// /// Thrown when fails to make API call - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. + /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. /// body - /// Task of ApiResponse (Collection) - public async System.Threading.Tasks.Task> UpdateAccountCollectionAsyncWithHttpInfo (int collectionId, UpdateCollection body) + /// Task of ApiResponse (Attribute) + public async System.Threading.Tasks.Task> UpdateAttributeAsyncWithHttpInfo (int attributeId, NewAttribute body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAccountCollection"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAttribute"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -28659,7 +33993,7 @@ public async System.Threading.Tasks.Task UpdateAccountCollectionAsyn foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter + localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -28685,12 +34019,12 @@ public async System.Threading.Tasks.Task UpdateAccountCollectionAsyn // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/attributes/{attributeId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateAccountCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateAttribute", localVarResponse); if (_exception != null) throw _exception; } @@ -28698,30 +34032,32 @@ public async System.Threading.Tasks.Task UpdateAccountCollectionAsyn } /// - /// Update additional cost Updates an existing additional cost. Once created, the only property of an additional cost that can be changed is the title (human readable description). This restriction is in place to prevent accidentally breaking live integrations. + /// Update campaign Update the given campaign. /// /// Thrown when fails to make API call - /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// AccountAdditionalCost - public AccountAdditionalCost UpdateAdditionalCost (int additionalCostId, NewAdditionalCost body) + /// Campaign + public Campaign UpdateCampaign (int applicationId, int campaignId, UpdateCampaign body) { - TalonOne.Client.ApiResponse localVarResponse = UpdateAdditionalCostWithHttpInfo(additionalCostId, body); + TalonOne.Client.ApiResponse localVarResponse = UpdateCampaignWithHttpInfo(applicationId, campaignId, body); return localVarResponse.Data; } /// - /// Update additional cost Updates an existing additional cost. Once created, the only property of an additional cost that can be changed is the title (human readable description). This restriction is in place to prevent accidentally breaking live integrations. + /// Update campaign Update the given campaign. /// /// Thrown when fails to make API call - /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// ApiResponse of AccountAdditionalCost - public TalonOne.Client.ApiResponse< AccountAdditionalCost > UpdateAdditionalCostWithHttpInfo (int additionalCostId, NewAdditionalCost body) + /// ApiResponse of Campaign + public TalonOne.Client.ApiResponse< Campaign > UpdateCampaignWithHttpInfo (int applicationId, int campaignId, UpdateCampaign body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAdditionalCost"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCampaign"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -28740,7 +34076,8 @@ public TalonOne.Client.ApiResponse< AccountAdditionalCost > UpdateAdditionalCost var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("additionalCostId", TalonOne.Client.ClientUtils.ParameterToString(additionalCostId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -28765,12 +34102,12 @@ public TalonOne.Client.ApiResponse< AccountAdditionalCost > UpdateAdditionalCost } // make the HTTP request - var localVarResponse = this.Client.Put< AccountAdditionalCost >("/v1/additional_costs/{additionalCostId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< Campaign >("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateAdditionalCost", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateCampaign", localVarResponse); if (_exception != null) throw _exception; } @@ -28778,31 +34115,33 @@ public TalonOne.Client.ApiResponse< AccountAdditionalCost > UpdateAdditionalCost } /// - /// Update additional cost Updates an existing additional cost. Once created, the only property of an additional cost that can be changed is the title (human readable description). This restriction is in place to prevent accidentally breaking live integrations. + /// Update campaign Update the given campaign. /// /// Thrown when fails to make API call - /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of AccountAdditionalCost - public async System.Threading.Tasks.Task UpdateAdditionalCostAsync (int additionalCostId, NewAdditionalCost body) + /// Task of Campaign + public async System.Threading.Tasks.Task UpdateCampaignAsync (int applicationId, int campaignId, UpdateCampaign body) { - TalonOne.Client.ApiResponse localVarResponse = await UpdateAdditionalCostAsyncWithHttpInfo(additionalCostId, body); + TalonOne.Client.ApiResponse localVarResponse = await UpdateCampaignAsyncWithHttpInfo(applicationId, campaignId, body); return localVarResponse.Data; } /// - /// Update additional cost Updates an existing additional cost. Once created, the only property of an additional cost that can be changed is the title (human readable description). This restriction is in place to prevent accidentally breaking live integrations. + /// Update campaign Update the given campaign. /// /// Thrown when fails to make API call - /// The ID of the additional cost. You can find the ID the the Campaign Manager's URL when you display the details of the cost in **Account** > **Tools** > **Additional costs**. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. /// body - /// Task of ApiResponse (AccountAdditionalCost) - public async System.Threading.Tasks.Task> UpdateAdditionalCostAsyncWithHttpInfo (int additionalCostId, NewAdditionalCost body) + /// Task of ApiResponse (Campaign) + public async System.Threading.Tasks.Task> UpdateCampaignAsyncWithHttpInfo (int applicationId, int campaignId, UpdateCampaign body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAdditionalCost"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCampaign"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -28822,7 +34161,8 @@ public async System.Threading.Tasks.Task UpdateAdditional foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("additionalCostId", TalonOne.Client.ClientUtils.ParameterToString(additionalCostId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -28848,12 +34188,12 @@ public async System.Threading.Tasks.Task UpdateAdditional // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/additional_costs/{additionalCostId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateAdditionalCost", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateCampaign", localVarResponse); if (_exception != null) throw _exception; } @@ -28861,30 +34201,34 @@ public async System.Threading.Tasks.Task UpdateAdditional } /// - /// Update custom attribute Update an existing custom attribute. Once created, the only property of a custom attribute that can be changed is the description. To change the `type` or `name` property of a custom attribute, create a new attribute and update any relevant integrations and rules to use the new attribute. + /// Update campaign-level collection's description Edit the description of a given campaign-level collection. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// body - /// Attribute - public Attribute UpdateAttribute (int attributeId, NewAttribute body) + /// Collection + public Collection UpdateCollection (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body) { - TalonOne.Client.ApiResponse localVarResponse = UpdateAttributeWithHttpInfo(attributeId, body); + TalonOne.Client.ApiResponse localVarResponse = UpdateCollectionWithHttpInfo(applicationId, campaignId, collectionId, body); return localVarResponse.Data; } /// - /// Update custom attribute Update an existing custom attribute. Once created, the only property of a custom attribute that can be changed is the description. To change the `type` or `name` property of a custom attribute, create a new attribute and update any relevant integrations and rules to use the new attribute. + /// Update campaign-level collection's description Edit the description of a given campaign-level collection. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// body - /// ApiResponse of Attribute - public TalonOne.Client.ApiResponse< Attribute > UpdateAttributeWithHttpInfo (int attributeId, NewAttribute body) + /// ApiResponse of Collection + public TalonOne.Client.ApiResponse< Collection > UpdateCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAttribute"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCollection"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -28903,7 +34247,9 @@ public TalonOne.Client.ApiResponse< Attribute > UpdateAttributeWithHttpInfo (int var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -28928,12 +34274,12 @@ public TalonOne.Client.ApiResponse< Attribute > UpdateAttributeWithHttpInfo (int } // make the HTTP request - var localVarResponse = this.Client.Put< Attribute >("/v1/attributes/{attributeId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< Collection >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateAttribute", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -28941,31 +34287,35 @@ public TalonOne.Client.ApiResponse< Attribute > UpdateAttributeWithHttpInfo (int } /// - /// Update custom attribute Update an existing custom attribute. Once created, the only property of a custom attribute that can be changed is the description. To change the `type` or `name` property of a custom attribute, create a new attribute and update any relevant integrations and rules to use the new attribute. + /// Update campaign-level collection's description Edit the description of a given campaign-level collection. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// body - /// Task of Attribute - public async System.Threading.Tasks.Task UpdateAttributeAsync (int attributeId, NewAttribute body) + /// Task of Collection + public async System.Threading.Tasks.Task UpdateCollectionAsync (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body) { - TalonOne.Client.ApiResponse localVarResponse = await UpdateAttributeAsyncWithHttpInfo(attributeId, body); + TalonOne.Client.ApiResponse localVarResponse = await UpdateCollectionAsyncWithHttpInfo(applicationId, campaignId, collectionId, body); return localVarResponse.Data; } /// - /// Update custom attribute Update an existing custom attribute. Once created, the only property of a custom attribute that can be changed is the description. To change the `type` or `name` property of a custom attribute, create a new attribute and update any relevant integrations and rules to use the new attribute. + /// Update campaign-level collection's description Edit the description of a given campaign-level collection. /// /// Thrown when fails to make API call - /// The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. + /// The ID of the Application. It is displayed in your Talon.One deployment URL. + /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the collection. You can get it with the [List collections in Application](#operation/listCollectionsInApplication) endpoint. /// body - /// Task of ApiResponse (Attribute) - public async System.Threading.Tasks.Task> UpdateAttributeAsyncWithHttpInfo (int attributeId, NewAttribute body) + /// Task of ApiResponse (Collection) + public async System.Threading.Tasks.Task> UpdateCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateAttribute"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCollection"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -28985,7 +34335,9 @@ public async System.Threading.Tasks.Task UpdateAttributeAsync (int at foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("attributeId", TalonOne.Client.ClientUtils.ParameterToString(attributeId)); // path parameter + localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter + localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29011,12 +34363,12 @@ public async System.Threading.Tasks.Task UpdateAttributeAsync (int at // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/attributes/{attributeId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateAttribute", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateCollection", localVarResponse); if (_exception != null) throw _exception; } @@ -29024,32 +34376,38 @@ public async System.Threading.Tasks.Task UpdateAttributeAsync (int at } /// - /// Update campaign Update the given campaign. + /// Update coupon Update the specified coupon. <div class=\"redoc-section\"> <p class=\"title\">Important</p> <p>With this PUT endpoint only, any property you do not explicitly set in your request will be set to <code>null</code>.</p> </div> /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. /// body - /// Campaign - public Campaign UpdateCampaign (int applicationId, int campaignId, UpdateCampaign body) + /// Coupon + public Coupon UpdateCoupon (int applicationId, int campaignId, string couponId, UpdateCoupon body) { - TalonOne.Client.ApiResponse localVarResponse = UpdateCampaignWithHttpInfo(applicationId, campaignId, body); + TalonOne.Client.ApiResponse localVarResponse = UpdateCouponWithHttpInfo(applicationId, campaignId, couponId, body); return localVarResponse.Data; } /// - /// Update campaign Update the given campaign. + /// Update coupon Update the specified coupon. <div class=\"redoc-section\"> <p class=\"title\">Important</p> <p>With this PUT endpoint only, any property you do not explicitly set in your request will be set to <code>null</code>.</p> </div> /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. /// body - /// ApiResponse of Campaign - public TalonOne.Client.ApiResponse< Campaign > UpdateCampaignWithHttpInfo (int applicationId, int campaignId, UpdateCampaign body) + /// ApiResponse of Coupon + public TalonOne.Client.ApiResponse< Coupon > UpdateCouponWithHttpInfo (int applicationId, int campaignId, string couponId, UpdateCoupon body) { + // verify the required parameter 'couponId' is set + if (couponId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'couponId' when calling ManagementApi->UpdateCoupon"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCampaign"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCoupon"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -29070,6 +34428,7 @@ public TalonOne.Client.ApiResponse< Campaign > UpdateCampaignWithHttpInfo (int a localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("couponId", TalonOne.Client.ClientUtils.ParameterToString(couponId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29094,12 +34453,12 @@ public TalonOne.Client.ApiResponse< Campaign > UpdateCampaignWithHttpInfo (int a } // make the HTTP request - var localVarResponse = this.Client.Put< Campaign >("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< Coupon >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateCampaign", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateCoupon", localVarResponse); if (_exception != null) throw _exception; } @@ -29107,33 +34466,39 @@ public TalonOne.Client.ApiResponse< Campaign > UpdateCampaignWithHttpInfo (int a } /// - /// Update campaign Update the given campaign. + /// Update coupon Update the specified coupon. <div class=\"redoc-section\"> <p class=\"title\">Important</p> <p>With this PUT endpoint only, any property you do not explicitly set in your request will be set to <code>null</code>.</p> </div> /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. /// body - /// Task of Campaign - public async System.Threading.Tasks.Task UpdateCampaignAsync (int applicationId, int campaignId, UpdateCampaign body) + /// Task of Coupon + public async System.Threading.Tasks.Task UpdateCouponAsync (int applicationId, int campaignId, string couponId, UpdateCoupon body) { - TalonOne.Client.ApiResponse localVarResponse = await UpdateCampaignAsyncWithHttpInfo(applicationId, campaignId, body); + TalonOne.Client.ApiResponse localVarResponse = await UpdateCouponAsyncWithHttpInfo(applicationId, campaignId, couponId, body); return localVarResponse.Data; } /// - /// Update campaign Update the given campaign. + /// Update coupon Update the specified coupon. <div class=\"redoc-section\"> <p class=\"title\">Important</p> <p>With this PUT endpoint only, any property you do not explicitly set in your request will be set to <code>null</code>.</p> </div> /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. /// body - /// Task of ApiResponse (Campaign) - public async System.Threading.Tasks.Task> UpdateCampaignAsyncWithHttpInfo (int applicationId, int campaignId, UpdateCampaign body) + /// Task of ApiResponse (Coupon) + public async System.Threading.Tasks.Task> UpdateCouponAsyncWithHttpInfo (int applicationId, int campaignId, string couponId, UpdateCoupon body) { + // verify the required parameter 'couponId' is set + if (couponId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'couponId' when calling ManagementApi->UpdateCoupon"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCampaign"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCoupon"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -29155,6 +34520,7 @@ public async System.Threading.Tasks.Task UpdateCampaignAsync (int appl localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("couponId", TalonOne.Client.ClientUtils.ParameterToString(couponId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29180,12 +34546,12 @@ public async System.Threading.Tasks.Task UpdateCampaignAsync (int appl // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/campaigns/{campaignId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateCampaign", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateCoupon", localVarResponse); if (_exception != null) throw _exception; } @@ -29193,34 +34559,31 @@ public async System.Threading.Tasks.Task UpdateCampaignAsync (int appl } /// - /// Update collection description Edit the description of the collection. + /// Update coupons Update all coupons, or a specific batch of coupons in the given campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. /// body - /// Collection - public Collection UpdateCollection (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body) + /// + public void UpdateCouponBatch (int applicationId, int campaignId, UpdateCouponBatch body) { - TalonOne.Client.ApiResponse localVarResponse = UpdateCollectionWithHttpInfo(applicationId, campaignId, collectionId, body); - return localVarResponse.Data; + UpdateCouponBatchWithHttpInfo(applicationId, campaignId, body); } /// - /// Update collection description Edit the description of the collection. + /// Update coupons Update all coupons, or a specific batch of coupons in the given campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. /// body - /// ApiResponse of Collection - public TalonOne.Client.ApiResponse< Collection > UpdateCollectionWithHttpInfo (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body) + /// ApiResponse of Object(void) + public TalonOne.Client.ApiResponse UpdateCouponBatchWithHttpInfo (int applicationId, int campaignId, UpdateCouponBatch body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCollection"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCouponBatch"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -29230,7 +34593,6 @@ public TalonOne.Client.ApiResponse< Collection > UpdateCollectionWithHttpInfo (i // to determine the Accept header String[] _accepts = new String[] { - "application/json" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -29241,7 +34603,6 @@ public TalonOne.Client.ApiResponse< Collection > UpdateCollectionWithHttpInfo (i localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29266,12 +34627,12 @@ public TalonOne.Client.ApiResponse< Collection > UpdateCollectionWithHttpInfo (i } // make the HTTP request - var localVarResponse = this.Client.Put< Collection >("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateCouponBatch", localVarResponse); if (_exception != null) throw _exception; } @@ -29279,35 +34640,32 @@ public TalonOne.Client.ApiResponse< Collection > UpdateCollectionWithHttpInfo (i } /// - /// Update collection description Edit the description of the collection. + /// Update coupons Update all coupons, or a specific batch of coupons in the given campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. /// body - /// Task of Collection - public async System.Threading.Tasks.Task UpdateCollectionAsync (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body) + /// Task of void + public async System.Threading.Tasks.Task UpdateCouponBatchAsync (int applicationId, int campaignId, UpdateCouponBatch body) { - TalonOne.Client.ApiResponse localVarResponse = await UpdateCollectionAsyncWithHttpInfo(applicationId, campaignId, collectionId, body); - return localVarResponse.Data; + await UpdateCouponBatchAsyncWithHttpInfo(applicationId, campaignId, body); } /// - /// Update collection description Edit the description of the collection. + /// Update coupons Update all coupons, or a specific batch of coupons in the given campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the collection. You can get it with the [List collection in account](#operation/listCollectionsInApplication) endpoint. /// body - /// Task of ApiResponse (Collection) - public async System.Threading.Tasks.Task> UpdateCollectionAsyncWithHttpInfo (int applicationId, int campaignId, int collectionId, UpdateCampaignCollection body) + /// Task of ApiResponse + public async System.Threading.Tasks.Task> UpdateCouponBatchAsyncWithHttpInfo (int applicationId, int campaignId, UpdateCouponBatch body) { // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCollection"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCouponBatch"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -29318,7 +34676,6 @@ public async System.Threading.Tasks.Task UpdateCollectionAsync (int // to determine the Accept header String[] _accepts = new String[] { - "application/json" }; foreach (var _contentType in _contentTypes) @@ -29329,7 +34686,6 @@ public async System.Threading.Tasks.Task UpdateCollectionAsync (int localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("collectionId", TalonOne.Client.ClientUtils.ParameterToString(collectionId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29355,12 +34711,12 @@ public async System.Threading.Tasks.Task UpdateCollectionAsync (int // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateCollection", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateCouponBatch", localVarResponse); if (_exception != null) throw _exception; } @@ -29368,38 +34724,36 @@ public async System.Threading.Tasks.Task UpdateCollectionAsync (int } /// - /// Update coupon Update the specified coupon. <div class=\"redoc-section\"> <p class=\"title\">Important</p> <p>With this PUT endpoint only, any property you do not explicitly set in your request will be set to <code>null</code>.</p> </div> + /// Update loyalty card status Update the status of the given loyalty card. A card can be _active_ or _inactive_. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// Coupon - public Coupon UpdateCoupon (int applicationId, int campaignId, string couponId, UpdateCoupon body) + /// LoyaltyCard + public LoyaltyCard UpdateLoyaltyCard (int loyaltyProgramId, string loyaltyCardId, UpdateLoyaltyCard body) { - TalonOne.Client.ApiResponse localVarResponse = UpdateCouponWithHttpInfo(applicationId, campaignId, couponId, body); + TalonOne.Client.ApiResponse localVarResponse = UpdateLoyaltyCardWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); return localVarResponse.Data; } /// - /// Update coupon Update the specified coupon. <div class=\"redoc-section\"> <p class=\"title\">Important</p> <p>With this PUT endpoint only, any property you do not explicitly set in your request will be set to <code>null</code>.</p> </div> + /// Update loyalty card status Update the status of the given loyalty card. A card can be _active_ or _inactive_. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// ApiResponse of Coupon - public TalonOne.Client.ApiResponse< Coupon > UpdateCouponWithHttpInfo (int applicationId, int campaignId, string couponId, UpdateCoupon body) + /// ApiResponse of LoyaltyCard + public TalonOne.Client.ApiResponse< LoyaltyCard > UpdateLoyaltyCardWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, UpdateLoyaltyCard body) { - // verify the required parameter 'couponId' is set - if (couponId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'couponId' when calling ManagementApi->UpdateCoupon"); + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->UpdateLoyaltyCard"); // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCoupon"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateLoyaltyCard"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -29418,9 +34772,8 @@ public TalonOne.Client.ApiResponse< Coupon > UpdateCouponWithHttpInfo (int appli var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("couponId", TalonOne.Client.ClientUtils.ParameterToString(couponId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29445,12 +34798,12 @@ public TalonOne.Client.ApiResponse< Coupon > UpdateCouponWithHttpInfo (int appli } // make the HTTP request - var localVarResponse = this.Client.Put< Coupon >("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< LoyaltyCard >("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateCoupon", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateLoyaltyCard", localVarResponse); if (_exception != null) throw _exception; } @@ -29458,39 +34811,37 @@ public TalonOne.Client.ApiResponse< Coupon > UpdateCouponWithHttpInfo (int appli } /// - /// Update coupon Update the specified coupon. <div class=\"redoc-section\"> <p class=\"title\">Important</p> <p>With this PUT endpoint only, any property you do not explicitly set in your request will be set to <code>null</code>.</p> </div> + /// Update loyalty card status Update the status of the given loyalty card. A card can be _active_ or _inactive_. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// Task of Coupon - public async System.Threading.Tasks.Task UpdateCouponAsync (int applicationId, int campaignId, string couponId, UpdateCoupon body) + /// Task of LoyaltyCard + public async System.Threading.Tasks.Task UpdateLoyaltyCardAsync (int loyaltyProgramId, string loyaltyCardId, UpdateLoyaltyCard body) { - TalonOne.Client.ApiResponse localVarResponse = await UpdateCouponAsyncWithHttpInfo(applicationId, campaignId, couponId, body); + TalonOne.Client.ApiResponse localVarResponse = await UpdateLoyaltyCardAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); return localVarResponse.Data; } /// - /// Update coupon Update the specified coupon. <div class=\"redoc-section\"> <p class=\"title\">Important</p> <p>With this PUT endpoint only, any property you do not explicitly set in your request will be set to <code>null</code>.</p> </div> + /// Update loyalty card status Update the status of the given loyalty card. A card can be _active_ or _inactive_. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The internal ID of the coupon code. You can find this value in the `id` property from the [List coupons](https://docs.talon.one/management-api#tag/Coupons/operation/getCouponsWithoutTotalCount) endpoint response. + /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. /// body - /// Task of ApiResponse (Coupon) - public async System.Threading.Tasks.Task> UpdateCouponAsyncWithHttpInfo (int applicationId, int campaignId, string couponId, UpdateCoupon body) + /// Task of ApiResponse (LoyaltyCard) + public async System.Threading.Tasks.Task> UpdateLoyaltyCardAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, UpdateLoyaltyCard body) { - // verify the required parameter 'couponId' is set - if (couponId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'couponId' when calling ManagementApi->UpdateCoupon"); + // verify the required parameter 'loyaltyCardId' is set + if (loyaltyCardId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->UpdateLoyaltyCard"); // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCoupon"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateLoyaltyCard"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -29510,9 +34861,8 @@ public async System.Threading.Tasks.Task UpdateCouponAsync (int applicat foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("couponId", TalonOne.Client.ClientUtils.ParameterToString(couponId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter + localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29538,12 +34888,12 @@ public async System.Threading.Tasks.Task UpdateCouponAsync (int applicat // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateCoupon", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateLoyaltyCard", localVarResponse); if (_exception != null) throw _exception; } @@ -29551,31 +34901,38 @@ public async System.Threading.Tasks.Task UpdateCouponAsync (int applicat } /// - /// Update coupons Update all coupons, or a specific batch of coupons, in a campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). + /// Update referral Update the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// body - /// - public void UpdateCouponBatch (int applicationId, int campaignId, UpdateCouponBatch body) + /// Referral + public Referral UpdateReferral (int applicationId, int campaignId, string referralId, UpdateReferral body) { - UpdateCouponBatchWithHttpInfo(applicationId, campaignId, body); + TalonOne.Client.ApiResponse localVarResponse = UpdateReferralWithHttpInfo(applicationId, campaignId, referralId, body); + return localVarResponse.Data; } /// - /// Update coupons Update all coupons, or a specific batch of coupons, in a campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). + /// Update referral Update the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// body - /// ApiResponse of Object(void) - public TalonOne.Client.ApiResponse UpdateCouponBatchWithHttpInfo (int applicationId, int campaignId, UpdateCouponBatch body) + /// ApiResponse of Referral + public TalonOne.Client.ApiResponse< Referral > UpdateReferralWithHttpInfo (int applicationId, int campaignId, string referralId, UpdateReferral body) { + // verify the required parameter 'referralId' is set + if (referralId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'referralId' when calling ManagementApi->UpdateReferral"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCouponBatch"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateReferral"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -29585,6 +34942,7 @@ public TalonOne.Client.ApiResponse UpdateCouponBatchWithHttpInfo (int ap // to determine the Accept header String[] _accepts = new String[] { + "application/json" }; var localVarContentType = TalonOne.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -29595,6 +34953,7 @@ public TalonOne.Client.ApiResponse UpdateCouponBatchWithHttpInfo (int ap localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("referralId", TalonOne.Client.ClientUtils.ParameterToString(referralId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29619,12 +34978,12 @@ public TalonOne.Client.ApiResponse UpdateCouponBatchWithHttpInfo (int ap } // make the HTTP request - var localVarResponse = this.Client.Put("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< Referral >("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateCouponBatch", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateReferral", localVarResponse); if (_exception != null) throw _exception; } @@ -29632,32 +34991,39 @@ public TalonOne.Client.ApiResponse UpdateCouponBatchWithHttpInfo (int ap } /// - /// Update coupons Update all coupons, or a specific batch of coupons, in a campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). + /// Update referral Update the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// body - /// Task of void - public async System.Threading.Tasks.Task UpdateCouponBatchAsync (int applicationId, int campaignId, UpdateCouponBatch body) + /// Task of Referral + public async System.Threading.Tasks.Task UpdateReferralAsync (int applicationId, int campaignId, string referralId, UpdateReferral body) { - await UpdateCouponBatchAsyncWithHttpInfo(applicationId, campaignId, body); + TalonOne.Client.ApiResponse localVarResponse = await UpdateReferralAsyncWithHttpInfo(applicationId, campaignId, referralId, body); + return localVarResponse.Data; } /// - /// Update coupons Update all coupons, or a specific batch of coupons, in a campaign. You can find the `batchId` in the **Coupons** view of your Application in the Campaign Manager, or you can use [List coupons](#operation/getCouponsWithoutTotalCount). <div class=\"redoc-section\"> <p class=\"title\">Important</p> <ul> <li>Only send sequential requests to this endpoint.</li> <li>Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.</li> </ul> </div> To update a specific coupon, use [Update coupon](#operation/updateCoupon). + /// Update referral Update the specified referral. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. /// The ID of the campaign. It is displayed in your Talon.One deployment URL. + /// The ID of the referral code. /// body - /// Task of ApiResponse - public async System.Threading.Tasks.Task> UpdateCouponBatchAsyncWithHttpInfo (int applicationId, int campaignId, UpdateCouponBatch body) + /// Task of ApiResponse (Referral) + public async System.Threading.Tasks.Task> UpdateReferralAsyncWithHttpInfo (int applicationId, int campaignId, string referralId, UpdateReferral body) { + // verify the required parameter 'referralId' is set + if (referralId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'referralId' when calling ManagementApi->UpdateReferral"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateCouponBatch"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateReferral"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -29668,6 +35034,7 @@ public async System.Threading.Tasks.Task UpdateCouponBatchAsync (int application // to determine the Accept header String[] _accepts = new String[] { + "application/json" }; foreach (var _contentType in _contentTypes) @@ -29678,6 +35045,7 @@ public async System.Threading.Tasks.Task UpdateCouponBatchAsync (int application localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter + localVarRequestOptions.PathParameters.Add("referralId", TalonOne.Client.ClientUtils.ParameterToString(referralId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29703,12 +35071,12 @@ public async System.Threading.Tasks.Task UpdateCouponBatchAsync (int application // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/coupons", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateCouponBatch", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateReferral", localVarResponse); if (_exception != null) throw _exception; } @@ -29716,36 +35084,30 @@ public async System.Threading.Tasks.Task UpdateCouponBatchAsync (int application } /// - /// Update loyalty card status Update the status of the given loyalty card. A card can be _active_ or _inactive_. + /// Update role Update a specific role. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// body - /// LoyaltyCard - public LoyaltyCard UpdateLoyaltyCard (int loyaltyProgramId, string loyaltyCardId, UpdateLoyaltyCard body) + /// RoleV2 + public RoleV2 UpdateRoleV2 (int roleId, RoleV2Base body) { - TalonOne.Client.ApiResponse localVarResponse = UpdateLoyaltyCardWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); + TalonOne.Client.ApiResponse localVarResponse = UpdateRoleV2WithHttpInfo(roleId, body); return localVarResponse.Data; } /// - /// Update loyalty card status Update the status of the given loyalty card. A card can be _active_ or _inactive_. + /// Update role Update a specific role. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// body - /// ApiResponse of LoyaltyCard - public TalonOne.Client.ApiResponse< LoyaltyCard > UpdateLoyaltyCardWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, UpdateLoyaltyCard body) + /// ApiResponse of RoleV2 + public TalonOne.Client.ApiResponse< RoleV2 > UpdateRoleV2WithHttpInfo (int roleId, RoleV2Base body) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->UpdateLoyaltyCard"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateLoyaltyCard"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateRoleV2"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -29764,8 +35126,7 @@ public TalonOne.Client.ApiResponse< LoyaltyCard > UpdateLoyaltyCardWithHttpInfo var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.PathParameters.Add("roleId", TalonOne.Client.ClientUtils.ParameterToString(roleId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29790,12 +35151,12 @@ public TalonOne.Client.ApiResponse< LoyaltyCard > UpdateLoyaltyCardWithHttpInfo } // make the HTTP request - var localVarResponse = this.Client.Put< LoyaltyCard >("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< RoleV2 >("/v2/roles/{roleId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateLoyaltyCard", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateRoleV2", localVarResponse); if (_exception != null) throw _exception; } @@ -29803,37 +35164,31 @@ public TalonOne.Client.ApiResponse< LoyaltyCard > UpdateLoyaltyCardWithHttpInfo } /// - /// Update loyalty card status Update the status of the given loyalty card. A card can be _active_ or _inactive_. + /// Update role Update a specific role. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// body - /// Task of LoyaltyCard - public async System.Threading.Tasks.Task UpdateLoyaltyCardAsync (int loyaltyProgramId, string loyaltyCardId, UpdateLoyaltyCard body) + /// Task of RoleV2 + public async System.Threading.Tasks.Task UpdateRoleV2Async (int roleId, RoleV2Base body) { - TalonOne.Client.ApiResponse localVarResponse = await UpdateLoyaltyCardAsyncWithHttpInfo(loyaltyProgramId, loyaltyCardId, body); + TalonOne.Client.ApiResponse localVarResponse = await UpdateRoleV2AsyncWithHttpInfo(roleId, body); return localVarResponse.Data; } /// - /// Update loyalty card status Update the status of the given loyalty card. A card can be _active_ or _inactive_. + /// Update role Update a specific role. /// /// Thrown when fails to make API call - /// Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. - /// Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. + /// The ID of role. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// body - /// Task of ApiResponse (LoyaltyCard) - public async System.Threading.Tasks.Task> UpdateLoyaltyCardAsyncWithHttpInfo (int loyaltyProgramId, string loyaltyCardId, UpdateLoyaltyCard body) + /// Task of ApiResponse (RoleV2) + public async System.Threading.Tasks.Task> UpdateRoleV2AsyncWithHttpInfo (int roleId, RoleV2Base body) { - // verify the required parameter 'loyaltyCardId' is set - if (loyaltyCardId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'loyaltyCardId' when calling ManagementApi->UpdateLoyaltyCard"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateLoyaltyCard"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateRoleV2"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -29853,8 +35208,7 @@ public async System.Threading.Tasks.Task UpdateLoyaltyCardAsync (in foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("loyaltyProgramId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyProgramId)); // path parameter - localVarRequestOptions.PathParameters.Add("loyaltyCardId", TalonOne.Client.ClientUtils.ParameterToString(loyaltyCardId)); // path parameter + localVarRequestOptions.PathParameters.Add("roleId", TalonOne.Client.ClientUtils.ParameterToString(roleId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29880,12 +35234,12 @@ public async System.Threading.Tasks.Task UpdateLoyaltyCardAsync (in // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v2/roles/{roleId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateLoyaltyCard", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateRoleV2", localVarResponse); if (_exception != null) throw _exception; } @@ -29893,32 +35247,36 @@ public async System.Threading.Tasks.Task UpdateLoyaltyCardAsync (in } /// - /// Update notification about campaign-related changes Update the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). **Tip:** You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_edited/post). + /// Update store Update store details for a specific store ID. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// body - /// NotificationWebhook - public NotificationWebhook UpdateNotificationWebhook (int applicationId, int notificationWebhookId, NewNotificationWebhook body) + /// Store + public Store UpdateStore (int applicationId, string storeId, NewStore body) { - TalonOne.Client.ApiResponse localVarResponse = UpdateNotificationWebhookWithHttpInfo(applicationId, notificationWebhookId, body); + TalonOne.Client.ApiResponse localVarResponse = UpdateStoreWithHttpInfo(applicationId, storeId, body); return localVarResponse.Data; } /// - /// Update notification about campaign-related changes Update the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). **Tip:** You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_edited/post). + /// Update store Update store details for a specific store ID. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// body - /// ApiResponse of NotificationWebhook - public TalonOne.Client.ApiResponse< NotificationWebhook > UpdateNotificationWebhookWithHttpInfo (int applicationId, int notificationWebhookId, NewNotificationWebhook body) + /// ApiResponse of Store + public TalonOne.Client.ApiResponse< Store > UpdateStoreWithHttpInfo (int applicationId, string storeId, NewStore body) { + // verify the required parameter 'storeId' is set + if (storeId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'storeId' when calling ManagementApi->UpdateStore"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateNotificationWebhook"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateStore"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -29938,7 +35296,7 @@ public TalonOne.Client.ApiResponse< NotificationWebhook > UpdateNotificationWebh if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("notificationWebhookId", TalonOne.Client.ClientUtils.ParameterToString(notificationWebhookId)); // path parameter + localVarRequestOptions.PathParameters.Add("storeId", TalonOne.Client.ClientUtils.ParameterToString(storeId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -29963,12 +35321,12 @@ public TalonOne.Client.ApiResponse< NotificationWebhook > UpdateNotificationWebh } // make the HTTP request - var localVarResponse = this.Client.Put< NotificationWebhook >("/v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< Store >("/v1/applications/{applicationId}/stores/{storeId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateNotificationWebhook", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateStore", localVarResponse); if (_exception != null) throw _exception; } @@ -29976,33 +35334,37 @@ public TalonOne.Client.ApiResponse< NotificationWebhook > UpdateNotificationWebh } /// - /// Update notification about campaign-related changes Update the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). **Tip:** You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_edited/post). + /// Update store Update store details for a specific store ID. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// body - /// Task of NotificationWebhook - public async System.Threading.Tasks.Task UpdateNotificationWebhookAsync (int applicationId, int notificationWebhookId, NewNotificationWebhook body) + /// Task of Store + public async System.Threading.Tasks.Task UpdateStoreAsync (int applicationId, string storeId, NewStore body) { - TalonOne.Client.ApiResponse localVarResponse = await UpdateNotificationWebhookAsyncWithHttpInfo(applicationId, notificationWebhookId, body); + TalonOne.Client.ApiResponse localVarResponse = await UpdateStoreAsyncWithHttpInfo(applicationId, storeId, body); return localVarResponse.Data; } /// - /// Update notification about campaign-related changes Update the given [notification about campaign-related changes](https://docs.talon.one/docs/product/applications/outbound-notifications). **Tip:** You can review the payload you will receive in the [specs](https://docs.talon.one/outbound-notifications#/paths/campaign_edited/post). + /// Update store Update store details for a specific store ID. /// /// Thrown when fails to make API call /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the webhook. Get it with the appropriate _List notifications_ endpoint. + /// The ID of the store. You can get this ID with the [List stores](#tag/Stores/operation/listStores) endpoint. /// body - /// Task of ApiResponse (NotificationWebhook) - public async System.Threading.Tasks.Task> UpdateNotificationWebhookAsyncWithHttpInfo (int applicationId, int notificationWebhookId, NewNotificationWebhook body) + /// Task of ApiResponse (Store) + public async System.Threading.Tasks.Task> UpdateStoreAsyncWithHttpInfo (int applicationId, string storeId, NewStore body) { + // verify the required parameter 'storeId' is set + if (storeId == null) + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'storeId' when calling ManagementApi->UpdateStore"); + // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateNotificationWebhook"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateStore"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -30023,7 +35385,7 @@ public async System.Threading.Tasks.Task UpdateNotification localVarRequestOptions.HeaderParameters.Add("Accept", _accept); localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("notificationWebhookId", TalonOne.Client.ClientUtils.ParameterToString(notificationWebhookId)); // path parameter + localVarRequestOptions.PathParameters.Add("storeId", TalonOne.Client.ClientUtils.ParameterToString(storeId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -30049,12 +35411,12 @@ public async System.Threading.Tasks.Task UpdateNotification // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/notification_webhooks/{notificationWebhookId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/stores/{storeId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateNotificationWebhook", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateStore", localVarResponse); if (_exception != null) throw _exception; } @@ -30062,38 +35424,30 @@ public async System.Threading.Tasks.Task UpdateNotification } /// - /// Update referral Update the specified referral. + /// Update user Update the details of a specific user. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the user. /// body - /// Referral - public Referral UpdateReferral (int applicationId, int campaignId, string referralId, UpdateReferral body) + /// User + public User UpdateUser (int userId, UpdateUser body) { - TalonOne.Client.ApiResponse localVarResponse = UpdateReferralWithHttpInfo(applicationId, campaignId, referralId, body); + TalonOne.Client.ApiResponse localVarResponse = UpdateUserWithHttpInfo(userId, body); return localVarResponse.Data; } /// - /// Update referral Update the specified referral. + /// Update user Update the details of a specific user. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the user. /// body - /// ApiResponse of Referral - public TalonOne.Client.ApiResponse< Referral > UpdateReferralWithHttpInfo (int applicationId, int campaignId, string referralId, UpdateReferral body) + /// ApiResponse of User + public TalonOne.Client.ApiResponse< User > UpdateUserWithHttpInfo (int userId, UpdateUser body) { - // verify the required parameter 'referralId' is set - if (referralId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'referralId' when calling ManagementApi->UpdateReferral"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateReferral"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateUser"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -30112,9 +35466,7 @@ public TalonOne.Client.ApiResponse< Referral > UpdateReferralWithHttpInfo (int a var localVarAccept = TalonOne.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("referralId", TalonOne.Client.ClientUtils.ParameterToString(referralId)); // path parameter + localVarRequestOptions.PathParameters.Add("userId", TalonOne.Client.ClientUtils.ParameterToString(userId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -30139,12 +35491,12 @@ public TalonOne.Client.ApiResponse< Referral > UpdateReferralWithHttpInfo (int a } // make the HTTP request - var localVarResponse = this.Client.Put< Referral >("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Put< User >("/v1/users/{userId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateReferral", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateUser", localVarResponse); if (_exception != null) throw _exception; } @@ -30152,39 +35504,31 @@ public TalonOne.Client.ApiResponse< Referral > UpdateReferralWithHttpInfo (int a } /// - /// Update referral Update the specified referral. + /// Update user Update the details of a specific user. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the user. /// body - /// Task of Referral - public async System.Threading.Tasks.Task UpdateReferralAsync (int applicationId, int campaignId, string referralId, UpdateReferral body) + /// Task of User + public async System.Threading.Tasks.Task UpdateUserAsync (int userId, UpdateUser body) { - TalonOne.Client.ApiResponse localVarResponse = await UpdateReferralAsyncWithHttpInfo(applicationId, campaignId, referralId, body); + TalonOne.Client.ApiResponse localVarResponse = await UpdateUserAsyncWithHttpInfo(userId, body); return localVarResponse.Data; } /// - /// Update referral Update the specified referral. + /// Update user Update the details of a specific user. /// /// Thrown when fails to make API call - /// The ID of the Application. It is displayed in your Talon.One deployment URL. - /// The ID of the campaign. It is displayed in your Talon.One deployment URL. - /// The ID of the referral code. + /// The ID of the user. /// body - /// Task of ApiResponse (Referral) - public async System.Threading.Tasks.Task> UpdateReferralAsyncWithHttpInfo (int applicationId, int campaignId, string referralId, UpdateReferral body) + /// Task of ApiResponse (User) + public async System.Threading.Tasks.Task> UpdateUserAsyncWithHttpInfo (int userId, UpdateUser body) { - // verify the required parameter 'referralId' is set - if (referralId == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'referralId' when calling ManagementApi->UpdateReferral"); - // verify the required parameter 'body' is set if (body == null) - throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateReferral"); + throw new TalonOne.Client.ApiException(400, "Missing required parameter 'body' when calling ManagementApi->UpdateUser"); TalonOne.Client.RequestOptions localVarRequestOptions = new TalonOne.Client.RequestOptions(); @@ -30204,9 +35548,7 @@ public async System.Threading.Tasks.Task UpdateReferralAsync (int appl foreach (var _accept in _accepts) localVarRequestOptions.HeaderParameters.Add("Accept", _accept); - localVarRequestOptions.PathParameters.Add("applicationId", TalonOne.Client.ClientUtils.ParameterToString(applicationId)); // path parameter - localVarRequestOptions.PathParameters.Add("campaignId", TalonOne.Client.ClientUtils.ParameterToString(campaignId)); // path parameter - localVarRequestOptions.PathParameters.Add("referralId", TalonOne.Client.ClientUtils.ParameterToString(referralId)); // path parameter + localVarRequestOptions.PathParameters.Add("userId", TalonOne.Client.ClientUtils.ParameterToString(userId)); // path parameter localVarRequestOptions.Data = body; // authentication (management_key) required @@ -30232,12 +35574,12 @@ public async System.Threading.Tasks.Task UpdateReferralAsync (int appl // make the HTTP request - var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId}", localVarRequestOptions, this.Configuration); + var localVarResponse = await this.AsynchronousClient.PutAsync("/v1/users/{userId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("UpdateReferral", localVarResponse); + Exception _exception = this.ExceptionFactory("UpdateUser", localVarResponse); if (_exception != null) throw _exception; } diff --git a/src/TalonOne/Client/Configuration.cs b/src/TalonOne/Client/Configuration.cs index 3cc39d2..a427ace 100644 --- a/src/TalonOne/Client/Configuration.cs +++ b/src/TalonOne/Client/Configuration.cs @@ -31,7 +31,7 @@ public class Configuration : IReadableConfiguration /// Version of the package. /// /// Version of the package. - public const string Version = "5.0.2"; + public const string Version = "6.0.0"; /// /// Identifier for ISO 8601 DateTime Format @@ -96,7 +96,7 @@ public class Configuration : IReadableConfiguration [System.Diagnostics.CodeAnalysis.SuppressMessage("ReSharper", "VirtualMemberCallInConstructor")] public Configuration() { - UserAgent = "OpenAPI-Generator/5.0.2/csharp"; + UserAgent = "OpenAPI-Generator/6.0.0/csharp"; BasePath = "https://yourbaseurl.talon.one"; DefaultHeaders = new ConcurrentDictionary(); ApiKey = new ConcurrentDictionary(); @@ -351,7 +351,7 @@ public static String ToDebugReport() String report = "C# SDK (TalonOne) Debug Report:\n"; report += " OS: " + System.Runtime.InteropServices.RuntimeInformation.OSDescription + "\n"; report += " Version of the API: \n"; - report += " SDK Package Version: 5.0.2\n"; + report += " SDK Package Version: 6.0.0\n"; return report; } diff --git a/src/TalonOne/Model/AccountAdditionalCost.cs b/src/TalonOne/Model/AccountAdditionalCost.cs index aac32a5..462c3c2 100644 --- a/src/TalonOne/Model/AccountAdditionalCost.cs +++ b/src/TalonOne/Model/AccountAdditionalCost.cs @@ -268,7 +268,7 @@ public override int GetHashCode() IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { // Name (string) pattern - Regex regexName = new Regex(@"^[A-Za-z](\\w|\\s)*$", RegexOptions.CultureInvariant); + Regex regexName = new Regex(@"^[A-Za-z]\\w*$", RegexOptions.CultureInvariant); if (false == regexName.Match(this.Name).Success) { yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, must match a pattern of " + regexName, new [] { "Name" }); diff --git a/src/TalonOne/Model/AccountAnalytics.cs b/src/TalonOne/Model/AccountAnalytics.cs index ec11ae9..76d2b9f 100644 --- a/src/TalonOne/Model/AccountAnalytics.cs +++ b/src/TalonOne/Model/AccountAnalytics.cs @@ -58,7 +58,8 @@ protected AccountAnalytics() { } /// Total number of webhooks in the account. (required). /// Total number of all loyalty programs in the account. (required). /// Total number of live loyalty programs in the account. (required). - public AccountAnalytics(int applications = default(int), int liveApplications = default(int), int sandboxApplications = default(int), int campaigns = default(int), int activeCampaigns = default(int), int liveActiveCampaigns = default(int), int coupons = default(int), int activeCoupons = default(int), int expiredCoupons = default(int), int referralCodes = default(int), int activeReferralCodes = default(int), int expiredReferralCodes = default(int), int activeRules = default(int), int users = default(int), int roles = default(int), int customAttributes = default(int), int webhooks = default(int), int loyaltyPrograms = default(int), int liveLoyaltyPrograms = default(int)) + /// The point in time when the analytics numbers were updated last. (required). + public AccountAnalytics(int applications = default(int), int liveApplications = default(int), int sandboxApplications = default(int), int campaigns = default(int), int activeCampaigns = default(int), int liveActiveCampaigns = default(int), int coupons = default(int), int activeCoupons = default(int), int expiredCoupons = default(int), int referralCodes = default(int), int activeReferralCodes = default(int), int expiredReferralCodes = default(int), int activeRules = default(int), int users = default(int), int roles = default(int), int customAttributes = default(int), int webhooks = default(int), int loyaltyPrograms = default(int), int liveLoyaltyPrograms = default(int), DateTime lastUpdatedAt = default(DateTime)) { this.Applications = applications; this.LiveApplications = liveApplications; @@ -79,6 +80,7 @@ protected AccountAnalytics() { } this.Webhooks = webhooks; this.LoyaltyPrograms = loyaltyPrograms; this.LiveLoyaltyPrograms = liveLoyaltyPrograms; + this.LastUpdatedAt = lastUpdatedAt; } /// @@ -214,6 +216,13 @@ protected AccountAnalytics() { } [DataMember(Name="liveLoyaltyPrograms", EmitDefaultValue=false)] public int LiveLoyaltyPrograms { get; set; } + /// + /// The point in time when the analytics numbers were updated last. + /// + /// The point in time when the analytics numbers were updated last. + [DataMember(Name="lastUpdatedAt", EmitDefaultValue=false)] + public DateTime LastUpdatedAt { get; set; } + /// /// Returns the string presentation of the object /// @@ -241,6 +250,7 @@ public override string ToString() sb.Append(" Webhooks: ").Append(Webhooks).Append("\n"); sb.Append(" LoyaltyPrograms: ").Append(LoyaltyPrograms).Append("\n"); sb.Append(" LiveLoyaltyPrograms: ").Append(LiveLoyaltyPrograms).Append("\n"); + sb.Append(" LastUpdatedAt: ").Append(LastUpdatedAt).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -350,6 +360,11 @@ public bool Equals(AccountAnalytics input) ( this.LiveLoyaltyPrograms == input.LiveLoyaltyPrograms || this.LiveLoyaltyPrograms.Equals(input.LiveLoyaltyPrograms) + ) && + ( + this.LastUpdatedAt == input.LastUpdatedAt || + (this.LastUpdatedAt != null && + this.LastUpdatedAt.Equals(input.LastUpdatedAt)) ); } @@ -381,6 +396,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Webhooks.GetHashCode(); hashCode = hashCode * 59 + this.LoyaltyPrograms.GetHashCode(); hashCode = hashCode * 59 + this.LiveLoyaltyPrograms.GetHashCode(); + if (this.LastUpdatedAt != null) + hashCode = hashCode * 59 + this.LastUpdatedAt.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/AccountDashboardStatistic.cs b/src/TalonOne/Model/AccountDashboardStatistic.cs index 3fa30fa..2236b90 100644 --- a/src/TalonOne/Model/AccountDashboardStatistic.cs +++ b/src/TalonOne/Model/AccountDashboardStatistic.cs @@ -43,9 +43,8 @@ protected AccountDashboardStatistic() { } /// Aggregated statistic for account discount.. /// Aggregated statistic for account loyalty points.. /// Aggregated statistic for account referrals.. - /// Aggregated statistic for the number of account API calls.. /// campaigns (required). - public AccountDashboardStatistic(List revenue = default(List), List discounts = default(List), List loyaltyPoints = default(List), List referrals = default(List), List apiCalls = default(List), AccountDashboardStatisticCampaigns campaigns = default(AccountDashboardStatisticCampaigns)) + public AccountDashboardStatistic(List revenue = default(List), List discounts = default(List), List loyaltyPoints = default(List), List referrals = default(List), AccountDashboardStatisticCampaigns campaigns = default(AccountDashboardStatisticCampaigns)) { // to ensure "campaigns" is required (not null) this.Campaigns = campaigns ?? throw new ArgumentNullException("campaigns is a required property for AccountDashboardStatistic and cannot be null"); @@ -53,7 +52,6 @@ protected AccountDashboardStatistic() { } this.Discounts = discounts; this.LoyaltyPoints = loyaltyPoints; this.Referrals = referrals; - this.ApiCalls = apiCalls; } /// @@ -84,13 +82,6 @@ protected AccountDashboardStatistic() { } [DataMember(Name="referrals", EmitDefaultValue=false)] public List Referrals { get; set; } - /// - /// Aggregated statistic for the number of account API calls. - /// - /// Aggregated statistic for the number of account API calls. - [DataMember(Name="apiCalls", EmitDefaultValue=false)] - public List ApiCalls { get; set; } - /// /// Gets or Sets Campaigns /// @@ -109,7 +100,6 @@ public override string ToString() sb.Append(" Discounts: ").Append(Discounts).Append("\n"); sb.Append(" LoyaltyPoints: ").Append(LoyaltyPoints).Append("\n"); sb.Append(" Referrals: ").Append(Referrals).Append("\n"); - sb.Append(" ApiCalls: ").Append(ApiCalls).Append("\n"); sb.Append(" Campaigns: ").Append(Campaigns).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -169,12 +159,6 @@ public bool Equals(AccountDashboardStatistic input) input.Referrals != null && this.Referrals.SequenceEqual(input.Referrals) ) && - ( - this.ApiCalls == input.ApiCalls || - this.ApiCalls != null && - input.ApiCalls != null && - this.ApiCalls.SequenceEqual(input.ApiCalls) - ) && ( this.Campaigns == input.Campaigns || (this.Campaigns != null && @@ -199,8 +183,6 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.LoyaltyPoints.GetHashCode(); if (this.Referrals != null) hashCode = hashCode * 59 + this.Referrals.GetHashCode(); - if (this.ApiCalls != null) - hashCode = hashCode * 59 + this.ApiCalls.GetHashCode(); if (this.Campaigns != null) hashCode = hashCode * 59 + this.Campaigns.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/AccountDashboardStatisticCampaigns.cs b/src/TalonOne/Model/AccountDashboardStatisticCampaigns.cs index 9da4741..651101f 100644 --- a/src/TalonOne/Model/AccountDashboardStatisticCampaigns.cs +++ b/src/TalonOne/Model/AccountDashboardStatisticCampaigns.cs @@ -40,11 +40,13 @@ protected AccountDashboardStatisticCampaigns() { } /// Initializes a new instance of the class. /// /// Number of campaigns that are active and live (across all Applications). (required). - /// Campaigns with a schedule ending in 7 days or with only 10% of budget left. (required). - public AccountDashboardStatisticCampaigns(int live = default(int), int endingSoon = default(int)) + /// Campaigns scheduled to expire sometime in the next 7 days. (required). + /// Campaigns with less than 10% of budget left. (required). + public AccountDashboardStatisticCampaigns(int live = default(int), int endingSoon = default(int), int lowOnBudget = default(int)) { this.Live = live; this.EndingSoon = endingSoon; + this.LowOnBudget = lowOnBudget; } /// @@ -55,12 +57,19 @@ protected AccountDashboardStatisticCampaigns() { } public int Live { get; set; } /// - /// Campaigns with a schedule ending in 7 days or with only 10% of budget left. + /// Campaigns scheduled to expire sometime in the next 7 days. /// - /// Campaigns with a schedule ending in 7 days or with only 10% of budget left. + /// Campaigns scheduled to expire sometime in the next 7 days. [DataMember(Name="endingSoon", EmitDefaultValue=false)] public int EndingSoon { get; set; } + /// + /// Campaigns with less than 10% of budget left. + /// + /// Campaigns with less than 10% of budget left. + [DataMember(Name="lowOnBudget", EmitDefaultValue=false)] + public int LowOnBudget { get; set; } + /// /// Returns the string presentation of the object /// @@ -71,6 +80,7 @@ public override string ToString() sb.Append("class AccountDashboardStatisticCampaigns {\n"); sb.Append(" Live: ").Append(Live).Append("\n"); sb.Append(" EndingSoon: ").Append(EndingSoon).Append("\n"); + sb.Append(" LowOnBudget: ").Append(LowOnBudget).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -112,6 +122,10 @@ public bool Equals(AccountDashboardStatisticCampaigns input) ( this.EndingSoon == input.EndingSoon || this.EndingSoon.Equals(input.EndingSoon) + ) && + ( + this.LowOnBudget == input.LowOnBudget || + this.LowOnBudget.Equals(input.LowOnBudget) ); } @@ -126,6 +140,7 @@ public override int GetHashCode() int hashCode = 41; hashCode = hashCode * 59 + this.Live.GetHashCode(); hashCode = hashCode * 59 + this.EndingSoon.GetHashCode(); + hashCode = hashCode * 59 + this.LowOnBudget.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/Achievement.cs b/src/TalonOne/Model/Achievement.cs new file mode 100644 index 0000000..8e849b4 --- /dev/null +++ b/src/TalonOne/Model/Achievement.cs @@ -0,0 +1,331 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// Achievement + /// + [DataContract] + public partial class Achievement : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Achievement() { } + /// + /// Initializes a new instance of the class. + /// + /// Internal ID of this entity. (required). + /// The time this entity was created. (required). + /// The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created. (required). + /// The display name for the achievement in the Campaign Manager. (required). + /// A description of the achievement. (required). + /// The required number of actions or the transactional milestone to complete the achievement. (required). + /// The relative duration after which the achievement ends and resets for a particular customer profile. **Note**: The `period` does not start when the achievement is created. The period is a **positive real number** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can also round certain units down to the beginning of period and up to the end of period.: - `_D` for rounding down days only. Signifies the start of the day. Example: `30D_D` - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. Example: `23W_U` **Note**: You can either use the round down and round up option or set an absolute period. (required). + /// periodEndOverride. + /// ID of the campaign, to which the achievement belongs to (required). + /// ID of the user that created this achievement. (required). + /// Name of the user that created the achievement. **Note**: This is not available if the user has been deleted. (required). + /// Indicates if a customer has made progress in the achievement.. + public Achievement(int id = default(int), DateTime created = default(DateTime), string name = default(string), string title = default(string), string description = default(string), decimal target = default(decimal), string period = default(string), TimePoint periodEndOverride = default(TimePoint), int campaignId = default(int), int userId = default(int), string createdBy = default(string), bool hasProgress = default(bool)) + { + this.Id = id; + this.Created = created; + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for Achievement and cannot be null"); + // to ensure "title" is required (not null) + this.Title = title ?? throw new ArgumentNullException("title is a required property for Achievement and cannot be null"); + // to ensure "description" is required (not null) + this.Description = description ?? throw new ArgumentNullException("description is a required property for Achievement and cannot be null"); + this.Target = target; + // to ensure "period" is required (not null) + this.Period = period ?? throw new ArgumentNullException("period is a required property for Achievement and cannot be null"); + this.CampaignId = campaignId; + this.UserId = userId; + // to ensure "createdBy" is required (not null) + this.CreatedBy = createdBy ?? throw new ArgumentNullException("createdBy is a required property for Achievement and cannot be null"); + this.PeriodEndOverride = periodEndOverride; + this.HasProgress = hasProgress; + } + + /// + /// Internal ID of this entity. + /// + /// Internal ID of this entity. + [DataMember(Name="id", EmitDefaultValue=false)] + public int Id { get; set; } + + /// + /// The time this entity was created. + /// + /// The time this entity was created. + [DataMember(Name="created", EmitDefaultValue=false)] + public DateTime Created { get; set; } + + /// + /// The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created. + /// + /// The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// The display name for the achievement in the Campaign Manager. + /// + /// The display name for the achievement in the Campaign Manager. + [DataMember(Name="title", EmitDefaultValue=false)] + public string Title { get; set; } + + /// + /// A description of the achievement. + /// + /// A description of the achievement. + [DataMember(Name="description", EmitDefaultValue=false)] + public string Description { get; set; } + + /// + /// The required number of actions or the transactional milestone to complete the achievement. + /// + /// The required number of actions or the transactional milestone to complete the achievement. + [DataMember(Name="target", EmitDefaultValue=false)] + public decimal Target { get; set; } + + /// + /// The relative duration after which the achievement ends and resets for a particular customer profile. **Note**: The `period` does not start when the achievement is created. The period is a **positive real number** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can also round certain units down to the beginning of period and up to the end of period.: - `_D` for rounding down days only. Signifies the start of the day. Example: `30D_D` - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. Example: `23W_U` **Note**: You can either use the round down and round up option or set an absolute period. + /// + /// The relative duration after which the achievement ends and resets for a particular customer profile. **Note**: The `period` does not start when the achievement is created. The period is a **positive real number** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can also round certain units down to the beginning of period and up to the end of period.: - `_D` for rounding down days only. Signifies the start of the day. Example: `30D_D` - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. Example: `23W_U` **Note**: You can either use the round down and round up option or set an absolute period. + [DataMember(Name="period", EmitDefaultValue=false)] + public string Period { get; set; } + + /// + /// Gets or Sets PeriodEndOverride + /// + [DataMember(Name="periodEndOverride", EmitDefaultValue=false)] + public TimePoint PeriodEndOverride { get; set; } + + /// + /// ID of the campaign, to which the achievement belongs to + /// + /// ID of the campaign, to which the achievement belongs to + [DataMember(Name="campaignId", EmitDefaultValue=false)] + public int CampaignId { get; set; } + + /// + /// ID of the user that created this achievement. + /// + /// ID of the user that created this achievement. + [DataMember(Name="userId", EmitDefaultValue=false)] + public int UserId { get; set; } + + /// + /// Name of the user that created the achievement. **Note**: This is not available if the user has been deleted. + /// + /// Name of the user that created the achievement. **Note**: This is not available if the user has been deleted. + [DataMember(Name="createdBy", EmitDefaultValue=false)] + public string CreatedBy { get; set; } + + /// + /// Indicates if a customer has made progress in the achievement. + /// + /// Indicates if a customer has made progress in the achievement. + [DataMember(Name="hasProgress", EmitDefaultValue=false)] + public bool HasProgress { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class Achievement {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Created: ").Append(Created).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Title: ").Append(Title).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Target: ").Append(Target).Append("\n"); + sb.Append(" Period: ").Append(Period).Append("\n"); + sb.Append(" PeriodEndOverride: ").Append(PeriodEndOverride).Append("\n"); + sb.Append(" CampaignId: ").Append(CampaignId).Append("\n"); + sb.Append(" UserId: ").Append(UserId).Append("\n"); + sb.Append(" CreatedBy: ").Append(CreatedBy).Append("\n"); + sb.Append(" HasProgress: ").Append(HasProgress).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as Achievement); + } + + /// + /// Returns true if Achievement instances are equal + /// + /// Instance of Achievement to be compared + /// Boolean + public bool Equals(Achievement input) + { + if (input == null) + return false; + + return + ( + this.Id == input.Id || + this.Id.Equals(input.Id) + ) && + ( + this.Created == input.Created || + (this.Created != null && + this.Created.Equals(input.Created)) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.Title == input.Title || + (this.Title != null && + this.Title.Equals(input.Title)) + ) && + ( + this.Description == input.Description || + (this.Description != null && + this.Description.Equals(input.Description)) + ) && + ( + this.Target == input.Target || + this.Target.Equals(input.Target) + ) && + ( + this.Period == input.Period || + (this.Period != null && + this.Period.Equals(input.Period)) + ) && + ( + this.PeriodEndOverride == input.PeriodEndOverride || + (this.PeriodEndOverride != null && + this.PeriodEndOverride.Equals(input.PeriodEndOverride)) + ) && + ( + this.CampaignId == input.CampaignId || + this.CampaignId.Equals(input.CampaignId) + ) && + ( + this.UserId == input.UserId || + this.UserId.Equals(input.UserId) + ) && + ( + this.CreatedBy == input.CreatedBy || + (this.CreatedBy != null && + this.CreatedBy.Equals(input.CreatedBy)) + ) && + ( + this.HasProgress == input.HasProgress || + this.HasProgress.Equals(input.HasProgress) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Id.GetHashCode(); + if (this.Created != null) + hashCode = hashCode * 59 + this.Created.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.Title != null) + hashCode = hashCode * 59 + this.Title.GetHashCode(); + if (this.Description != null) + hashCode = hashCode * 59 + this.Description.GetHashCode(); + hashCode = hashCode * 59 + this.Target.GetHashCode(); + if (this.Period != null) + hashCode = hashCode * 59 + this.Period.GetHashCode(); + if (this.PeriodEndOverride != null) + hashCode = hashCode * 59 + this.PeriodEndOverride.GetHashCode(); + hashCode = hashCode * 59 + this.CampaignId.GetHashCode(); + hashCode = hashCode * 59 + this.UserId.GetHashCode(); + if (this.CreatedBy != null) + hashCode = hashCode * 59 + this.CreatedBy.GetHashCode(); + hashCode = hashCode * 59 + this.HasProgress.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 1000.", new [] { "Name" }); + } + + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + // Name (string) pattern + Regex regexName = new Regex(@"^[a-zA-Z]\\w+$", RegexOptions.CultureInvariant); + if (false == regexName.Match(this.Name).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, must match a pattern of " + regexName, new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/AchievementAdditionalProperties.cs b/src/TalonOne/Model/AchievementAdditionalProperties.cs new file mode 100644 index 0000000..32b613e --- /dev/null +++ b/src/TalonOne/Model/AchievementAdditionalProperties.cs @@ -0,0 +1,177 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// AchievementAdditionalProperties + /// + [DataContract] + public partial class AchievementAdditionalProperties : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected AchievementAdditionalProperties() { } + /// + /// Initializes a new instance of the class. + /// + /// ID of the campaign, to which the achievement belongs to (required). + /// ID of the user that created this achievement. (required). + /// Name of the user that created the achievement. **Note**: This is not available if the user has been deleted. (required). + /// Indicates if a customer has made progress in the achievement.. + public AchievementAdditionalProperties(int campaignId = default(int), int userId = default(int), string createdBy = default(string), bool hasProgress = default(bool)) + { + this.CampaignId = campaignId; + this.UserId = userId; + // to ensure "createdBy" is required (not null) + this.CreatedBy = createdBy ?? throw new ArgumentNullException("createdBy is a required property for AchievementAdditionalProperties and cannot be null"); + this.HasProgress = hasProgress; + } + + /// + /// ID of the campaign, to which the achievement belongs to + /// + /// ID of the campaign, to which the achievement belongs to + [DataMember(Name="campaignId", EmitDefaultValue=false)] + public int CampaignId { get; set; } + + /// + /// ID of the user that created this achievement. + /// + /// ID of the user that created this achievement. + [DataMember(Name="userId", EmitDefaultValue=false)] + public int UserId { get; set; } + + /// + /// Name of the user that created the achievement. **Note**: This is not available if the user has been deleted. + /// + /// Name of the user that created the achievement. **Note**: This is not available if the user has been deleted. + [DataMember(Name="createdBy", EmitDefaultValue=false)] + public string CreatedBy { get; set; } + + /// + /// Indicates if a customer has made progress in the achievement. + /// + /// Indicates if a customer has made progress in the achievement. + [DataMember(Name="hasProgress", EmitDefaultValue=false)] + public bool HasProgress { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class AchievementAdditionalProperties {\n"); + sb.Append(" CampaignId: ").Append(CampaignId).Append("\n"); + sb.Append(" UserId: ").Append(UserId).Append("\n"); + sb.Append(" CreatedBy: ").Append(CreatedBy).Append("\n"); + sb.Append(" HasProgress: ").Append(HasProgress).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as AchievementAdditionalProperties); + } + + /// + /// Returns true if AchievementAdditionalProperties instances are equal + /// + /// Instance of AchievementAdditionalProperties to be compared + /// Boolean + public bool Equals(AchievementAdditionalProperties input) + { + if (input == null) + return false; + + return + ( + this.CampaignId == input.CampaignId || + this.CampaignId.Equals(input.CampaignId) + ) && + ( + this.UserId == input.UserId || + this.UserId.Equals(input.UserId) + ) && + ( + this.CreatedBy == input.CreatedBy || + (this.CreatedBy != null && + this.CreatedBy.Equals(input.CreatedBy)) + ) && + ( + this.HasProgress == input.HasProgress || + this.HasProgress.Equals(input.HasProgress) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.CampaignId.GetHashCode(); + hashCode = hashCode * 59 + this.UserId.GetHashCode(); + if (this.CreatedBy != null) + hashCode = hashCode * 59 + this.CreatedBy.GetHashCode(); + hashCode = hashCode * 59 + this.HasProgress.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/AchievementProgress.cs b/src/TalonOne/Model/AchievementProgress.cs new file mode 100644 index 0000000..237f11b --- /dev/null +++ b/src/TalonOne/Model/AchievementProgress.cs @@ -0,0 +1,321 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// AchievementProgress + /// + [DataContract] + public partial class AchievementProgress : IEquatable, IValidatableObject + { + /// + /// The status of the achievement. + /// + /// The status of the achievement. + [JsonConverter(typeof(StringEnumConverter))] + public enum StatusEnum + { + /// + /// Enum Inprogress for value: inprogress + /// + [EnumMember(Value = "inprogress")] + Inprogress = 1, + + /// + /// Enum Completed for value: completed + /// + [EnumMember(Value = "completed")] + Completed = 2, + + /// + /// Enum Expired for value: expired + /// + [EnumMember(Value = "expired")] + Expired = 3 + + } + + /// + /// The status of the achievement. + /// + /// The status of the achievement. + [DataMember(Name="status", EmitDefaultValue=false)] + public StatusEnum Status { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected AchievementProgress() { } + /// + /// Initializes a new instance of the class. + /// + /// The internal ID of the achievement. (required). + /// The internal name of the achievement used in API requests. (required). + /// The display name of the achievement in the Campaign Manager. (required). + /// The ID of the campaign the achievement belongs to. (required). + /// The status of the achievement. (required). + /// The required number of actions or the transactional milestone to complete the achievement.. + /// The current progress of the customer in the achievement. (required). + /// Timestamp at which the customer started the achievement. (required). + /// Timestamp at which point the customer completed the achievement.. + /// Timestamp at which point the achievement ends and resets for the customer. (required). + public AchievementProgress(int achievementId = default(int), string name = default(string), string title = default(string), int campaignId = default(int), StatusEnum status = default(StatusEnum), decimal target = default(decimal), decimal progress = default(decimal), DateTime startDate = default(DateTime), DateTime completionDate = default(DateTime), DateTime endDate = default(DateTime)) + { + this.AchievementId = achievementId; + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for AchievementProgress and cannot be null"); + // to ensure "title" is required (not null) + this.Title = title ?? throw new ArgumentNullException("title is a required property for AchievementProgress and cannot be null"); + this.CampaignId = campaignId; + this.Status = status; + this.Progress = progress; + this.StartDate = startDate; + this.EndDate = endDate; + this.Target = target; + this.CompletionDate = completionDate; + } + + /// + /// The internal ID of the achievement. + /// + /// The internal ID of the achievement. + [DataMember(Name="achievementId", EmitDefaultValue=false)] + public int AchievementId { get; set; } + + /// + /// The internal name of the achievement used in API requests. + /// + /// The internal name of the achievement used in API requests. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// The display name of the achievement in the Campaign Manager. + /// + /// The display name of the achievement in the Campaign Manager. + [DataMember(Name="title", EmitDefaultValue=false)] + public string Title { get; set; } + + /// + /// The ID of the campaign the achievement belongs to. + /// + /// The ID of the campaign the achievement belongs to. + [DataMember(Name="campaignId", EmitDefaultValue=false)] + public int CampaignId { get; set; } + + /// + /// The required number of actions or the transactional milestone to complete the achievement. + /// + /// The required number of actions or the transactional milestone to complete the achievement. + [DataMember(Name="target", EmitDefaultValue=false)] + public decimal Target { get; set; } + + /// + /// The current progress of the customer in the achievement. + /// + /// The current progress of the customer in the achievement. + [DataMember(Name="progress", EmitDefaultValue=false)] + public decimal Progress { get; set; } + + /// + /// Timestamp at which the customer started the achievement. + /// + /// Timestamp at which the customer started the achievement. + [DataMember(Name="startDate", EmitDefaultValue=false)] + public DateTime StartDate { get; set; } + + /// + /// Timestamp at which point the customer completed the achievement. + /// + /// Timestamp at which point the customer completed the achievement. + [DataMember(Name="completionDate", EmitDefaultValue=false)] + public DateTime CompletionDate { get; set; } + + /// + /// Timestamp at which point the achievement ends and resets for the customer. + /// + /// Timestamp at which point the achievement ends and resets for the customer. + [DataMember(Name="endDate", EmitDefaultValue=false)] + public DateTime EndDate { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class AchievementProgress {\n"); + sb.Append(" AchievementId: ").Append(AchievementId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Title: ").Append(Title).Append("\n"); + sb.Append(" CampaignId: ").Append(CampaignId).Append("\n"); + sb.Append(" Status: ").Append(Status).Append("\n"); + sb.Append(" Target: ").Append(Target).Append("\n"); + sb.Append(" Progress: ").Append(Progress).Append("\n"); + sb.Append(" StartDate: ").Append(StartDate).Append("\n"); + sb.Append(" CompletionDate: ").Append(CompletionDate).Append("\n"); + sb.Append(" EndDate: ").Append(EndDate).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as AchievementProgress); + } + + /// + /// Returns true if AchievementProgress instances are equal + /// + /// Instance of AchievementProgress to be compared + /// Boolean + public bool Equals(AchievementProgress input) + { + if (input == null) + return false; + + return + ( + this.AchievementId == input.AchievementId || + this.AchievementId.Equals(input.AchievementId) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.Title == input.Title || + (this.Title != null && + this.Title.Equals(input.Title)) + ) && + ( + this.CampaignId == input.CampaignId || + this.CampaignId.Equals(input.CampaignId) + ) && + ( + this.Status == input.Status || + this.Status.Equals(input.Status) + ) && + ( + this.Target == input.Target || + this.Target.Equals(input.Target) + ) && + ( + this.Progress == input.Progress || + this.Progress.Equals(input.Progress) + ) && + ( + this.StartDate == input.StartDate || + (this.StartDate != null && + this.StartDate.Equals(input.StartDate)) + ) && + ( + this.CompletionDate == input.CompletionDate || + (this.CompletionDate != null && + this.CompletionDate.Equals(input.CompletionDate)) + ) && + ( + this.EndDate == input.EndDate || + (this.EndDate != null && + this.EndDate.Equals(input.EndDate)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.AchievementId.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.Title != null) + hashCode = hashCode * 59 + this.Title.GetHashCode(); + hashCode = hashCode * 59 + this.CampaignId.GetHashCode(); + hashCode = hashCode * 59 + this.Status.GetHashCode(); + hashCode = hashCode * 59 + this.Target.GetHashCode(); + hashCode = hashCode * 59 + this.Progress.GetHashCode(); + if (this.StartDate != null) + hashCode = hashCode * 59 + this.StartDate.GetHashCode(); + if (this.CompletionDate != null) + hashCode = hashCode * 59 + this.CompletionDate.GetHashCode(); + if (this.EndDate != null) + hashCode = hashCode * 59 + this.EndDate.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 1000.", new [] { "Name" }); + } + + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + // Name (string) pattern + Regex regexName = new Regex(@"^[a-zA-Z]\\w+$", RegexOptions.CultureInvariant); + if (false == regexName.Match(this.Name).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, must match a pattern of " + regexName, new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ActivateUserRequest.cs b/src/TalonOne/Model/ActivateUserRequest.cs new file mode 100644 index 0000000..195a25e --- /dev/null +++ b/src/TalonOne/Model/ActivateUserRequest.cs @@ -0,0 +1,132 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// ActivateUserRequest + /// + [DataContract] + public partial class ActivateUserRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ActivateUserRequest() { } + /// + /// Initializes a new instance of the class. + /// + /// The email address associated with the user profile. (required). + public ActivateUserRequest(string email = default(string)) + { + // to ensure "email" is required (not null) + this.Email = email ?? throw new ArgumentNullException("email is a required property for ActivateUserRequest and cannot be null"); + } + + /// + /// The email address associated with the user profile. + /// + /// The email address associated with the user profile. + [DataMember(Name="email", EmitDefaultValue=false)] + public string Email { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ActivateUserRequest {\n"); + sb.Append(" Email: ").Append(Email).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ActivateUserRequest); + } + + /// + /// Returns true if ActivateUserRequest instances are equal + /// + /// Instance of ActivateUserRequest to be compared + /// Boolean + public bool Equals(ActivateUserRequest input) + { + if (input == null) + return false; + + return + ( + this.Email == input.Email || + (this.Email != null && + this.Email.Equals(input.Email)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Email != null) + hashCode = hashCode * 59 + this.Email.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/AddItemCatalogAction.cs b/src/TalonOne/Model/AddItemCatalogAction.cs index df088dd..e0fd799 100644 --- a/src/TalonOne/Model/AddItemCatalogAction.cs +++ b/src/TalonOne/Model/AddItemCatalogAction.cs @@ -26,7 +26,7 @@ namespace TalonOne.Model { /// - /// The specific properties of the \"ADD\" catalog sync action. + /// The specific properties of the \"ADD\" catalog sync action. /// [DataContract] public partial class AddItemCatalogAction : IEquatable, IValidatableObject @@ -42,13 +42,15 @@ protected AddItemCatalogAction() { } /// The unique SKU of the item to add. (required). /// Price of the item.. /// The attributes of the item to add.. - /// Indicates whether to replace the attributes of the item if the same SKU exists. (default to false). - public AddItemCatalogAction(string sku = default(string), decimal price = default(decimal), Object attributes = default(Object), bool replaceIfExists = false) + /// product. + /// Indicates whether to replace the attributes of the item if the same SKU exists. **Note**: When set to `true`: - If you do not provide a new `price` value, the existing `price` value is retained. - If you do not provide a new `product` value, the `product` value is set to `null`. (default to false). + public AddItemCatalogAction(string sku = default(string), decimal price = default(decimal), Object attributes = default(Object), Product product = default(Product), bool replaceIfExists = false) { // to ensure "sku" is required (not null) this.Sku = sku ?? throw new ArgumentNullException("sku is a required property for AddItemCatalogAction and cannot be null"); this.Price = price; this.Attributes = attributes; + this.Product = product; this.ReplaceIfExists = replaceIfExists; } @@ -63,7 +65,7 @@ protected AddItemCatalogAction() { } /// Price of the item. /// /// Price of the item. - [DataMember(Name="price", EmitDefaultValue=true)] + [DataMember(Name="price", EmitDefaultValue=false)] public decimal Price { get; set; } /// @@ -74,9 +76,15 @@ protected AddItemCatalogAction() { } public Object Attributes { get; set; } /// - /// Indicates whether to replace the attributes of the item if the same SKU exists. + /// Gets or Sets Product /// - /// Indicates whether to replace the attributes of the item if the same SKU exists. + [DataMember(Name="product", EmitDefaultValue=false)] + public Product Product { get; set; } + + /// + /// Indicates whether to replace the attributes of the item if the same SKU exists. **Note**: When set to `true`: - If you do not provide a new `price` value, the existing `price` value is retained. - If you do not provide a new `product` value, the `product` value is set to `null`. + /// + /// Indicates whether to replace the attributes of the item if the same SKU exists. **Note**: When set to `true`: - If you do not provide a new `price` value, the existing `price` value is retained. - If you do not provide a new `product` value, the `product` value is set to `null`. [DataMember(Name="replaceIfExists", EmitDefaultValue=false)] public bool ReplaceIfExists { get; set; } @@ -91,6 +99,7 @@ public override string ToString() sb.Append(" Sku: ").Append(Sku).Append("\n"); sb.Append(" Price: ").Append(Price).Append("\n"); sb.Append(" Attributes: ").Append(Attributes).Append("\n"); + sb.Append(" Product: ").Append(Product).Append("\n"); sb.Append(" ReplaceIfExists: ").Append(ReplaceIfExists).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -140,6 +149,11 @@ public bool Equals(AddItemCatalogAction input) (this.Attributes != null && this.Attributes.Equals(input.Attributes)) ) && + ( + this.Product == input.Product || + (this.Product != null && + this.Product.Equals(input.Product)) + ) && ( this.ReplaceIfExists == input.ReplaceIfExists || this.ReplaceIfExists.Equals(input.ReplaceIfExists) @@ -160,6 +174,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Price.GetHashCode(); if (this.Attributes != null) hashCode = hashCode * 59 + this.Attributes.GetHashCode(); + if (this.Product != null) + hashCode = hashCode * 59 + this.Product.GetHashCode(); hashCode = hashCode * 59 + this.ReplaceIfExists.GetHashCode(); return hashCode; } diff --git a/src/TalonOne/Model/AddLoyaltyPoints.cs b/src/TalonOne/Model/AddLoyaltyPoints.cs index d85a55b..095d015 100644 --- a/src/TalonOne/Model/AddLoyaltyPoints.cs +++ b/src/TalonOne/Model/AddLoyaltyPoints.cs @@ -41,9 +41,9 @@ protected AddLoyaltyPoints() { } /// /// Amount of loyalty points. (required). /// Name / reason for the point addition.. - /// The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks and months. Signifies the end of the day, week, or month. If passed, `validUntil` should be omitted. . + /// The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted. . /// Date and time when points should expire. The value should be provided in RFC 3339 format. If passed, `validityDuration` should be omitted. . - /// The amount of time before the points are considered valid. The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks and months. Signifies the end of the day, week, or month. . + /// The amount of time before the points are considered valid. The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. . /// Date and time after the points are considered valid. The value should be provided in RFC 3339 format. If passed, `pendingDuration` should be omitted. . /// ID of the subledger the points are added to. If there is no existing subledger with this ID, the subledger is created automatically.. /// ID of the Application that is connected to the loyalty program. It is displayed in your Talon.One deployment URL.. @@ -74,9 +74,9 @@ protected AddLoyaltyPoints() { } public string Name { get; set; } /// - /// The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks and months. Signifies the end of the day, week, or month. If passed, `validUntil` should be omitted. + /// The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted. /// - /// The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks and months. Signifies the end of the day, week, or month. If passed, `validUntil` should be omitted. + /// The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted. [DataMember(Name="validityDuration", EmitDefaultValue=false)] public string ValidityDuration { get; set; } @@ -88,9 +88,9 @@ protected AddLoyaltyPoints() { } public DateTime ValidUntil { get; set; } /// - /// The amount of time before the points are considered valid. The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks and months. Signifies the end of the day, week, or month. + /// The amount of time before the points are considered valid. The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. /// - /// The amount of time before the points are considered valid. The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks and months. Signifies the end of the day, week, or month. + /// The amount of time before the points are considered valid. The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. [DataMember(Name="pendingDuration", EmitDefaultValue=false)] public string PendingDuration { get; set; } diff --git a/src/TalonOne/Model/AddLoyaltyPointsEffectProps.cs b/src/TalonOne/Model/AddLoyaltyPointsEffectProps.cs index 3fef5e5..ad4d68a 100644 --- a/src/TalonOne/Model/AddLoyaltyPointsEffectProps.cs +++ b/src/TalonOne/Model/AddLoyaltyPointsEffectProps.cs @@ -49,7 +49,7 @@ protected AddLoyaltyPointsEffectProps() { } /// Date after which points will expire.. /// The identifier of this addition in the loyalty ledger. (required). /// The index of the item in the cart items list on which the loyal points addition should be applied.. - /// The sub position is triggered when application flattening is enabled. It indicates to which item the loyalty points addition applies, for cart items with `quantity` > 1. . + /// For cart items with `quantity` > 1, the sub position indicates to which item the loyalty points addition is applied. . /// The alphanumeric identifier of the loyalty card. . /// The position of the bundle in a list of item bundles created from the same bundle definition.. /// The name of the bundle definition.. @@ -146,9 +146,9 @@ protected AddLoyaltyPointsEffectProps() { } public decimal CartItemPosition { get; set; } /// - /// The sub position is triggered when application flattening is enabled. It indicates to which item the loyalty points addition applies, for cart items with `quantity` > 1. + /// For cart items with `quantity` > 1, the sub position indicates to which item the loyalty points addition is applied. /// - /// The sub position is triggered when application flattening is enabled. It indicates to which item the loyalty points addition applies, for cart items with `quantity` > 1. + /// For cart items with `quantity` > 1, the sub position indicates to which item the loyalty points addition is applied. [DataMember(Name="cartItemSubPosition", EmitDefaultValue=false)] public decimal CartItemSubPosition { get; set; } diff --git a/src/TalonOne/Model/AddToAudienceEffectProps.cs b/src/TalonOne/Model/AddToAudienceEffectProps.cs new file mode 100644 index 0000000..8aed82e --- /dev/null +++ b/src/TalonOne/Model/AddToAudienceEffectProps.cs @@ -0,0 +1,173 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The properties specific to the \"addToAudience\" effect. This gets triggered whenever a validated rule contains an \"addToAudience\" effect. + /// + [DataContract] + public partial class AddToAudienceEffectProps : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The internal ID of the audience.. + /// The name of the audience.. + /// The ID of the customer profile in the third-party integration platform.. + /// The internal ID of the customer profile.. + public AddToAudienceEffectProps(int audienceId = default(int), string audienceName = default(string), string profileIntegrationId = default(string), int profileId = default(int)) + { + this.AudienceId = audienceId; + this.AudienceName = audienceName; + this.ProfileIntegrationId = profileIntegrationId; + this.ProfileId = profileId; + } + + /// + /// The internal ID of the audience. + /// + /// The internal ID of the audience. + [DataMember(Name="audienceId", EmitDefaultValue=false)] + public int AudienceId { get; set; } + + /// + /// The name of the audience. + /// + /// The name of the audience. + [DataMember(Name="audienceName", EmitDefaultValue=false)] + public string AudienceName { get; set; } + + /// + /// The ID of the customer profile in the third-party integration platform. + /// + /// The ID of the customer profile in the third-party integration platform. + [DataMember(Name="profileIntegrationId", EmitDefaultValue=false)] + public string ProfileIntegrationId { get; set; } + + /// + /// The internal ID of the customer profile. + /// + /// The internal ID of the customer profile. + [DataMember(Name="profileId", EmitDefaultValue=false)] + public int ProfileId { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class AddToAudienceEffectProps {\n"); + sb.Append(" AudienceId: ").Append(AudienceId).Append("\n"); + sb.Append(" AudienceName: ").Append(AudienceName).Append("\n"); + sb.Append(" ProfileIntegrationId: ").Append(ProfileIntegrationId).Append("\n"); + sb.Append(" ProfileId: ").Append(ProfileId).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as AddToAudienceEffectProps); + } + + /// + /// Returns true if AddToAudienceEffectProps instances are equal + /// + /// Instance of AddToAudienceEffectProps to be compared + /// Boolean + public bool Equals(AddToAudienceEffectProps input) + { + if (input == null) + return false; + + return + ( + this.AudienceId == input.AudienceId || + this.AudienceId.Equals(input.AudienceId) + ) && + ( + this.AudienceName == input.AudienceName || + (this.AudienceName != null && + this.AudienceName.Equals(input.AudienceName)) + ) && + ( + this.ProfileIntegrationId == input.ProfileIntegrationId || + (this.ProfileIntegrationId != null && + this.ProfileIntegrationId.Equals(input.ProfileIntegrationId)) + ) && + ( + this.ProfileId == input.ProfileId || + this.ProfileId.Equals(input.ProfileId) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.AudienceId.GetHashCode(); + if (this.AudienceName != null) + hashCode = hashCode * 59 + this.AudienceName.GetHashCode(); + if (this.ProfileIntegrationId != null) + hashCode = hashCode * 59 + this.ProfileIntegrationId.GetHashCode(); + hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/AdditionalCampaignProperties.cs b/src/TalonOne/Model/AdditionalCampaignProperties.cs new file mode 100644 index 0000000..0158792 --- /dev/null +++ b/src/TalonOne/Model/AdditionalCampaignProperties.cs @@ -0,0 +1,500 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// AdditionalCampaignProperties + /// + [DataContract] + public partial class AdditionalCampaignProperties : IEquatable, IValidatableObject + { + /// + /// A campaign state described exactly as in the Campaign Manager. + /// + /// A campaign state described exactly as in the Campaign Manager. + [JsonConverter(typeof(StringEnumConverter))] + public enum FrontendStateEnum + { + /// + /// Enum Expired for value: expired + /// + [EnumMember(Value = "expired")] + Expired = 1, + + /// + /// Enum Scheduled for value: scheduled + /// + [EnumMember(Value = "scheduled")] + Scheduled = 2, + + /// + /// Enum Running for value: running + /// + [EnumMember(Value = "running")] + Running = 3, + + /// + /// Enum Draft for value: draft + /// + [EnumMember(Value = "draft")] + Draft = 4, + + /// + /// Enum Disabled for value: disabled + /// + [EnumMember(Value = "disabled")] + Disabled = 5, + + /// + /// Enum Archived for value: archived + /// + [EnumMember(Value = "archived")] + Archived = 6 + + } + + /// + /// A campaign state described exactly as in the Campaign Manager. + /// + /// A campaign state described exactly as in the Campaign Manager. + [DataMember(Name="frontendState", EmitDefaultValue=false)] + public FrontendStateEnum FrontendState { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected AdditionalCampaignProperties() { } + /// + /// Initializes a new instance of the class. + /// + /// A list of all the budgets that are defined by this campaign and their usage. **Note:** Budgets that are not defined do not appear in this list and their usage is not counted until they are defined. (required). + /// This property is **deprecated**. The count should be available under *budgets* property. Number of coupons redeemed in the campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Number of referral codes redeemed in the campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total amount of discounts redeemed in the campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times discounts were redeemed in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of coupons created by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of custom effects triggered by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of referrals created by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times the [add free item effect](https://docs.talon.one/docs/dev/integration-api/api-effects#addfreeitem) can be triggered in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of giveaways awarded by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points created by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point creation effects triggered by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points redeemed by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point redemption effects triggered by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of webhooks triggered by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of reserve coupon effects triggered by rules in this campaign. . + /// Timestamp of the most recent event received by this campaign.. + /// Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are **not** registered by this property, such as collection or coupon updates. . + /// Name of the user who created this campaign if available.. + /// Name of the user who last updated this campaign if available.. + /// The ID of the Campaign Template this Campaign was created from.. + /// A campaign state described exactly as in the Campaign Manager. (required). + public AdditionalCampaignProperties(List budgets = default(List), int couponRedemptionCount = default(int), int referralRedemptionCount = default(int), decimal discountCount = default(decimal), int discountEffectCount = default(int), int couponCreationCount = default(int), int customEffectCount = default(int), int referralCreationCount = default(int), int addFreeItemEffectCount = default(int), int awardedGiveawaysCount = default(int), decimal createdLoyaltyPointsCount = default(decimal), int createdLoyaltyPointsEffectCount = default(int), decimal redeemedLoyaltyPointsCount = default(decimal), int redeemedLoyaltyPointsEffectCount = default(int), int callApiEffectCount = default(int), int reservecouponEffectCount = default(int), DateTime lastActivity = default(DateTime), DateTime updated = default(DateTime), string createdBy = default(string), string updatedBy = default(string), int templateId = default(int), FrontendStateEnum frontendState = default(FrontendStateEnum)) + { + // to ensure "budgets" is required (not null) + this.Budgets = budgets ?? throw new ArgumentNullException("budgets is a required property for AdditionalCampaignProperties and cannot be null"); + this.FrontendState = frontendState; + this.CouponRedemptionCount = couponRedemptionCount; + this.ReferralRedemptionCount = referralRedemptionCount; + this.DiscountCount = discountCount; + this.DiscountEffectCount = discountEffectCount; + this.CouponCreationCount = couponCreationCount; + this.CustomEffectCount = customEffectCount; + this.ReferralCreationCount = referralCreationCount; + this.AddFreeItemEffectCount = addFreeItemEffectCount; + this.AwardedGiveawaysCount = awardedGiveawaysCount; + this.CreatedLoyaltyPointsCount = createdLoyaltyPointsCount; + this.CreatedLoyaltyPointsEffectCount = createdLoyaltyPointsEffectCount; + this.RedeemedLoyaltyPointsCount = redeemedLoyaltyPointsCount; + this.RedeemedLoyaltyPointsEffectCount = redeemedLoyaltyPointsEffectCount; + this.CallApiEffectCount = callApiEffectCount; + this.ReservecouponEffectCount = reservecouponEffectCount; + this.LastActivity = lastActivity; + this.Updated = updated; + this.CreatedBy = createdBy; + this.UpdatedBy = updatedBy; + this.TemplateId = templateId; + } + + /// + /// A list of all the budgets that are defined by this campaign and their usage. **Note:** Budgets that are not defined do not appear in this list and their usage is not counted until they are defined. + /// + /// A list of all the budgets that are defined by this campaign and their usage. **Note:** Budgets that are not defined do not appear in this list and their usage is not counted until they are defined. + [DataMember(Name="budgets", EmitDefaultValue=false)] + public List Budgets { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Number of coupons redeemed in the campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Number of coupons redeemed in the campaign. + [DataMember(Name="couponRedemptionCount", EmitDefaultValue=false)] + public int CouponRedemptionCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Number of referral codes redeemed in the campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Number of referral codes redeemed in the campaign. + [DataMember(Name="referralRedemptionCount", EmitDefaultValue=false)] + public int ReferralRedemptionCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total amount of discounts redeemed in the campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total amount of discounts redeemed in the campaign. + [DataMember(Name="discountCount", EmitDefaultValue=false)] + public decimal DiscountCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times discounts were redeemed in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times discounts were redeemed in this campaign. + [DataMember(Name="discountEffectCount", EmitDefaultValue=false)] + public int DiscountEffectCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of coupons created by rules in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of coupons created by rules in this campaign. + [DataMember(Name="couponCreationCount", EmitDefaultValue=false)] + public int CouponCreationCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of custom effects triggered by rules in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of custom effects triggered by rules in this campaign. + [DataMember(Name="customEffectCount", EmitDefaultValue=false)] + public int CustomEffectCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of referrals created by rules in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of referrals created by rules in this campaign. + [DataMember(Name="referralCreationCount", EmitDefaultValue=false)] + public int ReferralCreationCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times the [add free item effect](https://docs.talon.one/docs/dev/integration-api/api-effects#addfreeitem) can be triggered in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times the [add free item effect](https://docs.talon.one/docs/dev/integration-api/api-effects#addfreeitem) can be triggered in this campaign. + [DataMember(Name="addFreeItemEffectCount", EmitDefaultValue=false)] + public int AddFreeItemEffectCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of giveaways awarded by rules in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of giveaways awarded by rules in this campaign. + [DataMember(Name="awardedGiveawaysCount", EmitDefaultValue=false)] + public int AwardedGiveawaysCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points created by rules in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points created by rules in this campaign. + [DataMember(Name="createdLoyaltyPointsCount", EmitDefaultValue=false)] + public decimal CreatedLoyaltyPointsCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point creation effects triggered by rules in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point creation effects triggered by rules in this campaign. + [DataMember(Name="createdLoyaltyPointsEffectCount", EmitDefaultValue=false)] + public int CreatedLoyaltyPointsEffectCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points redeemed by rules in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points redeemed by rules in this campaign. + [DataMember(Name="redeemedLoyaltyPointsCount", EmitDefaultValue=false)] + public decimal RedeemedLoyaltyPointsCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point redemption effects triggered by rules in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point redemption effects triggered by rules in this campaign. + [DataMember(Name="redeemedLoyaltyPointsEffectCount", EmitDefaultValue=false)] + public int RedeemedLoyaltyPointsEffectCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of webhooks triggered by rules in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of webhooks triggered by rules in this campaign. + [DataMember(Name="callApiEffectCount", EmitDefaultValue=false)] + public int CallApiEffectCount { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of reserve coupon effects triggered by rules in this campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of reserve coupon effects triggered by rules in this campaign. + [DataMember(Name="reservecouponEffectCount", EmitDefaultValue=false)] + public int ReservecouponEffectCount { get; set; } + + /// + /// Timestamp of the most recent event received by this campaign. + /// + /// Timestamp of the most recent event received by this campaign. + [DataMember(Name="lastActivity", EmitDefaultValue=false)] + public DateTime LastActivity { get; set; } + + /// + /// Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are **not** registered by this property, such as collection or coupon updates. + /// + /// Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are **not** registered by this property, such as collection or coupon updates. + [DataMember(Name="updated", EmitDefaultValue=false)] + public DateTime Updated { get; set; } + + /// + /// Name of the user who created this campaign if available. + /// + /// Name of the user who created this campaign if available. + [DataMember(Name="createdBy", EmitDefaultValue=false)] + public string CreatedBy { get; set; } + + /// + /// Name of the user who last updated this campaign if available. + /// + /// Name of the user who last updated this campaign if available. + [DataMember(Name="updatedBy", EmitDefaultValue=false)] + public string UpdatedBy { get; set; } + + /// + /// The ID of the Campaign Template this Campaign was created from. + /// + /// The ID of the Campaign Template this Campaign was created from. + [DataMember(Name="templateId", EmitDefaultValue=false)] + public int TemplateId { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class AdditionalCampaignProperties {\n"); + sb.Append(" Budgets: ").Append(Budgets).Append("\n"); + sb.Append(" CouponRedemptionCount: ").Append(CouponRedemptionCount).Append("\n"); + sb.Append(" ReferralRedemptionCount: ").Append(ReferralRedemptionCount).Append("\n"); + sb.Append(" DiscountCount: ").Append(DiscountCount).Append("\n"); + sb.Append(" DiscountEffectCount: ").Append(DiscountEffectCount).Append("\n"); + sb.Append(" CouponCreationCount: ").Append(CouponCreationCount).Append("\n"); + sb.Append(" CustomEffectCount: ").Append(CustomEffectCount).Append("\n"); + sb.Append(" ReferralCreationCount: ").Append(ReferralCreationCount).Append("\n"); + sb.Append(" AddFreeItemEffectCount: ").Append(AddFreeItemEffectCount).Append("\n"); + sb.Append(" AwardedGiveawaysCount: ").Append(AwardedGiveawaysCount).Append("\n"); + sb.Append(" CreatedLoyaltyPointsCount: ").Append(CreatedLoyaltyPointsCount).Append("\n"); + sb.Append(" CreatedLoyaltyPointsEffectCount: ").Append(CreatedLoyaltyPointsEffectCount).Append("\n"); + sb.Append(" RedeemedLoyaltyPointsCount: ").Append(RedeemedLoyaltyPointsCount).Append("\n"); + sb.Append(" RedeemedLoyaltyPointsEffectCount: ").Append(RedeemedLoyaltyPointsEffectCount).Append("\n"); + sb.Append(" CallApiEffectCount: ").Append(CallApiEffectCount).Append("\n"); + sb.Append(" ReservecouponEffectCount: ").Append(ReservecouponEffectCount).Append("\n"); + sb.Append(" LastActivity: ").Append(LastActivity).Append("\n"); + sb.Append(" Updated: ").Append(Updated).Append("\n"); + sb.Append(" CreatedBy: ").Append(CreatedBy).Append("\n"); + sb.Append(" UpdatedBy: ").Append(UpdatedBy).Append("\n"); + sb.Append(" TemplateId: ").Append(TemplateId).Append("\n"); + sb.Append(" FrontendState: ").Append(FrontendState).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as AdditionalCampaignProperties); + } + + /// + /// Returns true if AdditionalCampaignProperties instances are equal + /// + /// Instance of AdditionalCampaignProperties to be compared + /// Boolean + public bool Equals(AdditionalCampaignProperties input) + { + if (input == null) + return false; + + return + ( + this.Budgets == input.Budgets || + this.Budgets != null && + input.Budgets != null && + this.Budgets.SequenceEqual(input.Budgets) + ) && + ( + this.CouponRedemptionCount == input.CouponRedemptionCount || + this.CouponRedemptionCount.Equals(input.CouponRedemptionCount) + ) && + ( + this.ReferralRedemptionCount == input.ReferralRedemptionCount || + this.ReferralRedemptionCount.Equals(input.ReferralRedemptionCount) + ) && + ( + this.DiscountCount == input.DiscountCount || + this.DiscountCount.Equals(input.DiscountCount) + ) && + ( + this.DiscountEffectCount == input.DiscountEffectCount || + this.DiscountEffectCount.Equals(input.DiscountEffectCount) + ) && + ( + this.CouponCreationCount == input.CouponCreationCount || + this.CouponCreationCount.Equals(input.CouponCreationCount) + ) && + ( + this.CustomEffectCount == input.CustomEffectCount || + this.CustomEffectCount.Equals(input.CustomEffectCount) + ) && + ( + this.ReferralCreationCount == input.ReferralCreationCount || + this.ReferralCreationCount.Equals(input.ReferralCreationCount) + ) && + ( + this.AddFreeItemEffectCount == input.AddFreeItemEffectCount || + this.AddFreeItemEffectCount.Equals(input.AddFreeItemEffectCount) + ) && + ( + this.AwardedGiveawaysCount == input.AwardedGiveawaysCount || + this.AwardedGiveawaysCount.Equals(input.AwardedGiveawaysCount) + ) && + ( + this.CreatedLoyaltyPointsCount == input.CreatedLoyaltyPointsCount || + this.CreatedLoyaltyPointsCount.Equals(input.CreatedLoyaltyPointsCount) + ) && + ( + this.CreatedLoyaltyPointsEffectCount == input.CreatedLoyaltyPointsEffectCount || + this.CreatedLoyaltyPointsEffectCount.Equals(input.CreatedLoyaltyPointsEffectCount) + ) && + ( + this.RedeemedLoyaltyPointsCount == input.RedeemedLoyaltyPointsCount || + this.RedeemedLoyaltyPointsCount.Equals(input.RedeemedLoyaltyPointsCount) + ) && + ( + this.RedeemedLoyaltyPointsEffectCount == input.RedeemedLoyaltyPointsEffectCount || + this.RedeemedLoyaltyPointsEffectCount.Equals(input.RedeemedLoyaltyPointsEffectCount) + ) && + ( + this.CallApiEffectCount == input.CallApiEffectCount || + this.CallApiEffectCount.Equals(input.CallApiEffectCount) + ) && + ( + this.ReservecouponEffectCount == input.ReservecouponEffectCount || + this.ReservecouponEffectCount.Equals(input.ReservecouponEffectCount) + ) && + ( + this.LastActivity == input.LastActivity || + (this.LastActivity != null && + this.LastActivity.Equals(input.LastActivity)) + ) && + ( + this.Updated == input.Updated || + (this.Updated != null && + this.Updated.Equals(input.Updated)) + ) && + ( + this.CreatedBy == input.CreatedBy || + (this.CreatedBy != null && + this.CreatedBy.Equals(input.CreatedBy)) + ) && + ( + this.UpdatedBy == input.UpdatedBy || + (this.UpdatedBy != null && + this.UpdatedBy.Equals(input.UpdatedBy)) + ) && + ( + this.TemplateId == input.TemplateId || + this.TemplateId.Equals(input.TemplateId) + ) && + ( + this.FrontendState == input.FrontendState || + this.FrontendState.Equals(input.FrontendState) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Budgets != null) + hashCode = hashCode * 59 + this.Budgets.GetHashCode(); + hashCode = hashCode * 59 + this.CouponRedemptionCount.GetHashCode(); + hashCode = hashCode * 59 + this.ReferralRedemptionCount.GetHashCode(); + hashCode = hashCode * 59 + this.DiscountCount.GetHashCode(); + hashCode = hashCode * 59 + this.DiscountEffectCount.GetHashCode(); + hashCode = hashCode * 59 + this.CouponCreationCount.GetHashCode(); + hashCode = hashCode * 59 + this.CustomEffectCount.GetHashCode(); + hashCode = hashCode * 59 + this.ReferralCreationCount.GetHashCode(); + hashCode = hashCode * 59 + this.AddFreeItemEffectCount.GetHashCode(); + hashCode = hashCode * 59 + this.AwardedGiveawaysCount.GetHashCode(); + hashCode = hashCode * 59 + this.CreatedLoyaltyPointsCount.GetHashCode(); + hashCode = hashCode * 59 + this.CreatedLoyaltyPointsEffectCount.GetHashCode(); + hashCode = hashCode * 59 + this.RedeemedLoyaltyPointsCount.GetHashCode(); + hashCode = hashCode * 59 + this.RedeemedLoyaltyPointsEffectCount.GetHashCode(); + hashCode = hashCode * 59 + this.CallApiEffectCount.GetHashCode(); + hashCode = hashCode * 59 + this.ReservecouponEffectCount.GetHashCode(); + if (this.LastActivity != null) + hashCode = hashCode * 59 + this.LastActivity.GetHashCode(); + if (this.Updated != null) + hashCode = hashCode * 59 + this.Updated.GetHashCode(); + if (this.CreatedBy != null) + hashCode = hashCode * 59 + this.CreatedBy.GetHashCode(); + if (this.UpdatedBy != null) + hashCode = hashCode * 59 + this.UpdatedBy.GetHashCode(); + hashCode = hashCode * 59 + this.TemplateId.GetHashCode(); + hashCode = hashCode * 59 + this.FrontendState.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/AdditionalCost.cs b/src/TalonOne/Model/AdditionalCost.cs index febae00..ef5729c 100644 --- a/src/TalonOne/Model/AdditionalCost.cs +++ b/src/TalonOne/Model/AdditionalCost.cs @@ -48,7 +48,7 @@ protected AdditionalCost() { } /// /// Gets or Sets Price /// - [DataMember(Name="price", EmitDefaultValue=true)] + [DataMember(Name="price", EmitDefaultValue=false)] public decimal Price { get; set; } /// diff --git a/src/TalonOne/Model/Application.cs b/src/TalonOne/Model/Application.cs index af76e27..4e026b4 100644 --- a/src/TalonOne/Model/Application.cs +++ b/src/TalonOne/Model/Application.cs @@ -151,7 +151,7 @@ protected Application() { } /// Default limits for campaigns created in this application.. /// The default scope to apply `setDiscount` effects on if no scope was provided with the effect. . /// Indicates if discounts should cascade for this Application.. - /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See the [docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). . + /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. . /// attributesSettings. /// Indicates if this is a live or sandbox Application.. /// Indicates if this Application supports partial discounts.. @@ -264,9 +264,9 @@ protected Application() { } public bool EnableCascadingDiscounts { get; set; } /// - /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See the [docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). + /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. /// - /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See the [docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). + /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. [DataMember(Name="enableFlattenedCartItems", EmitDefaultValue=false)] public bool EnableFlattenedCartItems { get; set; } diff --git a/src/TalonOne/Model/ApplicationAPIKey.cs b/src/TalonOne/Model/ApplicationAPIKey.cs index 179e9e6..7f147f3 100644 --- a/src/TalonOne/Model/ApplicationAPIKey.cs +++ b/src/TalonOne/Model/ApplicationAPIKey.cs @@ -90,7 +90,13 @@ public enum PlatformEnum /// Enum Salesforce for value: salesforce /// [EnumMember(Value = "salesforce")] - Salesforce = 9 + Salesforce = 9, + + /// + /// Enum Emarsys for value: emarsys + /// + [EnumMember(Value = "emarsys")] + Emarsys = 10 } @@ -101,6 +107,27 @@ public enum PlatformEnum [DataMember(Name="platform", EmitDefaultValue=false)] public PlatformEnum? Platform { get; set; } /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum Staging for value: staging + /// + [EnumMember(Value = "staging")] + Staging = 1 + + } + + /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + [DataMember(Name="type", EmitDefaultValue=false)] + public TypeEnum? Type { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -108,15 +135,17 @@ protected ApplicationAPIKey() { } /// /// Initializes a new instance of the class. /// - /// Title for API Key. (required). - /// The date the API key expired. (required). + /// Title of the API key. (required). + /// The date the API key expires. (required). /// The third-party platform the API key is valid for. Use `none` for a generic API key to be used from your own integration layer. . + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. . + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. . /// ID of the API Key. (required). /// ID of user who created. (required). /// ID of account the key is used for. (required). /// ID of application the key is used for. (required). /// The date the API key was created. (required). - public ApplicationAPIKey(string title = default(string), DateTime expires = default(DateTime), PlatformEnum? platform = default(PlatformEnum?), int id = default(int), int createdBy = default(int), int accountID = default(int), int applicationID = default(int), DateTime created = default(DateTime)) + public ApplicationAPIKey(string title = default(string), DateTime expires = default(DateTime), PlatformEnum? platform = default(PlatformEnum?), TypeEnum? type = default(TypeEnum?), int timeOffset = default(int), int id = default(int), int createdBy = default(int), int accountID = default(int), int applicationID = default(int), DateTime created = default(DateTime)) { // to ensure "title" is required (not null) this.Title = title ?? throw new ArgumentNullException("title is a required property for ApplicationAPIKey and cannot be null"); @@ -127,22 +156,31 @@ protected ApplicationAPIKey() { } this.ApplicationID = applicationID; this.Created = created; this.Platform = platform; + this.Type = type; + this.TimeOffset = timeOffset; } /// - /// Title for API Key. + /// Title of the API key. /// - /// Title for API Key. + /// Title of the API key. [DataMember(Name="title", EmitDefaultValue=false)] public string Title { get; set; } /// - /// The date the API key expired. + /// The date the API key expires. /// - /// The date the API key expired. + /// The date the API key expires. [DataMember(Name="expires", EmitDefaultValue=false)] public DateTime Expires { get; set; } + /// + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. + /// + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. + [DataMember(Name="timeOffset", EmitDefaultValue=false)] + public int TimeOffset { get; set; } + /// /// ID of the API Key. /// @@ -189,6 +227,8 @@ public override string ToString() sb.Append(" Title: ").Append(Title).Append("\n"); sb.Append(" Expires: ").Append(Expires).Append("\n"); sb.Append(" Platform: ").Append(Platform).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" TimeOffset: ").Append(TimeOffset).Append("\n"); sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append(" CreatedBy: ").Append(CreatedBy).Append("\n"); sb.Append(" AccountID: ").Append(AccountID).Append("\n"); @@ -242,6 +282,14 @@ public bool Equals(ApplicationAPIKey input) this.Platform == input.Platform || this.Platform.Equals(input.Platform) ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ) && + ( + this.TimeOffset == input.TimeOffset || + this.TimeOffset.Equals(input.TimeOffset) + ) && ( this.Id == input.Id || this.Id.Equals(input.Id) @@ -279,6 +327,8 @@ public override int GetHashCode() if (this.Expires != null) hashCode = hashCode * 59 + this.Expires.GetHashCode(); hashCode = hashCode * 59 + this.Platform.GetHashCode(); + hashCode = hashCode * 59 + this.Type.GetHashCode(); + hashCode = hashCode * 59 + this.TimeOffset.GetHashCode(); hashCode = hashCode * 59 + this.Id.GetHashCode(); hashCode = hashCode * 59 + this.CreatedBy.GetHashCode(); hashCode = hashCode * 59 + this.AccountID.GetHashCode(); diff --git a/src/TalonOne/Model/ApplicationAnalyticsDataPoint.cs b/src/TalonOne/Model/ApplicationAnalyticsDataPoint.cs new file mode 100644 index 0000000..f292b37 --- /dev/null +++ b/src/TalonOne/Model/ApplicationAnalyticsDataPoint.cs @@ -0,0 +1,237 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// ApplicationAnalyticsDataPoint + /// + [DataContract] + public partial class ApplicationAnalyticsDataPoint : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The start of the aggregation time frame in UTC.. + /// The end of the aggregation time frame in UTC.. + /// totalRevenue. + /// sessionsCount. + /// avgItemsPerSession. + /// avgSessionValue. + /// The total value of discounts given for cart items in influenced sessions.. + /// The number of times a coupon was successfully redeemed in influenced sessions.. + public ApplicationAnalyticsDataPoint(DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), ApplicationAnalyticsDataPointTotalRevenue totalRevenue = default(ApplicationAnalyticsDataPointTotalRevenue), ApplicationAnalyticsDataPointSessionsCount sessionsCount = default(ApplicationAnalyticsDataPointSessionsCount), ApplicationAnalyticsDataPointAvgItemsPerSession avgItemsPerSession = default(ApplicationAnalyticsDataPointAvgItemsPerSession), ApplicationAnalyticsDataPointAvgSessionValue avgSessionValue = default(ApplicationAnalyticsDataPointAvgSessionValue), decimal totalDiscounts = default(decimal), decimal couponsCount = default(decimal)) + { + this.StartTime = startTime; + this.EndTime = endTime; + this.TotalRevenue = totalRevenue; + this.SessionsCount = sessionsCount; + this.AvgItemsPerSession = avgItemsPerSession; + this.AvgSessionValue = avgSessionValue; + this.TotalDiscounts = totalDiscounts; + this.CouponsCount = couponsCount; + } + + /// + /// The start of the aggregation time frame in UTC. + /// + /// The start of the aggregation time frame in UTC. + [DataMember(Name="startTime", EmitDefaultValue=false)] + public DateTime StartTime { get; set; } + + /// + /// The end of the aggregation time frame in UTC. + /// + /// The end of the aggregation time frame in UTC. + [DataMember(Name="endTime", EmitDefaultValue=false)] + public DateTime EndTime { get; set; } + + /// + /// Gets or Sets TotalRevenue + /// + [DataMember(Name="totalRevenue", EmitDefaultValue=false)] + public ApplicationAnalyticsDataPointTotalRevenue TotalRevenue { get; set; } + + /// + /// Gets or Sets SessionsCount + /// + [DataMember(Name="sessionsCount", EmitDefaultValue=false)] + public ApplicationAnalyticsDataPointSessionsCount SessionsCount { get; set; } + + /// + /// Gets or Sets AvgItemsPerSession + /// + [DataMember(Name="avgItemsPerSession", EmitDefaultValue=false)] + public ApplicationAnalyticsDataPointAvgItemsPerSession AvgItemsPerSession { get; set; } + + /// + /// Gets or Sets AvgSessionValue + /// + [DataMember(Name="avgSessionValue", EmitDefaultValue=false)] + public ApplicationAnalyticsDataPointAvgSessionValue AvgSessionValue { get; set; } + + /// + /// The total value of discounts given for cart items in influenced sessions. + /// + /// The total value of discounts given for cart items in influenced sessions. + [DataMember(Name="totalDiscounts", EmitDefaultValue=false)] + public decimal TotalDiscounts { get; set; } + + /// + /// The number of times a coupon was successfully redeemed in influenced sessions. + /// + /// The number of times a coupon was successfully redeemed in influenced sessions. + [DataMember(Name="couponsCount", EmitDefaultValue=false)] + public decimal CouponsCount { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationAnalyticsDataPoint {\n"); + sb.Append(" StartTime: ").Append(StartTime).Append("\n"); + sb.Append(" EndTime: ").Append(EndTime).Append("\n"); + sb.Append(" TotalRevenue: ").Append(TotalRevenue).Append("\n"); + sb.Append(" SessionsCount: ").Append(SessionsCount).Append("\n"); + sb.Append(" AvgItemsPerSession: ").Append(AvgItemsPerSession).Append("\n"); + sb.Append(" AvgSessionValue: ").Append(AvgSessionValue).Append("\n"); + sb.Append(" TotalDiscounts: ").Append(TotalDiscounts).Append("\n"); + sb.Append(" CouponsCount: ").Append(CouponsCount).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationAnalyticsDataPoint); + } + + /// + /// Returns true if ApplicationAnalyticsDataPoint instances are equal + /// + /// Instance of ApplicationAnalyticsDataPoint to be compared + /// Boolean + public bool Equals(ApplicationAnalyticsDataPoint input) + { + if (input == null) + return false; + + return + ( + this.StartTime == input.StartTime || + (this.StartTime != null && + this.StartTime.Equals(input.StartTime)) + ) && + ( + this.EndTime == input.EndTime || + (this.EndTime != null && + this.EndTime.Equals(input.EndTime)) + ) && + ( + this.TotalRevenue == input.TotalRevenue || + (this.TotalRevenue != null && + this.TotalRevenue.Equals(input.TotalRevenue)) + ) && + ( + this.SessionsCount == input.SessionsCount || + (this.SessionsCount != null && + this.SessionsCount.Equals(input.SessionsCount)) + ) && + ( + this.AvgItemsPerSession == input.AvgItemsPerSession || + (this.AvgItemsPerSession != null && + this.AvgItemsPerSession.Equals(input.AvgItemsPerSession)) + ) && + ( + this.AvgSessionValue == input.AvgSessionValue || + (this.AvgSessionValue != null && + this.AvgSessionValue.Equals(input.AvgSessionValue)) + ) && + ( + this.TotalDiscounts == input.TotalDiscounts || + this.TotalDiscounts.Equals(input.TotalDiscounts) + ) && + ( + this.CouponsCount == input.CouponsCount || + this.CouponsCount.Equals(input.CouponsCount) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.StartTime != null) + hashCode = hashCode * 59 + this.StartTime.GetHashCode(); + if (this.EndTime != null) + hashCode = hashCode * 59 + this.EndTime.GetHashCode(); + if (this.TotalRevenue != null) + hashCode = hashCode * 59 + this.TotalRevenue.GetHashCode(); + if (this.SessionsCount != null) + hashCode = hashCode * 59 + this.SessionsCount.GetHashCode(); + if (this.AvgItemsPerSession != null) + hashCode = hashCode * 59 + this.AvgItemsPerSession.GetHashCode(); + if (this.AvgSessionValue != null) + hashCode = hashCode * 59 + this.AvgSessionValue.GetHashCode(); + hashCode = hashCode * 59 + this.TotalDiscounts.GetHashCode(); + hashCode = hashCode * 59 + this.CouponsCount.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationAnalyticsDataPointAvgItemsPerSession.cs b/src/TalonOne/Model/ApplicationAnalyticsDataPointAvgItemsPerSession.cs new file mode 100644 index 0000000..361c4a9 --- /dev/null +++ b/src/TalonOne/Model/ApplicationAnalyticsDataPointAvgItemsPerSession.cs @@ -0,0 +1,137 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The number of items from sessions divided by the number of sessions. The `influenced` value includes only sessions with at least one applied effect. + /// + [DataContract] + public partial class ApplicationAnalyticsDataPointAvgItemsPerSession : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// total. + /// influenced. + public ApplicationAnalyticsDataPointAvgItemsPerSession(decimal total = default(decimal), decimal influenced = default(decimal)) + { + this.Total = total; + this.Influenced = influenced; + } + + /// + /// Gets or Sets Total + /// + [DataMember(Name="total", EmitDefaultValue=false)] + public decimal Total { get; set; } + + /// + /// Gets or Sets Influenced + /// + [DataMember(Name="influenced", EmitDefaultValue=false)] + public decimal Influenced { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationAnalyticsDataPointAvgItemsPerSession {\n"); + sb.Append(" Total: ").Append(Total).Append("\n"); + sb.Append(" Influenced: ").Append(Influenced).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationAnalyticsDataPointAvgItemsPerSession); + } + + /// + /// Returns true if ApplicationAnalyticsDataPointAvgItemsPerSession instances are equal + /// + /// Instance of ApplicationAnalyticsDataPointAvgItemsPerSession to be compared + /// Boolean + public bool Equals(ApplicationAnalyticsDataPointAvgItemsPerSession input) + { + if (input == null) + return false; + + return + ( + this.Total == input.Total || + this.Total.Equals(input.Total) + ) && + ( + this.Influenced == input.Influenced || + this.Influenced.Equals(input.Influenced) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Total.GetHashCode(); + hashCode = hashCode * 59 + this.Influenced.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationAnalyticsDataPointAvgSessionValue.cs b/src/TalonOne/Model/ApplicationAnalyticsDataPointAvgSessionValue.cs new file mode 100644 index 0000000..8b4ad53 --- /dev/null +++ b/src/TalonOne/Model/ApplicationAnalyticsDataPointAvgSessionValue.cs @@ -0,0 +1,137 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The average customer session value, calculated by dividing the revenue value by the number of sessions. The `influenced` value includes only sessions with at least one applied effect. + /// + [DataContract] + public partial class ApplicationAnalyticsDataPointAvgSessionValue : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// total. + /// influenced. + public ApplicationAnalyticsDataPointAvgSessionValue(decimal total = default(decimal), decimal influenced = default(decimal)) + { + this.Total = total; + this.Influenced = influenced; + } + + /// + /// Gets or Sets Total + /// + [DataMember(Name="total", EmitDefaultValue=false)] + public decimal Total { get; set; } + + /// + /// Gets or Sets Influenced + /// + [DataMember(Name="influenced", EmitDefaultValue=false)] + public decimal Influenced { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationAnalyticsDataPointAvgSessionValue {\n"); + sb.Append(" Total: ").Append(Total).Append("\n"); + sb.Append(" Influenced: ").Append(Influenced).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationAnalyticsDataPointAvgSessionValue); + } + + /// + /// Returns true if ApplicationAnalyticsDataPointAvgSessionValue instances are equal + /// + /// Instance of ApplicationAnalyticsDataPointAvgSessionValue to be compared + /// Boolean + public bool Equals(ApplicationAnalyticsDataPointAvgSessionValue input) + { + if (input == null) + return false; + + return + ( + this.Total == input.Total || + this.Total.Equals(input.Total) + ) && + ( + this.Influenced == input.Influenced || + this.Influenced.Equals(input.Influenced) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Total.GetHashCode(); + hashCode = hashCode * 59 + this.Influenced.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationAnalyticsDataPointSessionsCount.cs b/src/TalonOne/Model/ApplicationAnalyticsDataPointSessionsCount.cs new file mode 100644 index 0000000..f90360f --- /dev/null +++ b/src/TalonOne/Model/ApplicationAnalyticsDataPointSessionsCount.cs @@ -0,0 +1,137 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The number of all closed sessions. The `influenced` value includes only sessions with at least one applied effect. + /// + [DataContract] + public partial class ApplicationAnalyticsDataPointSessionsCount : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// total. + /// influenced. + public ApplicationAnalyticsDataPointSessionsCount(decimal total = default(decimal), decimal influenced = default(decimal)) + { + this.Total = total; + this.Influenced = influenced; + } + + /// + /// Gets or Sets Total + /// + [DataMember(Name="total", EmitDefaultValue=false)] + public decimal Total { get; set; } + + /// + /// Gets or Sets Influenced + /// + [DataMember(Name="influenced", EmitDefaultValue=false)] + public decimal Influenced { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationAnalyticsDataPointSessionsCount {\n"); + sb.Append(" Total: ").Append(Total).Append("\n"); + sb.Append(" Influenced: ").Append(Influenced).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationAnalyticsDataPointSessionsCount); + } + + /// + /// Returns true if ApplicationAnalyticsDataPointSessionsCount instances are equal + /// + /// Instance of ApplicationAnalyticsDataPointSessionsCount to be compared + /// Boolean + public bool Equals(ApplicationAnalyticsDataPointSessionsCount input) + { + if (input == null) + return false; + + return + ( + this.Total == input.Total || + this.Total.Equals(input.Total) + ) && + ( + this.Influenced == input.Influenced || + this.Influenced.Equals(input.Influenced) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Total.GetHashCode(); + hashCode = hashCode * 59 + this.Influenced.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationAnalyticsDataPointTotalRevenue.cs b/src/TalonOne/Model/ApplicationAnalyticsDataPointTotalRevenue.cs new file mode 100644 index 0000000..a6d74e8 --- /dev/null +++ b/src/TalonOne/Model/ApplicationAnalyticsDataPointTotalRevenue.cs @@ -0,0 +1,137 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The total, pre-discount value of all items purchased in a customer session. + /// + [DataContract] + public partial class ApplicationAnalyticsDataPointTotalRevenue : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// total. + /// influenced. + public ApplicationAnalyticsDataPointTotalRevenue(decimal total = default(decimal), decimal influenced = default(decimal)) + { + this.Total = total; + this.Influenced = influenced; + } + + /// + /// Gets or Sets Total + /// + [DataMember(Name="total", EmitDefaultValue=false)] + public decimal Total { get; set; } + + /// + /// Gets or Sets Influenced + /// + [DataMember(Name="influenced", EmitDefaultValue=false)] + public decimal Influenced { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationAnalyticsDataPointTotalRevenue {\n"); + sb.Append(" Total: ").Append(Total).Append("\n"); + sb.Append(" Influenced: ").Append(Influenced).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationAnalyticsDataPointTotalRevenue); + } + + /// + /// Returns true if ApplicationAnalyticsDataPointTotalRevenue instances are equal + /// + /// Instance of ApplicationAnalyticsDataPointTotalRevenue to be compared + /// Boolean + public bool Equals(ApplicationAnalyticsDataPointTotalRevenue input) + { + if (input == null) + return false; + + return + ( + this.Total == input.Total || + this.Total.Equals(input.Total) + ) && + ( + this.Influenced == input.Influenced || + this.Influenced.Equals(input.Influenced) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Total.GetHashCode(); + hashCode = hashCode * 59 + this.Influenced.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationCampaignAnalytics.cs b/src/TalonOne/Model/ApplicationCampaignAnalytics.cs new file mode 100644 index 0000000..86cc548 --- /dev/null +++ b/src/TalonOne/Model/ApplicationCampaignAnalytics.cs @@ -0,0 +1,379 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// ApplicationCampaignAnalytics + /// + [DataContract] + public partial class ApplicationCampaignAnalytics : IEquatable, IValidatableObject + { + /// + /// The state of the campaign. **Note:** A disabled or archived campaign is not evaluated for rules or coupons. + /// + /// The state of the campaign. **Note:** A disabled or archived campaign is not evaluated for rules or coupons. + [JsonConverter(typeof(StringEnumConverter))] + public enum CampaignStateEnum + { + /// + /// Enum Enabled for value: enabled + /// + [EnumMember(Value = "enabled")] + Enabled = 1, + + /// + /// Enum Disabled for value: disabled + /// + [EnumMember(Value = "disabled")] + Disabled = 2, + + /// + /// Enum Archived for value: archived + /// + [EnumMember(Value = "archived")] + Archived = 3 + + } + + /// + /// The state of the campaign. **Note:** A disabled or archived campaign is not evaluated for rules or coupons. + /// + /// The state of the campaign. **Note:** A disabled or archived campaign is not evaluated for rules or coupons. + [DataMember(Name="campaignState", EmitDefaultValue=false)] + public CampaignStateEnum? CampaignState { get; set; } + /// + /// Initializes a new instance of the class. + /// + /// The start of the aggregation time frame in UTC.. + /// The end of the aggregation time frame in UTC.. + /// The ID of the campaign.. + /// The name of the campaign.. + /// A list of tags for the campaign.. + /// The state of the campaign. **Note:** A disabled or archived campaign is not evaluated for rules or coupons. (default to CampaignStateEnum.Enabled). + /// The [ID of the ruleset](https://docs.talon.one/management-api#operation/getRulesets) this campaign applies on customer session evaluation. . + /// Date and time when the campaign becomes active.. + /// Date and time when the campaign becomes inactive.. + /// totalRevenue. + /// sessionsCount. + /// avgItemsPerSession. + /// avgSessionValue. + /// totalDiscounts. + /// couponsCount. + public ApplicationCampaignAnalytics(DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), int campaignId = default(int), string campaignName = default(string), List campaignTags = default(List), CampaignStateEnum? campaignState = CampaignStateEnum.Enabled, int campaignActiveRulesetId = default(int), DateTime campaignStartTime = default(DateTime), DateTime campaignEndTime = default(DateTime), ApplicationCampaignAnalyticsTotalRevenue totalRevenue = default(ApplicationCampaignAnalyticsTotalRevenue), ApplicationCampaignAnalyticsSessionsCount sessionsCount = default(ApplicationCampaignAnalyticsSessionsCount), ApplicationCampaignAnalyticsAvgItemsPerSession avgItemsPerSession = default(ApplicationCampaignAnalyticsAvgItemsPerSession), ApplicationCampaignAnalyticsAvgSessionValue avgSessionValue = default(ApplicationCampaignAnalyticsAvgSessionValue), ApplicationCampaignAnalyticsTotalDiscounts totalDiscounts = default(ApplicationCampaignAnalyticsTotalDiscounts), ApplicationCampaignAnalyticsCouponsCount couponsCount = default(ApplicationCampaignAnalyticsCouponsCount)) + { + this.StartTime = startTime; + this.EndTime = endTime; + this.CampaignId = campaignId; + this.CampaignName = campaignName; + this.CampaignTags = campaignTags; + this.CampaignState = campaignState; + this.CampaignActiveRulesetId = campaignActiveRulesetId; + this.CampaignStartTime = campaignStartTime; + this.CampaignEndTime = campaignEndTime; + this.TotalRevenue = totalRevenue; + this.SessionsCount = sessionsCount; + this.AvgItemsPerSession = avgItemsPerSession; + this.AvgSessionValue = avgSessionValue; + this.TotalDiscounts = totalDiscounts; + this.CouponsCount = couponsCount; + } + + /// + /// The start of the aggregation time frame in UTC. + /// + /// The start of the aggregation time frame in UTC. + [DataMember(Name="startTime", EmitDefaultValue=false)] + public DateTime StartTime { get; set; } + + /// + /// The end of the aggregation time frame in UTC. + /// + /// The end of the aggregation time frame in UTC. + [DataMember(Name="endTime", EmitDefaultValue=false)] + public DateTime EndTime { get; set; } + + /// + /// The ID of the campaign. + /// + /// The ID of the campaign. + [DataMember(Name="campaignId", EmitDefaultValue=false)] + public int CampaignId { get; set; } + + /// + /// The name of the campaign. + /// + /// The name of the campaign. + [DataMember(Name="campaignName", EmitDefaultValue=false)] + public string CampaignName { get; set; } + + /// + /// A list of tags for the campaign. + /// + /// A list of tags for the campaign. + [DataMember(Name="campaignTags", EmitDefaultValue=false)] + public List CampaignTags { get; set; } + + /// + /// The [ID of the ruleset](https://docs.talon.one/management-api#operation/getRulesets) this campaign applies on customer session evaluation. + /// + /// The [ID of the ruleset](https://docs.talon.one/management-api#operation/getRulesets) this campaign applies on customer session evaluation. + [DataMember(Name="campaignActiveRulesetId", EmitDefaultValue=false)] + public int CampaignActiveRulesetId { get; set; } + + /// + /// Date and time when the campaign becomes active. + /// + /// Date and time when the campaign becomes active. + [DataMember(Name="campaignStartTime", EmitDefaultValue=false)] + public DateTime CampaignStartTime { get; set; } + + /// + /// Date and time when the campaign becomes inactive. + /// + /// Date and time when the campaign becomes inactive. + [DataMember(Name="campaignEndTime", EmitDefaultValue=false)] + public DateTime CampaignEndTime { get; set; } + + /// + /// Gets or Sets TotalRevenue + /// + [DataMember(Name="totalRevenue", EmitDefaultValue=false)] + public ApplicationCampaignAnalyticsTotalRevenue TotalRevenue { get; set; } + + /// + /// Gets or Sets SessionsCount + /// + [DataMember(Name="sessionsCount", EmitDefaultValue=false)] + public ApplicationCampaignAnalyticsSessionsCount SessionsCount { get; set; } + + /// + /// Gets or Sets AvgItemsPerSession + /// + [DataMember(Name="avgItemsPerSession", EmitDefaultValue=false)] + public ApplicationCampaignAnalyticsAvgItemsPerSession AvgItemsPerSession { get; set; } + + /// + /// Gets or Sets AvgSessionValue + /// + [DataMember(Name="avgSessionValue", EmitDefaultValue=false)] + public ApplicationCampaignAnalyticsAvgSessionValue AvgSessionValue { get; set; } + + /// + /// Gets or Sets TotalDiscounts + /// + [DataMember(Name="totalDiscounts", EmitDefaultValue=false)] + public ApplicationCampaignAnalyticsTotalDiscounts TotalDiscounts { get; set; } + + /// + /// Gets or Sets CouponsCount + /// + [DataMember(Name="couponsCount", EmitDefaultValue=false)] + public ApplicationCampaignAnalyticsCouponsCount CouponsCount { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationCampaignAnalytics {\n"); + sb.Append(" StartTime: ").Append(StartTime).Append("\n"); + sb.Append(" EndTime: ").Append(EndTime).Append("\n"); + sb.Append(" CampaignId: ").Append(CampaignId).Append("\n"); + sb.Append(" CampaignName: ").Append(CampaignName).Append("\n"); + sb.Append(" CampaignTags: ").Append(CampaignTags).Append("\n"); + sb.Append(" CampaignState: ").Append(CampaignState).Append("\n"); + sb.Append(" CampaignActiveRulesetId: ").Append(CampaignActiveRulesetId).Append("\n"); + sb.Append(" CampaignStartTime: ").Append(CampaignStartTime).Append("\n"); + sb.Append(" CampaignEndTime: ").Append(CampaignEndTime).Append("\n"); + sb.Append(" TotalRevenue: ").Append(TotalRevenue).Append("\n"); + sb.Append(" SessionsCount: ").Append(SessionsCount).Append("\n"); + sb.Append(" AvgItemsPerSession: ").Append(AvgItemsPerSession).Append("\n"); + sb.Append(" AvgSessionValue: ").Append(AvgSessionValue).Append("\n"); + sb.Append(" TotalDiscounts: ").Append(TotalDiscounts).Append("\n"); + sb.Append(" CouponsCount: ").Append(CouponsCount).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationCampaignAnalytics); + } + + /// + /// Returns true if ApplicationCampaignAnalytics instances are equal + /// + /// Instance of ApplicationCampaignAnalytics to be compared + /// Boolean + public bool Equals(ApplicationCampaignAnalytics input) + { + if (input == null) + return false; + + return + ( + this.StartTime == input.StartTime || + (this.StartTime != null && + this.StartTime.Equals(input.StartTime)) + ) && + ( + this.EndTime == input.EndTime || + (this.EndTime != null && + this.EndTime.Equals(input.EndTime)) + ) && + ( + this.CampaignId == input.CampaignId || + this.CampaignId.Equals(input.CampaignId) + ) && + ( + this.CampaignName == input.CampaignName || + (this.CampaignName != null && + this.CampaignName.Equals(input.CampaignName)) + ) && + ( + this.CampaignTags == input.CampaignTags || + this.CampaignTags != null && + input.CampaignTags != null && + this.CampaignTags.SequenceEqual(input.CampaignTags) + ) && + ( + this.CampaignState == input.CampaignState || + this.CampaignState.Equals(input.CampaignState) + ) && + ( + this.CampaignActiveRulesetId == input.CampaignActiveRulesetId || + this.CampaignActiveRulesetId.Equals(input.CampaignActiveRulesetId) + ) && + ( + this.CampaignStartTime == input.CampaignStartTime || + (this.CampaignStartTime != null && + this.CampaignStartTime.Equals(input.CampaignStartTime)) + ) && + ( + this.CampaignEndTime == input.CampaignEndTime || + (this.CampaignEndTime != null && + this.CampaignEndTime.Equals(input.CampaignEndTime)) + ) && + ( + this.TotalRevenue == input.TotalRevenue || + (this.TotalRevenue != null && + this.TotalRevenue.Equals(input.TotalRevenue)) + ) && + ( + this.SessionsCount == input.SessionsCount || + (this.SessionsCount != null && + this.SessionsCount.Equals(input.SessionsCount)) + ) && + ( + this.AvgItemsPerSession == input.AvgItemsPerSession || + (this.AvgItemsPerSession != null && + this.AvgItemsPerSession.Equals(input.AvgItemsPerSession)) + ) && + ( + this.AvgSessionValue == input.AvgSessionValue || + (this.AvgSessionValue != null && + this.AvgSessionValue.Equals(input.AvgSessionValue)) + ) && + ( + this.TotalDiscounts == input.TotalDiscounts || + (this.TotalDiscounts != null && + this.TotalDiscounts.Equals(input.TotalDiscounts)) + ) && + ( + this.CouponsCount == input.CouponsCount || + (this.CouponsCount != null && + this.CouponsCount.Equals(input.CouponsCount)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.StartTime != null) + hashCode = hashCode * 59 + this.StartTime.GetHashCode(); + if (this.EndTime != null) + hashCode = hashCode * 59 + this.EndTime.GetHashCode(); + hashCode = hashCode * 59 + this.CampaignId.GetHashCode(); + if (this.CampaignName != null) + hashCode = hashCode * 59 + this.CampaignName.GetHashCode(); + if (this.CampaignTags != null) + hashCode = hashCode * 59 + this.CampaignTags.GetHashCode(); + hashCode = hashCode * 59 + this.CampaignState.GetHashCode(); + hashCode = hashCode * 59 + this.CampaignActiveRulesetId.GetHashCode(); + if (this.CampaignStartTime != null) + hashCode = hashCode * 59 + this.CampaignStartTime.GetHashCode(); + if (this.CampaignEndTime != null) + hashCode = hashCode * 59 + this.CampaignEndTime.GetHashCode(); + if (this.TotalRevenue != null) + hashCode = hashCode * 59 + this.TotalRevenue.GetHashCode(); + if (this.SessionsCount != null) + hashCode = hashCode * 59 + this.SessionsCount.GetHashCode(); + if (this.AvgItemsPerSession != null) + hashCode = hashCode * 59 + this.AvgItemsPerSession.GetHashCode(); + if (this.AvgSessionValue != null) + hashCode = hashCode * 59 + this.AvgSessionValue.GetHashCode(); + if (this.TotalDiscounts != null) + hashCode = hashCode * 59 + this.TotalDiscounts.GetHashCode(); + if (this.CouponsCount != null) + hashCode = hashCode * 59 + this.CouponsCount.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationCampaignAnalyticsAvgItemsPerSession.cs b/src/TalonOne/Model/ApplicationCampaignAnalyticsAvgItemsPerSession.cs new file mode 100644 index 0000000..4cf7c33 --- /dev/null +++ b/src/TalonOne/Model/ApplicationCampaignAnalyticsAvgItemsPerSession.cs @@ -0,0 +1,151 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The number of items from sessions divided by the number of sessions. The `influenced` value includes only sessions with at least one applied effect. + /// + [DataContract] + public partial class ApplicationCampaignAnalyticsAvgItemsPerSession : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// value. + /// uplift. + /// trend. + public ApplicationCampaignAnalyticsAvgItemsPerSession(decimal value = default(decimal), decimal uplift = default(decimal), decimal trend = default(decimal)) + { + this.Value = value; + this.Uplift = uplift; + this.Trend = trend; + } + + /// + /// Gets or Sets Value + /// + [DataMember(Name="value", EmitDefaultValue=false)] + public decimal Value { get; set; } + + /// + /// Gets or Sets Uplift + /// + [DataMember(Name="uplift", EmitDefaultValue=false)] + public decimal Uplift { get; set; } + + /// + /// Gets or Sets Trend + /// + [DataMember(Name="trend", EmitDefaultValue=false)] + public decimal Trend { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationCampaignAnalyticsAvgItemsPerSession {\n"); + sb.Append(" Value: ").Append(Value).Append("\n"); + sb.Append(" Uplift: ").Append(Uplift).Append("\n"); + sb.Append(" Trend: ").Append(Trend).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationCampaignAnalyticsAvgItemsPerSession); + } + + /// + /// Returns true if ApplicationCampaignAnalyticsAvgItemsPerSession instances are equal + /// + /// Instance of ApplicationCampaignAnalyticsAvgItemsPerSession to be compared + /// Boolean + public bool Equals(ApplicationCampaignAnalyticsAvgItemsPerSession input) + { + if (input == null) + return false; + + return + ( + this.Value == input.Value || + this.Value.Equals(input.Value) + ) && + ( + this.Uplift == input.Uplift || + this.Uplift.Equals(input.Uplift) + ) && + ( + this.Trend == input.Trend || + this.Trend.Equals(input.Trend) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Value.GetHashCode(); + hashCode = hashCode * 59 + this.Uplift.GetHashCode(); + hashCode = hashCode * 59 + this.Trend.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationCampaignAnalyticsAvgSessionValue.cs b/src/TalonOne/Model/ApplicationCampaignAnalyticsAvgSessionValue.cs new file mode 100644 index 0000000..8cf6d18 --- /dev/null +++ b/src/TalonOne/Model/ApplicationCampaignAnalyticsAvgSessionValue.cs @@ -0,0 +1,151 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The average customer session value, calculated by dividing the revenue value by the number of sessions. The `influenced` value includes only sessions with at least one applied effect. + /// + [DataContract] + public partial class ApplicationCampaignAnalyticsAvgSessionValue : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// value. + /// uplift. + /// trend. + public ApplicationCampaignAnalyticsAvgSessionValue(decimal value = default(decimal), decimal uplift = default(decimal), decimal trend = default(decimal)) + { + this.Value = value; + this.Uplift = uplift; + this.Trend = trend; + } + + /// + /// Gets or Sets Value + /// + [DataMember(Name="value", EmitDefaultValue=false)] + public decimal Value { get; set; } + + /// + /// Gets or Sets Uplift + /// + [DataMember(Name="uplift", EmitDefaultValue=false)] + public decimal Uplift { get; set; } + + /// + /// Gets or Sets Trend + /// + [DataMember(Name="trend", EmitDefaultValue=false)] + public decimal Trend { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationCampaignAnalyticsAvgSessionValue {\n"); + sb.Append(" Value: ").Append(Value).Append("\n"); + sb.Append(" Uplift: ").Append(Uplift).Append("\n"); + sb.Append(" Trend: ").Append(Trend).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationCampaignAnalyticsAvgSessionValue); + } + + /// + /// Returns true if ApplicationCampaignAnalyticsAvgSessionValue instances are equal + /// + /// Instance of ApplicationCampaignAnalyticsAvgSessionValue to be compared + /// Boolean + public bool Equals(ApplicationCampaignAnalyticsAvgSessionValue input) + { + if (input == null) + return false; + + return + ( + this.Value == input.Value || + this.Value.Equals(input.Value) + ) && + ( + this.Uplift == input.Uplift || + this.Uplift.Equals(input.Uplift) + ) && + ( + this.Trend == input.Trend || + this.Trend.Equals(input.Trend) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Value.GetHashCode(); + hashCode = hashCode * 59 + this.Uplift.GetHashCode(); + hashCode = hashCode * 59 + this.Trend.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationCampaignAnalyticsCouponsCount.cs b/src/TalonOne/Model/ApplicationCampaignAnalyticsCouponsCount.cs new file mode 100644 index 0000000..578fd06 --- /dev/null +++ b/src/TalonOne/Model/ApplicationCampaignAnalyticsCouponsCount.cs @@ -0,0 +1,137 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The number of times a coupon was successfully redeemed in influenced sessions. + /// + [DataContract] + public partial class ApplicationCampaignAnalyticsCouponsCount : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// value. + /// trend. + public ApplicationCampaignAnalyticsCouponsCount(decimal value = default(decimal), decimal trend = default(decimal)) + { + this.Value = value; + this.Trend = trend; + } + + /// + /// Gets or Sets Value + /// + [DataMember(Name="value", EmitDefaultValue=false)] + public decimal Value { get; set; } + + /// + /// Gets or Sets Trend + /// + [DataMember(Name="trend", EmitDefaultValue=false)] + public decimal Trend { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationCampaignAnalyticsCouponsCount {\n"); + sb.Append(" Value: ").Append(Value).Append("\n"); + sb.Append(" Trend: ").Append(Trend).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationCampaignAnalyticsCouponsCount); + } + + /// + /// Returns true if ApplicationCampaignAnalyticsCouponsCount instances are equal + /// + /// Instance of ApplicationCampaignAnalyticsCouponsCount to be compared + /// Boolean + public bool Equals(ApplicationCampaignAnalyticsCouponsCount input) + { + if (input == null) + return false; + + return + ( + this.Value == input.Value || + this.Value.Equals(input.Value) + ) && + ( + this.Trend == input.Trend || + this.Trend.Equals(input.Trend) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Value.GetHashCode(); + hashCode = hashCode * 59 + this.Trend.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationCampaignAnalyticsSessionsCount.cs b/src/TalonOne/Model/ApplicationCampaignAnalyticsSessionsCount.cs new file mode 100644 index 0000000..c20fdd0 --- /dev/null +++ b/src/TalonOne/Model/ApplicationCampaignAnalyticsSessionsCount.cs @@ -0,0 +1,151 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The number of all closed sessions. The `influenced` value includes only sessions with at least one applied effect. + /// + [DataContract] + public partial class ApplicationCampaignAnalyticsSessionsCount : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// value. + /// influenceRate. + /// trend. + public ApplicationCampaignAnalyticsSessionsCount(decimal value = default(decimal), decimal influenceRate = default(decimal), decimal trend = default(decimal)) + { + this.Value = value; + this.InfluenceRate = influenceRate; + this.Trend = trend; + } + + /// + /// Gets or Sets Value + /// + [DataMember(Name="value", EmitDefaultValue=false)] + public decimal Value { get; set; } + + /// + /// Gets or Sets InfluenceRate + /// + [DataMember(Name="influence_rate", EmitDefaultValue=false)] + public decimal InfluenceRate { get; set; } + + /// + /// Gets or Sets Trend + /// + [DataMember(Name="trend", EmitDefaultValue=false)] + public decimal Trend { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationCampaignAnalyticsSessionsCount {\n"); + sb.Append(" Value: ").Append(Value).Append("\n"); + sb.Append(" InfluenceRate: ").Append(InfluenceRate).Append("\n"); + sb.Append(" Trend: ").Append(Trend).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationCampaignAnalyticsSessionsCount); + } + + /// + /// Returns true if ApplicationCampaignAnalyticsSessionsCount instances are equal + /// + /// Instance of ApplicationCampaignAnalyticsSessionsCount to be compared + /// Boolean + public bool Equals(ApplicationCampaignAnalyticsSessionsCount input) + { + if (input == null) + return false; + + return + ( + this.Value == input.Value || + this.Value.Equals(input.Value) + ) && + ( + this.InfluenceRate == input.InfluenceRate || + this.InfluenceRate.Equals(input.InfluenceRate) + ) && + ( + this.Trend == input.Trend || + this.Trend.Equals(input.Trend) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Value.GetHashCode(); + hashCode = hashCode * 59 + this.InfluenceRate.GetHashCode(); + hashCode = hashCode * 59 + this.Trend.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationCampaignAnalyticsTotalDiscounts.cs b/src/TalonOne/Model/ApplicationCampaignAnalyticsTotalDiscounts.cs new file mode 100644 index 0000000..58a02b0 --- /dev/null +++ b/src/TalonOne/Model/ApplicationCampaignAnalyticsTotalDiscounts.cs @@ -0,0 +1,137 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The total value of discounts given for cart items in influenced sessions. + /// + [DataContract] + public partial class ApplicationCampaignAnalyticsTotalDiscounts : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// value. + /// trend. + public ApplicationCampaignAnalyticsTotalDiscounts(decimal value = default(decimal), decimal trend = default(decimal)) + { + this.Value = value; + this.Trend = trend; + } + + /// + /// Gets or Sets Value + /// + [DataMember(Name="value", EmitDefaultValue=false)] + public decimal Value { get; set; } + + /// + /// Gets or Sets Trend + /// + [DataMember(Name="trend", EmitDefaultValue=false)] + public decimal Trend { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationCampaignAnalyticsTotalDiscounts {\n"); + sb.Append(" Value: ").Append(Value).Append("\n"); + sb.Append(" Trend: ").Append(Trend).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationCampaignAnalyticsTotalDiscounts); + } + + /// + /// Returns true if ApplicationCampaignAnalyticsTotalDiscounts instances are equal + /// + /// Instance of ApplicationCampaignAnalyticsTotalDiscounts to be compared + /// Boolean + public bool Equals(ApplicationCampaignAnalyticsTotalDiscounts input) + { + if (input == null) + return false; + + return + ( + this.Value == input.Value || + this.Value.Equals(input.Value) + ) && + ( + this.Trend == input.Trend || + this.Trend.Equals(input.Trend) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Value.GetHashCode(); + hashCode = hashCode * 59 + this.Trend.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationCampaignAnalyticsTotalRevenue.cs b/src/TalonOne/Model/ApplicationCampaignAnalyticsTotalRevenue.cs new file mode 100644 index 0000000..ca5fb72 --- /dev/null +++ b/src/TalonOne/Model/ApplicationCampaignAnalyticsTotalRevenue.cs @@ -0,0 +1,151 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The total, pre-discount value of all items purchased in a customer session. + /// + [DataContract] + public partial class ApplicationCampaignAnalyticsTotalRevenue : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// value. + /// influenceRate. + /// trend. + public ApplicationCampaignAnalyticsTotalRevenue(decimal value = default(decimal), decimal influenceRate = default(decimal), decimal trend = default(decimal)) + { + this.Value = value; + this.InfluenceRate = influenceRate; + this.Trend = trend; + } + + /// + /// Gets or Sets Value + /// + [DataMember(Name="value", EmitDefaultValue=false)] + public decimal Value { get; set; } + + /// + /// Gets or Sets InfluenceRate + /// + [DataMember(Name="influence_rate", EmitDefaultValue=false)] + public decimal InfluenceRate { get; set; } + + /// + /// Gets or Sets Trend + /// + [DataMember(Name="trend", EmitDefaultValue=false)] + public decimal Trend { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationCampaignAnalyticsTotalRevenue {\n"); + sb.Append(" Value: ").Append(Value).Append("\n"); + sb.Append(" InfluenceRate: ").Append(InfluenceRate).Append("\n"); + sb.Append(" Trend: ").Append(Trend).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationCampaignAnalyticsTotalRevenue); + } + + /// + /// Returns true if ApplicationCampaignAnalyticsTotalRevenue instances are equal + /// + /// Instance of ApplicationCampaignAnalyticsTotalRevenue to be compared + /// Boolean + public bool Equals(ApplicationCampaignAnalyticsTotalRevenue input) + { + if (input == null) + return false; + + return + ( + this.Value == input.Value || + this.Value.Equals(input.Value) + ) && + ( + this.InfluenceRate == input.InfluenceRate || + this.InfluenceRate.Equals(input.InfluenceRate) + ) && + ( + this.Trend == input.Trend || + this.Trend.Equals(input.Trend) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Value.GetHashCode(); + hashCode = hashCode * 59 + this.InfluenceRate.GetHashCode(); + hashCode = hashCode * 59 + this.Trend.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ApplicationCustomer.cs b/src/TalonOne/Model/ApplicationCustomer.cs index 6ca5992..7bb0dbd 100644 --- a/src/TalonOne/Model/ApplicationCustomer.cs +++ b/src/TalonOne/Model/ApplicationCustomer.cs @@ -48,8 +48,8 @@ protected ApplicationCustomer() { } /// The total amount of money spent by the customer **before** discounts are applied. The total sales amount excludes the following: - Cancelled or reopened sessions. - Returned items. (required). /// **DEPRECATED** A list of loyalty programs joined by the customer. . /// The audiences the customer belongs to.. - /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. (required). - /// Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). . + /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. (required). + /// An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). . /// The Integration ID of the Customer Profile that referred this Customer in the Application.. public ApplicationCustomer(int id = default(int), DateTime created = default(DateTime), string integrationId = default(string), Object attributes = default(Object), int accountId = default(int), int closedSessions = default(int), decimal totalSales = default(decimal), List loyaltyMemberships = default(List), List audienceMemberships = default(List), DateTime lastActivity = default(DateTime), bool sandbox = default(bool), string advocateIntegrationId = default(string)) { @@ -133,16 +133,16 @@ protected ApplicationCustomer() { } public List AudienceMemberships { get; set; } /// - /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. + /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. /// - /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. + /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. [DataMember(Name="lastActivity", EmitDefaultValue=false)] public DateTime LastActivity { get; set; } /// - /// Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). + /// An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). /// - /// Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). + /// An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). [DataMember(Name="sandbox", EmitDefaultValue=false)] public bool Sandbox { get; set; } diff --git a/src/TalonOne/Model/ApplicationEvent.cs b/src/TalonOne/Model/ApplicationEvent.cs index 0c11f45..7ce509d 100644 --- a/src/TalonOne/Model/ApplicationEvent.cs +++ b/src/TalonOne/Model/ApplicationEvent.cs @@ -43,12 +43,14 @@ protected ApplicationEvent() { } /// The time this entity was created. (required). /// The ID of the application that owns this entity. (required). /// The globally unique Talon.One ID of the customer that created this entity.. + /// The ID of the store.. + /// The integration ID of the store. You choose this ID when you create a store.. /// The globally unique Talon.One ID of the session that contains this event.. /// A string representing the event. Must not be a reserved event name. (required). /// Additional JSON serialized data associated with the event. (required). /// An array containing the effects that were applied as a result of this event. (required). /// An array containing the rule failure reasons which happened during this event.. - public ApplicationEvent(int id = default(int), DateTime created = default(DateTime), int applicationId = default(int), int profileId = default(int), int sessionId = default(int), string type = default(string), Object attributes = default(Object), List effects = default(List), List ruleFailureReasons = default(List)) + public ApplicationEvent(int id = default(int), DateTime created = default(DateTime), int applicationId = default(int), int profileId = default(int), int storeId = default(int), string storeIntegrationId = default(string), int sessionId = default(int), string type = default(string), Object attributes = default(Object), List effects = default(List), List ruleFailureReasons = default(List)) { this.Id = id; this.Created = created; @@ -60,6 +62,8 @@ protected ApplicationEvent() { } // to ensure "effects" is required (not null) this.Effects = effects ?? throw new ArgumentNullException("effects is a required property for ApplicationEvent and cannot be null"); this.ProfileId = profileId; + this.StoreId = storeId; + this.StoreIntegrationId = storeIntegrationId; this.SessionId = sessionId; this.RuleFailureReasons = ruleFailureReasons; } @@ -92,6 +96,20 @@ protected ApplicationEvent() { } [DataMember(Name="profileId", EmitDefaultValue=false)] public int ProfileId { get; set; } + /// + /// The ID of the store. + /// + /// The ID of the store. + [DataMember(Name="storeId", EmitDefaultValue=false)] + public int StoreId { get; set; } + + /// + /// The integration ID of the store. You choose this ID when you create a store. + /// + /// The integration ID of the store. You choose this ID when you create a store. + [DataMember(Name="storeIntegrationId", EmitDefaultValue=false)] + public string StoreIntegrationId { get; set; } + /// /// The globally unique Talon.One ID of the session that contains this event. /// @@ -139,6 +157,8 @@ public override string ToString() sb.Append(" Created: ").Append(Created).Append("\n"); sb.Append(" ApplicationId: ").Append(ApplicationId).Append("\n"); sb.Append(" ProfileId: ").Append(ProfileId).Append("\n"); + sb.Append(" StoreId: ").Append(StoreId).Append("\n"); + sb.Append(" StoreIntegrationId: ").Append(StoreIntegrationId).Append("\n"); sb.Append(" SessionId: ").Append(SessionId).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append(" Attributes: ").Append(Attributes).Append("\n"); @@ -195,6 +215,15 @@ public bool Equals(ApplicationEvent input) this.ProfileId == input.ProfileId || this.ProfileId.Equals(input.ProfileId) ) && + ( + this.StoreId == input.StoreId || + this.StoreId.Equals(input.StoreId) + ) && + ( + this.StoreIntegrationId == input.StoreIntegrationId || + (this.StoreIntegrationId != null && + this.StoreIntegrationId.Equals(input.StoreIntegrationId)) + ) && ( this.SessionId == input.SessionId || this.SessionId.Equals(input.SessionId) @@ -237,6 +266,9 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Created.GetHashCode(); hashCode = hashCode * 59 + this.ApplicationId.GetHashCode(); hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); + hashCode = hashCode * 59 + this.StoreId.GetHashCode(); + if (this.StoreIntegrationId != null) + hashCode = hashCode * 59 + this.StoreIntegrationId.GetHashCode(); hashCode = hashCode * 59 + this.SessionId.GetHashCode(); if (this.Type != null) hashCode = hashCode * 59 + this.Type.GetHashCode(); @@ -257,6 +289,18 @@ public override int GetHashCode() /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { + // StoreIntegrationId (string) maxLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be less than 1000.", new [] { "StoreIntegrationId" }); + } + + // StoreIntegrationId (string) minLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be greater than 1.", new [] { "StoreIntegrationId" }); + } + yield break; } } diff --git a/src/TalonOne/Model/ApplicationSession.cs b/src/TalonOne/Model/ApplicationSession.cs index d851aa7..ff03a49 100644 --- a/src/TalonOne/Model/ApplicationSession.cs +++ b/src/TalonOne/Model/ApplicationSession.cs @@ -32,9 +32,9 @@ namespace TalonOne.Model public partial class ApplicationSession : IEquatable, IValidatableObject { /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). [JsonConverter(typeof(StringEnumConverter))] public enum StateEnum { @@ -65,9 +65,9 @@ public enum StateEnum } /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). [DataMember(Name="state", EmitDefaultValue=false)] public StateEnum State { get; set; } /// @@ -80,25 +80,26 @@ protected ApplicationSession() { } /// /// Internal ID of this entity. (required). /// The time this entity was created. The time this entity was created. (required). + /// The integration ID set by your integration layer. (required). + /// The integration ID of the store. You choose this ID when you create a store.. /// The ID of the application that owns this entity. (required). /// The globally unique Talon.One ID of the customer that created this entity.. - /// The integration ID set by your integration layer. (required). /// Integration ID of the customer for the session.. /// Any coupon code entered. (required). /// Any referral code entered. (required). - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). (required). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). (required). /// Serialized JSON representation. (required). /// **API V1 only.** A map of labeled discount values, in the same currency as the session. If you are using the V2 endpoints, refer to the `totalDiscounts` property instead. (required). /// The total sum of the discounts applied to this session. (required). /// The total sum of the session before any discounts applied. (required). /// Arbitrary properties associated with this item.. - public ApplicationSession(int id = default(int), DateTime created = default(DateTime), int applicationId = default(int), int profileId = default(int), string integrationId = default(string), string profileintegrationid = default(string), string coupon = default(string), string referral = default(string), StateEnum state = default(StateEnum), List cartItems = default(List), Dictionary discounts = default(Dictionary), decimal totalDiscounts = default(decimal), decimal total = default(decimal), Object attributes = default(Object)) + public ApplicationSession(int id = default(int), DateTime created = default(DateTime), string integrationId = default(string), string storeIntegrationId = default(string), int applicationId = default(int), int profileId = default(int), string profileintegrationid = default(string), string coupon = default(string), string referral = default(string), StateEnum state = default(StateEnum), List cartItems = default(List), Dictionary discounts = default(Dictionary), decimal totalDiscounts = default(decimal), decimal total = default(decimal), Object attributes = default(Object)) { this.Id = id; this.Created = created; - this.ApplicationId = applicationId; // to ensure "integrationId" is required (not null) this.IntegrationId = integrationId ?? throw new ArgumentNullException("integrationId is a required property for ApplicationSession and cannot be null"); + this.ApplicationId = applicationId; // to ensure "coupon" is required (not null) this.Coupon = coupon ?? throw new ArgumentNullException("coupon is a required property for ApplicationSession and cannot be null"); // to ensure "referral" is required (not null) @@ -110,6 +111,7 @@ protected ApplicationSession() { } this.Discounts = discounts ?? throw new ArgumentNullException("discounts is a required property for ApplicationSession and cannot be null"); this.TotalDiscounts = totalDiscounts; this.Total = total; + this.StoreIntegrationId = storeIntegrationId; this.ProfileId = profileId; this.Profileintegrationid = profileintegrationid; this.Attributes = attributes; @@ -129,6 +131,20 @@ protected ApplicationSession() { } [DataMember(Name="created", EmitDefaultValue=false)] public DateTime Created { get; set; } + /// + /// The integration ID set by your integration layer. + /// + /// The integration ID set by your integration layer. + [DataMember(Name="integrationId", EmitDefaultValue=false)] + public string IntegrationId { get; set; } + + /// + /// The integration ID of the store. You choose this ID when you create a store. + /// + /// The integration ID of the store. You choose this ID when you create a store. + [DataMember(Name="storeIntegrationId", EmitDefaultValue=false)] + public string StoreIntegrationId { get; set; } + /// /// The ID of the application that owns this entity. /// @@ -143,13 +159,6 @@ protected ApplicationSession() { } [DataMember(Name="profileId", EmitDefaultValue=false)] public int ProfileId { get; set; } - /// - /// The integration ID set by your integration layer. - /// - /// The integration ID set by your integration layer. - [DataMember(Name="integrationId", EmitDefaultValue=false)] - public string IntegrationId { get; set; } - /// /// Integration ID of the customer for the session. /// @@ -216,9 +225,10 @@ public override string ToString() sb.Append("class ApplicationSession {\n"); sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append(" Created: ").Append(Created).Append("\n"); + sb.Append(" IntegrationId: ").Append(IntegrationId).Append("\n"); + sb.Append(" StoreIntegrationId: ").Append(StoreIntegrationId).Append("\n"); sb.Append(" ApplicationId: ").Append(ApplicationId).Append("\n"); sb.Append(" ProfileId: ").Append(ProfileId).Append("\n"); - sb.Append(" IntegrationId: ").Append(IntegrationId).Append("\n"); sb.Append(" Profileintegrationid: ").Append(Profileintegrationid).Append("\n"); sb.Append(" Coupon: ").Append(Coupon).Append("\n"); sb.Append(" Referral: ").Append(Referral).Append("\n"); @@ -271,6 +281,16 @@ public bool Equals(ApplicationSession input) (this.Created != null && this.Created.Equals(input.Created)) ) && + ( + this.IntegrationId == input.IntegrationId || + (this.IntegrationId != null && + this.IntegrationId.Equals(input.IntegrationId)) + ) && + ( + this.StoreIntegrationId == input.StoreIntegrationId || + (this.StoreIntegrationId != null && + this.StoreIntegrationId.Equals(input.StoreIntegrationId)) + ) && ( this.ApplicationId == input.ApplicationId || this.ApplicationId.Equals(input.ApplicationId) @@ -279,11 +299,6 @@ public bool Equals(ApplicationSession input) this.ProfileId == input.ProfileId || this.ProfileId.Equals(input.ProfileId) ) && - ( - this.IntegrationId == input.IntegrationId || - (this.IntegrationId != null && - this.IntegrationId.Equals(input.IntegrationId)) - ) && ( this.Profileintegrationid == input.Profileintegrationid || (this.Profileintegrationid != null && @@ -342,10 +357,12 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Id.GetHashCode(); if (this.Created != null) hashCode = hashCode * 59 + this.Created.GetHashCode(); - hashCode = hashCode * 59 + this.ApplicationId.GetHashCode(); - hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); if (this.IntegrationId != null) hashCode = hashCode * 59 + this.IntegrationId.GetHashCode(); + if (this.StoreIntegrationId != null) + hashCode = hashCode * 59 + this.StoreIntegrationId.GetHashCode(); + hashCode = hashCode * 59 + this.ApplicationId.GetHashCode(); + hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); if (this.Profileintegrationid != null) hashCode = hashCode * 59 + this.Profileintegrationid.GetHashCode(); if (this.Coupon != null) @@ -378,6 +395,18 @@ public override int GetHashCode() yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for IntegrationId, length must be less than 1000.", new [] { "IntegrationId" }); } + // StoreIntegrationId (string) maxLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be less than 1000.", new [] { "StoreIntegrationId" }); + } + + // StoreIntegrationId (string) minLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be greater than 1.", new [] { "StoreIntegrationId" }); + } + // Profileintegrationid (string) maxLength if(this.Profileintegrationid != null && this.Profileintegrationid.Length > 1000) { diff --git a/src/TalonOne/Model/ApplicationStoreEntity.cs b/src/TalonOne/Model/ApplicationStoreEntity.cs new file mode 100644 index 0000000..75172fc --- /dev/null +++ b/src/TalonOne/Model/ApplicationStoreEntity.cs @@ -0,0 +1,124 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// ApplicationStoreEntity + /// + [DataContract] + public partial class ApplicationStoreEntity : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The ID of the store.. + public ApplicationStoreEntity(int storeId = default(int)) + { + this.StoreId = storeId; + } + + /// + /// The ID of the store. + /// + /// The ID of the store. + [DataMember(Name="storeId", EmitDefaultValue=false)] + public int StoreId { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ApplicationStoreEntity {\n"); + sb.Append(" StoreId: ").Append(StoreId).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ApplicationStoreEntity); + } + + /// + /// Returns true if ApplicationStoreEntity instances are equal + /// + /// Instance of ApplicationStoreEntity to be compared + /// Boolean + public bool Equals(ApplicationStoreEntity input) + { + if (input == null) + return false; + + return + ( + this.StoreId == input.StoreId || + this.StoreId.Equals(input.StoreId) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.StoreId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/Attribute.cs b/src/TalonOne/Model/Attribute.cs index 84c42d8..5c23f55 100644 --- a/src/TalonOne/Model/Attribute.cs +++ b/src/TalonOne/Model/Attribute.cs @@ -96,7 +96,13 @@ public enum EntityEnum /// Enum Referral for value: Referral /// [EnumMember(Value = "Referral")] - Referral = 10 + Referral = 10, + + /// + /// Enum Store for value: Store + /// + [EnumMember(Value = "Store")] + Store = 11 } diff --git a/src/TalonOne/Model/AudienceAnalytics.cs b/src/TalonOne/Model/AudienceAnalytics.cs index 5547288..9a34967 100644 --- a/src/TalonOne/Model/AudienceAnalytics.cs +++ b/src/TalonOne/Model/AudienceAnalytics.cs @@ -26,7 +26,7 @@ namespace TalonOne.Model { /// - /// The audiences and their members count. + /// The audiences and their member count. /// [DataContract] public partial class AudienceAnalytics : IEquatable, IValidatableObject @@ -35,7 +35,7 @@ public partial class AudienceAnalytics : IEquatable, IValida /// Initializes a new instance of the class. /// /// The ID of the audience.. - /// The count of members under a single audience.. + /// The member count of the audience.. public AudienceAnalytics(int audienceId = default(int), int membersCount = default(int)) { this.AudienceId = audienceId; @@ -50,9 +50,9 @@ public partial class AudienceAnalytics : IEquatable, IValida public int AudienceId { get; set; } /// - /// The count of members under a single audience. + /// The member count of the audience. /// - /// The count of members under a single audience. + /// The member count of the audience. [DataMember(Name="membersCount", EmitDefaultValue=false)] public int MembersCount { get; set; } diff --git a/src/TalonOne/Model/AudienceCustomer.cs b/src/TalonOne/Model/AudienceCustomer.cs index ff741a2..03e0dac 100644 --- a/src/TalonOne/Model/AudienceCustomer.cs +++ b/src/TalonOne/Model/AudienceCustomer.cs @@ -48,8 +48,8 @@ protected AudienceCustomer() { } /// The total amount of money spent by the customer **before** discounts are applied. The total sales amount excludes the following: - Cancelled or reopened sessions. - Returned items. (required). /// **DEPRECATED** A list of loyalty programs joined by the customer. . /// The audiences the customer belongs to.. - /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. (required). - /// Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). . + /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. (required). + /// An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). . /// A list of the IDs of the Applications that are connected to this customer profile.. /// A list of the IDs of the audiences that are connected to this customer profile.. public AudienceCustomer(int id = default(int), DateTime created = default(DateTime), string integrationId = default(string), Object attributes = default(Object), int accountId = default(int), int closedSessions = default(int), decimal totalSales = default(decimal), List loyaltyMemberships = default(List), List audienceMemberships = default(List), DateTime lastActivity = default(DateTime), bool sandbox = default(bool), List connectedApplicationsIds = default(List), List connectedAudiences = default(List)) @@ -135,16 +135,16 @@ protected AudienceCustomer() { } public List AudienceMemberships { get; set; } /// - /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. + /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. /// - /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. + /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. [DataMember(Name="lastActivity", EmitDefaultValue=false)] public DateTime LastActivity { get; set; } /// - /// Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). + /// An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). /// - /// Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). + /// An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). [DataMember(Name="sandbox", EmitDefaultValue=false)] public bool Sandbox { get; set; } diff --git a/src/TalonOne/Model/BaseCampaign.cs b/src/TalonOne/Model/BaseCampaign.cs index 11ed019..60d5be9 100644 --- a/src/TalonOne/Model/BaseCampaign.cs +++ b/src/TalonOne/Model/BaseCampaign.cs @@ -98,7 +98,13 @@ public enum FeaturesEnum /// Enum Strikethrough for value: strikethrough /// [EnumMember(Value = "strikethrough")] - Strikethrough = 5 + Strikethrough = 5, + + /// + /// Enum Achievements for value: achievements + /// + [EnumMember(Value = "achievements")] + Achievements = 6 } @@ -110,6 +116,33 @@ public enum FeaturesEnum [DataMember(Name="features", EmitDefaultValue=false)] public List Features { get; set; } /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum CartItem for value: cartItem + /// + [EnumMember(Value = "cartItem")] + CartItem = 1, + + /// + /// Enum Advanced for value: advanced + /// + [EnumMember(Value = "advanced")] + Advanced = 2 + + } + + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [DataMember(Name="type", EmitDefaultValue=false)] + public TypeEnum? Type { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -130,7 +163,9 @@ protected BaseCampaign() { } /// referralSettings. /// The set of [budget limits](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets) for this campaign. (required). /// The IDs of the [campaign groups](https://docs.talon.one/docs/product/account/managing-campaign-groups) this campaign belongs to. . - public BaseCampaign(string name = default(string), string description = default(string), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), Object attributes = default(Object), StateEnum state = StateEnum.Enabled, int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List campaignGroups = default(List)) + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. (default to TypeEnum.Advanced). + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. . + public BaseCampaign(string name = default(string), string description = default(string), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), Object attributes = default(Object), StateEnum state = StateEnum.Enabled, int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List campaignGroups = default(List), TypeEnum? type = TypeEnum.Advanced, List linkedStoreIds = default(List)) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for BaseCampaign and cannot be null"); @@ -149,6 +184,8 @@ protected BaseCampaign() { } this.CouponSettings = couponSettings; this.ReferralSettings = referralSettings; this.CampaignGroups = campaignGroups; + this.Type = type; + this.LinkedStoreIds = linkedStoreIds; } /// @@ -226,6 +263,13 @@ protected BaseCampaign() { } [DataMember(Name="campaignGroups", EmitDefaultValue=false)] public List CampaignGroups { get; set; } + /// + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. + /// + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. + [DataMember(Name="linkedStoreIds", EmitDefaultValue=false)] + public List LinkedStoreIds { get; set; } + /// /// Returns the string presentation of the object /// @@ -247,6 +291,8 @@ public override string ToString() sb.Append(" ReferralSettings: ").Append(ReferralSettings).Append("\n"); sb.Append(" Limits: ").Append(Limits).Append("\n"); sb.Append(" CampaignGroups: ").Append(CampaignGroups).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" LinkedStoreIds: ").Append(LinkedStoreIds).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -345,6 +391,16 @@ public bool Equals(BaseCampaign input) this.CampaignGroups != null && input.CampaignGroups != null && this.CampaignGroups.SequenceEqual(input.CampaignGroups) + ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ) && + ( + this.LinkedStoreIds == input.LinkedStoreIds || + this.LinkedStoreIds != null && + input.LinkedStoreIds != null && + this.LinkedStoreIds.SequenceEqual(input.LinkedStoreIds) ); } @@ -380,6 +436,9 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Limits.GetHashCode(); if (this.CampaignGroups != null) hashCode = hashCode * 59 + this.CampaignGroups.GetHashCode(); + hashCode = hashCode * 59 + this.Type.GetHashCode(); + if (this.LinkedStoreIds != null) + hashCode = hashCode * 59 + this.LinkedStoreIds.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/BaseLoyaltyProgram.cs b/src/TalonOne/Model/BaseLoyaltyProgram.cs index dd0d095..789d848 100644 --- a/src/TalonOne/Model/BaseLoyaltyProgram.cs +++ b/src/TalonOne/Model/BaseLoyaltyProgram.cs @@ -31,6 +31,33 @@ namespace TalonOne.Model [DataContract] public partial class BaseLoyaltyProgram : IEquatable, IValidatableObject { + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + [JsonConverter(typeof(StringEnumConverter))] + public enum TiersExpirationPolicyEnum + { + /// + /// Enum Tierstartdate for value: tier_start_date + /// + [EnumMember(Value = "tier_start_date")] + Tierstartdate = 1, + + /// + /// Enum Programjoindate for value: program_join_date + /// + [EnumMember(Value = "program_join_date")] + Programjoindate = 2 + + } + + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + [DataMember(Name="tiersExpirationPolicy", EmitDefaultValue=false)] + public TiersExpirationPolicyEnum? TiersExpirationPolicy { get; set; } /// /// Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. /// @@ -59,6 +86,39 @@ public enum TiersDowngradePolicyEnum [DataMember(Name="tiersDowngradePolicy", EmitDefaultValue=false)] public TiersDowngradePolicyEnum? TiersDowngradePolicy { get; set; } /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + [JsonConverter(typeof(StringEnumConverter))] + public enum ProgramJoinPolicyEnum + { + /// + /// Enum Notjoin for value: not_join + /// + [EnumMember(Value = "not_join")] + Notjoin = 1, + + /// + /// Enum Pointsactivated for value: points_activated + /// + [EnumMember(Value = "points_activated")] + Pointsactivated = 2, + + /// + /// Enum Pointsearned for value: points_earned + /// + [EnumMember(Value = "points_earned")] + Pointsearned = 3 + + } + + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + [DataMember(Name="programJoinPolicy", EmitDefaultValue=false)] + public ProgramJoinPolicyEnum? ProgramJoinPolicy { get; set; } + /// /// Initializes a new instance of the class. /// /// The display title for the Loyalty Program.. @@ -69,9 +129,11 @@ public enum TiersDowngradePolicyEnum /// Indicates if this program supports subledgers inside the program.. /// The max amount of user profiles with whom a card can be shared. This can be set to 0 for no limit. This property is only used when `cardBased` is `true`. . /// Indicates if this program is a live or sandbox program. Programs of a given type can only be connected to Applications of the same type.. - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. . + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. . + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. . /// Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. . - public BaseLoyaltyProgram(string title = default(string), string description = default(string), List subscribedApplications = default(List), string defaultValidity = default(string), string defaultPending = default(string), bool allowSubledger = default(bool), int usersPerCardLimit = default(int), bool sandbox = default(bool), string tiersExpireIn = default(string), TiersDowngradePolicyEnum? tiersDowngradePolicy = default(TiersDowngradePolicyEnum?)) + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. . + public BaseLoyaltyProgram(string title = default(string), string description = default(string), List subscribedApplications = default(List), string defaultValidity = default(string), string defaultPending = default(string), bool allowSubledger = default(bool), int usersPerCardLimit = default(int), bool sandbox = default(bool), TiersExpirationPolicyEnum? tiersExpirationPolicy = default(TiersExpirationPolicyEnum?), string tiersExpireIn = default(string), TiersDowngradePolicyEnum? tiersDowngradePolicy = default(TiersDowngradePolicyEnum?), ProgramJoinPolicyEnum? programJoinPolicy = default(ProgramJoinPolicyEnum?)) { this.Title = title; this.Description = description; @@ -81,8 +143,10 @@ public enum TiersDowngradePolicyEnum this.AllowSubledger = allowSubledger; this.UsersPerCardLimit = usersPerCardLimit; this.Sandbox = sandbox; + this.TiersExpirationPolicy = tiersExpirationPolicy; this.TiersExpireIn = tiersExpireIn; this.TiersDowngradePolicy = tiersDowngradePolicy; + this.ProgramJoinPolicy = programJoinPolicy; } /// @@ -142,9 +206,9 @@ public enum TiersDowngradePolicyEnum public bool Sandbox { get; set; } /// - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. /// - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. [DataMember(Name="tiersExpireIn", EmitDefaultValue=false)] public string TiersExpireIn { get; set; } @@ -164,8 +228,10 @@ public override string ToString() sb.Append(" AllowSubledger: ").Append(AllowSubledger).Append("\n"); sb.Append(" UsersPerCardLimit: ").Append(UsersPerCardLimit).Append("\n"); sb.Append(" Sandbox: ").Append(Sandbox).Append("\n"); + sb.Append(" TiersExpirationPolicy: ").Append(TiersExpirationPolicy).Append("\n"); sb.Append(" TiersExpireIn: ").Append(TiersExpireIn).Append("\n"); sb.Append(" TiersDowngradePolicy: ").Append(TiersDowngradePolicy).Append("\n"); + sb.Append(" ProgramJoinPolicy: ").Append(ProgramJoinPolicy).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -238,6 +304,10 @@ public bool Equals(BaseLoyaltyProgram input) this.Sandbox == input.Sandbox || this.Sandbox.Equals(input.Sandbox) ) && + ( + this.TiersExpirationPolicy == input.TiersExpirationPolicy || + this.TiersExpirationPolicy.Equals(input.TiersExpirationPolicy) + ) && ( this.TiersExpireIn == input.TiersExpireIn || (this.TiersExpireIn != null && @@ -246,6 +316,10 @@ public bool Equals(BaseLoyaltyProgram input) ( this.TiersDowngradePolicy == input.TiersDowngradePolicy || this.TiersDowngradePolicy.Equals(input.TiersDowngradePolicy) + ) && + ( + this.ProgramJoinPolicy == input.ProgramJoinPolicy || + this.ProgramJoinPolicy.Equals(input.ProgramJoinPolicy) ); } @@ -271,9 +345,11 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.AllowSubledger.GetHashCode(); hashCode = hashCode * 59 + this.UsersPerCardLimit.GetHashCode(); hashCode = hashCode * 59 + this.Sandbox.GetHashCode(); + hashCode = hashCode * 59 + this.TiersExpirationPolicy.GetHashCode(); if (this.TiersExpireIn != null) hashCode = hashCode * 59 + this.TiersExpireIn.GetHashCode(); hashCode = hashCode * 59 + this.TiersDowngradePolicy.GetHashCode(); + hashCode = hashCode * 59 + this.ProgramJoinPolicy.GetHashCode(); return hashCode; } } @@ -291,12 +367,6 @@ public override int GetHashCode() yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for UsersPerCardLimit, must be a value greater than or equal to 0.", new [] { "UsersPerCardLimit" }); } - // TiersExpireIn (string) maxLength - if(this.TiersExpireIn != null && this.TiersExpireIn.Length > 6) - { - yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TiersExpireIn, length must be less than 6.", new [] { "TiersExpireIn" }); - } - yield break; } } diff --git a/src/TalonOne/Model/BaseNotification.cs b/src/TalonOne/Model/BaseNotification.cs index 494a520..d87ea0d 100644 --- a/src/TalonOne/Model/BaseNotification.cs +++ b/src/TalonOne/Model/BaseNotification.cs @@ -31,6 +31,87 @@ namespace TalonOne.Model [DataContract] public partial class BaseNotification : IEquatable, IValidatableObject { + /// + /// The notification type. + /// + /// The notification type. + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum Campaign for value: campaign + /// + [EnumMember(Value = "campaign")] + Campaign = 1, + + /// + /// Enum Loyaltyaddeddeductedpoints for value: loyalty_added_deducted_points + /// + [EnumMember(Value = "loyalty_added_deducted_points")] + Loyaltyaddeddeductedpoints = 2, + + /// + /// Enum Coupon for value: coupon + /// + [EnumMember(Value = "coupon")] + Coupon = 3, + + /// + /// Enum Expiringcoupons for value: expiring_coupons + /// + [EnumMember(Value = "expiring_coupons")] + Expiringcoupons = 4, + + /// + /// Enum Expiringpoints for value: expiring_points + /// + [EnumMember(Value = "expiring_points")] + Expiringpoints = 5, + + /// + /// Enum Cardexpiringpoints for value: card_expiring_points + /// + [EnumMember(Value = "card_expiring_points")] + Cardexpiringpoints = 6, + + /// + /// Enum Pendingtoactivepoints for value: pending_to_active_points + /// + [EnumMember(Value = "pending_to_active_points")] + Pendingtoactivepoints = 7, + + /// + /// Enum Strikethroughpricing for value: strikethrough_pricing + /// + [EnumMember(Value = "strikethrough_pricing")] + Strikethroughpricing = 8, + + /// + /// Enum Tierdowngrade for value: tier_downgrade + /// + [EnumMember(Value = "tier_downgrade")] + Tierdowngrade = 9, + + /// + /// Enum Tierupgrade for value: tier_upgrade + /// + [EnumMember(Value = "tier_upgrade")] + Tierupgrade = 10, + + /// + /// Enum Tierwilldowngrade for value: tier_will_downgrade + /// + [EnumMember(Value = "tier_will_downgrade")] + Tierwilldowngrade = 11 + + } + + /// + /// The notification type. + /// + /// The notification type. + [DataMember(Name="type", EmitDefaultValue=false)] + public TypeEnum Type { get; set; } /// /// Initializes a new instance of the class. /// @@ -40,15 +121,19 @@ protected BaseNotification() { } /// Initializes a new instance of the class. /// /// policy (required). + /// Indicates whether the notification is activated. (default to true). /// webhook (required). /// Unique ID for this entity. (required). - public BaseNotification(Object policy = default(Object), BaseNotificationWebhook webhook = default(BaseNotificationWebhook), int id = default(int)) + /// The notification type. (required). + public BaseNotification(Object policy = default(Object), bool enabled = true, BaseNotificationWebhook webhook = default(BaseNotificationWebhook), int id = default(int), TypeEnum type = default(TypeEnum)) { // to ensure "policy" is required (not null) this.Policy = policy ?? throw new ArgumentNullException("policy is a required property for BaseNotification and cannot be null"); // to ensure "webhook" is required (not null) this.Webhook = webhook ?? throw new ArgumentNullException("webhook is a required property for BaseNotification and cannot be null"); this.Id = id; + this.Type = type; + this.Enabled = enabled; } /// @@ -57,6 +142,13 @@ protected BaseNotification() { } [DataMember(Name="policy", EmitDefaultValue=false)] public Object Policy { get; set; } + /// + /// Indicates whether the notification is activated. + /// + /// Indicates whether the notification is activated. + [DataMember(Name="enabled", EmitDefaultValue=false)] + public bool Enabled { get; set; } + /// /// Gets or Sets Webhook /// @@ -79,8 +171,10 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class BaseNotification {\n"); sb.Append(" Policy: ").Append(Policy).Append("\n"); + sb.Append(" Enabled: ").Append(Enabled).Append("\n"); sb.Append(" Webhook: ").Append(Webhook).Append("\n"); sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -120,6 +214,10 @@ public bool Equals(BaseNotification input) (this.Policy != null && this.Policy.Equals(input.Policy)) ) && + ( + this.Enabled == input.Enabled || + this.Enabled.Equals(input.Enabled) + ) && ( this.Webhook == input.Webhook || (this.Webhook != null && @@ -128,6 +226,10 @@ public bool Equals(BaseNotification input) ( this.Id == input.Id || this.Id.Equals(input.Id) + ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) ); } @@ -142,9 +244,11 @@ public override int GetHashCode() int hashCode = 41; if (this.Policy != null) hashCode = hashCode * 59 + this.Policy.GetHashCode(); + hashCode = hashCode * 59 + this.Enabled.GetHashCode(); if (this.Webhook != null) hashCode = hashCode * 59 + this.Webhook.GetHashCode(); hashCode = hashCode * 59 + this.Id.GetHashCode(); + hashCode = hashCode * 59 + this.Type.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/BaseNotificationEntity.cs b/src/TalonOne/Model/BaseNotificationEntity.cs index 221cfe5..4d36b59 100644 --- a/src/TalonOne/Model/BaseNotificationEntity.cs +++ b/src/TalonOne/Model/BaseNotificationEntity.cs @@ -40,10 +40,12 @@ protected BaseNotificationEntity() { } /// Initializes a new instance of the class. /// /// policy (required). - public BaseNotificationEntity(Object policy = default(Object)) + /// Indicates whether the notification is activated. (default to true). + public BaseNotificationEntity(Object policy = default(Object), bool enabled = true) { // to ensure "policy" is required (not null) this.Policy = policy ?? throw new ArgumentNullException("policy is a required property for BaseNotificationEntity and cannot be null"); + this.Enabled = enabled; } /// @@ -52,6 +54,13 @@ protected BaseNotificationEntity() { } [DataMember(Name="policy", EmitDefaultValue=false)] public Object Policy { get; set; } + /// + /// Indicates whether the notification is activated. + /// + /// Indicates whether the notification is activated. + [DataMember(Name="enabled", EmitDefaultValue=false)] + public bool Enabled { get; set; } + /// /// Returns the string presentation of the object /// @@ -61,6 +70,7 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class BaseNotificationEntity {\n"); sb.Append(" Policy: ").Append(Policy).Append("\n"); + sb.Append(" Enabled: ").Append(Enabled).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -99,6 +109,10 @@ public bool Equals(BaseNotificationEntity input) this.Policy == input.Policy || (this.Policy != null && this.Policy.Equals(input.Policy)) + ) && + ( + this.Enabled == input.Enabled || + this.Enabled.Equals(input.Enabled) ); } @@ -113,6 +127,7 @@ public override int GetHashCode() int hashCode = 41; if (this.Policy != null) hashCode = hashCode * 59 + this.Policy.GetHashCode(); + hashCode = hashCode * 59 + this.Enabled.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/BaseNotificationWebhook.cs b/src/TalonOne/Model/BaseNotificationWebhook.cs index 435af88..4216feb 100644 --- a/src/TalonOne/Model/BaseNotificationWebhook.cs +++ b/src/TalonOne/Model/BaseNotificationWebhook.cs @@ -44,7 +44,8 @@ protected BaseNotificationWebhook() { } /// The time this entity was last modified. (required). /// API URL for the given webhook-based notification. (required). /// List of API HTTP headers for the given webhook-based notification. (required). - public BaseNotificationWebhook(int id = default(int), DateTime created = default(DateTime), DateTime modified = default(DateTime), string url = default(string), List headers = default(List)) + /// Indicates whether the notification is activated. (default to true). + public BaseNotificationWebhook(int id = default(int), DateTime created = default(DateTime), DateTime modified = default(DateTime), string url = default(string), List headers = default(List), bool enabled = true) { this.Id = id; this.Created = created; @@ -53,6 +54,7 @@ protected BaseNotificationWebhook() { } this.Url = url ?? throw new ArgumentNullException("url is a required property for BaseNotificationWebhook and cannot be null"); // to ensure "headers" is required (not null) this.Headers = headers ?? throw new ArgumentNullException("headers is a required property for BaseNotificationWebhook and cannot be null"); + this.Enabled = enabled; } /// @@ -90,6 +92,13 @@ protected BaseNotificationWebhook() { } [DataMember(Name="headers", EmitDefaultValue=false)] public List Headers { get; set; } + /// + /// Indicates whether the notification is activated. + /// + /// Indicates whether the notification is activated. + [DataMember(Name="enabled", EmitDefaultValue=false)] + public bool Enabled { get; set; } + /// /// Returns the string presentation of the object /// @@ -103,6 +112,7 @@ public override string ToString() sb.Append(" Modified: ").Append(Modified).Append("\n"); sb.Append(" Url: ").Append(Url).Append("\n"); sb.Append(" Headers: ").Append(Headers).Append("\n"); + sb.Append(" Enabled: ").Append(Enabled).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -161,6 +171,10 @@ public bool Equals(BaseNotificationWebhook input) this.Headers != null && input.Headers != null && this.Headers.SequenceEqual(input.Headers) + ) && + ( + this.Enabled == input.Enabled || + this.Enabled.Equals(input.Enabled) ); } @@ -182,6 +196,7 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Url.GetHashCode(); if (this.Headers != null) hashCode = hashCode * 59 + this.Headers.GetHashCode(); + hashCode = hashCode * 59 + this.Enabled.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/BulkOperationOnCampaigns.cs b/src/TalonOne/Model/BulkOperationOnCampaigns.cs new file mode 100644 index 0000000..82b88d0 --- /dev/null +++ b/src/TalonOne/Model/BulkOperationOnCampaigns.cs @@ -0,0 +1,168 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// BulkOperationOnCampaigns + /// + [DataContract] + public partial class BulkOperationOnCampaigns : IEquatable, IValidatableObject + { + /// + /// The operation to perform on the specified campaign IDs. + /// + /// The operation to perform on the specified campaign IDs. + [JsonConverter(typeof(StringEnumConverter))] + public enum OperationEnum + { + /// + /// Enum Disable for value: disable + /// + [EnumMember(Value = "disable")] + Disable = 1, + + /// + /// Enum Delete for value: delete + /// + [EnumMember(Value = "delete")] + Delete = 2 + + } + + /// + /// The operation to perform on the specified campaign IDs. + /// + /// The operation to perform on the specified campaign IDs. + [DataMember(Name="operation", EmitDefaultValue=false)] + public OperationEnum Operation { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected BulkOperationOnCampaigns() { } + /// + /// Initializes a new instance of the class. + /// + /// The operation to perform on the specified campaign IDs. (required). + /// The list of campaign IDs on which the operation will be performed. (required). + public BulkOperationOnCampaigns(OperationEnum operation = default(OperationEnum), List campaignIds = default(List)) + { + this.Operation = operation; + // to ensure "campaignIds" is required (not null) + this.CampaignIds = campaignIds ?? throw new ArgumentNullException("campaignIds is a required property for BulkOperationOnCampaigns and cannot be null"); + } + + /// + /// The list of campaign IDs on which the operation will be performed. + /// + /// The list of campaign IDs on which the operation will be performed. + [DataMember(Name="campaignIds", EmitDefaultValue=false)] + public List CampaignIds { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class BulkOperationOnCampaigns {\n"); + sb.Append(" Operation: ").Append(Operation).Append("\n"); + sb.Append(" CampaignIds: ").Append(CampaignIds).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as BulkOperationOnCampaigns); + } + + /// + /// Returns true if BulkOperationOnCampaigns instances are equal + /// + /// Instance of BulkOperationOnCampaigns to be compared + /// Boolean + public bool Equals(BulkOperationOnCampaigns input) + { + if (input == null) + return false; + + return + ( + this.Operation == input.Operation || + this.Operation.Equals(input.Operation) + ) && + ( + this.CampaignIds == input.CampaignIds || + this.CampaignIds != null && + input.CampaignIds != null && + this.CampaignIds.SequenceEqual(input.CampaignIds) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Operation.GetHashCode(); + if (this.CampaignIds != null) + hashCode = hashCode * 59 + this.CampaignIds.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/Campaign.cs b/src/TalonOne/Model/Campaign.cs index 72dafbf..7bb1e5b 100644 --- a/src/TalonOne/Model/Campaign.cs +++ b/src/TalonOne/Model/Campaign.cs @@ -98,7 +98,13 @@ public enum FeaturesEnum /// Enum Strikethrough for value: strikethrough /// [EnumMember(Value = "strikethrough")] - Strikethrough = 5 + Strikethrough = 5, + + /// + /// Enum Achievements for value: achievements + /// + [EnumMember(Value = "achievements")] + Achievements = 6 } @@ -110,6 +116,84 @@ public enum FeaturesEnum [DataMember(Name="features", EmitDefaultValue=false)] public List Features { get; set; } /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum CartItem for value: cartItem + /// + [EnumMember(Value = "cartItem")] + CartItem = 1, + + /// + /// Enum Advanced for value: advanced + /// + [EnumMember(Value = "advanced")] + Advanced = 2 + + } + + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [DataMember(Name="type", EmitDefaultValue=false)] + public TypeEnum Type { get; set; } + /// + /// A campaign state described exactly as in the Campaign Manager. + /// + /// A campaign state described exactly as in the Campaign Manager. + [JsonConverter(typeof(StringEnumConverter))] + public enum FrontendStateEnum + { + /// + /// Enum Expired for value: expired + /// + [EnumMember(Value = "expired")] + Expired = 1, + + /// + /// Enum Scheduled for value: scheduled + /// + [EnumMember(Value = "scheduled")] + Scheduled = 2, + + /// + /// Enum Running for value: running + /// + [EnumMember(Value = "running")] + Running = 3, + + /// + /// Enum Draft for value: draft + /// + [EnumMember(Value = "draft")] + Draft = 4, + + /// + /// Enum Disabled for value: disabled + /// + [EnumMember(Value = "disabled")] + Disabled = 5, + + /// + /// Enum Archived for value: archived + /// + [EnumMember(Value = "archived")] + Archived = 6 + + } + + /// + /// A campaign state described exactly as in the Campaign Manager. + /// + /// A campaign state described exactly as in the Campaign Manager. + [DataMember(Name="frontendState", EmitDefaultValue=false)] + public FrontendStateEnum FrontendState { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -134,27 +218,31 @@ protected Campaign() { } /// referralSettings. /// The set of [budget limits](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets) for this campaign. (required). /// The IDs of the [campaign groups](https://docs.talon.one/docs/product/account/managing-campaign-groups) this campaign belongs to. . - /// Number of coupons redeemed in the campaign.. - /// Number of referral codes redeemed in the campaign.. - /// Total amount of discounts redeemed in the campaign.. - /// Total number of times discounts were redeemed in this campaign.. - /// Total number of coupons created by rules in this campaign.. - /// Total number of custom effects triggered by rules in this campaign.. - /// Total number of referrals created by rules in this campaign.. - /// Total number of times triggering add free item effext is allowed in this campaign.. - /// Total number of giveaways awarded by rules in this campaign.. - /// Total number of loyalty points created by rules in this campaign.. - /// Total number of loyalty point creation effects triggered by rules in this campaign.. - /// Total number of loyalty points redeemed by rules in this campaign.. - /// Total number of loyalty point redemption effects triggered by rules in this campaign.. - /// Total number of webhook triggered by rules in this campaign.. - /// Total number of reserve coupon effects triggered by rules in this campaign.. + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. (required) (default to TypeEnum.Advanced). + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. . + /// A list of all the budgets that are defined by this campaign and their usage. **Note:** Budgets that are not defined do not appear in this list and their usage is not counted until they are defined. (required). + /// This property is **deprecated**. The count should be available under *budgets* property. Number of coupons redeemed in the campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Number of referral codes redeemed in the campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total amount of discounts redeemed in the campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times discounts were redeemed in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of coupons created by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of custom effects triggered by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of referrals created by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times the [add free item effect](https://docs.talon.one/docs/dev/integration-api/api-effects#addfreeitem) can be triggered in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of giveaways awarded by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points created by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point creation effects triggered by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points redeemed by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point redemption effects triggered by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of webhooks triggered by rules in this campaign. . + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of reserve coupon effects triggered by rules in this campaign. . /// Timestamp of the most recent event received by this campaign.. /// Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are **not** registered by this property, such as collection or coupon updates. . /// Name of the user who created this campaign if available.. /// Name of the user who last updated this campaign if available.. /// The ID of the Campaign Template this Campaign was created from.. - public Campaign(int id = default(int), DateTime created = default(DateTime), int applicationId = default(int), int userId = default(int), string name = default(string), string description = default(string), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), Object attributes = default(Object), StateEnum state = StateEnum.Enabled, int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List campaignGroups = default(List), int couponRedemptionCount = default(int), int referralRedemptionCount = default(int), decimal discountCount = default(decimal), int discountEffectCount = default(int), int couponCreationCount = default(int), int customEffectCount = default(int), int referralCreationCount = default(int), int addFreeItemEffectCount = default(int), int awardedGiveawaysCount = default(int), decimal createdLoyaltyPointsCount = default(decimal), int createdLoyaltyPointsEffectCount = default(int), decimal redeemedLoyaltyPointsCount = default(decimal), int redeemedLoyaltyPointsEffectCount = default(int), int callApiEffectCount = default(int), int reservecouponEffectCount = default(int), DateTime lastActivity = default(DateTime), DateTime updated = default(DateTime), string createdBy = default(string), string updatedBy = default(string), int templateId = default(int)) + /// A campaign state described exactly as in the Campaign Manager. (required). + public Campaign(int id = default(int), DateTime created = default(DateTime), int applicationId = default(int), int userId = default(int), string name = default(string), string description = default(string), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), Object attributes = default(Object), StateEnum state = StateEnum.Enabled, int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List campaignGroups = default(List), TypeEnum type = TypeEnum.Advanced, List linkedStoreIds = default(List), List budgets = default(List), int couponRedemptionCount = default(int), int referralRedemptionCount = default(int), decimal discountCount = default(decimal), int discountEffectCount = default(int), int couponCreationCount = default(int), int customEffectCount = default(int), int referralCreationCount = default(int), int addFreeItemEffectCount = default(int), int awardedGiveawaysCount = default(int), decimal createdLoyaltyPointsCount = default(decimal), int createdLoyaltyPointsEffectCount = default(int), decimal redeemedLoyaltyPointsCount = default(decimal), int redeemedLoyaltyPointsEffectCount = default(int), int callApiEffectCount = default(int), int reservecouponEffectCount = default(int), DateTime lastActivity = default(DateTime), DateTime updated = default(DateTime), string createdBy = default(string), string updatedBy = default(string), int templateId = default(int), FrontendStateEnum frontendState = default(FrontendStateEnum)) { this.Id = id; this.Created = created; @@ -171,6 +259,10 @@ protected Campaign() { } this.Features = features ?? throw new ArgumentNullException("features is a required property for Campaign and cannot be null"); // to ensure "limits" is required (not null) this.Limits = limits ?? throw new ArgumentNullException("limits is a required property for Campaign and cannot be null"); + this.Type = type; + // to ensure "budgets" is required (not null) + this.Budgets = budgets ?? throw new ArgumentNullException("budgets is a required property for Campaign and cannot be null"); + this.FrontendState = frontendState; this.StartTime = startTime; this.EndTime = endTime; this.Attributes = attributes; @@ -178,6 +270,7 @@ protected Campaign() { } this.CouponSettings = couponSettings; this.ReferralSettings = referralSettings; this.CampaignGroups = campaignGroups; + this.LinkedStoreIds = linkedStoreIds; this.CouponRedemptionCount = couponRedemptionCount; this.ReferralRedemptionCount = referralRedemptionCount; this.DiscountCount = discountCount; @@ -304,107 +397,121 @@ protected Campaign() { } public List CampaignGroups { get; set; } /// - /// Number of coupons redeemed in the campaign. + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. + /// + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. + [DataMember(Name="linkedStoreIds", EmitDefaultValue=false)] + public List LinkedStoreIds { get; set; } + + /// + /// A list of all the budgets that are defined by this campaign and their usage. **Note:** Budgets that are not defined do not appear in this list and their usage is not counted until they are defined. /// - /// Number of coupons redeemed in the campaign. + /// A list of all the budgets that are defined by this campaign and their usage. **Note:** Budgets that are not defined do not appear in this list and their usage is not counted until they are defined. + [DataMember(Name="budgets", EmitDefaultValue=false)] + public List Budgets { get; set; } + + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Number of coupons redeemed in the campaign. + /// + /// This property is **deprecated**. The count should be available under *budgets* property. Number of coupons redeemed in the campaign. [DataMember(Name="couponRedemptionCount", EmitDefaultValue=false)] public int CouponRedemptionCount { get; set; } /// - /// Number of referral codes redeemed in the campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Number of referral codes redeemed in the campaign. /// - /// Number of referral codes redeemed in the campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Number of referral codes redeemed in the campaign. [DataMember(Name="referralRedemptionCount", EmitDefaultValue=false)] public int ReferralRedemptionCount { get; set; } /// - /// Total amount of discounts redeemed in the campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total amount of discounts redeemed in the campaign. /// - /// Total amount of discounts redeemed in the campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total amount of discounts redeemed in the campaign. [DataMember(Name="discountCount", EmitDefaultValue=false)] public decimal DiscountCount { get; set; } /// - /// Total number of times discounts were redeemed in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times discounts were redeemed in this campaign. /// - /// Total number of times discounts were redeemed in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times discounts were redeemed in this campaign. [DataMember(Name="discountEffectCount", EmitDefaultValue=false)] public int DiscountEffectCount { get; set; } /// - /// Total number of coupons created by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of coupons created by rules in this campaign. /// - /// Total number of coupons created by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of coupons created by rules in this campaign. [DataMember(Name="couponCreationCount", EmitDefaultValue=false)] public int CouponCreationCount { get; set; } /// - /// Total number of custom effects triggered by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of custom effects triggered by rules in this campaign. /// - /// Total number of custom effects triggered by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of custom effects triggered by rules in this campaign. [DataMember(Name="customEffectCount", EmitDefaultValue=false)] public int CustomEffectCount { get; set; } /// - /// Total number of referrals created by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of referrals created by rules in this campaign. /// - /// Total number of referrals created by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of referrals created by rules in this campaign. [DataMember(Name="referralCreationCount", EmitDefaultValue=false)] public int ReferralCreationCount { get; set; } /// - /// Total number of times triggering add free item effext is allowed in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times the [add free item effect](https://docs.talon.one/docs/dev/integration-api/api-effects#addfreeitem) can be triggered in this campaign. /// - /// Total number of times triggering add free item effext is allowed in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of times the [add free item effect](https://docs.talon.one/docs/dev/integration-api/api-effects#addfreeitem) can be triggered in this campaign. [DataMember(Name="addFreeItemEffectCount", EmitDefaultValue=false)] public int AddFreeItemEffectCount { get; set; } /// - /// Total number of giveaways awarded by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of giveaways awarded by rules in this campaign. /// - /// Total number of giveaways awarded by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of giveaways awarded by rules in this campaign. [DataMember(Name="awardedGiveawaysCount", EmitDefaultValue=false)] public int AwardedGiveawaysCount { get; set; } /// - /// Total number of loyalty points created by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points created by rules in this campaign. /// - /// Total number of loyalty points created by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points created by rules in this campaign. [DataMember(Name="createdLoyaltyPointsCount", EmitDefaultValue=false)] public decimal CreatedLoyaltyPointsCount { get; set; } /// - /// Total number of loyalty point creation effects triggered by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point creation effects triggered by rules in this campaign. /// - /// Total number of loyalty point creation effects triggered by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point creation effects triggered by rules in this campaign. [DataMember(Name="createdLoyaltyPointsEffectCount", EmitDefaultValue=false)] public int CreatedLoyaltyPointsEffectCount { get; set; } /// - /// Total number of loyalty points redeemed by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points redeemed by rules in this campaign. /// - /// Total number of loyalty points redeemed by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points redeemed by rules in this campaign. [DataMember(Name="redeemedLoyaltyPointsCount", EmitDefaultValue=false)] public decimal RedeemedLoyaltyPointsCount { get; set; } /// - /// Total number of loyalty point redemption effects triggered by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point redemption effects triggered by rules in this campaign. /// - /// Total number of loyalty point redemption effects triggered by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty point redemption effects triggered by rules in this campaign. [DataMember(Name="redeemedLoyaltyPointsEffectCount", EmitDefaultValue=false)] public int RedeemedLoyaltyPointsEffectCount { get; set; } /// - /// Total number of webhook triggered by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of webhooks triggered by rules in this campaign. /// - /// Total number of webhook triggered by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of webhooks triggered by rules in this campaign. [DataMember(Name="callApiEffectCount", EmitDefaultValue=false)] public int CallApiEffectCount { get; set; } /// - /// Total number of reserve coupon effects triggered by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of reserve coupon effects triggered by rules in this campaign. /// - /// Total number of reserve coupon effects triggered by rules in this campaign. + /// This property is **deprecated**. The count should be available under *budgets* property. Total number of reserve coupon effects triggered by rules in this campaign. [DataMember(Name="reservecouponEffectCount", EmitDefaultValue=false)] public int ReservecouponEffectCount { get; set; } @@ -468,6 +575,9 @@ public override string ToString() sb.Append(" ReferralSettings: ").Append(ReferralSettings).Append("\n"); sb.Append(" Limits: ").Append(Limits).Append("\n"); sb.Append(" CampaignGroups: ").Append(CampaignGroups).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" LinkedStoreIds: ").Append(LinkedStoreIds).Append("\n"); + sb.Append(" Budgets: ").Append(Budgets).Append("\n"); sb.Append(" CouponRedemptionCount: ").Append(CouponRedemptionCount).Append("\n"); sb.Append(" ReferralRedemptionCount: ").Append(ReferralRedemptionCount).Append("\n"); sb.Append(" DiscountCount: ").Append(DiscountCount).Append("\n"); @@ -488,6 +598,7 @@ public override string ToString() sb.Append(" CreatedBy: ").Append(CreatedBy).Append("\n"); sb.Append(" UpdatedBy: ").Append(UpdatedBy).Append("\n"); sb.Append(" TemplateId: ").Append(TemplateId).Append("\n"); + sb.Append(" FrontendState: ").Append(FrontendState).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -604,6 +715,22 @@ public bool Equals(Campaign input) input.CampaignGroups != null && this.CampaignGroups.SequenceEqual(input.CampaignGroups) ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ) && + ( + this.LinkedStoreIds == input.LinkedStoreIds || + this.LinkedStoreIds != null && + input.LinkedStoreIds != null && + this.LinkedStoreIds.SequenceEqual(input.LinkedStoreIds) + ) && + ( + this.Budgets == input.Budgets || + this.Budgets != null && + input.Budgets != null && + this.Budgets.SequenceEqual(input.Budgets) + ) && ( this.CouponRedemptionCount == input.CouponRedemptionCount || this.CouponRedemptionCount.Equals(input.CouponRedemptionCount) @@ -687,6 +814,10 @@ public bool Equals(Campaign input) ( this.TemplateId == input.TemplateId || this.TemplateId.Equals(input.TemplateId) + ) && + ( + this.FrontendState == input.FrontendState || + this.FrontendState.Equals(input.FrontendState) ); } @@ -727,6 +858,11 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Limits.GetHashCode(); if (this.CampaignGroups != null) hashCode = hashCode * 59 + this.CampaignGroups.GetHashCode(); + hashCode = hashCode * 59 + this.Type.GetHashCode(); + if (this.LinkedStoreIds != null) + hashCode = hashCode * 59 + this.LinkedStoreIds.GetHashCode(); + if (this.Budgets != null) + hashCode = hashCode * 59 + this.Budgets.GetHashCode(); hashCode = hashCode * 59 + this.CouponRedemptionCount.GetHashCode(); hashCode = hashCode * 59 + this.ReferralRedemptionCount.GetHashCode(); hashCode = hashCode * 59 + this.DiscountCount.GetHashCode(); @@ -751,6 +887,7 @@ public override int GetHashCode() if (this.UpdatedBy != null) hashCode = hashCode * 59 + this.UpdatedBy.GetHashCode(); hashCode = hashCode * 59 + this.TemplateId.GetHashCode(); + hashCode = hashCode * 59 + this.FrontendState.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/CampaignBudget.cs b/src/TalonOne/Model/CampaignBudget.cs new file mode 100644 index 0000000..d2e7744 --- /dev/null +++ b/src/TalonOne/Model/CampaignBudget.cs @@ -0,0 +1,174 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// CampaignBudget + /// + [DataContract] + public partial class CampaignBudget : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CampaignBudget() { } + /// + /// Initializes a new instance of the class. + /// + /// The limitable action to which this limit applies. For example: - `setDiscount` - `setDiscountEffect` - `redeemCoupon` - `createCoupon` (required). + /// The value to set for the limit. (required). + /// The number of occurrences of the limited action in the context of the campaign. (required). + public CampaignBudget(string action = default(string), decimal limit = default(decimal), decimal counter = default(decimal)) + { + // to ensure "action" is required (not null) + this.Action = action ?? throw new ArgumentNullException("action is a required property for CampaignBudget and cannot be null"); + this.Limit = limit; + this.Counter = counter; + } + + /// + /// The limitable action to which this limit applies. For example: - `setDiscount` - `setDiscountEffect` - `redeemCoupon` - `createCoupon` + /// + /// The limitable action to which this limit applies. For example: - `setDiscount` - `setDiscountEffect` - `redeemCoupon` - `createCoupon` + [DataMember(Name="action", EmitDefaultValue=false)] + public string Action { get; set; } + + /// + /// The value to set for the limit. + /// + /// The value to set for the limit. + [DataMember(Name="limit", EmitDefaultValue=false)] + public decimal Limit { get; set; } + + /// + /// The number of occurrences of the limited action in the context of the campaign. + /// + /// The number of occurrences of the limited action in the context of the campaign. + [DataMember(Name="counter", EmitDefaultValue=false)] + public decimal Counter { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class CampaignBudget {\n"); + sb.Append(" Action: ").Append(Action).Append("\n"); + sb.Append(" Limit: ").Append(Limit).Append("\n"); + sb.Append(" Counter: ").Append(Counter).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as CampaignBudget); + } + + /// + /// Returns true if CampaignBudget instances are equal + /// + /// Instance of CampaignBudget to be compared + /// Boolean + public bool Equals(CampaignBudget input) + { + if (input == null) + return false; + + return + ( + this.Action == input.Action || + (this.Action != null && + this.Action.Equals(input.Action)) + ) && + ( + this.Limit == input.Limit || + this.Limit.Equals(input.Limit) + ) && + ( + this.Counter == input.Counter || + this.Counter.Equals(input.Counter) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Action != null) + hashCode = hashCode * 59 + this.Action.GetHashCode(); + hashCode = hashCode * 59 + this.Limit.GetHashCode(); + hashCode = hashCode * 59 + this.Counter.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Limit (decimal) minimum + if(this.Limit < (decimal)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Limit, must be a value greater than or equal to 0.", new [] { "Limit" }); + } + + // Counter (decimal) minimum + if(this.Counter < (decimal)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Counter, must be a value greater than or equal to 0.", new [] { "Counter" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/CampaignEvaluationGroup.cs b/src/TalonOne/Model/CampaignEvaluationGroup.cs index 5234c47..152691e 100644 --- a/src/TalonOne/Model/CampaignEvaluationGroup.cs +++ b/src/TalonOne/Model/CampaignEvaluationGroup.cs @@ -32,8 +32,9 @@ namespace TalonOne.Model public partial class CampaignEvaluationGroup : IEquatable, IValidatableObject { /// - /// Defines EvaluationMode + /// The mode by which campaigns in the campaign evaluation group are evaluated. /// + /// The mode by which campaigns in the campaign evaluation group are evaluated. [JsonConverter(typeof(StringEnumConverter))] public enum EvaluationModeEnum { @@ -64,11 +65,39 @@ public enum EvaluationModeEnum } /// - /// Gets or Sets EvaluationMode + /// The mode by which campaigns in the campaign evaluation group are evaluated. /// + /// The mode by which campaigns in the campaign evaluation group are evaluated. [DataMember(Name="evaluationMode", EmitDefaultValue=false)] public EvaluationModeEnum EvaluationMode { get; set; } /// + /// The evaluation scope of the campaign evaluation group. + /// + /// The evaluation scope of the campaign evaluation group. + [JsonConverter(typeof(StringEnumConverter))] + public enum EvaluationScopeEnum + { + /// + /// Enum CartItem for value: cartItem + /// + [EnumMember(Value = "cartItem")] + CartItem = 1, + + /// + /// Enum Session for value: session + /// + [EnumMember(Value = "session")] + Session = 2 + + } + + /// + /// The evaluation scope of the campaign evaluation group. + /// + /// The evaluation scope of the campaign evaluation group. + [DataMember(Name="evaluationScope", EmitDefaultValue=false)] + public EvaluationScopeEnum EvaluationScope { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -80,16 +109,18 @@ protected CampaignEvaluationGroup() { } /// The name of the campaign evaluation group. (required). /// The ID of the parent group that contains the campaign evaluation group. (required). /// A description of the campaign evaluation group.. - /// evaluationMode (required). + /// The mode by which campaigns in the campaign evaluation group are evaluated. (required). + /// The evaluation scope of the campaign evaluation group. (required). /// An indicator of whether the campaign evaluation group is locked for modification. (required). /// Unique ID for this entity. Not to be confused with the Integration ID, which is set by your integration layer and used in most endpoints. (required). - public CampaignEvaluationGroup(int applicationId = default(int), string name = default(string), int parentId = default(int), string description = default(string), EvaluationModeEnum evaluationMode = default(EvaluationModeEnum), bool locked = default(bool), int id = default(int)) + public CampaignEvaluationGroup(int applicationId = default(int), string name = default(string), int parentId = default(int), string description = default(string), EvaluationModeEnum evaluationMode = default(EvaluationModeEnum), EvaluationScopeEnum evaluationScope = default(EvaluationScopeEnum), bool locked = default(bool), int id = default(int)) { this.ApplicationId = applicationId; // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for CampaignEvaluationGroup and cannot be null"); this.ParentId = parentId; this.EvaluationMode = evaluationMode; + this.EvaluationScope = evaluationScope; this.Locked = locked; this.Id = id; this.Description = description; @@ -150,6 +181,7 @@ public override string ToString() sb.Append(" ParentId: ").Append(ParentId).Append("\n"); sb.Append(" Description: ").Append(Description).Append("\n"); sb.Append(" EvaluationMode: ").Append(EvaluationMode).Append("\n"); + sb.Append(" EvaluationScope: ").Append(EvaluationScope).Append("\n"); sb.Append(" Locked: ").Append(Locked).Append("\n"); sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append("}\n"); @@ -208,6 +240,10 @@ public bool Equals(CampaignEvaluationGroup input) this.EvaluationMode == input.EvaluationMode || this.EvaluationMode.Equals(input.EvaluationMode) ) && + ( + this.EvaluationScope == input.EvaluationScope || + this.EvaluationScope.Equals(input.EvaluationScope) + ) && ( this.Locked == input.Locked || this.Locked.Equals(input.Locked) @@ -234,6 +270,7 @@ public override int GetHashCode() if (this.Description != null) hashCode = hashCode * 59 + this.Description.GetHashCode(); hashCode = hashCode * 59 + this.EvaluationMode.GetHashCode(); + hashCode = hashCode * 59 + this.EvaluationScope.GetHashCode(); hashCode = hashCode * 59 + this.Locked.GetHashCode(); hashCode = hashCode * 59 + this.Id.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/CampaignGroup.cs b/src/TalonOne/Model/CampaignGroup.cs index 635c9e3..e475330 100644 --- a/src/TalonOne/Model/CampaignGroup.cs +++ b/src/TalonOne/Model/CampaignGroup.cs @@ -43,10 +43,10 @@ protected CampaignGroup() { } /// The time this entity was created. (required). /// The time this entity was last modified. (required). /// The ID of the account that owns this entity. (required). - /// The name of this campaign group. (required). - /// A longer description of the campaign group.. - /// A list of the IDs of the applications that this campaign group is enabled for.. - /// A list of the IDs of the campaigns that this campaign group owns.. + /// The name of the campaign access group. (required). + /// A longer description of the campaign access group.. + /// A list of IDs of the Applications that this campaign access group is enabled for.. + /// A list of IDs of the campaigns that are part of the campaign access group.. public CampaignGroup(int id = default(int), DateTime created = default(DateTime), DateTime modified = default(DateTime), int accountId = default(int), string name = default(string), string description = default(string), List subscribedApplicationsIds = default(List), List campaignIds = default(List)) { this.Id = id; @@ -89,30 +89,30 @@ protected CampaignGroup() { } public int AccountId { get; set; } /// - /// The name of this campaign group. + /// The name of the campaign access group. /// - /// The name of this campaign group. + /// The name of the campaign access group. [DataMember(Name="name", EmitDefaultValue=false)] public string Name { get; set; } /// - /// A longer description of the campaign group. + /// A longer description of the campaign access group. /// - /// A longer description of the campaign group. + /// A longer description of the campaign access group. [DataMember(Name="description", EmitDefaultValue=false)] public string Description { get; set; } /// - /// A list of the IDs of the applications that this campaign group is enabled for. + /// A list of IDs of the Applications that this campaign access group is enabled for. /// - /// A list of the IDs of the applications that this campaign group is enabled for. + /// A list of IDs of the Applications that this campaign access group is enabled for. [DataMember(Name="subscribedApplicationsIds", EmitDefaultValue=false)] public List SubscribedApplicationsIds { get; set; } /// - /// A list of the IDs of the campaigns that this campaign group owns. + /// A list of IDs of the campaigns that are part of the campaign access group. /// - /// A list of the IDs of the campaigns that this campaign group owns. + /// A list of IDs of the campaigns that are part of the campaign access group. [DataMember(Name="campaignIds", EmitDefaultValue=false)] public List CampaignIds { get; set; } diff --git a/src/TalonOne/Model/CampaignNotificationPolicy.cs b/src/TalonOne/Model/CampaignNotificationPolicy.cs new file mode 100644 index 0000000..4e1cd56 --- /dev/null +++ b/src/TalonOne/Model/CampaignNotificationPolicy.cs @@ -0,0 +1,138 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// CampaignNotificationPolicy + /// + [DataContract] + public partial class CampaignNotificationPolicy : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CampaignNotificationPolicy() { } + /// + /// Initializes a new instance of the class. + /// + /// Notification name. (required). + public CampaignNotificationPolicy(string name = default(string)) + { + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for CampaignNotificationPolicy and cannot be null"); + } + + /// + /// Notification name. + /// + /// Notification name. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class CampaignNotificationPolicy {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as CampaignNotificationPolicy); + } + + /// + /// Returns true if CampaignNotificationPolicy instances are equal + /// + /// Instance of CampaignNotificationPolicy to be compared + /// Boolean + public bool Equals(CampaignNotificationPolicy input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/CampaignSetBranchNode.cs b/src/TalonOne/Model/CampaignSetBranchNode.cs index fc223b0..37648c7 100644 --- a/src/TalonOne/Model/CampaignSetBranchNode.cs +++ b/src/TalonOne/Model/CampaignSetBranchNode.cs @@ -80,8 +80,9 @@ public enum OperatorEnum [DataMember(Name="operator", EmitDefaultValue=false)] public OperatorEnum Operator { get; set; } /// - /// Defines EvaluationMode + /// The mode by which campaigns in the campaign evaluation group are evaluated. /// + /// The mode by which campaigns in the campaign evaluation group are evaluated. [JsonConverter(typeof(StringEnumConverter))] public enum EvaluationModeEnum { @@ -112,11 +113,39 @@ public enum EvaluationModeEnum } /// - /// Gets or Sets EvaluationMode + /// The mode by which campaigns in the campaign evaluation group are evaluated. /// + /// The mode by which campaigns in the campaign evaluation group are evaluated. [DataMember(Name="evaluationMode", EmitDefaultValue=false)] public EvaluationModeEnum EvaluationMode { get; set; } /// + /// The evaluation scope of the campaign evaluation group. + /// + /// The evaluation scope of the campaign evaluation group. + [JsonConverter(typeof(StringEnumConverter))] + public enum EvaluationScopeEnum + { + /// + /// Enum CartItem for value: cartItem + /// + [EnumMember(Value = "cartItem")] + CartItem = 1, + + /// + /// Enum Session for value: session + /// + [EnumMember(Value = "session")] + Session = 2 + + } + + /// + /// The evaluation scope of the campaign evaluation group. + /// + /// The evaluation scope of the campaign evaluation group. + [DataMember(Name="evaluationScope", EmitDefaultValue=false)] + public EvaluationScopeEnum EvaluationScope { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -131,8 +160,9 @@ protected CampaignSetBranchNode() { } /// The ID of the campaign set. (required). /// An indicator of whether the campaign set is locked for modification. (required). /// A description of the campaign set.. - /// evaluationMode (required). - public CampaignSetBranchNode(TypeEnum type = default(TypeEnum), string name = default(string), OperatorEnum _operator = default(OperatorEnum), List elements = default(List), int groupId = default(int), bool locked = default(bool), string description = default(string), EvaluationModeEnum evaluationMode = default(EvaluationModeEnum)) + /// The mode by which campaigns in the campaign evaluation group are evaluated. (required). + /// The evaluation scope of the campaign evaluation group. (required). + public CampaignSetBranchNode(TypeEnum type = default(TypeEnum), string name = default(string), OperatorEnum _operator = default(OperatorEnum), List elements = default(List), int groupId = default(int), bool locked = default(bool), string description = default(string), EvaluationModeEnum evaluationMode = default(EvaluationModeEnum), EvaluationScopeEnum evaluationScope = default(EvaluationScopeEnum)) { this.Type = type; // to ensure "name" is required (not null) @@ -143,6 +173,7 @@ protected CampaignSetBranchNode() { } this.GroupId = groupId; this.Locked = locked; this.EvaluationMode = evaluationMode; + this.EvaluationScope = evaluationScope; this.Description = description; } @@ -197,6 +228,7 @@ public override string ToString() sb.Append(" Locked: ").Append(Locked).Append("\n"); sb.Append(" Description: ").Append(Description).Append("\n"); sb.Append(" EvaluationMode: ").Append(EvaluationMode).Append("\n"); + sb.Append(" EvaluationScope: ").Append(EvaluationScope).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -266,6 +298,10 @@ public bool Equals(CampaignSetBranchNode input) ( this.EvaluationMode == input.EvaluationMode || this.EvaluationMode.Equals(input.EvaluationMode) + ) && + ( + this.EvaluationScope == input.EvaluationScope || + this.EvaluationScope.Equals(input.EvaluationScope) ); } @@ -289,6 +325,7 @@ public override int GetHashCode() if (this.Description != null) hashCode = hashCode * 59 + this.Description.GetHashCode(); hashCode = hashCode * 59 + this.EvaluationMode.GetHashCode(); + hashCode = hashCode * 59 + this.EvaluationScope.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/CampaignTemplate.cs b/src/TalonOne/Model/CampaignTemplate.cs index 15edc79..179b928 100644 --- a/src/TalonOne/Model/CampaignTemplate.cs +++ b/src/TalonOne/Model/CampaignTemplate.cs @@ -98,7 +98,13 @@ public enum FeaturesEnum /// Enum Strikethrough for value: strikethrough /// [EnumMember(Value = "strikethrough")] - Strikethrough = 5 + Strikethrough = 5, + + /// + /// Enum Achievements for value: achievements + /// + [EnumMember(Value = "achievements")] + Achievements = 6 } @@ -110,6 +116,33 @@ public enum FeaturesEnum [DataMember(Name="features", EmitDefaultValue=false)] public List Features { get; set; } /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [JsonConverter(typeof(StringEnumConverter))] + public enum CampaignTypeEnum + { + /// + /// Enum CartItem for value: cartItem + /// + [EnumMember(Value = "cartItem")] + CartItem = 1, + + /// + /// Enum Advanced for value: advanced + /// + [EnumMember(Value = "advanced")] + Advanced = 2 + + } + + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [DataMember(Name="campaignType", EmitDefaultValue=false)] + public CampaignTypeEnum CampaignType { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -137,10 +170,11 @@ protected CampaignTemplate() { } /// A list of IDs of the Applications that are subscribed to this campaign template. (required). /// The campaign collections from the blueprint campaign for the template.. /// The default campaign group ID.. + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. (required) (default to CampaignTypeEnum.Advanced). /// Timestamp of the most recent update to the campaign template or any of its elements.. /// Name of the user who last updated this campaign template, if available.. /// The IDs of the Applications that are related to this entity. (required). - public CampaignTemplate(int id = default(int), DateTime created = default(DateTime), int accountId = default(int), int userId = default(int), string name = default(string), string description = default(string), string instructions = default(string), Object campaignAttributes = default(Object), Object couponAttributes = default(Object), StateEnum state = default(StateEnum), int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List templateParams = default(List), List applicationsIds = default(List), List campaignCollections = default(List), int defaultCampaignGroupId = default(int), DateTime updated = default(DateTime), string updatedBy = default(string), List validApplicationIds = default(List)) + public CampaignTemplate(int id = default(int), DateTime created = default(DateTime), int accountId = default(int), int userId = default(int), string name = default(string), string description = default(string), string instructions = default(string), Object campaignAttributes = default(Object), Object couponAttributes = default(Object), StateEnum state = default(StateEnum), int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List templateParams = default(List), List applicationsIds = default(List), List campaignCollections = default(List), int defaultCampaignGroupId = default(int), CampaignTypeEnum campaignType = CampaignTypeEnum.Advanced, DateTime updated = default(DateTime), string updatedBy = default(string), List validApplicationIds = default(List)) { this.Id = id; this.Created = created; @@ -155,6 +189,7 @@ protected CampaignTemplate() { } this.State = state; // to ensure "applicationsIds" is required (not null) this.ApplicationsIds = applicationsIds ?? throw new ArgumentNullException("applicationsIds is a required property for CampaignTemplate and cannot be null"); + this.CampaignType = campaignType; // to ensure "validApplicationIds" is required (not null) this.ValidApplicationIds = validApplicationIds ?? throw new ArgumentNullException("validApplicationIds is a required property for CampaignTemplate and cannot be null"); this.CampaignAttributes = campaignAttributes; @@ -345,6 +380,7 @@ public override string ToString() sb.Append(" ApplicationsIds: ").Append(ApplicationsIds).Append("\n"); sb.Append(" CampaignCollections: ").Append(CampaignCollections).Append("\n"); sb.Append(" DefaultCampaignGroupId: ").Append(DefaultCampaignGroupId).Append("\n"); + sb.Append(" CampaignType: ").Append(CampaignType).Append("\n"); sb.Append(" Updated: ").Append(Updated).Append("\n"); sb.Append(" UpdatedBy: ").Append(UpdatedBy).Append("\n"); sb.Append(" ValidApplicationIds: ").Append(ValidApplicationIds).Append("\n"); @@ -480,6 +516,10 @@ public bool Equals(CampaignTemplate input) this.DefaultCampaignGroupId == input.DefaultCampaignGroupId || this.DefaultCampaignGroupId.Equals(input.DefaultCampaignGroupId) ) && + ( + this.CampaignType == input.CampaignType || + this.CampaignType.Equals(input.CampaignType) + ) && ( this.Updated == input.Updated || (this.Updated != null && @@ -540,6 +580,7 @@ public override int GetHashCode() if (this.CampaignCollections != null) hashCode = hashCode * 59 + this.CampaignCollections.GetHashCode(); hashCode = hashCode * 59 + this.DefaultCampaignGroupId.GetHashCode(); + hashCode = hashCode * 59 + this.CampaignType.GetHashCode(); if (this.Updated != null) hashCode = hashCode * 59 + this.Updated.GetHashCode(); if (this.UpdatedBy != null) diff --git a/src/TalonOne/Model/CardExpiringPointsNotificationPolicy.cs b/src/TalonOne/Model/CardExpiringPointsNotificationPolicy.cs new file mode 100644 index 0000000..42aec29 --- /dev/null +++ b/src/TalonOne/Model/CardExpiringPointsNotificationPolicy.cs @@ -0,0 +1,171 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// CardExpiringPointsNotificationPolicy + /// + [DataContract] + public partial class CardExpiringPointsNotificationPolicy : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CardExpiringPointsNotificationPolicy() { } + /// + /// Initializes a new instance of the class. + /// + /// Notification name. (required). + /// triggers (required). + /// Indicates whether batching is activated. (default to true). + public CardExpiringPointsNotificationPolicy(string name = default(string), List triggers = default(List), bool batchingEnabled = true) + { + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for CardExpiringPointsNotificationPolicy and cannot be null"); + // to ensure "triggers" is required (not null) + this.Triggers = triggers ?? throw new ArgumentNullException("triggers is a required property for CardExpiringPointsNotificationPolicy and cannot be null"); + this.BatchingEnabled = batchingEnabled; + } + + /// + /// Notification name. + /// + /// Notification name. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Gets or Sets Triggers + /// + [DataMember(Name="triggers", EmitDefaultValue=false)] + public List Triggers { get; set; } + + /// + /// Indicates whether batching is activated. + /// + /// Indicates whether batching is activated. + [DataMember(Name="batchingEnabled", EmitDefaultValue=false)] + public bool BatchingEnabled { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class CardExpiringPointsNotificationPolicy {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Triggers: ").Append(Triggers).Append("\n"); + sb.Append(" BatchingEnabled: ").Append(BatchingEnabled).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as CardExpiringPointsNotificationPolicy); + } + + /// + /// Returns true if CardExpiringPointsNotificationPolicy instances are equal + /// + /// Instance of CardExpiringPointsNotificationPolicy to be compared + /// Boolean + public bool Equals(CardExpiringPointsNotificationPolicy input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.Triggers == input.Triggers || + this.Triggers != null && + input.Triggers != null && + this.Triggers.SequenceEqual(input.Triggers) + ) && + ( + this.BatchingEnabled == input.BatchingEnabled || + this.BatchingEnabled.Equals(input.BatchingEnabled) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.Triggers != null) + hashCode = hashCode * 59 + this.Triggers.GetHashCode(); + hashCode = hashCode * 59 + this.BatchingEnabled.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/CardExpiringPointsNotificationTrigger.cs b/src/TalonOne/Model/CardExpiringPointsNotificationTrigger.cs new file mode 100644 index 0000000..d7622fa --- /dev/null +++ b/src/TalonOne/Model/CardExpiringPointsNotificationTrigger.cs @@ -0,0 +1,170 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// CardExpiringPointsNotificationTrigger + /// + [DataContract] + public partial class CardExpiringPointsNotificationTrigger : IEquatable, IValidatableObject + { + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + [JsonConverter(typeof(StringEnumConverter))] + public enum PeriodEnum + { + /// + /// Enum W for value: w + /// + [EnumMember(Value = "w")] + W = 1, + + /// + /// Enum D for value: d + /// + [EnumMember(Value = "d")] + D = 2 + + } + + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + [DataMember(Name="period", EmitDefaultValue=false)] + public PeriodEnum Period { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CardExpiringPointsNotificationTrigger() { } + /// + /// Initializes a new instance of the class. + /// + /// The amount of period. (required). + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. (required). + public CardExpiringPointsNotificationTrigger(int amount = default(int), PeriodEnum period = default(PeriodEnum)) + { + this.Amount = amount; + this.Period = period; + } + + /// + /// The amount of period. + /// + /// The amount of period. + [DataMember(Name="amount", EmitDefaultValue=false)] + public int Amount { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class CardExpiringPointsNotificationTrigger {\n"); + sb.Append(" Amount: ").Append(Amount).Append("\n"); + sb.Append(" Period: ").Append(Period).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as CardExpiringPointsNotificationTrigger); + } + + /// + /// Returns true if CardExpiringPointsNotificationTrigger instances are equal + /// + /// Instance of CardExpiringPointsNotificationTrigger to be compared + /// Boolean + public bool Equals(CardExpiringPointsNotificationTrigger input) + { + if (input == null) + return false; + + return + ( + this.Amount == input.Amount || + this.Amount.Equals(input.Amount) + ) && + ( + this.Period == input.Period || + this.Period.Equals(input.Period) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Amount.GetHashCode(); + hashCode = hashCode * 59 + this.Period.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Amount (int) minimum + if(this.Amount < (int)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Amount, must be a value greater than or equal to 1.", new [] { "Amount" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/CardLedgerPointsEntryIntegrationAPI.cs b/src/TalonOne/Model/CardLedgerPointsEntryIntegrationAPI.cs new file mode 100644 index 0000000..6649fbf --- /dev/null +++ b/src/TalonOne/Model/CardLedgerPointsEntryIntegrationAPI.cs @@ -0,0 +1,306 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// Loyalty card points with start and expiry dates. + /// + [DataContract] + public partial class CardLedgerPointsEntryIntegrationAPI : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CardLedgerPointsEntryIntegrationAPI() { } + /// + /// Initializes a new instance of the class. + /// + /// ID of the transaction that adds loyalty points. (required). + /// Date and time the loyalty card points were added. (required). + /// ID of the loyalty program. (required). + /// Integration ID of the customer profile linked to the card.. + /// ID of the customer session where points were added.. + /// Name or reason of the transaction that adds loyalty points. (required). + /// When points become active. Possible values: - `immediate`: Points are active immediately. - `timestamp value`: Points become active at a given date and time. (required). + /// Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date and time. (required). + /// ID of the subledger. (required). + /// Amount of loyalty points added in the transaction. (required). + public CardLedgerPointsEntryIntegrationAPI(int id = default(int), DateTime created = default(DateTime), int programId = default(int), string customerProfileID = default(string), string customerSessionId = default(string), string name = default(string), string startDate = default(string), string expiryDate = default(string), string subledgerId = default(string), decimal amount = default(decimal)) + { + this.Id = id; + this.Created = created; + this.ProgramId = programId; + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for CardLedgerPointsEntryIntegrationAPI and cannot be null"); + // to ensure "startDate" is required (not null) + this.StartDate = startDate ?? throw new ArgumentNullException("startDate is a required property for CardLedgerPointsEntryIntegrationAPI and cannot be null"); + // to ensure "expiryDate" is required (not null) + this.ExpiryDate = expiryDate ?? throw new ArgumentNullException("expiryDate is a required property for CardLedgerPointsEntryIntegrationAPI and cannot be null"); + // to ensure "subledgerId" is required (not null) + this.SubledgerId = subledgerId ?? throw new ArgumentNullException("subledgerId is a required property for CardLedgerPointsEntryIntegrationAPI and cannot be null"); + this.Amount = amount; + this.CustomerProfileID = customerProfileID; + this.CustomerSessionId = customerSessionId; + } + + /// + /// ID of the transaction that adds loyalty points. + /// + /// ID of the transaction that adds loyalty points. + [DataMember(Name="id", EmitDefaultValue=false)] + public int Id { get; set; } + + /// + /// Date and time the loyalty card points were added. + /// + /// Date and time the loyalty card points were added. + [DataMember(Name="created", EmitDefaultValue=false)] + public DateTime Created { get; set; } + + /// + /// ID of the loyalty program. + /// + /// ID of the loyalty program. + [DataMember(Name="programId", EmitDefaultValue=false)] + public int ProgramId { get; set; } + + /// + /// Integration ID of the customer profile linked to the card. + /// + /// Integration ID of the customer profile linked to the card. + [DataMember(Name="customerProfileID", EmitDefaultValue=false)] + public string CustomerProfileID { get; set; } + + /// + /// ID of the customer session where points were added. + /// + /// ID of the customer session where points were added. + [DataMember(Name="customerSessionId", EmitDefaultValue=false)] + public string CustomerSessionId { get; set; } + + /// + /// Name or reason of the transaction that adds loyalty points. + /// + /// Name or reason of the transaction that adds loyalty points. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// When points become active. Possible values: - `immediate`: Points are active immediately. - `timestamp value`: Points become active at a given date and time. + /// + /// When points become active. Possible values: - `immediate`: Points are active immediately. - `timestamp value`: Points become active at a given date and time. + [DataMember(Name="startDate", EmitDefaultValue=false)] + public string StartDate { get; set; } + + /// + /// Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date and time. + /// + /// Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date and time. + [DataMember(Name="expiryDate", EmitDefaultValue=false)] + public string ExpiryDate { get; set; } + + /// + /// ID of the subledger. + /// + /// ID of the subledger. + [DataMember(Name="subledgerId", EmitDefaultValue=false)] + public string SubledgerId { get; set; } + + /// + /// Amount of loyalty points added in the transaction. + /// + /// Amount of loyalty points added in the transaction. + [DataMember(Name="amount", EmitDefaultValue=false)] + public decimal Amount { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class CardLedgerPointsEntryIntegrationAPI {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Created: ").Append(Created).Append("\n"); + sb.Append(" ProgramId: ").Append(ProgramId).Append("\n"); + sb.Append(" CustomerProfileID: ").Append(CustomerProfileID).Append("\n"); + sb.Append(" CustomerSessionId: ").Append(CustomerSessionId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" StartDate: ").Append(StartDate).Append("\n"); + sb.Append(" ExpiryDate: ").Append(ExpiryDate).Append("\n"); + sb.Append(" SubledgerId: ").Append(SubledgerId).Append("\n"); + sb.Append(" Amount: ").Append(Amount).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as CardLedgerPointsEntryIntegrationAPI); + } + + /// + /// Returns true if CardLedgerPointsEntryIntegrationAPI instances are equal + /// + /// Instance of CardLedgerPointsEntryIntegrationAPI to be compared + /// Boolean + public bool Equals(CardLedgerPointsEntryIntegrationAPI input) + { + if (input == null) + return false; + + return + ( + this.Id == input.Id || + this.Id.Equals(input.Id) + ) && + ( + this.Created == input.Created || + (this.Created != null && + this.Created.Equals(input.Created)) + ) && + ( + this.ProgramId == input.ProgramId || + this.ProgramId.Equals(input.ProgramId) + ) && + ( + this.CustomerProfileID == input.CustomerProfileID || + (this.CustomerProfileID != null && + this.CustomerProfileID.Equals(input.CustomerProfileID)) + ) && + ( + this.CustomerSessionId == input.CustomerSessionId || + (this.CustomerSessionId != null && + this.CustomerSessionId.Equals(input.CustomerSessionId)) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.StartDate == input.StartDate || + (this.StartDate != null && + this.StartDate.Equals(input.StartDate)) + ) && + ( + this.ExpiryDate == input.ExpiryDate || + (this.ExpiryDate != null && + this.ExpiryDate.Equals(input.ExpiryDate)) + ) && + ( + this.SubledgerId == input.SubledgerId || + (this.SubledgerId != null && + this.SubledgerId.Equals(input.SubledgerId)) + ) && + ( + this.Amount == input.Amount || + this.Amount.Equals(input.Amount) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Id.GetHashCode(); + if (this.Created != null) + hashCode = hashCode * 59 + this.Created.GetHashCode(); + hashCode = hashCode * 59 + this.ProgramId.GetHashCode(); + if (this.CustomerProfileID != null) + hashCode = hashCode * 59 + this.CustomerProfileID.GetHashCode(); + if (this.CustomerSessionId != null) + hashCode = hashCode * 59 + this.CustomerSessionId.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.StartDate != null) + hashCode = hashCode * 59 + this.StartDate.GetHashCode(); + if (this.ExpiryDate != null) + hashCode = hashCode * 59 + this.ExpiryDate.GetHashCode(); + if (this.SubledgerId != null) + hashCode = hashCode * 59 + this.SubledgerId.GetHashCode(); + hashCode = hashCode * 59 + this.Amount.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // CustomerSessionId (string) maxLength + if(this.CustomerSessionId != null && this.CustomerSessionId.Length > 255) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CustomerSessionId, length must be less than 255.", new [] { "CustomerSessionId" }); + } + + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 255) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 255.", new [] { "Name" }); + } + + // StartDate (string) maxLength + if(this.StartDate != null && this.StartDate.Length > 64) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StartDate, length must be less than 64.", new [] { "StartDate" }); + } + + // SubledgerId (string) maxLength + if(this.SubledgerId != null && this.SubledgerId.Length > 64) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for SubledgerId, length must be less than 64.", new [] { "SubledgerId" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/CartItem.cs b/src/TalonOne/Model/CartItem.cs index 9c24695..3c29611 100644 --- a/src/TalonOne/Model/CartItem.cs +++ b/src/TalonOne/Model/CartItem.cs @@ -41,11 +41,12 @@ protected CartItem() { } /// /// Name of item.. /// Stock keeping unit of item. (required). - /// Quantity of item. **Important:** If you enabled [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening), the quantity is always one and the same cart item might receive multiple per-item discounts. Ensure you can process multiple discounts on one cart item correctly. (required). + /// Number of units of this item. Due to [cart item flattening](https://docs.talon.one/docs/product/rules/understanding-cart-item-flattening), if you provide a quantity greater than 1, the item will be split in as many items as the provided quantity. This will impact the number of **per-item** effects triggered from your campaigns. (required). /// Number of returned items, calculated internally based on returns of this item.. /// Remaining quantity of the item, calculated internally based on returns of this item.. /// Price of the item in the currency defined by your Application. This field is required if this item is not part of a [catalog](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). If it is part of a catalog, setting a price here overrides the price from the catalog. . /// Type, group or model of the item.. + /// product. /// Weight of item in grams.. /// Height of item in mm.. /// Width of item in mm.. @@ -53,8 +54,8 @@ protected CartItem() { } /// Position of the Cart Item in the Cart (calculated internally).. /// Use this property to set a value for the attributes of your choice. [Attributes](https://docs.talon.one/docs/dev/concepts/attributes) represent any information to attach to this cart item. Custom _cart item_ attributes must be created in the Campaign Manager before you set them with this property. . /// Use this property to set a value for the additional costs of this item, such as a shipping cost. They must be created in the Campaign Manager before you set them with this property. See [Managing additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). . - /// The [catalog item ID](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs/#synchronizing-cart-item-catalogs).. - public CartItem(string name = default(string), string sku = default(string), int quantity = default(int), int returnedQuantity = default(int), int remainingQuantity = default(int), decimal price = default(decimal), string category = default(string), decimal weight = default(decimal), decimal height = default(decimal), decimal width = default(decimal), decimal length = default(decimal), decimal position = default(decimal), Object attributes = default(Object), Dictionary additionalCosts = default(Dictionary), int catalogItemID = default(int)) + /// The [catalog item ID](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs/#synchronizing-a-cart-item-catalog).. + public CartItem(string name = default(string), string sku = default(string), int quantity = default(int), int returnedQuantity = default(int), int remainingQuantity = default(int), decimal price = default(decimal), string category = default(string), Product product = default(Product), decimal weight = default(decimal), decimal height = default(decimal), decimal width = default(decimal), decimal length = default(decimal), decimal position = default(decimal), Object attributes = default(Object), Dictionary additionalCosts = default(Dictionary), int catalogItemID = default(int)) { // to ensure "sku" is required (not null) this.Sku = sku ?? throw new ArgumentNullException("sku is a required property for CartItem and cannot be null"); @@ -64,6 +65,7 @@ protected CartItem() { } this.RemainingQuantity = remainingQuantity; this.Price = price; this.Category = category; + this.Product = product; this.Weight = weight; this.Height = height; this.Width = width; @@ -89,9 +91,9 @@ protected CartItem() { } public string Sku { get; set; } /// - /// Quantity of item. **Important:** If you enabled [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening), the quantity is always one and the same cart item might receive multiple per-item discounts. Ensure you can process multiple discounts on one cart item correctly. + /// Number of units of this item. Due to [cart item flattening](https://docs.talon.one/docs/product/rules/understanding-cart-item-flattening), if you provide a quantity greater than 1, the item will be split in as many items as the provided quantity. This will impact the number of **per-item** effects triggered from your campaigns. /// - /// Quantity of item. **Important:** If you enabled [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening), the quantity is always one and the same cart item might receive multiple per-item discounts. Ensure you can process multiple discounts on one cart item correctly. + /// Number of units of this item. Due to [cart item flattening](https://docs.talon.one/docs/product/rules/understanding-cart-item-flattening), if you provide a quantity greater than 1, the item will be split in as many items as the provided quantity. This will impact the number of **per-item** effects triggered from your campaigns. [DataMember(Name="quantity", EmitDefaultValue=false)] public int Quantity { get; set; } @@ -113,7 +115,7 @@ protected CartItem() { } /// Price of the item in the currency defined by your Application. This field is required if this item is not part of a [catalog](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). If it is part of a catalog, setting a price here overrides the price from the catalog. /// /// Price of the item in the currency defined by your Application. This field is required if this item is not part of a [catalog](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). If it is part of a catalog, setting a price here overrides the price from the catalog. - [DataMember(Name="price", EmitDefaultValue=true)] + [DataMember(Name="price", EmitDefaultValue=false)] public decimal Price { get; set; } /// @@ -123,6 +125,12 @@ protected CartItem() { } [DataMember(Name="category", EmitDefaultValue=false)] public string Category { get; set; } + /// + /// Gets or Sets Product + /// + [DataMember(Name="product", EmitDefaultValue=false)] + public Product Product { get; set; } + /// /// Weight of item in grams. /// @@ -155,7 +163,7 @@ protected CartItem() { } /// Position of the Cart Item in the Cart (calculated internally). /// /// Position of the Cart Item in the Cart (calculated internally). - [DataMember(Name="position", EmitDefaultValue=true)] + [DataMember(Name="position", EmitDefaultValue=false)] public decimal Position { get; set; } /// @@ -173,9 +181,9 @@ protected CartItem() { } public Dictionary AdditionalCosts { get; set; } /// - /// The [catalog item ID](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs/#synchronizing-cart-item-catalogs). + /// The [catalog item ID](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs/#synchronizing-a-cart-item-catalog). /// - /// The [catalog item ID](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs/#synchronizing-cart-item-catalogs). + /// The [catalog item ID](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs/#synchronizing-a-cart-item-catalog). [DataMember(Name="catalogItemID", EmitDefaultValue=false)] public int CatalogItemID { get; set; } @@ -194,6 +202,7 @@ public override string ToString() sb.Append(" RemainingQuantity: ").Append(RemainingQuantity).Append("\n"); sb.Append(" Price: ").Append(Price).Append("\n"); sb.Append(" Category: ").Append(Category).Append("\n"); + sb.Append(" Product: ").Append(Product).Append("\n"); sb.Append(" Weight: ").Append(Weight).Append("\n"); sb.Append(" Height: ").Append(Height).Append("\n"); sb.Append(" Width: ").Append(Width).Append("\n"); @@ -267,6 +276,11 @@ public bool Equals(CartItem input) (this.Category != null && this.Category.Equals(input.Category)) ) && + ( + this.Product == input.Product || + (this.Product != null && + this.Product.Equals(input.Product)) + ) && ( this.Weight == input.Weight || this.Weight.Equals(input.Weight) @@ -323,6 +337,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Price.GetHashCode(); if (this.Category != null) hashCode = hashCode * 59 + this.Category.GetHashCode(); + if (this.Product != null) + hashCode = hashCode * 59 + this.Product.GetHashCode(); hashCode = hashCode * 59 + this.Weight.GetHashCode(); hashCode = hashCode * 59 + this.Height.GetHashCode(); hashCode = hashCode * 59 + this.Width.GetHashCode(); diff --git a/src/TalonOne/Model/CatalogItem.cs b/src/TalonOne/Model/CatalogItem.cs index 9765070..c0c5da6 100644 --- a/src/TalonOne/Model/CatalogItem.cs +++ b/src/TalonOne/Model/CatalogItem.cs @@ -46,7 +46,8 @@ protected CatalogItem() { } /// The ID of the catalog the item belongs to. (required). /// The version of the catalog item. (required). /// attributes. - public CatalogItem(int id = default(int), DateTime created = default(DateTime), string sku = default(string), decimal price = default(decimal), int catalogid = default(int), int version = default(int), List attributes = default(List)) + /// product. + public CatalogItem(int id = default(int), DateTime created = default(DateTime), string sku = default(string), decimal price = default(decimal), int catalogid = default(int), int version = default(int), List attributes = default(List), Product product = default(Product)) { this.Id = id; this.Created = created; @@ -56,6 +57,7 @@ protected CatalogItem() { } this.Version = version; this.Price = price; this.Attributes = attributes; + this.Product = product; } /// @@ -83,7 +85,7 @@ protected CatalogItem() { } /// Price of the item. /// /// Price of the item. - [DataMember(Name="price", EmitDefaultValue=true)] + [DataMember(Name="price", EmitDefaultValue=false)] public decimal Price { get; set; } /// @@ -106,6 +108,12 @@ protected CatalogItem() { } [DataMember(Name="attributes", EmitDefaultValue=false)] public List Attributes { get; set; } + /// + /// Gets or Sets Product + /// + [DataMember(Name="product", EmitDefaultValue=false)] + public Product Product { get; set; } + /// /// Returns the string presentation of the object /// @@ -121,6 +129,7 @@ public override string ToString() sb.Append(" Catalogid: ").Append(Catalogid).Append("\n"); sb.Append(" Version: ").Append(Version).Append("\n"); sb.Append(" Attributes: ").Append(Attributes).Append("\n"); + sb.Append(" Product: ").Append(Product).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -186,6 +195,11 @@ public bool Equals(CatalogItem input) this.Attributes != null && input.Attributes != null && this.Attributes.SequenceEqual(input.Attributes) + ) && + ( + this.Product == input.Product || + (this.Product != null && + this.Product.Equals(input.Product)) ); } @@ -208,6 +222,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Version.GetHashCode(); if (this.Attributes != null) hashCode = hashCode * 59 + this.Attributes.GetHashCode(); + if (this.Product != null) + hashCode = hashCode * 59 + this.Product.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/ChangeLoyaltyTierLevelEffectProps.cs b/src/TalonOne/Model/ChangeLoyaltyTierLevelEffectProps.cs new file mode 100644 index 0000000..9ed7973 --- /dev/null +++ b/src/TalonOne/Model/ChangeLoyaltyTierLevelEffectProps.cs @@ -0,0 +1,217 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The properties specific to the \"changeLoyaltyTierLevel\" effect. This is triggered whenever the user's loyalty tier is upgraded due to a validated rule that contained an \"addLoyaltyPoints\" effect. + /// + [DataContract] + public partial class ChangeLoyaltyTierLevelEffectProps : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ChangeLoyaltyTierLevelEffectProps() { } + /// + /// Initializes a new instance of the class. + /// + /// The title of the rule that triggered the tier upgrade. (required). + /// The ID of the loyalty program where these points were added. (required). + /// The ID of the subledger within the loyalty program where these points were added. (required). + /// The name of the tier from which the user was upgraded.. + /// The name of the tier to which the user has been upgraded. (required). + /// The expiration date of the new tier.. + public ChangeLoyaltyTierLevelEffectProps(string ruleTitle = default(string), int programId = default(int), string subLedgerId = default(string), string previousTierName = default(string), string newTierName = default(string), DateTime expiryDate = default(DateTime)) + { + // to ensure "ruleTitle" is required (not null) + this.RuleTitle = ruleTitle ?? throw new ArgumentNullException("ruleTitle is a required property for ChangeLoyaltyTierLevelEffectProps and cannot be null"); + this.ProgramId = programId; + // to ensure "subLedgerId" is required (not null) + this.SubLedgerId = subLedgerId ?? throw new ArgumentNullException("subLedgerId is a required property for ChangeLoyaltyTierLevelEffectProps and cannot be null"); + // to ensure "newTierName" is required (not null) + this.NewTierName = newTierName ?? throw new ArgumentNullException("newTierName is a required property for ChangeLoyaltyTierLevelEffectProps and cannot be null"); + this.PreviousTierName = previousTierName; + this.ExpiryDate = expiryDate; + } + + /// + /// The title of the rule that triggered the tier upgrade. + /// + /// The title of the rule that triggered the tier upgrade. + [DataMember(Name="ruleTitle", EmitDefaultValue=false)] + public string RuleTitle { get; set; } + + /// + /// The ID of the loyalty program where these points were added. + /// + /// The ID of the loyalty program where these points were added. + [DataMember(Name="programId", EmitDefaultValue=false)] + public int ProgramId { get; set; } + + /// + /// The ID of the subledger within the loyalty program where these points were added. + /// + /// The ID of the subledger within the loyalty program where these points were added. + [DataMember(Name="subLedgerId", EmitDefaultValue=false)] + public string SubLedgerId { get; set; } + + /// + /// The name of the tier from which the user was upgraded. + /// + /// The name of the tier from which the user was upgraded. + [DataMember(Name="previousTierName", EmitDefaultValue=false)] + public string PreviousTierName { get; set; } + + /// + /// The name of the tier to which the user has been upgraded. + /// + /// The name of the tier to which the user has been upgraded. + [DataMember(Name="newTierName", EmitDefaultValue=false)] + public string NewTierName { get; set; } + + /// + /// The expiration date of the new tier. + /// + /// The expiration date of the new tier. + [DataMember(Name="expiryDate", EmitDefaultValue=false)] + public DateTime ExpiryDate { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ChangeLoyaltyTierLevelEffectProps {\n"); + sb.Append(" RuleTitle: ").Append(RuleTitle).Append("\n"); + sb.Append(" ProgramId: ").Append(ProgramId).Append("\n"); + sb.Append(" SubLedgerId: ").Append(SubLedgerId).Append("\n"); + sb.Append(" PreviousTierName: ").Append(PreviousTierName).Append("\n"); + sb.Append(" NewTierName: ").Append(NewTierName).Append("\n"); + sb.Append(" ExpiryDate: ").Append(ExpiryDate).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ChangeLoyaltyTierLevelEffectProps); + } + + /// + /// Returns true if ChangeLoyaltyTierLevelEffectProps instances are equal + /// + /// Instance of ChangeLoyaltyTierLevelEffectProps to be compared + /// Boolean + public bool Equals(ChangeLoyaltyTierLevelEffectProps input) + { + if (input == null) + return false; + + return + ( + this.RuleTitle == input.RuleTitle || + (this.RuleTitle != null && + this.RuleTitle.Equals(input.RuleTitle)) + ) && + ( + this.ProgramId == input.ProgramId || + this.ProgramId.Equals(input.ProgramId) + ) && + ( + this.SubLedgerId == input.SubLedgerId || + (this.SubLedgerId != null && + this.SubLedgerId.Equals(input.SubLedgerId)) + ) && + ( + this.PreviousTierName == input.PreviousTierName || + (this.PreviousTierName != null && + this.PreviousTierName.Equals(input.PreviousTierName)) + ) && + ( + this.NewTierName == input.NewTierName || + (this.NewTierName != null && + this.NewTierName.Equals(input.NewTierName)) + ) && + ( + this.ExpiryDate == input.ExpiryDate || + (this.ExpiryDate != null && + this.ExpiryDate.Equals(input.ExpiryDate)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.RuleTitle != null) + hashCode = hashCode * 59 + this.RuleTitle.GetHashCode(); + hashCode = hashCode * 59 + this.ProgramId.GetHashCode(); + if (this.SubLedgerId != null) + hashCode = hashCode * 59 + this.SubLedgerId.GetHashCode(); + if (this.PreviousTierName != null) + hashCode = hashCode * 59 + this.PreviousTierName.GetHashCode(); + if (this.NewTierName != null) + hashCode = hashCode * 59 + this.NewTierName.GetHashCode(); + if (this.ExpiryDate != null) + hashCode = hashCode * 59 + this.ExpiryDate.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/Coupon.cs b/src/TalonOne/Model/Coupon.cs index c0d9c64..0d35e24 100644 --- a/src/TalonOne/Model/Coupon.cs +++ b/src/TalonOne/Model/Coupon.cs @@ -57,10 +57,11 @@ protected Coupon() { } /// The integration ID of the referring customer (if any) for whom this coupon was created as an effect.. /// The Integration ID of the customer that is allowed to redeem this coupon.. /// The ID of the Import which created this coupon.. - /// Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. (default to true). + /// Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. (default to true). /// The id of the batch the coupon belongs to.. - /// Whether the reservation effect actually created a new reservation. (default to true). - public Coupon(int id = default(int), DateTime created = default(DateTime), int campaignId = default(int), string value = default(string), int usageLimit = default(int), decimal discountLimit = default(decimal), int reservationLimit = default(int), DateTime startDate = default(DateTime), DateTime expiryDate = default(DateTime), List limits = default(List), int usageCounter = default(int), decimal discountCounter = default(decimal), decimal discountRemainder = default(decimal), decimal reservationCounter = default(decimal), Object attributes = default(Object), int referralId = default(int), string recipientIntegrationId = default(string), int importId = default(int), bool reservation = true, string batchId = default(string), bool isReservationMandatory = true) + /// An indication of whether the code can be redeemed only if it has been reserved first. (default to false). + /// An indication of whether the coupon is implicitly reserved for all customers.. + public Coupon(int id = default(int), DateTime created = default(DateTime), int campaignId = default(int), string value = default(string), int usageLimit = default(int), decimal discountLimit = default(decimal), int reservationLimit = default(int), DateTime startDate = default(DateTime), DateTime expiryDate = default(DateTime), List limits = default(List), int usageCounter = default(int), decimal discountCounter = default(decimal), decimal discountRemainder = default(decimal), decimal reservationCounter = default(decimal), Object attributes = default(Object), int referralId = default(int), string recipientIntegrationId = default(string), int importId = default(int), bool reservation = true, string batchId = default(string), bool isReservationMandatory = false, bool implicitlyReserved = default(bool)) { this.Id = id; this.Created = created; @@ -84,6 +85,7 @@ protected Coupon() { } this.Reservation = reservation; this.BatchId = batchId; this.IsReservationMandatory = isReservationMandatory; + this.ImplicitlyReserved = implicitlyReserved; } /// @@ -213,9 +215,9 @@ protected Coupon() { } public int ImportId { get; set; } /// - /// Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. + /// Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. /// - /// Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. + /// Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. [DataMember(Name="reservation", EmitDefaultValue=false)] public bool Reservation { get; set; } @@ -227,12 +229,19 @@ protected Coupon() { } public string BatchId { get; set; } /// - /// Whether the reservation effect actually created a new reservation. + /// An indication of whether the code can be redeemed only if it has been reserved first. /// - /// Whether the reservation effect actually created a new reservation. + /// An indication of whether the code can be redeemed only if it has been reserved first. [DataMember(Name="isReservationMandatory", EmitDefaultValue=false)] public bool IsReservationMandatory { get; set; } + /// + /// An indication of whether the coupon is implicitly reserved for all customers. + /// + /// An indication of whether the coupon is implicitly reserved for all customers. + [DataMember(Name="implicitlyReserved", EmitDefaultValue=false)] + public bool ImplicitlyReserved { get; set; } + /// /// Returns the string presentation of the object /// @@ -262,6 +271,7 @@ public override string ToString() sb.Append(" Reservation: ").Append(Reservation).Append("\n"); sb.Append(" BatchId: ").Append(BatchId).Append("\n"); sb.Append(" IsReservationMandatory: ").Append(IsReservationMandatory).Append("\n"); + sb.Append(" ImplicitlyReserved: ").Append(ImplicitlyReserved).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -388,6 +398,10 @@ public bool Equals(Coupon input) ( this.IsReservationMandatory == input.IsReservationMandatory || this.IsReservationMandatory.Equals(input.IsReservationMandatory) + ) && + ( + this.ImplicitlyReserved == input.ImplicitlyReserved || + this.ImplicitlyReserved.Equals(input.ImplicitlyReserved) ); } @@ -429,6 +443,7 @@ public override int GetHashCode() if (this.BatchId != null) hashCode = hashCode * 59 + this.BatchId.GetHashCode(); hashCode = hashCode * 59 + this.IsReservationMandatory.GetHashCode(); + hashCode = hashCode * 59 + this.ImplicitlyReserved.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/CouponCreationJob.cs b/src/TalonOne/Model/CouponCreationJob.cs index 8d9a2a6..b237d07 100644 --- a/src/TalonOne/Model/CouponCreationJob.cs +++ b/src/TalonOne/Model/CouponCreationJob.cs @@ -53,7 +53,7 @@ protected CouponCreationJob() { } /// couponSettings. /// Arbitrary properties associated with coupons. (required). /// The batch ID coupons created by this job will bear. (required). - /// The current status of this request. Possible values: - `pending` - `completed` - `failed` - `coupon pattern full` (required). + /// The current status of this request. Possible values: - `pending verification` - `pending` - `completed` - `failed` - `coupon pattern full` (required). /// The number of coupon codes that were already created for this request. (required). /// The number of times this job failed. (required). /// An array of individual problems encountered during the request. (required). @@ -189,9 +189,9 @@ protected CouponCreationJob() { } public string BatchId { get; set; } /// - /// The current status of this request. Possible values: - `pending` - `completed` - `failed` - `coupon pattern full` + /// The current status of this request. Possible values: - `pending verification` - `pending` - `completed` - `failed` - `coupon pattern full` /// - /// The current status of this request. Possible values: - `pending` - `completed` - `failed` - `coupon pattern full` + /// The current status of this request. Possible values: - `pending verification` - `pending` - `completed` - `failed` - `coupon pattern full` [DataMember(Name="status", EmitDefaultValue=false)] public string Status { get; set; } diff --git a/src/TalonOne/Model/CouponsNotificationPolicy.cs b/src/TalonOne/Model/CouponsNotificationPolicy.cs index dcad626..ebea3fa 100644 --- a/src/TalonOne/Model/CouponsNotificationPolicy.cs +++ b/src/TalonOne/Model/CouponsNotificationPolicy.cs @@ -79,12 +79,14 @@ protected CouponsNotificationPolicy() { } /// /// Notification name. (required). /// scopes (required). - public CouponsNotificationPolicy(string name = default(string), List scopes = default(List)) + /// Indicates whether batching is activated. (default to true). + public CouponsNotificationPolicy(string name = default(string), List scopes = default(List), bool batchingEnabled = true) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for CouponsNotificationPolicy and cannot be null"); // to ensure "scopes" is required (not null) this.Scopes = scopes ?? throw new ArgumentNullException("scopes is a required property for CouponsNotificationPolicy and cannot be null"); + this.BatchingEnabled = batchingEnabled; } /// @@ -94,6 +96,13 @@ protected CouponsNotificationPolicy() { } [DataMember(Name="name", EmitDefaultValue=false)] public string Name { get; set; } + /// + /// Indicates whether batching is activated. + /// + /// Indicates whether batching is activated. + [DataMember(Name="batchingEnabled", EmitDefaultValue=false)] + public bool BatchingEnabled { get; set; } + /// /// Returns the string presentation of the object /// @@ -104,6 +113,7 @@ public override string ToString() sb.Append("class CouponsNotificationPolicy {\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" Scopes: ").Append(Scopes).Append("\n"); + sb.Append(" BatchingEnabled: ").Append(BatchingEnabled).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -146,6 +156,10 @@ public bool Equals(CouponsNotificationPolicy input) ( this.Scopes == input.Scopes || this.Scopes.SequenceEqual(input.Scopes) + ) && + ( + this.BatchingEnabled == input.BatchingEnabled || + this.BatchingEnabled.Equals(input.BatchingEnabled) ); } @@ -161,6 +175,7 @@ public override int GetHashCode() if (this.Name != null) hashCode = hashCode * 59 + this.Name.GetHashCode(); hashCode = hashCode * 59 + this.Scopes.GetHashCode(); + hashCode = hashCode * 59 + this.BatchingEnabled.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/CreateAchievement.cs b/src/TalonOne/Model/CreateAchievement.cs new file mode 100644 index 0000000..49a0053 --- /dev/null +++ b/src/TalonOne/Model/CreateAchievement.cs @@ -0,0 +1,236 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// CreateAchievement + /// + [DataContract] + public partial class CreateAchievement : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CreateAchievement() { } + /// + /// Initializes a new instance of the class. + /// + /// The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created. (required). + /// The display name for the achievement in the Campaign Manager. (required). + /// A description of the achievement. (required). + /// The required number of actions or the transactional milestone to complete the achievement. (required). + /// The relative duration after which the achievement ends and resets for a particular customer profile. **Note**: The `period` does not start when the achievement is created. The period is a **positive real number** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can also round certain units down to the beginning of period and up to the end of period.: - `_D` for rounding down days only. Signifies the start of the day. Example: `30D_D` - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. Example: `23W_U` **Note**: You can either use the round down and round up option or set an absolute period. (required). + /// periodEndOverride. + public CreateAchievement(string name = default(string), string title = default(string), string description = default(string), decimal target = default(decimal), string period = default(string), TimePoint periodEndOverride = default(TimePoint)) + { + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for CreateAchievement and cannot be null"); + // to ensure "title" is required (not null) + this.Title = title ?? throw new ArgumentNullException("title is a required property for CreateAchievement and cannot be null"); + // to ensure "description" is required (not null) + this.Description = description ?? throw new ArgumentNullException("description is a required property for CreateAchievement and cannot be null"); + this.Target = target; + // to ensure "period" is required (not null) + this.Period = period ?? throw new ArgumentNullException("period is a required property for CreateAchievement and cannot be null"); + this.PeriodEndOverride = periodEndOverride; + } + + /// + /// The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created. + /// + /// The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// The display name for the achievement in the Campaign Manager. + /// + /// The display name for the achievement in the Campaign Manager. + [DataMember(Name="title", EmitDefaultValue=false)] + public string Title { get; set; } + + /// + /// A description of the achievement. + /// + /// A description of the achievement. + [DataMember(Name="description", EmitDefaultValue=false)] + public string Description { get; set; } + + /// + /// The required number of actions or the transactional milestone to complete the achievement. + /// + /// The required number of actions or the transactional milestone to complete the achievement. + [DataMember(Name="target", EmitDefaultValue=false)] + public decimal Target { get; set; } + + /// + /// The relative duration after which the achievement ends and resets for a particular customer profile. **Note**: The `period` does not start when the achievement is created. The period is a **positive real number** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can also round certain units down to the beginning of period and up to the end of period.: - `_D` for rounding down days only. Signifies the start of the day. Example: `30D_D` - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. Example: `23W_U` **Note**: You can either use the round down and round up option or set an absolute period. + /// + /// The relative duration after which the achievement ends and resets for a particular customer profile. **Note**: The `period` does not start when the achievement is created. The period is a **positive real number** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can also round certain units down to the beginning of period and up to the end of period.: - `_D` for rounding down days only. Signifies the start of the day. Example: `30D_D` - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. Example: `23W_U` **Note**: You can either use the round down and round up option or set an absolute period. + [DataMember(Name="period", EmitDefaultValue=false)] + public string Period { get; set; } + + /// + /// Gets or Sets PeriodEndOverride + /// + [DataMember(Name="periodEndOverride", EmitDefaultValue=false)] + public TimePoint PeriodEndOverride { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class CreateAchievement {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Title: ").Append(Title).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Target: ").Append(Target).Append("\n"); + sb.Append(" Period: ").Append(Period).Append("\n"); + sb.Append(" PeriodEndOverride: ").Append(PeriodEndOverride).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as CreateAchievement); + } + + /// + /// Returns true if CreateAchievement instances are equal + /// + /// Instance of CreateAchievement to be compared + /// Boolean + public bool Equals(CreateAchievement input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.Title == input.Title || + (this.Title != null && + this.Title.Equals(input.Title)) + ) && + ( + this.Description == input.Description || + (this.Description != null && + this.Description.Equals(input.Description)) + ) && + ( + this.Target == input.Target || + this.Target.Equals(input.Target) + ) && + ( + this.Period == input.Period || + (this.Period != null && + this.Period.Equals(input.Period)) + ) && + ( + this.PeriodEndOverride == input.PeriodEndOverride || + (this.PeriodEndOverride != null && + this.PeriodEndOverride.Equals(input.PeriodEndOverride)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.Title != null) + hashCode = hashCode * 59 + this.Title.GetHashCode(); + if (this.Description != null) + hashCode = hashCode * 59 + this.Description.GetHashCode(); + hashCode = hashCode * 59 + this.Target.GetHashCode(); + if (this.Period != null) + hashCode = hashCode * 59 + this.Period.GetHashCode(); + if (this.PeriodEndOverride != null) + hashCode = hashCode * 59 + this.PeriodEndOverride.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 1000.", new [] { "Name" }); + } + + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + // Name (string) pattern + Regex regexName = new Regex(@"^[a-zA-Z]\\w+$", RegexOptions.CultureInvariant); + if (false == regexName.Match(this.Name).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, must match a pattern of " + regexName, new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/CreateApplicationAPIKey.cs b/src/TalonOne/Model/CreateApplicationAPIKey.cs index c956674..598e467 100644 --- a/src/TalonOne/Model/CreateApplicationAPIKey.cs +++ b/src/TalonOne/Model/CreateApplicationAPIKey.cs @@ -90,7 +90,13 @@ public enum PlatformEnum /// Enum Salesforce for value: salesforce /// [EnumMember(Value = "salesforce")] - Salesforce = 9 + Salesforce = 9, + + /// + /// Enum Emarsys for value: emarsys + /// + [EnumMember(Value = "emarsys")] + Emarsys = 10 } @@ -101,6 +107,27 @@ public enum PlatformEnum [DataMember(Name="platform", EmitDefaultValue=false)] public PlatformEnum? Platform { get; set; } /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum Staging for value: staging + /// + [EnumMember(Value = "staging")] + Staging = 1 + + } + + /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + [DataMember(Name="type", EmitDefaultValue=false)] + public TypeEnum? Type { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -108,31 +135,42 @@ protected CreateApplicationAPIKey() { } /// /// Initializes a new instance of the class. /// - /// Title for API Key. (required). - /// The date the API key expired. (required). + /// Title of the API key. (required). + /// The date the API key expires. (required). /// The third-party platform the API key is valid for. Use `none` for a generic API key to be used from your own integration layer. . - public CreateApplicationAPIKey(string title = default(string), DateTime expires = default(DateTime), PlatformEnum? platform = default(PlatformEnum?)) + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. . + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. . + public CreateApplicationAPIKey(string title = default(string), DateTime expires = default(DateTime), PlatformEnum? platform = default(PlatformEnum?), TypeEnum? type = default(TypeEnum?), int timeOffset = default(int)) { // to ensure "title" is required (not null) this.Title = title ?? throw new ArgumentNullException("title is a required property for CreateApplicationAPIKey and cannot be null"); this.Expires = expires; this.Platform = platform; + this.Type = type; + this.TimeOffset = timeOffset; } /// - /// Title for API Key. + /// Title of the API key. /// - /// Title for API Key. + /// Title of the API key. [DataMember(Name="title", EmitDefaultValue=false)] public string Title { get; set; } /// - /// The date the API key expired. + /// The date the API key expires. /// - /// The date the API key expired. + /// The date the API key expires. [DataMember(Name="expires", EmitDefaultValue=false)] public DateTime Expires { get; set; } + /// + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. + /// + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. + [DataMember(Name="timeOffset", EmitDefaultValue=false)] + public int TimeOffset { get; set; } + /// /// Returns the string presentation of the object /// @@ -144,6 +182,8 @@ public override string ToString() sb.Append(" Title: ").Append(Title).Append("\n"); sb.Append(" Expires: ").Append(Expires).Append("\n"); sb.Append(" Platform: ").Append(Platform).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" TimeOffset: ").Append(TimeOffset).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -191,6 +231,14 @@ public bool Equals(CreateApplicationAPIKey input) ( this.Platform == input.Platform || this.Platform.Equals(input.Platform) + ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ) && + ( + this.TimeOffset == input.TimeOffset || + this.TimeOffset.Equals(input.TimeOffset) ); } @@ -208,6 +256,8 @@ public override int GetHashCode() if (this.Expires != null) hashCode = hashCode * 59 + this.Expires.GetHashCode(); hashCode = hashCode * 59 + this.Platform.GetHashCode(); + hashCode = hashCode * 59 + this.Type.GetHashCode(); + hashCode = hashCode * 59 + this.TimeOffset.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/CreateTemplateCampaign.cs b/src/TalonOne/Model/CreateTemplateCampaign.cs index 8a69e90..2eadc35 100644 --- a/src/TalonOne/Model/CreateTemplateCampaign.cs +++ b/src/TalonOne/Model/CreateTemplateCampaign.cs @@ -48,7 +48,8 @@ protected CreateTemplateCampaign() { } /// The IDs of the [campaign groups](https://docs.talon.one/docs/product/account/account-settings/managing-campaign-groups) this campaign belongs to. . /// A list of tags for the campaign. If the campaign template has tags, they will be overridden by this list.. /// The ID of the campaign evaluation group the campaign belongs to.. - public CreateTemplateCampaign(string name = default(string), string description = default(string), int templateId = default(int), Object campaignAttributesOverrides = default(Object), List templateParamValues = default(List), List limitOverrides = default(List), List campaignGroups = default(List), List tags = default(List), int evaluationGroupId = default(int)) + /// A list of store IDs that are linked to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. . + public CreateTemplateCampaign(string name = default(string), string description = default(string), int templateId = default(int), Object campaignAttributesOverrides = default(Object), List templateParamValues = default(List), List limitOverrides = default(List), List campaignGroups = default(List), List tags = default(List), int evaluationGroupId = default(int), List linkedStoreIds = default(List)) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for CreateTemplateCampaign and cannot be null"); @@ -60,6 +61,7 @@ protected CreateTemplateCampaign() { } this.CampaignGroups = campaignGroups; this.Tags = tags; this.EvaluationGroupId = evaluationGroupId; + this.LinkedStoreIds = linkedStoreIds; } /// @@ -125,6 +127,13 @@ protected CreateTemplateCampaign() { } [DataMember(Name="evaluationGroupId", EmitDefaultValue=false)] public int EvaluationGroupId { get; set; } + /// + /// A list of store IDs that are linked to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. + /// + /// A list of store IDs that are linked to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. + [DataMember(Name="linkedStoreIds", EmitDefaultValue=false)] + public List LinkedStoreIds { get; set; } + /// /// Returns the string presentation of the object /// @@ -142,6 +151,7 @@ public override string ToString() sb.Append(" CampaignGroups: ").Append(CampaignGroups).Append("\n"); sb.Append(" Tags: ").Append(Tags).Append("\n"); sb.Append(" EvaluationGroupId: ").Append(EvaluationGroupId).Append("\n"); + sb.Append(" LinkedStoreIds: ").Append(LinkedStoreIds).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -222,6 +232,12 @@ public bool Equals(CreateTemplateCampaign input) ( this.EvaluationGroupId == input.EvaluationGroupId || this.EvaluationGroupId.Equals(input.EvaluationGroupId) + ) && + ( + this.LinkedStoreIds == input.LinkedStoreIds || + this.LinkedStoreIds != null && + input.LinkedStoreIds != null && + this.LinkedStoreIds.SequenceEqual(input.LinkedStoreIds) ); } @@ -250,6 +266,8 @@ public override int GetHashCode() if (this.Tags != null) hashCode = hashCode * 59 + this.Tags.GetHashCode(); hashCode = hashCode * 59 + this.EvaluationGroupId.GetHashCode(); + if (this.LinkedStoreIds != null) + hashCode = hashCode * 59 + this.LinkedStoreIds.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/CustomEffectProps.cs b/src/TalonOne/Model/CustomEffectProps.cs index c77c7ec..164f12d 100644 --- a/src/TalonOne/Model/CustomEffectProps.cs +++ b/src/TalonOne/Model/CustomEffectProps.cs @@ -42,7 +42,7 @@ protected CustomEffectProps() { } /// The ID of the custom effect that was triggered. (required). /// The type of the custom effect. (required). /// The index of the item in the cart item list to which the custom effect is applied.. - /// When cart item flattening is enabled, the sub position indicates to which item unit the custom effect is applied, for cart items with quantity > 1. . + /// For cart items with quantity > 1, the sub position indicates to which item unit the custom effect is applied. . /// The position of the bundle in a list of item bundles created from the same bundle definition.. /// The name of the bundle definition.. /// The JSON payload of the custom effect. (required). @@ -81,9 +81,9 @@ protected CustomEffectProps() { } public decimal CartItemPosition { get; set; } /// - /// When cart item flattening is enabled, the sub position indicates to which item unit the custom effect is applied, for cart items with quantity > 1. + /// For cart items with quantity > 1, the sub position indicates to which item unit the custom effect is applied. /// - /// When cart item flattening is enabled, the sub position indicates to which item unit the custom effect is applied, for cart items with quantity > 1. + /// For cart items with quantity > 1, the sub position indicates to which item unit the custom effect is applied. [DataMember(Name="cartItemSubPosition", EmitDefaultValue=false)] public decimal CartItemSubPosition { get; set; } diff --git a/src/TalonOne/Model/CustomerInventory.cs b/src/TalonOne/Model/CustomerInventory.cs index 8af4f05..92f0ecc 100644 --- a/src/TalonOne/Model/CustomerInventory.cs +++ b/src/TalonOne/Model/CustomerInventory.cs @@ -37,15 +37,17 @@ public partial class CustomerInventory : IEquatable, IValida /// profile. /// loyalty. /// referrals. - /// The coupons reserved by this profile. This array includes hard and soft reservations. See each coupon's `reservation` property. . + /// The coupons reserved by this profile. This array includes hard and soft reservations. . /// giveaways. - public CustomerInventory(CustomerProfile profile = default(CustomerProfile), Loyalty loyalty = default(Loyalty), List referrals = default(List), List coupons = default(List), List giveaways = default(List)) + /// achievements. + public CustomerInventory(CustomerProfile profile = default(CustomerProfile), Loyalty loyalty = default(Loyalty), List referrals = default(List), List coupons = default(List), List giveaways = default(List), List achievements = default(List)) { this.Profile = profile; this.Loyalty = loyalty; this.Referrals = referrals; this.Coupons = coupons; this.Giveaways = giveaways; + this.Achievements = achievements; } /// @@ -67,9 +69,9 @@ public partial class CustomerInventory : IEquatable, IValida public List Referrals { get; set; } /// - /// The coupons reserved by this profile. This array includes hard and soft reservations. See each coupon's `reservation` property. + /// The coupons reserved by this profile. This array includes hard and soft reservations. /// - /// The coupons reserved by this profile. This array includes hard and soft reservations. See each coupon's `reservation` property. + /// The coupons reserved by this profile. This array includes hard and soft reservations. [DataMember(Name="coupons", EmitDefaultValue=false)] public List Coupons { get; set; } @@ -79,6 +81,12 @@ public partial class CustomerInventory : IEquatable, IValida [DataMember(Name="giveaways", EmitDefaultValue=false)] public List Giveaways { get; set; } + /// + /// Gets or Sets Achievements + /// + [DataMember(Name="achievements", EmitDefaultValue=false)] + public List Achievements { get; set; } + /// /// Returns the string presentation of the object /// @@ -92,6 +100,7 @@ public override string ToString() sb.Append(" Referrals: ").Append(Referrals).Append("\n"); sb.Append(" Coupons: ").Append(Coupons).Append("\n"); sb.Append(" Giveaways: ").Append(Giveaways).Append("\n"); + sb.Append(" Achievements: ").Append(Achievements).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -153,6 +162,12 @@ public bool Equals(CustomerInventory input) this.Giveaways != null && input.Giveaways != null && this.Giveaways.SequenceEqual(input.Giveaways) + ) && + ( + this.Achievements == input.Achievements || + this.Achievements != null && + input.Achievements != null && + this.Achievements.SequenceEqual(input.Achievements) ); } @@ -175,6 +190,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Coupons.GetHashCode(); if (this.Giveaways != null) hashCode = hashCode * 59 + this.Giveaways.GetHashCode(); + if (this.Achievements != null) + hashCode = hashCode * 59 + this.Achievements.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/CustomerProfile.cs b/src/TalonOne/Model/CustomerProfile.cs index 2dfb431..25d0492 100644 --- a/src/TalonOne/Model/CustomerProfile.cs +++ b/src/TalonOne/Model/CustomerProfile.cs @@ -48,8 +48,8 @@ protected CustomerProfile() { } /// The total amount of money spent by the customer **before** discounts are applied. The total sales amount excludes the following: - Cancelled or reopened sessions. - Returned items. (required). /// **DEPRECATED** A list of loyalty programs joined by the customer. . /// The audiences the customer belongs to.. - /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. (required). - /// Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). . + /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. (required). + /// An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). . public CustomerProfile(int id = default(int), DateTime created = default(DateTime), string integrationId = default(string), Object attributes = default(Object), int accountId = default(int), int closedSessions = default(int), decimal totalSales = default(decimal), List loyaltyMemberships = default(List), List audienceMemberships = default(List), DateTime lastActivity = default(DateTime), bool sandbox = default(bool)) { this.Id = id; @@ -131,16 +131,16 @@ protected CustomerProfile() { } public List AudienceMemberships { get; set; } /// - /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. + /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. /// - /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the rule-engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. + /// Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#operation/createCouponReservation) for a customer doesn't impact this field. [DataMember(Name="lastActivity", EmitDefaultValue=false)] public DateTime LastActivity { get; set; } /// - /// Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). + /// An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). /// - /// Shows whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). + /// An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments). [DataMember(Name="sandbox", EmitDefaultValue=false)] public bool Sandbox { get; set; } diff --git a/src/TalonOne/Model/CustomerProfileAudienceRequestItem.cs b/src/TalonOne/Model/CustomerProfileAudienceRequestItem.cs index ce9e099..e088c1c 100644 --- a/src/TalonOne/Model/CustomerProfileAudienceRequestItem.cs +++ b/src/TalonOne/Model/CustomerProfileAudienceRequestItem.cs @@ -32,9 +32,9 @@ namespace TalonOne.Model public partial class CustomerProfileAudienceRequestItem : IEquatable, IValidatableObject { /// - /// Defines the action to perform: - `add`: Adds the customer profile to the audience. - `delete`: Removes the customer profile from the audience. + /// Defines the action to perform: - `add`: Adds the customer profile to the audience. If the customer profile does not exist, it will be created. - `delete`: Removes the customer profile from the audience. /// - /// Defines the action to perform: - `add`: Adds the customer profile to the audience. - `delete`: Removes the customer profile from the audience. + /// Defines the action to perform: - `add`: Adds the customer profile to the audience. If the customer profile does not exist, it will be created. - `delete`: Removes the customer profile from the audience. [JsonConverter(typeof(StringEnumConverter))] public enum ActionEnum { @@ -53,9 +53,9 @@ public enum ActionEnum } /// - /// Defines the action to perform: - `add`: Adds the customer profile to the audience. - `delete`: Removes the customer profile from the audience. + /// Defines the action to perform: - `add`: Adds the customer profile to the audience. If the customer profile does not exist, it will be created. - `delete`: Removes the customer profile from the audience. /// - /// Defines the action to perform: - `add`: Adds the customer profile to the audience. - `delete`: Removes the customer profile from the audience. + /// Defines the action to perform: - `add`: Adds the customer profile to the audience. If the customer profile does not exist, it will be created. - `delete`: Removes the customer profile from the audience. [DataMember(Name="action", EmitDefaultValue=false)] public ActionEnum Action { get; set; } /// @@ -66,7 +66,7 @@ protected CustomerProfileAudienceRequestItem() { } /// /// Initializes a new instance of the class. /// - /// Defines the action to perform: - `add`: Adds the customer profile to the audience. - `delete`: Removes the customer profile from the audience. (required). + /// Defines the action to perform: - `add`: Adds the customer profile to the audience. If the customer profile does not exist, it will be created. - `delete`: Removes the customer profile from the audience. (required). /// The ID of this customer profile in the third-party integration. (required). /// The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2). (required). public CustomerProfileAudienceRequestItem(ActionEnum action = default(ActionEnum), string profileIntegrationId = default(string), int audienceId = default(int)) diff --git a/src/TalonOne/Model/CustomerProfileIntegrationResponseV2.cs b/src/TalonOne/Model/CustomerProfileIntegrationResponseV2.cs new file mode 100644 index 0000000..e95e0af --- /dev/null +++ b/src/TalonOne/Model/CustomerProfileIntegrationResponseV2.cs @@ -0,0 +1,268 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// This is the response type returned by the updateCustomerProfileV2 endpoint. + /// + [DataContract] + public partial class CustomerProfileIntegrationResponseV2 : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CustomerProfileIntegrationResponseV2() { } + /// + /// Initializes a new instance of the class. + /// + /// customerProfile. + /// _event. + /// loyalty. + /// triggeredCampaigns. + /// ruleFailureReasons. + /// awardedGiveaways. + /// The effects generated by the rules in your running campaigns. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). (required). + /// createdCoupons (required). + /// createdReferrals (required). + public CustomerProfileIntegrationResponseV2(CustomerProfile customerProfile = default(CustomerProfile), Event _event = default(Event), Loyalty loyalty = default(Loyalty), List triggeredCampaigns = default(List), List ruleFailureReasons = default(List), List awardedGiveaways = default(List), List effects = default(List), List createdCoupons = default(List), List createdReferrals = default(List)) + { + // to ensure "effects" is required (not null) + this.Effects = effects ?? throw new ArgumentNullException("effects is a required property for CustomerProfileIntegrationResponseV2 and cannot be null"); + // to ensure "createdCoupons" is required (not null) + this.CreatedCoupons = createdCoupons ?? throw new ArgumentNullException("createdCoupons is a required property for CustomerProfileIntegrationResponseV2 and cannot be null"); + // to ensure "createdReferrals" is required (not null) + this.CreatedReferrals = createdReferrals ?? throw new ArgumentNullException("createdReferrals is a required property for CustomerProfileIntegrationResponseV2 and cannot be null"); + this.CustomerProfile = customerProfile; + this.Event = _event; + this.Loyalty = loyalty; + this.TriggeredCampaigns = triggeredCampaigns; + this.RuleFailureReasons = ruleFailureReasons; + this.AwardedGiveaways = awardedGiveaways; + } + + /// + /// Gets or Sets CustomerProfile + /// + [DataMember(Name="customerProfile", EmitDefaultValue=false)] + public CustomerProfile CustomerProfile { get; set; } + + /// + /// Gets or Sets Event + /// + [DataMember(Name="event", EmitDefaultValue=false)] + public Event Event { get; set; } + + /// + /// Gets or Sets Loyalty + /// + [DataMember(Name="loyalty", EmitDefaultValue=false)] + public Loyalty Loyalty { get; set; } + + /// + /// Gets or Sets TriggeredCampaigns + /// + [DataMember(Name="triggeredCampaigns", EmitDefaultValue=false)] + public List TriggeredCampaigns { get; set; } + + /// + /// Gets or Sets RuleFailureReasons + /// + [DataMember(Name="ruleFailureReasons", EmitDefaultValue=false)] + public List RuleFailureReasons { get; set; } + + /// + /// Gets or Sets AwardedGiveaways + /// + [DataMember(Name="awardedGiveaways", EmitDefaultValue=false)] + public List AwardedGiveaways { get; set; } + + /// + /// The effects generated by the rules in your running campaigns. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). + /// + /// The effects generated by the rules in your running campaigns. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). + [DataMember(Name="effects", EmitDefaultValue=false)] + public List Effects { get; set; } + + /// + /// Gets or Sets CreatedCoupons + /// + [DataMember(Name="createdCoupons", EmitDefaultValue=false)] + public List CreatedCoupons { get; set; } + + /// + /// Gets or Sets CreatedReferrals + /// + [DataMember(Name="createdReferrals", EmitDefaultValue=false)] + public List CreatedReferrals { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class CustomerProfileIntegrationResponseV2 {\n"); + sb.Append(" CustomerProfile: ").Append(CustomerProfile).Append("\n"); + sb.Append(" Event: ").Append(Event).Append("\n"); + sb.Append(" Loyalty: ").Append(Loyalty).Append("\n"); + sb.Append(" TriggeredCampaigns: ").Append(TriggeredCampaigns).Append("\n"); + sb.Append(" RuleFailureReasons: ").Append(RuleFailureReasons).Append("\n"); + sb.Append(" AwardedGiveaways: ").Append(AwardedGiveaways).Append("\n"); + sb.Append(" Effects: ").Append(Effects).Append("\n"); + sb.Append(" CreatedCoupons: ").Append(CreatedCoupons).Append("\n"); + sb.Append(" CreatedReferrals: ").Append(CreatedReferrals).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as CustomerProfileIntegrationResponseV2); + } + + /// + /// Returns true if CustomerProfileIntegrationResponseV2 instances are equal + /// + /// Instance of CustomerProfileIntegrationResponseV2 to be compared + /// Boolean + public bool Equals(CustomerProfileIntegrationResponseV2 input) + { + if (input == null) + return false; + + return + ( + this.CustomerProfile == input.CustomerProfile || + (this.CustomerProfile != null && + this.CustomerProfile.Equals(input.CustomerProfile)) + ) && + ( + this.Event == input.Event || + (this.Event != null && + this.Event.Equals(input.Event)) + ) && + ( + this.Loyalty == input.Loyalty || + (this.Loyalty != null && + this.Loyalty.Equals(input.Loyalty)) + ) && + ( + this.TriggeredCampaigns == input.TriggeredCampaigns || + this.TriggeredCampaigns != null && + input.TriggeredCampaigns != null && + this.TriggeredCampaigns.SequenceEqual(input.TriggeredCampaigns) + ) && + ( + this.RuleFailureReasons == input.RuleFailureReasons || + this.RuleFailureReasons != null && + input.RuleFailureReasons != null && + this.RuleFailureReasons.SequenceEqual(input.RuleFailureReasons) + ) && + ( + this.AwardedGiveaways == input.AwardedGiveaways || + this.AwardedGiveaways != null && + input.AwardedGiveaways != null && + this.AwardedGiveaways.SequenceEqual(input.AwardedGiveaways) + ) && + ( + this.Effects == input.Effects || + this.Effects != null && + input.Effects != null && + this.Effects.SequenceEqual(input.Effects) + ) && + ( + this.CreatedCoupons == input.CreatedCoupons || + this.CreatedCoupons != null && + input.CreatedCoupons != null && + this.CreatedCoupons.SequenceEqual(input.CreatedCoupons) + ) && + ( + this.CreatedReferrals == input.CreatedReferrals || + this.CreatedReferrals != null && + input.CreatedReferrals != null && + this.CreatedReferrals.SequenceEqual(input.CreatedReferrals) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.CustomerProfile != null) + hashCode = hashCode * 59 + this.CustomerProfile.GetHashCode(); + if (this.Event != null) + hashCode = hashCode * 59 + this.Event.GetHashCode(); + if (this.Loyalty != null) + hashCode = hashCode * 59 + this.Loyalty.GetHashCode(); + if (this.TriggeredCampaigns != null) + hashCode = hashCode * 59 + this.TriggeredCampaigns.GetHashCode(); + if (this.RuleFailureReasons != null) + hashCode = hashCode * 59 + this.RuleFailureReasons.GetHashCode(); + if (this.AwardedGiveaways != null) + hashCode = hashCode * 59 + this.AwardedGiveaways.GetHashCode(); + if (this.Effects != null) + hashCode = hashCode * 59 + this.Effects.GetHashCode(); + if (this.CreatedCoupons != null) + hashCode = hashCode * 59 + this.CreatedCoupons.GetHashCode(); + if (this.CreatedReferrals != null) + hashCode = hashCode * 59 + this.CreatedReferrals.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/CustomerSession.cs b/src/TalonOne/Model/CustomerSession.cs index b6e1731..d045426 100644 --- a/src/TalonOne/Model/CustomerSession.cs +++ b/src/TalonOne/Model/CustomerSession.cs @@ -32,9 +32,9 @@ namespace TalonOne.Model public partial class CustomerSession : IEquatable, IValidatableObject { /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). [JsonConverter(typeof(StringEnumConverter))] public enum StateEnum { @@ -65,9 +65,9 @@ public enum StateEnum } /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). [DataMember(Name="state", EmitDefaultValue=false)] public StateEnum State { get; set; } /// @@ -84,7 +84,7 @@ protected CustomerSession() { } /// ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. (required). /// Any coupon code entered. (required). /// Any referral code entered. (required). - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). (required) (default to StateEnum.Open). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). (required) (default to StateEnum.Open). /// Serialized JSON representation. (required). /// Session custom identifiers that you can set limits on or use inside your rules. For example, you can use IP addresses as identifiers to potentially identify devices and limit discounts abuse in case of customers creating multiple accounts. See the [tutorial](https://docs.talon.one/docs/dev/tutorials/using-identifiers). . /// The total sum of the cart in one session. (required). diff --git a/src/TalonOne/Model/CustomerSessionV2.cs b/src/TalonOne/Model/CustomerSessionV2.cs index 1437f25..7027bb0 100644 --- a/src/TalonOne/Model/CustomerSessionV2.cs +++ b/src/TalonOne/Model/CustomerSessionV2.cs @@ -32,9 +32,9 @@ namespace TalonOne.Model public partial class CustomerSessionV2 : IEquatable, IValidatableObject { /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). [JsonConverter(typeof(StringEnumConverter))] public enum StateEnum { @@ -65,9 +65,9 @@ public enum StateEnum } /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). [DataMember(Name="state", EmitDefaultValue=false)] public StateEnum State { get; set; } /// @@ -83,21 +83,22 @@ protected CustomerSessionV2() { } /// The integration ID set by your integration layer. (required). /// The ID of the application that owns this entity. (required). /// ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. (required). + /// The integration ID of the store. You choose this ID when you create a store.. /// When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. . /// Any coupon codes entered. **Important**: If you [create a coupon budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a coupon code by the time you close it. . /// Any referral code entered. **Important**: If you [create a referral budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a referral code by the time you close it. . - /// Any loyalty cards used.. - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). (required) (default to StateEnum.Open). - /// The items to add to this sessions. - If cart item flattening is disabled: **Do not exceed 1000 items** (regardless of their `quantity`) per request. - If cart item flattening is enabled: **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. (required). + /// Identifier of a loyalty card.. + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). (required) (default to StateEnum.Open). + /// The items to add to this session. **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. (required). /// Use this property to set a value for the additional costs of this session, such as a shipping cost. They must be created in the Campaign Manager before you set them with this property. See [Managing additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). . /// Session custom identifiers that you can set limits on or use inside your rules. For example, you can use IP addresses as identifiers to potentially identify devices and limit discounts abuse in case of customers creating multiple accounts. See the [tutorial](https://docs.talon.one/docs/dev/tutorials/using-identifiers). **Important**: Ensure the session contains an identifier by the time you close it if: - You [create a unique identifier budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign. - Your campaign has [coupons](https://docs.talon.one/docs/product/campaigns/coupons/coupon-page-overview). . /// Use this property to set a value for the attributes of your choice. Attributes represent any information to attach to your session, like the shipping city. You can use [built-in attributes](https://docs.talon.one/docs/dev/concepts/attributes#built-in-attributes) or [custom ones](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes). Custom attributes must be created in the Campaign Manager before you set them with this property. (required). /// Indicates whether this is the first session for the customer's profile. Will always be true for anonymous sessions. (required). - /// The total sum of cart-items, as well as additional costs, before any discounts applied. (required). - /// The total sum of cart-items before any discounts applied. (required). - /// The total sum of additional costs before any discounts applied. (required). + /// The total value of cart items and additional costs in the session, before any discounts are applied. (required). + /// The total value of cart items, before any discounts are applied. (required). + /// The total value of additional costs, before any discounts are applied. (required). /// Timestamp of the most recent event received on this session. (required). - public CustomerSessionV2(int id = default(int), DateTime created = default(DateTime), string integrationId = default(string), int applicationId = default(int), string profileId = default(string), List evaluableCampaignIds = default(List), List couponCodes = default(List), string referralCode = default(string), List loyaltyCards = default(List), StateEnum state = StateEnum.Open, List cartItems = default(List), Dictionary additionalCosts = default(Dictionary), List identifiers = default(List), Object attributes = default(Object), bool firstSession = default(bool), decimal total = default(decimal), decimal cartItemTotal = default(decimal), decimal additionalCostTotal = default(decimal), DateTime updated = default(DateTime)) + public CustomerSessionV2(int id = default(int), DateTime created = default(DateTime), string integrationId = default(string), int applicationId = default(int), string profileId = default(string), string storeIntegrationId = default(string), List evaluableCampaignIds = default(List), List couponCodes = default(List), string referralCode = default(string), List loyaltyCards = default(List), StateEnum state = StateEnum.Open, List cartItems = default(List), Dictionary additionalCosts = default(Dictionary), List identifiers = default(List), Object attributes = default(Object), bool firstSession = default(bool), decimal total = default(decimal), decimal cartItemTotal = default(decimal), decimal additionalCostTotal = default(decimal), DateTime updated = default(DateTime)) { this.Id = id; this.Created = created; @@ -116,6 +117,7 @@ protected CustomerSessionV2() { } this.CartItemTotal = cartItemTotal; this.AdditionalCostTotal = additionalCostTotal; this.Updated = updated; + this.StoreIntegrationId = storeIntegrationId; this.EvaluableCampaignIds = evaluableCampaignIds; this.CouponCodes = couponCodes; this.ReferralCode = referralCode; @@ -159,6 +161,13 @@ protected CustomerSessionV2() { } [DataMember(Name="profileId", EmitDefaultValue=false)] public string ProfileId { get; set; } + /// + /// The integration ID of the store. You choose this ID when you create a store. + /// + /// The integration ID of the store. You choose this ID when you create a store. + [DataMember(Name="storeIntegrationId", EmitDefaultValue=false)] + public string StoreIntegrationId { get; set; } + /// /// When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. /// @@ -181,16 +190,16 @@ protected CustomerSessionV2() { } public string ReferralCode { get; set; } /// - /// Any loyalty cards used. + /// Identifier of a loyalty card. /// - /// Any loyalty cards used. + /// Identifier of a loyalty card. [DataMember(Name="loyaltyCards", EmitDefaultValue=false)] public List LoyaltyCards { get; set; } /// - /// The items to add to this sessions. - If cart item flattening is disabled: **Do not exceed 1000 items** (regardless of their `quantity`) per request. - If cart item flattening is enabled: **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. + /// The items to add to this session. **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. /// - /// The items to add to this sessions. - If cart item flattening is disabled: **Do not exceed 1000 items** (regardless of their `quantity`) per request. - If cart item flattening is enabled: **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. + /// The items to add to this session. **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. [DataMember(Name="cartItems", EmitDefaultValue=false)] public List CartItems { get; set; } @@ -223,23 +232,23 @@ protected CustomerSessionV2() { } public bool FirstSession { get; set; } /// - /// The total sum of cart-items, as well as additional costs, before any discounts applied. + /// The total value of cart items and additional costs in the session, before any discounts are applied. /// - /// The total sum of cart-items, as well as additional costs, before any discounts applied. + /// The total value of cart items and additional costs in the session, before any discounts are applied. [DataMember(Name="total", EmitDefaultValue=false)] public decimal Total { get; set; } /// - /// The total sum of cart-items before any discounts applied. + /// The total value of cart items, before any discounts are applied. /// - /// The total sum of cart-items before any discounts applied. + /// The total value of cart items, before any discounts are applied. [DataMember(Name="cartItemTotal", EmitDefaultValue=false)] public decimal CartItemTotal { get; set; } /// - /// The total sum of additional costs before any discounts applied. + /// The total value of additional costs, before any discounts are applied. /// - /// The total sum of additional costs before any discounts applied. + /// The total value of additional costs, before any discounts are applied. [DataMember(Name="additionalCostTotal", EmitDefaultValue=false)] public decimal AdditionalCostTotal { get; set; } @@ -263,6 +272,7 @@ public override string ToString() sb.Append(" IntegrationId: ").Append(IntegrationId).Append("\n"); sb.Append(" ApplicationId: ").Append(ApplicationId).Append("\n"); sb.Append(" ProfileId: ").Append(ProfileId).Append("\n"); + sb.Append(" StoreIntegrationId: ").Append(StoreIntegrationId).Append("\n"); sb.Append(" EvaluableCampaignIds: ").Append(EvaluableCampaignIds).Append("\n"); sb.Append(" CouponCodes: ").Append(CouponCodes).Append("\n"); sb.Append(" ReferralCode: ").Append(ReferralCode).Append("\n"); @@ -334,6 +344,11 @@ public bool Equals(CustomerSessionV2 input) (this.ProfileId != null && this.ProfileId.Equals(input.ProfileId)) ) && + ( + this.StoreIntegrationId == input.StoreIntegrationId || + (this.StoreIntegrationId != null && + this.StoreIntegrationId.Equals(input.StoreIntegrationId)) + ) && ( this.EvaluableCampaignIds == input.EvaluableCampaignIds || this.EvaluableCampaignIds != null && @@ -424,6 +439,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.ApplicationId.GetHashCode(); if (this.ProfileId != null) hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); + if (this.StoreIntegrationId != null) + hashCode = hashCode * 59 + this.StoreIntegrationId.GetHashCode(); if (this.EvaluableCampaignIds != null) hashCode = hashCode * 59 + this.EvaluableCampaignIds.GetHashCode(); if (this.CouponCodes != null) @@ -464,6 +481,18 @@ public override int GetHashCode() yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for IntegrationId, length must be less than 1000.", new [] { "IntegrationId" }); } + // StoreIntegrationId (string) maxLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be less than 1000.", new [] { "StoreIntegrationId" }); + } + + // StoreIntegrationId (string) minLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be greater than 1.", new [] { "StoreIntegrationId" }); + } + // ReferralCode (string) maxLength if(this.ReferralCode != null && this.ReferralCode.Length > 100) { diff --git a/src/TalonOne/Model/DeactivateUserRequest.cs b/src/TalonOne/Model/DeactivateUserRequest.cs new file mode 100644 index 0000000..1c37cff --- /dev/null +++ b/src/TalonOne/Model/DeactivateUserRequest.cs @@ -0,0 +1,132 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// DeactivateUserRequest + /// + [DataContract] + public partial class DeactivateUserRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected DeactivateUserRequest() { } + /// + /// Initializes a new instance of the class. + /// + /// The email address associated with the user profile. (required). + public DeactivateUserRequest(string email = default(string)) + { + // to ensure "email" is required (not null) + this.Email = email ?? throw new ArgumentNullException("email is a required property for DeactivateUserRequest and cannot be null"); + } + + /// + /// The email address associated with the user profile. + /// + /// The email address associated with the user profile. + [DataMember(Name="email", EmitDefaultValue=false)] + public string Email { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class DeactivateUserRequest {\n"); + sb.Append(" Email: ").Append(Email).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as DeactivateUserRequest); + } + + /// + /// Returns true if DeactivateUserRequest instances are equal + /// + /// Instance of DeactivateUserRequest to be compared + /// Boolean + public bool Equals(DeactivateUserRequest input) + { + if (input == null) + return false; + + return + ( + this.Email == input.Email || + (this.Email != null && + this.Email.Equals(input.Email)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Email != null) + hashCode = hashCode * 59 + this.Email.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/DeleteUserRequest.cs b/src/TalonOne/Model/DeleteUserRequest.cs new file mode 100644 index 0000000..16c9840 --- /dev/null +++ b/src/TalonOne/Model/DeleteUserRequest.cs @@ -0,0 +1,132 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// DeleteUserRequest + /// + [DataContract] + public partial class DeleteUserRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected DeleteUserRequest() { } + /// + /// Initializes a new instance of the class. + /// + /// The email address associated with the user profile. (required). + public DeleteUserRequest(string email = default(string)) + { + // to ensure "email" is required (not null) + this.Email = email ?? throw new ArgumentNullException("email is a required property for DeleteUserRequest and cannot be null"); + } + + /// + /// The email address associated with the user profile. + /// + /// The email address associated with the user profile. + [DataMember(Name="email", EmitDefaultValue=false)] + public string Email { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class DeleteUserRequest {\n"); + sb.Append(" Email: ").Append(Email).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as DeleteUserRequest); + } + + /// + /// Returns true if DeleteUserRequest instances are equal + /// + /// Instance of DeleteUserRequest to be compared + /// Boolean + public bool Equals(DeleteUserRequest input) + { + if (input == null) + return false; + + return + ( + this.Email == input.Email || + (this.Email != null && + this.Email.Equals(input.Email)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Email != null) + hashCode = hashCode * 59 + this.Email.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/Effect.cs b/src/TalonOne/Model/Effect.cs index b5c2d92..57c4396 100644 --- a/src/TalonOne/Model/Effect.cs +++ b/src/TalonOne/Model/Effect.cs @@ -46,8 +46,9 @@ protected Effect() { } /// The type of effect that was triggered. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). (required). /// The ID of the coupon that was being evaluated when this effect was triggered.. /// The ID of the catalog item that was being evaluated when this effect was triggered.. + /// The index of the condition that was triggered.. /// The properties of the effect. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). (required). - public Effect(int campaignId = default(int), int rulesetId = default(int), int ruleIndex = default(int), string ruleName = default(string), string effectType = default(string), int triggeredByCoupon = default(int), int triggeredForCatalogItem = default(int), Object props = default(Object)) + public Effect(int campaignId = default(int), int rulesetId = default(int), int ruleIndex = default(int), string ruleName = default(string), string effectType = default(string), int triggeredByCoupon = default(int), int triggeredForCatalogItem = default(int), int conditionIndex = default(int), Object props = default(Object)) { this.CampaignId = campaignId; this.RulesetId = rulesetId; @@ -60,6 +61,7 @@ protected Effect() { } this.Props = props ?? throw new ArgumentNullException("props is a required property for Effect and cannot be null"); this.TriggeredByCoupon = triggeredByCoupon; this.TriggeredForCatalogItem = triggeredForCatalogItem; + this.ConditionIndex = conditionIndex; } /// @@ -111,6 +113,13 @@ protected Effect() { } [DataMember(Name="triggeredForCatalogItem", EmitDefaultValue=false)] public int TriggeredForCatalogItem { get; set; } + /// + /// The index of the condition that was triggered. + /// + /// The index of the condition that was triggered. + [DataMember(Name="conditionIndex", EmitDefaultValue=false)] + public int ConditionIndex { get; set; } + /// /// The properties of the effect. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). /// @@ -133,6 +142,7 @@ public override string ToString() sb.Append(" EffectType: ").Append(EffectType).Append("\n"); sb.Append(" TriggeredByCoupon: ").Append(TriggeredByCoupon).Append("\n"); sb.Append(" TriggeredForCatalogItem: ").Append(TriggeredForCatalogItem).Append("\n"); + sb.Append(" ConditionIndex: ").Append(ConditionIndex).Append("\n"); sb.Append(" Props: ").Append(Props).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -198,6 +208,10 @@ public bool Equals(Effect input) this.TriggeredForCatalogItem == input.TriggeredForCatalogItem || this.TriggeredForCatalogItem.Equals(input.TriggeredForCatalogItem) ) && + ( + this.ConditionIndex == input.ConditionIndex || + this.ConditionIndex.Equals(input.ConditionIndex) + ) && ( this.Props == input.Props || (this.Props != null && @@ -223,6 +237,7 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.EffectType.GetHashCode(); hashCode = hashCode * 59 + this.TriggeredByCoupon.GetHashCode(); hashCode = hashCode * 59 + this.TriggeredForCatalogItem.GetHashCode(); + hashCode = hashCode * 59 + this.ConditionIndex.GetHashCode(); if (this.Props != null) hashCode = hashCode * 59 + this.Props.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/EffectEntity.cs b/src/TalonOne/Model/EffectEntity.cs index 0c1a9a9..9645372 100644 --- a/src/TalonOne/Model/EffectEntity.cs +++ b/src/TalonOne/Model/EffectEntity.cs @@ -46,7 +46,8 @@ protected EffectEntity() { } /// The type of effect that was triggered. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). (required). /// The ID of the coupon that was being evaluated when this effect was triggered.. /// The ID of the catalog item that was being evaluated when this effect was triggered.. - public EffectEntity(int campaignId = default(int), int rulesetId = default(int), int ruleIndex = default(int), string ruleName = default(string), string effectType = default(string), int triggeredByCoupon = default(int), int triggeredForCatalogItem = default(int)) + /// The index of the condition that was triggered.. + public EffectEntity(int campaignId = default(int), int rulesetId = default(int), int ruleIndex = default(int), string ruleName = default(string), string effectType = default(string), int triggeredByCoupon = default(int), int triggeredForCatalogItem = default(int), int conditionIndex = default(int)) { this.CampaignId = campaignId; this.RulesetId = rulesetId; @@ -57,6 +58,7 @@ protected EffectEntity() { } this.EffectType = effectType ?? throw new ArgumentNullException("effectType is a required property for EffectEntity and cannot be null"); this.TriggeredByCoupon = triggeredByCoupon; this.TriggeredForCatalogItem = triggeredForCatalogItem; + this.ConditionIndex = conditionIndex; } /// @@ -108,6 +110,13 @@ protected EffectEntity() { } [DataMember(Name="triggeredForCatalogItem", EmitDefaultValue=false)] public int TriggeredForCatalogItem { get; set; } + /// + /// The index of the condition that was triggered. + /// + /// The index of the condition that was triggered. + [DataMember(Name="conditionIndex", EmitDefaultValue=false)] + public int ConditionIndex { get; set; } + /// /// Returns the string presentation of the object /// @@ -123,6 +132,7 @@ public override string ToString() sb.Append(" EffectType: ").Append(EffectType).Append("\n"); sb.Append(" TriggeredByCoupon: ").Append(TriggeredByCoupon).Append("\n"); sb.Append(" TriggeredForCatalogItem: ").Append(TriggeredForCatalogItem).Append("\n"); + sb.Append(" ConditionIndex: ").Append(ConditionIndex).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -186,6 +196,10 @@ public bool Equals(EffectEntity input) ( this.TriggeredForCatalogItem == input.TriggeredForCatalogItem || this.TriggeredForCatalogItem.Equals(input.TriggeredForCatalogItem) + ) && + ( + this.ConditionIndex == input.ConditionIndex || + this.ConditionIndex.Equals(input.ConditionIndex) ); } @@ -207,6 +221,7 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.EffectType.GetHashCode(); hashCode = hashCode * 59 + this.TriggeredByCoupon.GetHashCode(); hashCode = hashCode * 59 + this.TriggeredForCatalogItem.GetHashCode(); + hashCode = hashCode * 59 + this.ConditionIndex.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/EmailEntity.cs b/src/TalonOne/Model/EmailEntity.cs index c431d55..e3d83c9 100644 --- a/src/TalonOne/Model/EmailEntity.cs +++ b/src/TalonOne/Model/EmailEntity.cs @@ -39,7 +39,7 @@ protected EmailEntity() { } /// /// Initializes a new instance of the class. /// - /// The email address associated with your account. (required). + /// The email address associated with the user profile. (required). public EmailEntity(string email = default(string)) { // to ensure "email" is required (not null) @@ -47,9 +47,9 @@ protected EmailEntity() { } } /// - /// The email address associated with your account. + /// The email address associated with the user profile. /// - /// The email address associated with your account. + /// The email address associated with the user profile. [DataMember(Name="email", EmitDefaultValue=false)] public string Email { get; set; } diff --git a/src/TalonOne/Model/Environment.cs b/src/TalonOne/Model/Environment.cs index 6c3507e..eb8e085 100644 --- a/src/TalonOne/Model/Environment.cs +++ b/src/TalonOne/Model/Environment.cs @@ -48,11 +48,12 @@ protected Environment() { } /// A stringified version of the environment's Talang variables scope. (required). /// The giveaways pools that the application is subscribed to.. /// The loyalty programs that the application is subscribed to.. + /// The achievements, linked to the campaigns, belonging to the application.. /// The attributes that the application is subscribed to.. /// The additional costs that the application is subscribed to.. /// The audiences contained in the account which the application belongs to.. /// The account-level collections that the application is subscribed to.. - public Environment(int id = default(int), DateTime created = default(DateTime), int applicationId = default(int), List slots = default(List), List functions = default(List), List templates = default(List), string variables = default(string), List giveawaysPools = default(List), List loyaltyPrograms = default(List), List attributes = default(List), List additionalCosts = default(List), List audiences = default(List), List collections = default(List)) + public Environment(int id = default(int), DateTime created = default(DateTime), int applicationId = default(int), List slots = default(List), List functions = default(List), List templates = default(List), string variables = default(string), List giveawaysPools = default(List), List loyaltyPrograms = default(List), List achievements = default(List), List attributes = default(List), List additionalCosts = default(List), List audiences = default(List), List collections = default(List)) { this.Id = id; this.Created = created; @@ -67,6 +68,7 @@ protected Environment() { } this.Variables = variables ?? throw new ArgumentNullException("variables is a required property for Environment and cannot be null"); this.GiveawaysPools = giveawaysPools; this.LoyaltyPrograms = loyaltyPrograms; + this.Achievements = achievements; this.Attributes = attributes; this.AdditionalCosts = additionalCosts; this.Audiences = audiences; @@ -136,6 +138,13 @@ protected Environment() { } [DataMember(Name="loyaltyPrograms", EmitDefaultValue=false)] public List LoyaltyPrograms { get; set; } + /// + /// The achievements, linked to the campaigns, belonging to the application. + /// + /// The achievements, linked to the campaigns, belonging to the application. + [DataMember(Name="achievements", EmitDefaultValue=false)] + public List Achievements { get; set; } + /// /// The attributes that the application is subscribed to. /// @@ -181,6 +190,7 @@ public override string ToString() sb.Append(" Variables: ").Append(Variables).Append("\n"); sb.Append(" GiveawaysPools: ").Append(GiveawaysPools).Append("\n"); sb.Append(" LoyaltyPrograms: ").Append(LoyaltyPrograms).Append("\n"); + sb.Append(" Achievements: ").Append(Achievements).Append("\n"); sb.Append(" Attributes: ").Append(Attributes).Append("\n"); sb.Append(" AdditionalCosts: ").Append(AdditionalCosts).Append("\n"); sb.Append(" Audiences: ").Append(Audiences).Append("\n"); @@ -267,6 +277,12 @@ public bool Equals(Environment input) input.LoyaltyPrograms != null && this.LoyaltyPrograms.SequenceEqual(input.LoyaltyPrograms) ) && + ( + this.Achievements == input.Achievements || + this.Achievements != null && + input.Achievements != null && + this.Achievements.SequenceEqual(input.Achievements) + ) && ( this.Attributes == input.Attributes || this.Attributes != null && @@ -318,6 +334,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.GiveawaysPools.GetHashCode(); if (this.LoyaltyPrograms != null) hashCode = hashCode * 59 + this.LoyaltyPrograms.GetHashCode(); + if (this.Achievements != null) + hashCode = hashCode * 59 + this.Achievements.GetHashCode(); if (this.Attributes != null) hashCode = hashCode * 59 + this.Attributes.GetHashCode(); if (this.AdditionalCosts != null) diff --git a/src/TalonOne/Model/Event.cs b/src/TalonOne/Model/Event.cs index 0708a71..da79aa4 100644 --- a/src/TalonOne/Model/Event.cs +++ b/src/TalonOne/Model/Event.cs @@ -43,13 +43,14 @@ protected Event() { } /// The time this entity was created. (required). /// The ID of the application that owns this entity. (required). /// ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. . + /// The integration ID of the store. You choose this ID when you create a store.. /// A string representing the event. Must not be a reserved event name. (required). /// Arbitrary additional JSON data associated with the event. (required). /// The ID of the session that this event occurred in.. /// An array of effects generated by the rules of the enabled campaigns of the Application. You decide how to apply them in your system. See the list of [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). (required). /// Ledger entries for the event. (required). /// meta. - public Event(int id = default(int), DateTime created = default(DateTime), int applicationId = default(int), string profileId = default(string), string type = default(string), Object attributes = default(Object), string sessionId = default(string), List effects = default(List), List ledgerEntries = default(List), Meta meta = default(Meta)) + public Event(int id = default(int), DateTime created = default(DateTime), int applicationId = default(int), string profileId = default(string), string storeIntegrationId = default(string), string type = default(string), Object attributes = default(Object), string sessionId = default(string), List effects = default(List), List ledgerEntries = default(List), Meta meta = default(Meta)) { this.Id = id; this.Created = created; @@ -63,6 +64,7 @@ protected Event() { } // to ensure "ledgerEntries" is required (not null) this.LedgerEntries = ledgerEntries ?? throw new ArgumentNullException("ledgerEntries is a required property for Event and cannot be null"); this.ProfileId = profileId; + this.StoreIntegrationId = storeIntegrationId; this.SessionId = sessionId; this.Meta = meta; } @@ -95,6 +97,13 @@ protected Event() { } [DataMember(Name="profileId", EmitDefaultValue=false)] public string ProfileId { get; set; } + /// + /// The integration ID of the store. You choose this ID when you create a store. + /// + /// The integration ID of the store. You choose this ID when you create a store. + [DataMember(Name="storeIntegrationId", EmitDefaultValue=false)] + public string StoreIntegrationId { get; set; } + /// /// A string representing the event. Must not be a reserved event name. /// @@ -148,6 +157,7 @@ public override string ToString() sb.Append(" Created: ").Append(Created).Append("\n"); sb.Append(" ApplicationId: ").Append(ApplicationId).Append("\n"); sb.Append(" ProfileId: ").Append(ProfileId).Append("\n"); + sb.Append(" StoreIntegrationId: ").Append(StoreIntegrationId).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append(" Attributes: ").Append(Attributes).Append("\n"); sb.Append(" SessionId: ").Append(SessionId).Append("\n"); @@ -206,6 +216,11 @@ public bool Equals(Event input) (this.ProfileId != null && this.ProfileId.Equals(input.ProfileId)) ) && + ( + this.StoreIntegrationId == input.StoreIntegrationId || + (this.StoreIntegrationId != null && + this.StoreIntegrationId.Equals(input.StoreIntegrationId)) + ) && ( this.Type == input.Type || (this.Type != null && @@ -255,6 +270,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.ApplicationId.GetHashCode(); if (this.ProfileId != null) hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); + if (this.StoreIntegrationId != null) + hashCode = hashCode * 59 + this.StoreIntegrationId.GetHashCode(); if (this.Type != null) hashCode = hashCode * 59 + this.Type.GetHashCode(); if (this.Attributes != null) @@ -278,6 +295,18 @@ public override int GetHashCode() /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { + // StoreIntegrationId (string) maxLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be less than 1000.", new [] { "StoreIntegrationId" }); + } + + // StoreIntegrationId (string) minLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be greater than 1.", new [] { "StoreIntegrationId" }); + } + // Type (string) minLength if(this.Type != null && this.Type.Length < 1) { diff --git a/src/TalonOne/Model/EventV2.cs b/src/TalonOne/Model/EventV2.cs index 21fcb56..0ba146d 100644 --- a/src/TalonOne/Model/EventV2.cs +++ b/src/TalonOne/Model/EventV2.cs @@ -40,14 +40,16 @@ protected EventV2() { } /// Initializes a new instance of the class. /// /// ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. . + /// The integration ID of the store. You choose this ID when you create a store.. /// When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. . - /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event) of type `event` in the Campaign Manager. (required). - /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-custom-attributes).. - public EventV2(string profileId = default(string), List evaluableCampaignIds = default(List), string type = default(string), Object attributes = default(Object)) + /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. (required). + /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute).. + public EventV2(string profileId = default(string), string storeIntegrationId = default(string), List evaluableCampaignIds = default(List), string type = default(string), Object attributes = default(Object)) { // to ensure "type" is required (not null) this.Type = type ?? throw new ArgumentNullException("type is a required property for EventV2 and cannot be null"); this.ProfileId = profileId; + this.StoreIntegrationId = storeIntegrationId; this.EvaluableCampaignIds = evaluableCampaignIds; this.Attributes = attributes; } @@ -59,6 +61,13 @@ protected EventV2() { } [DataMember(Name="profileId", EmitDefaultValue=false)] public string ProfileId { get; set; } + /// + /// The integration ID of the store. You choose this ID when you create a store. + /// + /// The integration ID of the store. You choose this ID when you create a store. + [DataMember(Name="storeIntegrationId", EmitDefaultValue=false)] + public string StoreIntegrationId { get; set; } + /// /// When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. /// @@ -67,16 +76,16 @@ protected EventV2() { } public List EvaluableCampaignIds { get; set; } /// - /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event) of type `event` in the Campaign Manager. + /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. /// - /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event) of type `event` in the Campaign Manager. + /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. [DataMember(Name="type", EmitDefaultValue=false)] public string Type { get; set; } /// - /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-custom-attributes). + /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute). /// - /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-custom-attributes). + /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute). [DataMember(Name="attributes", EmitDefaultValue=false)] public Object Attributes { get; set; } @@ -89,6 +98,7 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class EventV2 {\n"); sb.Append(" ProfileId: ").Append(ProfileId).Append("\n"); + sb.Append(" StoreIntegrationId: ").Append(StoreIntegrationId).Append("\n"); sb.Append(" EvaluableCampaignIds: ").Append(EvaluableCampaignIds).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append(" Attributes: ").Append(Attributes).Append("\n"); @@ -131,6 +141,11 @@ public bool Equals(EventV2 input) (this.ProfileId != null && this.ProfileId.Equals(input.ProfileId)) ) && + ( + this.StoreIntegrationId == input.StoreIntegrationId || + (this.StoreIntegrationId != null && + this.StoreIntegrationId.Equals(input.StoreIntegrationId)) + ) && ( this.EvaluableCampaignIds == input.EvaluableCampaignIds || this.EvaluableCampaignIds != null && @@ -160,6 +175,8 @@ public override int GetHashCode() int hashCode = 41; if (this.ProfileId != null) hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); + if (this.StoreIntegrationId != null) + hashCode = hashCode * 59 + this.StoreIntegrationId.GetHashCode(); if (this.EvaluableCampaignIds != null) hashCode = hashCode * 59 + this.EvaluableCampaignIds.GetHashCode(); if (this.Type != null) @@ -177,6 +194,18 @@ public override int GetHashCode() /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { + // StoreIntegrationId (string) maxLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be less than 1000.", new [] { "StoreIntegrationId" }); + } + + // StoreIntegrationId (string) minLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be greater than 1.", new [] { "StoreIntegrationId" }); + } + // Type (string) minLength if(this.Type != null && this.Type.Length < 1) { diff --git a/src/TalonOne/Model/ExpiringCouponsNotificationPolicy.cs b/src/TalonOne/Model/ExpiringCouponsNotificationPolicy.cs new file mode 100644 index 0000000..fee1609 --- /dev/null +++ b/src/TalonOne/Model/ExpiringCouponsNotificationPolicy.cs @@ -0,0 +1,171 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// ExpiringCouponsNotificationPolicy + /// + [DataContract] + public partial class ExpiringCouponsNotificationPolicy : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ExpiringCouponsNotificationPolicy() { } + /// + /// Initializes a new instance of the class. + /// + /// Notification name. (required). + /// triggers (required). + /// Indicates whether batching is activated. (default to true). + public ExpiringCouponsNotificationPolicy(string name = default(string), List triggers = default(List), bool batchingEnabled = true) + { + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for ExpiringCouponsNotificationPolicy and cannot be null"); + // to ensure "triggers" is required (not null) + this.Triggers = triggers ?? throw new ArgumentNullException("triggers is a required property for ExpiringCouponsNotificationPolicy and cannot be null"); + this.BatchingEnabled = batchingEnabled; + } + + /// + /// Notification name. + /// + /// Notification name. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Gets or Sets Triggers + /// + [DataMember(Name="triggers", EmitDefaultValue=false)] + public List Triggers { get; set; } + + /// + /// Indicates whether batching is activated. + /// + /// Indicates whether batching is activated. + [DataMember(Name="batchingEnabled", EmitDefaultValue=false)] + public bool BatchingEnabled { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ExpiringCouponsNotificationPolicy {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Triggers: ").Append(Triggers).Append("\n"); + sb.Append(" BatchingEnabled: ").Append(BatchingEnabled).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ExpiringCouponsNotificationPolicy); + } + + /// + /// Returns true if ExpiringCouponsNotificationPolicy instances are equal + /// + /// Instance of ExpiringCouponsNotificationPolicy to be compared + /// Boolean + public bool Equals(ExpiringCouponsNotificationPolicy input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.Triggers == input.Triggers || + this.Triggers != null && + input.Triggers != null && + this.Triggers.SequenceEqual(input.Triggers) + ) && + ( + this.BatchingEnabled == input.BatchingEnabled || + this.BatchingEnabled.Equals(input.BatchingEnabled) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.Triggers != null) + hashCode = hashCode * 59 + this.Triggers.GetHashCode(); + hashCode = hashCode * 59 + this.BatchingEnabled.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ExpiringCouponsNotificationTrigger.cs b/src/TalonOne/Model/ExpiringCouponsNotificationTrigger.cs new file mode 100644 index 0000000..2c0e06e --- /dev/null +++ b/src/TalonOne/Model/ExpiringCouponsNotificationTrigger.cs @@ -0,0 +1,170 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// ExpiringCouponsNotificationTrigger + /// + [DataContract] + public partial class ExpiringCouponsNotificationTrigger : IEquatable, IValidatableObject + { + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + [JsonConverter(typeof(StringEnumConverter))] + public enum PeriodEnum + { + /// + /// Enum W for value: w + /// + [EnumMember(Value = "w")] + W = 1, + + /// + /// Enum D for value: d + /// + [EnumMember(Value = "d")] + D = 2 + + } + + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + [DataMember(Name="period", EmitDefaultValue=false)] + public PeriodEnum Period { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ExpiringCouponsNotificationTrigger() { } + /// + /// Initializes a new instance of the class. + /// + /// The amount of period. (required). + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. (required). + public ExpiringCouponsNotificationTrigger(int amount = default(int), PeriodEnum period = default(PeriodEnum)) + { + this.Amount = amount; + this.Period = period; + } + + /// + /// The amount of period. + /// + /// The amount of period. + [DataMember(Name="amount", EmitDefaultValue=false)] + public int Amount { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ExpiringCouponsNotificationTrigger {\n"); + sb.Append(" Amount: ").Append(Amount).Append("\n"); + sb.Append(" Period: ").Append(Period).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as ExpiringCouponsNotificationTrigger); + } + + /// + /// Returns true if ExpiringCouponsNotificationTrigger instances are equal + /// + /// Instance of ExpiringCouponsNotificationTrigger to be compared + /// Boolean + public bool Equals(ExpiringCouponsNotificationTrigger input) + { + if (input == null) + return false; + + return + ( + this.Amount == input.Amount || + this.Amount.Equals(input.Amount) + ) && + ( + this.Period == input.Period || + this.Period.Equals(input.Period) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Amount.GetHashCode(); + hashCode = hashCode * 59 + this.Period.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Amount (int) minimum + if(this.Amount < (int)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Amount, must be a value greater than or equal to 0.", new [] { "Amount" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ExpiringPointsNotificationPolicy.cs b/src/TalonOne/Model/ExpiringPointsNotificationPolicy.cs index 7a3b376..a71326a 100644 --- a/src/TalonOne/Model/ExpiringPointsNotificationPolicy.cs +++ b/src/TalonOne/Model/ExpiringPointsNotificationPolicy.cs @@ -41,12 +41,14 @@ protected ExpiringPointsNotificationPolicy() { } /// /// Notification name. (required). /// triggers (required). - public ExpiringPointsNotificationPolicy(string name = default(string), List triggers = default(List)) + /// Indicates whether batching is activated. (default to true). + public ExpiringPointsNotificationPolicy(string name = default(string), List triggers = default(List), bool batchingEnabled = true) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for ExpiringPointsNotificationPolicy and cannot be null"); // to ensure "triggers" is required (not null) this.Triggers = triggers ?? throw new ArgumentNullException("triggers is a required property for ExpiringPointsNotificationPolicy and cannot be null"); + this.BatchingEnabled = batchingEnabled; } /// @@ -62,6 +64,13 @@ protected ExpiringPointsNotificationPolicy() { } [DataMember(Name="triggers", EmitDefaultValue=false)] public List Triggers { get; set; } + /// + /// Indicates whether batching is activated. + /// + /// Indicates whether batching is activated. + [DataMember(Name="batchingEnabled", EmitDefaultValue=false)] + public bool BatchingEnabled { get; set; } + /// /// Returns the string presentation of the object /// @@ -72,6 +81,7 @@ public override string ToString() sb.Append("class ExpiringPointsNotificationPolicy {\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" Triggers: ").Append(Triggers).Append("\n"); + sb.Append(" BatchingEnabled: ").Append(BatchingEnabled).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -116,6 +126,10 @@ public bool Equals(ExpiringPointsNotificationPolicy input) this.Triggers != null && input.Triggers != null && this.Triggers.SequenceEqual(input.Triggers) + ) && + ( + this.BatchingEnabled == input.BatchingEnabled || + this.BatchingEnabled.Equals(input.BatchingEnabled) ); } @@ -132,6 +146,7 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Name.GetHashCode(); if (this.Triggers != null) hashCode = hashCode * 59 + this.Triggers.GetHashCode(); + hashCode = hashCode * 59 + this.BatchingEnabled.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/FuncArgDef.cs b/src/TalonOne/Model/FuncArgDef.cs index a91c405..fc3d0c9 100644 --- a/src/TalonOne/Model/FuncArgDef.cs +++ b/src/TalonOne/Model/FuncArgDef.cs @@ -85,12 +85,11 @@ protected FuncArgDef() { } /// Initializes a new instance of the class. /// /// The type of value this argument expects. (required). - /// A campaigner-friendly description of the argument, this will also be shown in the rule editor. (required). + /// A campaigner-friendly description of the argument, this will also be shown in the rule editor.. public FuncArgDef(TypeEnum type = default(TypeEnum), string description = default(string)) { this.Type = type; - // to ensure "description" is required (not null) - this.Description = description ?? throw new ArgumentNullException("description is a required property for FuncArgDef and cannot be null"); + this.Description = description; } /// diff --git a/src/TalonOne/Model/GetIntegrationCouponRequest.cs b/src/TalonOne/Model/GetIntegrationCouponRequest.cs new file mode 100644 index 0000000..b32a310 --- /dev/null +++ b/src/TalonOne/Model/GetIntegrationCouponRequest.cs @@ -0,0 +1,160 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// GetIntegrationCouponRequest + /// + [DataContract] + public partial class GetIntegrationCouponRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected GetIntegrationCouponRequest() { } + /// + /// Initializes a new instance of the class. + /// + /// A list of IDs of the campaigns to get coupons from. (required). + /// The maximum number of coupons included in the response. (required). + public GetIntegrationCouponRequest(List campaignIds = default(List), int limit = default(int)) + { + // to ensure "campaignIds" is required (not null) + this.CampaignIds = campaignIds ?? throw new ArgumentNullException("campaignIds is a required property for GetIntegrationCouponRequest and cannot be null"); + this.Limit = limit; + } + + /// + /// A list of IDs of the campaigns to get coupons from. + /// + /// A list of IDs of the campaigns to get coupons from. + [DataMember(Name="campaignIds", EmitDefaultValue=false)] + public List CampaignIds { get; set; } + + /// + /// The maximum number of coupons included in the response. + /// + /// The maximum number of coupons included in the response. + [DataMember(Name="limit", EmitDefaultValue=false)] + public int Limit { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class GetIntegrationCouponRequest {\n"); + sb.Append(" CampaignIds: ").Append(CampaignIds).Append("\n"); + sb.Append(" Limit: ").Append(Limit).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as GetIntegrationCouponRequest); + } + + /// + /// Returns true if GetIntegrationCouponRequest instances are equal + /// + /// Instance of GetIntegrationCouponRequest to be compared + /// Boolean + public bool Equals(GetIntegrationCouponRequest input) + { + if (input == null) + return false; + + return + ( + this.CampaignIds == input.CampaignIds || + this.CampaignIds != null && + input.CampaignIds != null && + this.CampaignIds.SequenceEqual(input.CampaignIds) + ) && + ( + this.Limit == input.Limit || + this.Limit.Equals(input.Limit) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.CampaignIds != null) + hashCode = hashCode * 59 + this.CampaignIds.GetHashCode(); + hashCode = hashCode * 59 + this.Limit.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Limit (int) maximum + if(this.Limit > (int)1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Limit, must be a value less than or equal to 1000.", new [] { "Limit" }); + } + + // Limit (int) minimum + if(this.Limit < (int)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Limit, must be a value greater than or equal to 1.", new [] { "Limit" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/IncreaseAchievementProgressEffectProps.cs b/src/TalonOne/Model/IncreaseAchievementProgressEffectProps.cs new file mode 100644 index 0000000..3438d44 --- /dev/null +++ b/src/TalonOne/Model/IncreaseAchievementProgressEffectProps.cs @@ -0,0 +1,222 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The properties specific to the \"increaseAchievementProgress\" effect. This gets triggered whenever a validated rule contained an \"increase customer progress\" effect. + /// + [DataContract] + public partial class IncreaseAchievementProgressEffectProps : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected IncreaseAchievementProgressEffectProps() { } + /// + /// Initializes a new instance of the class. + /// + /// The internal ID of the achievement. (required). + /// The name of the achievement. (required). + /// The internal ID of the achievement progress tracker.. + /// The value by which the customer's current progress in the achievement is increased. (required). + /// The current progress of the customer in the achievement. (required). + /// The required number of actions or the transactional milestone to complete the achievement. (required). + /// Indicates if the customer has completed the achievement in the current session. (required). + public IncreaseAchievementProgressEffectProps(int achievementId = default(int), string achievementName = default(string), int progressTrackerId = default(int), decimal delta = default(decimal), decimal value = default(decimal), decimal target = default(decimal), bool isJustCompleted = default(bool)) + { + this.AchievementId = achievementId; + // to ensure "achievementName" is required (not null) + this.AchievementName = achievementName ?? throw new ArgumentNullException("achievementName is a required property for IncreaseAchievementProgressEffectProps and cannot be null"); + this.Delta = delta; + this.Value = value; + this.Target = target; + this.IsJustCompleted = isJustCompleted; + this.ProgressTrackerId = progressTrackerId; + } + + /// + /// The internal ID of the achievement. + /// + /// The internal ID of the achievement. + [DataMember(Name="achievementId", EmitDefaultValue=false)] + public int AchievementId { get; set; } + + /// + /// The name of the achievement. + /// + /// The name of the achievement. + [DataMember(Name="achievementName", EmitDefaultValue=false)] + public string AchievementName { get; set; } + + /// + /// The internal ID of the achievement progress tracker. + /// + /// The internal ID of the achievement progress tracker. + [DataMember(Name="progressTrackerId", EmitDefaultValue=false)] + public int ProgressTrackerId { get; set; } + + /// + /// The value by which the customer's current progress in the achievement is increased. + /// + /// The value by which the customer's current progress in the achievement is increased. + [DataMember(Name="delta", EmitDefaultValue=false)] + public decimal Delta { get; set; } + + /// + /// The current progress of the customer in the achievement. + /// + /// The current progress of the customer in the achievement. + [DataMember(Name="value", EmitDefaultValue=false)] + public decimal Value { get; set; } + + /// + /// The required number of actions or the transactional milestone to complete the achievement. + /// + /// The required number of actions or the transactional milestone to complete the achievement. + [DataMember(Name="target", EmitDefaultValue=false)] + public decimal Target { get; set; } + + /// + /// Indicates if the customer has completed the achievement in the current session. + /// + /// Indicates if the customer has completed the achievement in the current session. + [DataMember(Name="isJustCompleted", EmitDefaultValue=false)] + public bool IsJustCompleted { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class IncreaseAchievementProgressEffectProps {\n"); + sb.Append(" AchievementId: ").Append(AchievementId).Append("\n"); + sb.Append(" AchievementName: ").Append(AchievementName).Append("\n"); + sb.Append(" ProgressTrackerId: ").Append(ProgressTrackerId).Append("\n"); + sb.Append(" Delta: ").Append(Delta).Append("\n"); + sb.Append(" Value: ").Append(Value).Append("\n"); + sb.Append(" Target: ").Append(Target).Append("\n"); + sb.Append(" IsJustCompleted: ").Append(IsJustCompleted).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as IncreaseAchievementProgressEffectProps); + } + + /// + /// Returns true if IncreaseAchievementProgressEffectProps instances are equal + /// + /// Instance of IncreaseAchievementProgressEffectProps to be compared + /// Boolean + public bool Equals(IncreaseAchievementProgressEffectProps input) + { + if (input == null) + return false; + + return + ( + this.AchievementId == input.AchievementId || + this.AchievementId.Equals(input.AchievementId) + ) && + ( + this.AchievementName == input.AchievementName || + (this.AchievementName != null && + this.AchievementName.Equals(input.AchievementName)) + ) && + ( + this.ProgressTrackerId == input.ProgressTrackerId || + this.ProgressTrackerId.Equals(input.ProgressTrackerId) + ) && + ( + this.Delta == input.Delta || + this.Delta.Equals(input.Delta) + ) && + ( + this.Value == input.Value || + this.Value.Equals(input.Value) + ) && + ( + this.Target == input.Target || + this.Target.Equals(input.Target) + ) && + ( + this.IsJustCompleted == input.IsJustCompleted || + this.IsJustCompleted.Equals(input.IsJustCompleted) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.AchievementId.GetHashCode(); + if (this.AchievementName != null) + hashCode = hashCode * 59 + this.AchievementName.GetHashCode(); + hashCode = hashCode * 59 + this.ProgressTrackerId.GetHashCode(); + hashCode = hashCode * 59 + this.Delta.GetHashCode(); + hashCode = hashCode * 59 + this.Value.GetHashCode(); + hashCode = hashCode * 59 + this.Target.GetHashCode(); + hashCode = hashCode * 59 + this.IsJustCompleted.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/InlineResponse20010.cs b/src/TalonOne/Model/InlineResponse20010.cs index 7b00813..8185815 100644 --- a/src/TalonOne/Model/InlineResponse20010.cs +++ b/src/TalonOne/Model/InlineResponse20010.cs @@ -41,7 +41,7 @@ protected InlineResponse20010() { } /// /// hasMore (required). /// data (required). - public InlineResponse20010(bool hasMore = default(bool), List data = default(List)) + public InlineResponse20010(bool hasMore = default(bool), List data = default(List)) { this.HasMore = hasMore; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20010() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20011.cs b/src/TalonOne/Model/InlineResponse20011.cs index 19295a2..3768113 100644 --- a/src/TalonOne/Model/InlineResponse20011.cs +++ b/src/TalonOne/Model/InlineResponse20011.cs @@ -41,7 +41,7 @@ protected InlineResponse20011() { } /// /// totalResultSize (required). /// data (required). - public InlineResponse20011(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20011(int totalResultSize = default(int), List data = default(List)) { this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20011() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20012.cs b/src/TalonOne/Model/InlineResponse20012.cs index 7450b73..026f57a 100644 --- a/src/TalonOne/Model/InlineResponse20012.cs +++ b/src/TalonOne/Model/InlineResponse20012.cs @@ -41,7 +41,7 @@ protected InlineResponse20012() { } /// /// hasMore (required). /// data (required). - public InlineResponse20012(bool hasMore = default(bool), List data = default(List)) + public InlineResponse20012(bool hasMore = default(bool), List data = default(List)) { this.HasMore = hasMore; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20012() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20013.cs b/src/TalonOne/Model/InlineResponse20013.cs index a4f174a..0b58b73 100644 --- a/src/TalonOne/Model/InlineResponse20013.cs +++ b/src/TalonOne/Model/InlineResponse20013.cs @@ -39,26 +39,26 @@ protected InlineResponse20013() { } /// /// Initializes a new instance of the class. /// - /// hasMore (required). + /// totalResultSize (required). /// data (required). - public InlineResponse20013(bool hasMore = default(bool), List data = default(List)) + public InlineResponse20013(int totalResultSize = default(int), List data = default(List)) { - this.HasMore = hasMore; + this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20013 and cannot be null"); } /// - /// Gets or Sets HasMore + /// Gets or Sets TotalResultSize /// - [DataMember(Name="hasMore", EmitDefaultValue=false)] - public bool HasMore { get; set; } + [DataMember(Name="totalResultSize", EmitDefaultValue=false)] + public int TotalResultSize { get; set; } /// /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -68,7 +68,7 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class InlineResponse20013 {\n"); - sb.Append(" HasMore: ").Append(HasMore).Append("\n"); + sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -105,8 +105,8 @@ public bool Equals(InlineResponse20013 input) return ( - this.HasMore == input.HasMore || - this.HasMore.Equals(input.HasMore) + this.TotalResultSize == input.TotalResultSize || + this.TotalResultSize.Equals(input.TotalResultSize) ) && ( this.Data == input.Data || @@ -125,7 +125,7 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; - hashCode = hashCode * 59 + this.HasMore.GetHashCode(); + hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse20014.cs b/src/TalonOne/Model/InlineResponse20014.cs index 86b4ace..aa8675f 100644 --- a/src/TalonOne/Model/InlineResponse20014.cs +++ b/src/TalonOne/Model/InlineResponse20014.cs @@ -39,9 +39,9 @@ protected InlineResponse20014() { } /// /// Initializes a new instance of the class. /// - /// true means there is more data in the source collection to request.. (required). - /// List of loyalty card transaction logs. (required). - public InlineResponse20014(bool hasMore = default(bool), List data = default(List)) + /// hasMore (required). + /// data (required). + public InlineResponse20014(bool hasMore = default(bool), List data = default(List)) { this.HasMore = hasMore; // to ensure "data" is required (not null) @@ -49,18 +49,16 @@ protected InlineResponse20014() { } } /// - /// true means there is more data in the source collection to request.. + /// Gets or Sets HasMore /// - /// true means there is more data in the source collection to request.. [DataMember(Name="hasMore", EmitDefaultValue=false)] public bool HasMore { get; set; } /// - /// List of loyalty card transaction logs. + /// Gets or Sets Data /// - /// List of loyalty card transaction logs. [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20015.cs b/src/TalonOne/Model/InlineResponse20015.cs index 81f3ce6..a346827 100644 --- a/src/TalonOne/Model/InlineResponse20015.cs +++ b/src/TalonOne/Model/InlineResponse20015.cs @@ -39,15 +39,13 @@ protected InlineResponse20015() { } /// /// Initializes a new instance of the class. /// - /// hasMore. - /// totalResultSize. + /// hasMore (required). /// data (required). - public InlineResponse20015(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) + public InlineResponse20015(bool hasMore = default(bool), List data = default(List)) { + this.HasMore = hasMore; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20015 and cannot be null"); - this.HasMore = hasMore; - this.TotalResultSize = totalResultSize; } /// @@ -56,17 +54,11 @@ protected InlineResponse20015() { } [DataMember(Name="hasMore", EmitDefaultValue=false)] public bool HasMore { get; set; } - /// - /// Gets or Sets TotalResultSize - /// - [DataMember(Name="totalResultSize", EmitDefaultValue=false)] - public int TotalResultSize { get; set; } - /// /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -77,7 +69,6 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class InlineResponse20015 {\n"); sb.Append(" HasMore: ").Append(HasMore).Append("\n"); - sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -117,10 +108,6 @@ public bool Equals(InlineResponse20015 input) this.HasMore == input.HasMore || this.HasMore.Equals(input.HasMore) ) && - ( - this.TotalResultSize == input.TotalResultSize || - this.TotalResultSize.Equals(input.TotalResultSize) - ) && ( this.Data == input.Data || this.Data != null && @@ -139,7 +126,6 @@ public override int GetHashCode() { int hashCode = 41; hashCode = hashCode * 59 + this.HasMore.GetHashCode(); - hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse20016.cs b/src/TalonOne/Model/InlineResponse20016.cs index 69cd61a..476207c 100644 --- a/src/TalonOne/Model/InlineResponse20016.cs +++ b/src/TalonOne/Model/InlineResponse20016.cs @@ -39,9 +39,9 @@ protected InlineResponse20016() { } /// /// Initializes a new instance of the class. /// - /// hasMore (required). - /// data (required). - public InlineResponse20016(bool hasMore = default(bool), List data = default(List)) + /// true means there is more data in the source collection to request.. (required). + /// List of loyalty card transaction logs. (required). + public InlineResponse20016(bool hasMore = default(bool), List data = default(List)) { this.HasMore = hasMore; // to ensure "data" is required (not null) @@ -49,16 +49,18 @@ protected InlineResponse20016() { } } /// - /// Gets or Sets HasMore + /// true means there is more data in the source collection to request.. /// + /// true means there is more data in the source collection to request.. [DataMember(Name="hasMore", EmitDefaultValue=false)] public bool HasMore { get; set; } /// - /// Gets or Sets Data + /// List of loyalty card transaction logs. /// + /// List of loyalty card transaction logs. [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20017.cs b/src/TalonOne/Model/InlineResponse20017.cs index 0320422..4a05017 100644 --- a/src/TalonOne/Model/InlineResponse20017.cs +++ b/src/TalonOne/Model/InlineResponse20017.cs @@ -42,7 +42,7 @@ protected InlineResponse20017() { } /// hasMore. /// totalResultSize. /// data (required). - public InlineResponse20017(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) + public InlineResponse20017(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) { // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20017 and cannot be null"); @@ -66,7 +66,7 @@ protected InlineResponse20017() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20018.cs b/src/TalonOne/Model/InlineResponse20018.cs index 3b81207..9a67ca3 100644 --- a/src/TalonOne/Model/InlineResponse20018.cs +++ b/src/TalonOne/Model/InlineResponse20018.cs @@ -41,7 +41,7 @@ protected InlineResponse20018() { } /// /// hasMore (required). /// data (required). - public InlineResponse20018(bool hasMore = default(bool), List data = default(List)) + public InlineResponse20018(bool hasMore = default(bool), List data = default(List)) { this.HasMore = hasMore; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20018() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20019.cs b/src/TalonOne/Model/InlineResponse20019.cs index 66baf59..bc20b4d 100644 --- a/src/TalonOne/Model/InlineResponse20019.cs +++ b/src/TalonOne/Model/InlineResponse20019.cs @@ -39,20 +39,20 @@ protected InlineResponse20019() { } /// /// Initializes a new instance of the class. /// - /// totalResultSize (required). + /// hasMore (required). /// data (required). - public InlineResponse20019(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20019(bool hasMore = default(bool), List data = default(List)) { - this.TotalResultSize = totalResultSize; + this.HasMore = hasMore; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20019 and cannot be null"); } /// - /// Gets or Sets TotalResultSize + /// Gets or Sets HasMore /// - [DataMember(Name="totalResultSize", EmitDefaultValue=false)] - public int TotalResultSize { get; set; } + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } /// /// Gets or Sets Data @@ -68,7 +68,7 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class InlineResponse20019 {\n"); - sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -105,8 +105,8 @@ public bool Equals(InlineResponse20019 input) return ( - this.TotalResultSize == input.TotalResultSize || - this.TotalResultSize.Equals(input.TotalResultSize) + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) ) && ( this.Data == input.Data || @@ -125,7 +125,7 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; - hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse20020.cs b/src/TalonOne/Model/InlineResponse20020.cs index 06379ce..48e8e0a 100644 --- a/src/TalonOne/Model/InlineResponse20020.cs +++ b/src/TalonOne/Model/InlineResponse20020.cs @@ -41,7 +41,7 @@ protected InlineResponse20020() { } /// /// totalResultSize (required). /// data (required). - public InlineResponse20020(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20020(int totalResultSize = default(int), List data = default(List)) { this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20020() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20021.cs b/src/TalonOne/Model/InlineResponse20021.cs index 2593bac..2988e0c 100644 --- a/src/TalonOne/Model/InlineResponse20021.cs +++ b/src/TalonOne/Model/InlineResponse20021.cs @@ -39,15 +39,13 @@ protected InlineResponse20021() { } /// /// Initializes a new instance of the class. /// - /// totalResultSize. - /// hasMore. + /// totalResultSize (required). /// data (required). - public InlineResponse20021(int totalResultSize = default(int), bool hasMore = default(bool), List data = default(List)) + public InlineResponse20021(int totalResultSize = default(int), List data = default(List)) { + this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20021 and cannot be null"); - this.TotalResultSize = totalResultSize; - this.HasMore = hasMore; } /// @@ -56,17 +54,11 @@ protected InlineResponse20021() { } [DataMember(Name="totalResultSize", EmitDefaultValue=false)] public int TotalResultSize { get; set; } - /// - /// Gets or Sets HasMore - /// - [DataMember(Name="hasMore", EmitDefaultValue=false)] - public bool HasMore { get; set; } - /// /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -77,7 +69,6 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class InlineResponse20021 {\n"); sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); - sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -117,10 +108,6 @@ public bool Equals(InlineResponse20021 input) this.TotalResultSize == input.TotalResultSize || this.TotalResultSize.Equals(input.TotalResultSize) ) && - ( - this.HasMore == input.HasMore || - this.HasMore.Equals(input.HasMore) - ) && ( this.Data == input.Data || this.Data != null && @@ -139,7 +126,6 @@ public override int GetHashCode() { int hashCode = 41; hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); - hashCode = hashCode * 59 + this.HasMore.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse20022.cs b/src/TalonOne/Model/InlineResponse20022.cs index a4fdcef..6035156 100644 --- a/src/TalonOne/Model/InlineResponse20022.cs +++ b/src/TalonOne/Model/InlineResponse20022.cs @@ -39,29 +39,29 @@ protected InlineResponse20022() { } /// /// Initializes a new instance of the class. /// - /// hasMore. /// totalResultSize. + /// hasMore. /// data (required). - public InlineResponse20022(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) + public InlineResponse20022(int totalResultSize = default(int), bool hasMore = default(bool), List data = default(List)) { // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20022 and cannot be null"); - this.HasMore = hasMore; this.TotalResultSize = totalResultSize; + this.HasMore = hasMore; } - /// - /// Gets or Sets HasMore - /// - [DataMember(Name="hasMore", EmitDefaultValue=false)] - public bool HasMore { get; set; } - /// /// Gets or Sets TotalResultSize /// [DataMember(Name="totalResultSize", EmitDefaultValue=false)] public int TotalResultSize { get; set; } + /// + /// Gets or Sets HasMore + /// + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } + /// /// Gets or Sets Data /// @@ -76,8 +76,8 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class InlineResponse20022 {\n"); - sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -113,14 +113,14 @@ public bool Equals(InlineResponse20022 input) return false; return - ( - this.HasMore == input.HasMore || - this.HasMore.Equals(input.HasMore) - ) && ( this.TotalResultSize == input.TotalResultSize || this.TotalResultSize.Equals(input.TotalResultSize) ) && + ( + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) + ) && ( this.Data == input.Data || this.Data != null && @@ -138,8 +138,8 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; - hashCode = hashCode * 59 + this.HasMore.GetHashCode(); hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse20023.cs b/src/TalonOne/Model/InlineResponse20023.cs index a504fef..205deb1 100644 --- a/src/TalonOne/Model/InlineResponse20023.cs +++ b/src/TalonOne/Model/InlineResponse20023.cs @@ -42,7 +42,7 @@ protected InlineResponse20023() { } /// hasMore. /// totalResultSize. /// data (required). - public InlineResponse20023(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) + public InlineResponse20023(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) { // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20023 and cannot be null"); @@ -66,7 +66,7 @@ protected InlineResponse20023() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20024.cs b/src/TalonOne/Model/InlineResponse20024.cs index c8ba1a5..443c20d 100644 --- a/src/TalonOne/Model/InlineResponse20024.cs +++ b/src/TalonOne/Model/InlineResponse20024.cs @@ -39,13 +39,15 @@ protected InlineResponse20024() { } /// /// Initializes a new instance of the class. /// - /// hasMore (required). + /// hasMore. + /// totalResultSize. /// data (required). - public InlineResponse20024(bool hasMore = default(bool), List data = default(List)) + public InlineResponse20024(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) { - this.HasMore = hasMore; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20024 and cannot be null"); + this.HasMore = hasMore; + this.TotalResultSize = totalResultSize; } /// @@ -54,6 +56,12 @@ protected InlineResponse20024() { } [DataMember(Name="hasMore", EmitDefaultValue=false)] public bool HasMore { get; set; } + /// + /// Gets or Sets TotalResultSize + /// + [DataMember(Name="totalResultSize", EmitDefaultValue=false)] + public int TotalResultSize { get; set; } + /// /// Gets or Sets Data /// @@ -69,6 +77,7 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class InlineResponse20024 {\n"); sb.Append(" HasMore: ").Append(HasMore).Append("\n"); + sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -108,6 +117,10 @@ public bool Equals(InlineResponse20024 input) this.HasMore == input.HasMore || this.HasMore.Equals(input.HasMore) ) && + ( + this.TotalResultSize == input.TotalResultSize || + this.TotalResultSize.Equals(input.TotalResultSize) + ) && ( this.Data == input.Data || this.Data != null && @@ -126,6 +139,7 @@ public override int GetHashCode() { int hashCode = 41; hashCode = hashCode * 59 + this.HasMore.GetHashCode(); + hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse20025.cs b/src/TalonOne/Model/InlineResponse20025.cs index 7e9c64d..94a53e4 100644 --- a/src/TalonOne/Model/InlineResponse20025.cs +++ b/src/TalonOne/Model/InlineResponse20025.cs @@ -41,7 +41,7 @@ protected InlineResponse20025() { } /// /// hasMore (required). /// data (required). - public InlineResponse20025(bool hasMore = default(bool), List data = default(List)) + public InlineResponse20025(bool hasMore = default(bool), List data = default(List)) { this.HasMore = hasMore; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20025() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20026.cs b/src/TalonOne/Model/InlineResponse20026.cs index c121c94..16629ce 100644 --- a/src/TalonOne/Model/InlineResponse20026.cs +++ b/src/TalonOne/Model/InlineResponse20026.cs @@ -39,13 +39,13 @@ protected InlineResponse20026() { } /// /// Initializes a new instance of the class. /// - /// hasMore. + /// hasMore (required). /// data (required). - public InlineResponse20026(bool hasMore = default(bool), List data = default(List)) + public InlineResponse20026(bool hasMore = default(bool), List data = default(List)) { + this.HasMore = hasMore; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20026 and cannot be null"); - this.HasMore = hasMore; } /// @@ -58,7 +58,7 @@ protected InlineResponse20026() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20027.cs b/src/TalonOne/Model/InlineResponse20027.cs index ac2ba41..b18ec46 100644 --- a/src/TalonOne/Model/InlineResponse20027.cs +++ b/src/TalonOne/Model/InlineResponse20027.cs @@ -39,13 +39,13 @@ protected InlineResponse20027() { } /// /// Initializes a new instance of the class. /// - /// hasMore (required). + /// hasMore. /// data (required). - public InlineResponse20027(bool hasMore = default(bool), List data = default(List)) + public InlineResponse20027(bool hasMore = default(bool), List data = default(List)) { - this.HasMore = hasMore; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20027 and cannot be null"); + this.HasMore = hasMore; } /// @@ -58,7 +58,7 @@ protected InlineResponse20027() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20028.cs b/src/TalonOne/Model/InlineResponse20028.cs index 2b07e9b..5c6c6cc 100644 --- a/src/TalonOne/Model/InlineResponse20028.cs +++ b/src/TalonOne/Model/InlineResponse20028.cs @@ -39,26 +39,26 @@ protected InlineResponse20028() { } /// /// Initializes a new instance of the class. /// - /// totalResultSize (required). + /// hasMore (required). /// data (required). - public InlineResponse20028(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20028(bool hasMore = default(bool), List data = default(List)) { - this.TotalResultSize = totalResultSize; + this.HasMore = hasMore; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20028 and cannot be null"); } /// - /// Gets or Sets TotalResultSize + /// Gets or Sets HasMore /// - [DataMember(Name="totalResultSize", EmitDefaultValue=false)] - public int TotalResultSize { get; set; } + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } /// /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -68,7 +68,7 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class InlineResponse20028 {\n"); - sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -105,8 +105,8 @@ public bool Equals(InlineResponse20028 input) return ( - this.TotalResultSize == input.TotalResultSize || - this.TotalResultSize.Equals(input.TotalResultSize) + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) ) && ( this.Data == input.Data || @@ -125,7 +125,7 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; - hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse20029.cs b/src/TalonOne/Model/InlineResponse20029.cs index 8274697..9b9b7c1 100644 --- a/src/TalonOne/Model/InlineResponse20029.cs +++ b/src/TalonOne/Model/InlineResponse20029.cs @@ -39,23 +39,15 @@ protected InlineResponse20029() { } /// /// Initializes a new instance of the class. /// - /// hasMore. - /// totalResultSize. + /// totalResultSize (required). /// data (required). - public InlineResponse20029(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) + public InlineResponse20029(int totalResultSize = default(int), List data = default(List)) { + this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20029 and cannot be null"); - this.HasMore = hasMore; - this.TotalResultSize = totalResultSize; } - /// - /// Gets or Sets HasMore - /// - [DataMember(Name="hasMore", EmitDefaultValue=false)] - public bool HasMore { get; set; } - /// /// Gets or Sets TotalResultSize /// @@ -66,7 +58,7 @@ protected InlineResponse20029() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -76,7 +68,6 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class InlineResponse20029 {\n"); - sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); @@ -113,10 +104,6 @@ public bool Equals(InlineResponse20029 input) return false; return - ( - this.HasMore == input.HasMore || - this.HasMore.Equals(input.HasMore) - ) && ( this.TotalResultSize == input.TotalResultSize || this.TotalResultSize.Equals(input.TotalResultSize) @@ -138,7 +125,6 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; - hashCode = hashCode * 59 + this.HasMore.GetHashCode(); hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); diff --git a/src/TalonOne/Model/InlineResponse2003.cs b/src/TalonOne/Model/InlineResponse2003.cs index c4de78f..93ed7dc 100644 --- a/src/TalonOne/Model/InlineResponse2003.cs +++ b/src/TalonOne/Model/InlineResponse2003.cs @@ -39,26 +39,26 @@ protected InlineResponse2003() { } /// /// Initializes a new instance of the class. /// - /// totalResultSize (required). + /// hasMore (required). /// data (required). - public InlineResponse2003(int totalResultSize = default(int), List data = default(List)) + public InlineResponse2003(bool hasMore = default(bool), List data = default(List)) { - this.TotalResultSize = totalResultSize; + this.HasMore = hasMore; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse2003 and cannot be null"); } /// - /// Gets or Sets TotalResultSize + /// Gets or Sets HasMore /// - [DataMember(Name="totalResultSize", EmitDefaultValue=false)] - public int TotalResultSize { get; set; } + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } /// /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -68,7 +68,7 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class InlineResponse2003 {\n"); - sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -105,8 +105,8 @@ public bool Equals(InlineResponse2003 input) return ( - this.TotalResultSize == input.TotalResultSize || - this.TotalResultSize.Equals(input.TotalResultSize) + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) ) && ( this.Data == input.Data || @@ -125,7 +125,7 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; - hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse20030.cs b/src/TalonOne/Model/InlineResponse20030.cs index a60b917..062e885 100644 --- a/src/TalonOne/Model/InlineResponse20030.cs +++ b/src/TalonOne/Model/InlineResponse20030.cs @@ -42,7 +42,7 @@ protected InlineResponse20030() { } /// hasMore. /// totalResultSize. /// data (required). - public InlineResponse20030(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) + public InlineResponse20030(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) { // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20030 and cannot be null"); @@ -66,7 +66,7 @@ protected InlineResponse20030() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20031.cs b/src/TalonOne/Model/InlineResponse20031.cs index 88b78bc..6e7f5d2 100644 --- a/src/TalonOne/Model/InlineResponse20031.cs +++ b/src/TalonOne/Model/InlineResponse20031.cs @@ -39,26 +39,26 @@ protected InlineResponse20031() { } /// /// Initializes a new instance of the class. /// - /// totalResultSize (required). + /// hasMore. /// data (required). - public InlineResponse20031(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20031(bool hasMore = default(bool), List data = default(List)) { - this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20031 and cannot be null"); + this.HasMore = hasMore; } /// - /// Gets or Sets TotalResultSize + /// Gets or Sets HasMore /// - [DataMember(Name="totalResultSize", EmitDefaultValue=false)] - public int TotalResultSize { get; set; } + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } /// /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -68,7 +68,7 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class InlineResponse20031 {\n"); - sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -105,8 +105,8 @@ public bool Equals(InlineResponse20031 input) return ( - this.TotalResultSize == input.TotalResultSize || - this.TotalResultSize.Equals(input.TotalResultSize) + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) ) && ( this.Data == input.Data || @@ -125,7 +125,7 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; - hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse20032.cs b/src/TalonOne/Model/InlineResponse20032.cs index 5d51509..eaf6f86 100644 --- a/src/TalonOne/Model/InlineResponse20032.cs +++ b/src/TalonOne/Model/InlineResponse20032.cs @@ -40,14 +40,12 @@ protected InlineResponse20032() { } /// Initializes a new instance of the class. /// /// hasMore. - /// totalResultSize. /// data (required). - public InlineResponse20032(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) + public InlineResponse20032(bool hasMore = default(bool), List data = default(List)) { // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20032 and cannot be null"); this.HasMore = hasMore; - this.TotalResultSize = totalResultSize; } /// @@ -56,17 +54,11 @@ protected InlineResponse20032() { } [DataMember(Name="hasMore", EmitDefaultValue=false)] public bool HasMore { get; set; } - /// - /// Gets or Sets TotalResultSize - /// - [DataMember(Name="totalResultSize", EmitDefaultValue=false)] - public int TotalResultSize { get; set; } - /// /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -77,7 +69,6 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class InlineResponse20032 {\n"); sb.Append(" HasMore: ").Append(HasMore).Append("\n"); - sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -117,10 +108,6 @@ public bool Equals(InlineResponse20032 input) this.HasMore == input.HasMore || this.HasMore.Equals(input.HasMore) ) && - ( - this.TotalResultSize == input.TotalResultSize || - this.TotalResultSize.Equals(input.TotalResultSize) - ) && ( this.Data == input.Data || this.Data != null && @@ -139,7 +126,6 @@ public override int GetHashCode() { int hashCode = 41; hashCode = hashCode * 59 + this.HasMore.GetHashCode(); - hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse20033.cs b/src/TalonOne/Model/InlineResponse20033.cs index a2d4802..4d5dd38 100644 --- a/src/TalonOne/Model/InlineResponse20033.cs +++ b/src/TalonOne/Model/InlineResponse20033.cs @@ -39,15 +39,23 @@ protected InlineResponse20033() { } /// /// Initializes a new instance of the class. /// - /// totalResultSize (required). + /// hasMore. + /// totalResultSize. /// data (required). - public InlineResponse20033(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20033(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) { - this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20033 and cannot be null"); + this.HasMore = hasMore; + this.TotalResultSize = totalResultSize; } + /// + /// Gets or Sets HasMore + /// + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } + /// /// Gets or Sets TotalResultSize /// @@ -58,7 +66,7 @@ protected InlineResponse20033() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -68,6 +76,7 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class InlineResponse20033 {\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); @@ -104,6 +113,10 @@ public bool Equals(InlineResponse20033 input) return false; return + ( + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) + ) && ( this.TotalResultSize == input.TotalResultSize || this.TotalResultSize.Equals(input.TotalResultSize) @@ -125,6 +138,7 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); diff --git a/src/TalonOne/Model/InlineResponse20034.cs b/src/TalonOne/Model/InlineResponse20034.cs index 045d323..9ff47b4 100644 --- a/src/TalonOne/Model/InlineResponse20034.cs +++ b/src/TalonOne/Model/InlineResponse20034.cs @@ -41,7 +41,7 @@ protected InlineResponse20034() { } /// /// totalResultSize (required). /// data (required). - public InlineResponse20034(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20034(int totalResultSize = default(int), List data = default(List)) { this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20034() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20035.cs b/src/TalonOne/Model/InlineResponse20035.cs index b94cb3a..4aa6cdf 100644 --- a/src/TalonOne/Model/InlineResponse20035.cs +++ b/src/TalonOne/Model/InlineResponse20035.cs @@ -39,15 +39,23 @@ protected InlineResponse20035() { } /// /// Initializes a new instance of the class. /// - /// totalResultSize (required). + /// hasMore. + /// totalResultSize. /// data (required). - public InlineResponse20035(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20035(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) { - this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20035 and cannot be null"); + this.HasMore = hasMore; + this.TotalResultSize = totalResultSize; } + /// + /// Gets or Sets HasMore + /// + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } + /// /// Gets or Sets TotalResultSize /// @@ -58,7 +66,7 @@ protected InlineResponse20035() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -68,6 +76,7 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class InlineResponse20035 {\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); @@ -104,6 +113,10 @@ public bool Equals(InlineResponse20035 input) return false; return + ( + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) + ) && ( this.TotalResultSize == input.TotalResultSize || this.TotalResultSize.Equals(input.TotalResultSize) @@ -125,6 +138,7 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); diff --git a/src/TalonOne/Model/InlineResponse20036.cs b/src/TalonOne/Model/InlineResponse20036.cs index 40b88e0..ddce09c 100644 --- a/src/TalonOne/Model/InlineResponse20036.cs +++ b/src/TalonOne/Model/InlineResponse20036.cs @@ -41,7 +41,7 @@ protected InlineResponse20036() { } /// /// totalResultSize (required). /// data (required). - public InlineResponse20036(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20036(int totalResultSize = default(int), List data = default(List)) { this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20036() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20037.cs b/src/TalonOne/Model/InlineResponse20037.cs index 0af6bc7..f374bcc 100644 --- a/src/TalonOne/Model/InlineResponse20037.cs +++ b/src/TalonOne/Model/InlineResponse20037.cs @@ -41,7 +41,7 @@ protected InlineResponse20037() { } /// /// totalResultSize (required). /// data (required). - public InlineResponse20037(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20037(int totalResultSize = default(int), List data = default(List)) { this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20037() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20038.cs b/src/TalonOne/Model/InlineResponse20038.cs index 31f21da..ebc5fd3 100644 --- a/src/TalonOne/Model/InlineResponse20038.cs +++ b/src/TalonOne/Model/InlineResponse20038.cs @@ -41,7 +41,7 @@ protected InlineResponse20038() { } /// /// totalResultSize (required). /// data (required). - public InlineResponse20038(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20038(int totalResultSize = default(int), List data = default(List)) { this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20038() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20039.cs b/src/TalonOne/Model/InlineResponse20039.cs index 8e56e3b..32f39fb 100644 --- a/src/TalonOne/Model/InlineResponse20039.cs +++ b/src/TalonOne/Model/InlineResponse20039.cs @@ -39,15 +39,13 @@ protected InlineResponse20039() { } /// /// Initializes a new instance of the class. /// - /// totalResultSize. - /// hasMore. + /// totalResultSize (required). /// data (required). - public InlineResponse20039(int totalResultSize = default(int), bool hasMore = default(bool), List data = default(List)) + public InlineResponse20039(int totalResultSize = default(int), List data = default(List)) { + this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20039 and cannot be null"); - this.TotalResultSize = totalResultSize; - this.HasMore = hasMore; } /// @@ -56,17 +54,11 @@ protected InlineResponse20039() { } [DataMember(Name="totalResultSize", EmitDefaultValue=false)] public int TotalResultSize { get; set; } - /// - /// Gets or Sets HasMore - /// - [DataMember(Name="hasMore", EmitDefaultValue=false)] - public bool HasMore { get; set; } - /// /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -77,7 +69,6 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class InlineResponse20039 {\n"); sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); - sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -117,10 +108,6 @@ public bool Equals(InlineResponse20039 input) this.TotalResultSize == input.TotalResultSize || this.TotalResultSize.Equals(input.TotalResultSize) ) && - ( - this.HasMore == input.HasMore || - this.HasMore.Equals(input.HasMore) - ) && ( this.Data == input.Data || this.Data != null && @@ -139,7 +126,6 @@ public override int GetHashCode() { int hashCode = 41; hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); - hashCode = hashCode * 59 + this.HasMore.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse2004.cs b/src/TalonOne/Model/InlineResponse2004.cs index 9140c46..00acba5 100644 --- a/src/TalonOne/Model/InlineResponse2004.cs +++ b/src/TalonOne/Model/InlineResponse2004.cs @@ -39,26 +39,26 @@ protected InlineResponse2004() { } /// /// Initializes a new instance of the class. /// - /// totalResultSize (required). + /// hasMore (required). /// data (required). - public InlineResponse2004(int totalResultSize = default(int), List data = default(List)) + public InlineResponse2004(bool hasMore = default(bool), List data = default(List)) { - this.TotalResultSize = totalResultSize; + this.HasMore = hasMore; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse2004 and cannot be null"); } /// - /// Gets or Sets TotalResultSize + /// Gets or Sets HasMore /// - [DataMember(Name="totalResultSize", EmitDefaultValue=false)] - public int TotalResultSize { get; set; } + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } /// /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object @@ -68,7 +68,7 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class InlineResponse2004 {\n"); - sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -105,8 +105,8 @@ public bool Equals(InlineResponse2004 input) return ( - this.TotalResultSize == input.TotalResultSize || - this.TotalResultSize.Equals(input.TotalResultSize) + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) ) && ( this.Data == input.Data || @@ -125,7 +125,7 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; - hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse20040.cs b/src/TalonOne/Model/InlineResponse20040.cs index 1763831..6b6bbfd 100644 --- a/src/TalonOne/Model/InlineResponse20040.cs +++ b/src/TalonOne/Model/InlineResponse20040.cs @@ -41,7 +41,7 @@ protected InlineResponse20040() { } /// /// totalResultSize (required). /// data (required). - public InlineResponse20040(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20040(int totalResultSize = default(int), List data = default(List)) { this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20040() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20041.cs b/src/TalonOne/Model/InlineResponse20041.cs index 7014cbf..1fdcd39 100644 --- a/src/TalonOne/Model/InlineResponse20041.cs +++ b/src/TalonOne/Model/InlineResponse20041.cs @@ -41,7 +41,7 @@ protected InlineResponse20041() { } /// /// totalResultSize (required). /// data (required). - public InlineResponse20041(int totalResultSize = default(int), List data = default(List)) + public InlineResponse20041(int totalResultSize = default(int), List data = default(List)) { this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse20041() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse20042.cs b/src/TalonOne/Model/InlineResponse20042.cs new file mode 100644 index 0000000..e994611 --- /dev/null +++ b/src/TalonOne/Model/InlineResponse20042.cs @@ -0,0 +1,160 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// InlineResponse20042 + /// + [DataContract] + public partial class InlineResponse20042 : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected InlineResponse20042() { } + /// + /// Initializes a new instance of the class. + /// + /// totalResultSize. + /// hasMore. + /// data (required). + public InlineResponse20042(int totalResultSize = default(int), bool hasMore = default(bool), List data = default(List)) + { + // to ensure "data" is required (not null) + this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20042 and cannot be null"); + this.TotalResultSize = totalResultSize; + this.HasMore = hasMore; + } + + /// + /// Gets or Sets TotalResultSize + /// + [DataMember(Name="totalResultSize", EmitDefaultValue=false)] + public int TotalResultSize { get; set; } + + /// + /// Gets or Sets HasMore + /// + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } + + /// + /// Gets or Sets Data + /// + [DataMember(Name="data", EmitDefaultValue=false)] + public List Data { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class InlineResponse20042 {\n"); + sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); + sb.Append(" Data: ").Append(Data).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as InlineResponse20042); + } + + /// + /// Returns true if InlineResponse20042 instances are equal + /// + /// Instance of InlineResponse20042 to be compared + /// Boolean + public bool Equals(InlineResponse20042 input) + { + if (input == null) + return false; + + return + ( + this.TotalResultSize == input.TotalResultSize || + this.TotalResultSize.Equals(input.TotalResultSize) + ) && + ( + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) + ) && + ( + this.Data == input.Data || + this.Data != null && + input.Data != null && + this.Data.SequenceEqual(input.Data) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); + if (this.Data != null) + hashCode = hashCode * 59 + this.Data.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/InlineResponse20043.cs b/src/TalonOne/Model/InlineResponse20043.cs new file mode 100644 index 0000000..14adea1 --- /dev/null +++ b/src/TalonOne/Model/InlineResponse20043.cs @@ -0,0 +1,146 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// InlineResponse20043 + /// + [DataContract] + public partial class InlineResponse20043 : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected InlineResponse20043() { } + /// + /// Initializes a new instance of the class. + /// + /// totalResultSize (required). + /// data (required). + public InlineResponse20043(int totalResultSize = default(int), List data = default(List)) + { + this.TotalResultSize = totalResultSize; + // to ensure "data" is required (not null) + this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20043 and cannot be null"); + } + + /// + /// Gets or Sets TotalResultSize + /// + [DataMember(Name="totalResultSize", EmitDefaultValue=false)] + public int TotalResultSize { get; set; } + + /// + /// Gets or Sets Data + /// + [DataMember(Name="data", EmitDefaultValue=false)] + public List Data { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class InlineResponse20043 {\n"); + sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); + sb.Append(" Data: ").Append(Data).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as InlineResponse20043); + } + + /// + /// Returns true if InlineResponse20043 instances are equal + /// + /// Instance of InlineResponse20043 to be compared + /// Boolean + public bool Equals(InlineResponse20043 input) + { + if (input == null) + return false; + + return + ( + this.TotalResultSize == input.TotalResultSize || + this.TotalResultSize.Equals(input.TotalResultSize) + ) && + ( + this.Data == input.Data || + this.Data != null && + input.Data != null && + this.Data.SequenceEqual(input.Data) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); + if (this.Data != null) + hashCode = hashCode * 59 + this.Data.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/InlineResponse20044.cs b/src/TalonOne/Model/InlineResponse20044.cs new file mode 100644 index 0000000..9997a3b --- /dev/null +++ b/src/TalonOne/Model/InlineResponse20044.cs @@ -0,0 +1,146 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// InlineResponse20044 + /// + [DataContract] + public partial class InlineResponse20044 : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected InlineResponse20044() { } + /// + /// Initializes a new instance of the class. + /// + /// totalResultSize (required). + /// data (required). + public InlineResponse20044(int totalResultSize = default(int), List data = default(List)) + { + this.TotalResultSize = totalResultSize; + // to ensure "data" is required (not null) + this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20044 and cannot be null"); + } + + /// + /// Gets or Sets TotalResultSize + /// + [DataMember(Name="totalResultSize", EmitDefaultValue=false)] + public int TotalResultSize { get; set; } + + /// + /// Gets or Sets Data + /// + [DataMember(Name="data", EmitDefaultValue=false)] + public List Data { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class InlineResponse20044 {\n"); + sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); + sb.Append(" Data: ").Append(Data).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as InlineResponse20044); + } + + /// + /// Returns true if InlineResponse20044 instances are equal + /// + /// Instance of InlineResponse20044 to be compared + /// Boolean + public bool Equals(InlineResponse20044 input) + { + if (input == null) + return false; + + return + ( + this.TotalResultSize == input.TotalResultSize || + this.TotalResultSize.Equals(input.TotalResultSize) + ) && + ( + this.Data == input.Data || + this.Data != null && + input.Data != null && + this.Data.SequenceEqual(input.Data) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); + if (this.Data != null) + hashCode = hashCode * 59 + this.Data.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/InlineResponse20045.cs b/src/TalonOne/Model/InlineResponse20045.cs new file mode 100644 index 0000000..2473049 --- /dev/null +++ b/src/TalonOne/Model/InlineResponse20045.cs @@ -0,0 +1,160 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// InlineResponse20045 + /// + [DataContract] + public partial class InlineResponse20045 : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected InlineResponse20045() { } + /// + /// Initializes a new instance of the class. + /// + /// hasMore. + /// totalResultSize. + /// data (required). + public InlineResponse20045(bool hasMore = default(bool), int totalResultSize = default(int), List data = default(List)) + { + // to ensure "data" is required (not null) + this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20045 and cannot be null"); + this.HasMore = hasMore; + this.TotalResultSize = totalResultSize; + } + + /// + /// Gets or Sets HasMore + /// + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } + + /// + /// Gets or Sets TotalResultSize + /// + [DataMember(Name="totalResultSize", EmitDefaultValue=false)] + public int TotalResultSize { get; set; } + + /// + /// Gets or Sets Data + /// + [DataMember(Name="data", EmitDefaultValue=false)] + public List Data { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class InlineResponse20045 {\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); + sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); + sb.Append(" Data: ").Append(Data).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as InlineResponse20045); + } + + /// + /// Returns true if InlineResponse20045 instances are equal + /// + /// Instance of InlineResponse20045 to be compared + /// Boolean + public bool Equals(InlineResponse20045 input) + { + if (input == null) + return false; + + return + ( + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) + ) && + ( + this.TotalResultSize == input.TotalResultSize || + this.TotalResultSize.Equals(input.TotalResultSize) + ) && + ( + this.Data == input.Data || + this.Data != null && + input.Data != null && + this.Data.SequenceEqual(input.Data) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); + hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); + if (this.Data != null) + hashCode = hashCode * 59 + this.Data.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/InlineResponse20046.cs b/src/TalonOne/Model/InlineResponse20046.cs new file mode 100644 index 0000000..783f95b --- /dev/null +++ b/src/TalonOne/Model/InlineResponse20046.cs @@ -0,0 +1,146 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// InlineResponse20046 + /// + [DataContract] + public partial class InlineResponse20046 : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected InlineResponse20046() { } + /// + /// Initializes a new instance of the class. + /// + /// hasMore. + /// data (required). + public InlineResponse20046(bool hasMore = default(bool), List data = default(List)) + { + // to ensure "data" is required (not null) + this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20046 and cannot be null"); + this.HasMore = hasMore; + } + + /// + /// Gets or Sets HasMore + /// + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } + + /// + /// Gets or Sets Data + /// + [DataMember(Name="data", EmitDefaultValue=false)] + public List Data { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class InlineResponse20046 {\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); + sb.Append(" Data: ").Append(Data).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as InlineResponse20046); + } + + /// + /// Returns true if InlineResponse20046 instances are equal + /// + /// Instance of InlineResponse20046 to be compared + /// Boolean + public bool Equals(InlineResponse20046 input) + { + if (input == null) + return false; + + return + ( + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) + ) && + ( + this.Data == input.Data || + this.Data != null && + input.Data != null && + this.Data.SequenceEqual(input.Data) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); + if (this.Data != null) + hashCode = hashCode * 59 + this.Data.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/InlineResponse20047.cs b/src/TalonOne/Model/InlineResponse20047.cs new file mode 100644 index 0000000..462bd29 --- /dev/null +++ b/src/TalonOne/Model/InlineResponse20047.cs @@ -0,0 +1,146 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// InlineResponse20047 + /// + [DataContract] + public partial class InlineResponse20047 : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected InlineResponse20047() { } + /// + /// Initializes a new instance of the class. + /// + /// hasMore (required). + /// data (required). + public InlineResponse20047(bool hasMore = default(bool), List data = default(List)) + { + this.HasMore = hasMore; + // to ensure "data" is required (not null) + this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse20047 and cannot be null"); + } + + /// + /// Gets or Sets HasMore + /// + [DataMember(Name="hasMore", EmitDefaultValue=false)] + public bool HasMore { get; set; } + + /// + /// Gets or Sets Data + /// + [DataMember(Name="data", EmitDefaultValue=false)] + public List Data { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class InlineResponse20047 {\n"); + sb.Append(" HasMore: ").Append(HasMore).Append("\n"); + sb.Append(" Data: ").Append(Data).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as InlineResponse20047); + } + + /// + /// Returns true if InlineResponse20047 instances are equal + /// + /// Instance of InlineResponse20047 to be compared + /// Boolean + public bool Equals(InlineResponse20047 input) + { + if (input == null) + return false; + + return + ( + this.HasMore == input.HasMore || + this.HasMore.Equals(input.HasMore) + ) && + ( + this.Data == input.Data || + this.Data != null && + input.Data != null && + this.Data.SequenceEqual(input.Data) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.HasMore.GetHashCode(); + if (this.Data != null) + hashCode = hashCode * 59 + this.Data.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/InlineResponse2005.cs b/src/TalonOne/Model/InlineResponse2005.cs index 72d041b..09a3e11 100644 --- a/src/TalonOne/Model/InlineResponse2005.cs +++ b/src/TalonOne/Model/InlineResponse2005.cs @@ -41,7 +41,7 @@ protected InlineResponse2005() { } /// /// totalResultSize (required). /// data (required). - public InlineResponse2005(int totalResultSize = default(int), List data = default(List)) + public InlineResponse2005(int totalResultSize = default(int), List data = default(List)) { this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse2005() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse2006.cs b/src/TalonOne/Model/InlineResponse2006.cs index 1f1466c..88f5c3c 100644 --- a/src/TalonOne/Model/InlineResponse2006.cs +++ b/src/TalonOne/Model/InlineResponse2006.cs @@ -41,7 +41,7 @@ protected InlineResponse2006() { } /// /// totalResultSize (required). /// data (required). - public InlineResponse2006(int totalResultSize = default(int), List data = default(List)) + public InlineResponse2006(int totalResultSize = default(int), List data = default(List)) { this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse2006() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse2007.cs b/src/TalonOne/Model/InlineResponse2007.cs index 19a6cd9..439ff3c 100644 --- a/src/TalonOne/Model/InlineResponse2007.cs +++ b/src/TalonOne/Model/InlineResponse2007.cs @@ -41,7 +41,7 @@ protected InlineResponse2007() { } /// /// totalResultSize (required). /// data (required). - public InlineResponse2007(int totalResultSize = default(int), List data = default(List)) + public InlineResponse2007(int totalResultSize = default(int), List data = default(List)) { this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse2007() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/InlineResponse2008.cs b/src/TalonOne/Model/InlineResponse2008.cs index c376607..4ac0c66 100644 --- a/src/TalonOne/Model/InlineResponse2008.cs +++ b/src/TalonOne/Model/InlineResponse2008.cs @@ -39,20 +39,20 @@ protected InlineResponse2008() { } /// /// Initializes a new instance of the class. /// - /// hasMore (required). + /// totalResultSize (required). /// data (required). - public InlineResponse2008(bool hasMore = default(bool), List data = default(List)) + public InlineResponse2008(int totalResultSize = default(int), List data = default(List)) { - this.HasMore = hasMore; + this.TotalResultSize = totalResultSize; // to ensure "data" is required (not null) this.Data = data ?? throw new ArgumentNullException("data is a required property for InlineResponse2008 and cannot be null"); } /// - /// Gets or Sets HasMore + /// Gets or Sets TotalResultSize /// - [DataMember(Name="hasMore", EmitDefaultValue=false)] - public bool HasMore { get; set; } + [DataMember(Name="totalResultSize", EmitDefaultValue=false)] + public int TotalResultSize { get; set; } /// /// Gets or Sets Data @@ -68,7 +68,7 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class InlineResponse2008 {\n"); - sb.Append(" HasMore: ").Append(HasMore).Append("\n"); + sb.Append(" TotalResultSize: ").Append(TotalResultSize).Append("\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -105,8 +105,8 @@ public bool Equals(InlineResponse2008 input) return ( - this.HasMore == input.HasMore || - this.HasMore.Equals(input.HasMore) + this.TotalResultSize == input.TotalResultSize || + this.TotalResultSize.Equals(input.TotalResultSize) ) && ( this.Data == input.Data || @@ -125,7 +125,7 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; - hashCode = hashCode * 59 + this.HasMore.GetHashCode(); + hashCode = hashCode * 59 + this.TotalResultSize.GetHashCode(); if (this.Data != null) hashCode = hashCode * 59 + this.Data.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/InlineResponse2009.cs b/src/TalonOne/Model/InlineResponse2009.cs index 2007a70..64099ac 100644 --- a/src/TalonOne/Model/InlineResponse2009.cs +++ b/src/TalonOne/Model/InlineResponse2009.cs @@ -41,7 +41,7 @@ protected InlineResponse2009() { } /// /// hasMore (required). /// data (required). - public InlineResponse2009(bool hasMore = default(bool), List data = default(List)) + public InlineResponse2009(bool hasMore = default(bool), List data = default(List)) { this.HasMore = hasMore; // to ensure "data" is required (not null) @@ -58,7 +58,7 @@ protected InlineResponse2009() { } /// Gets or Sets Data /// [DataMember(Name="data", EmitDefaultValue=false)] - public List Data { get; set; } + public List Data { get; set; } /// /// Returns the string presentation of the object diff --git a/src/TalonOne/Model/IntegrationCoupon.cs b/src/TalonOne/Model/IntegrationCoupon.cs index 4dea0fd..b3d791a 100644 --- a/src/TalonOne/Model/IntegrationCoupon.cs +++ b/src/TalonOne/Model/IntegrationCoupon.cs @@ -57,11 +57,12 @@ protected IntegrationCoupon() { } /// The integration ID of the referring customer (if any) for whom this coupon was created as an effect.. /// The Integration ID of the customer that is allowed to redeem this coupon.. /// The ID of the Import which created this coupon.. - /// Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. (default to true). + /// Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. (default to true). /// The id of the batch the coupon belongs to.. - /// Whether the reservation effect actually created a new reservation. (default to true). + /// An indication of whether the code can be redeemed only if it has been reserved first. (default to false). + /// An indication of whether the coupon is implicitly reserved for all customers.. /// The number of times the coupon was redeemed by the profile. (required). - public IntegrationCoupon(int id = default(int), DateTime created = default(DateTime), int campaignId = default(int), string value = default(string), int usageLimit = default(int), decimal discountLimit = default(decimal), int reservationLimit = default(int), DateTime startDate = default(DateTime), DateTime expiryDate = default(DateTime), List limits = default(List), int usageCounter = default(int), decimal discountCounter = default(decimal), decimal discountRemainder = default(decimal), decimal reservationCounter = default(decimal), Object attributes = default(Object), int referralId = default(int), string recipientIntegrationId = default(string), int importId = default(int), bool reservation = true, string batchId = default(string), bool isReservationMandatory = true, int profileRedemptionCount = default(int)) + public IntegrationCoupon(int id = default(int), DateTime created = default(DateTime), int campaignId = default(int), string value = default(string), int usageLimit = default(int), decimal discountLimit = default(decimal), int reservationLimit = default(int), DateTime startDate = default(DateTime), DateTime expiryDate = default(DateTime), List limits = default(List), int usageCounter = default(int), decimal discountCounter = default(decimal), decimal discountRemainder = default(decimal), decimal reservationCounter = default(decimal), Object attributes = default(Object), int referralId = default(int), string recipientIntegrationId = default(string), int importId = default(int), bool reservation = true, string batchId = default(string), bool isReservationMandatory = false, bool implicitlyReserved = default(bool), int profileRedemptionCount = default(int)) { this.Id = id; this.Created = created; @@ -86,6 +87,7 @@ protected IntegrationCoupon() { } this.Reservation = reservation; this.BatchId = batchId; this.IsReservationMandatory = isReservationMandatory; + this.ImplicitlyReserved = implicitlyReserved; } /// @@ -215,9 +217,9 @@ protected IntegrationCoupon() { } public int ImportId { get; set; } /// - /// Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. + /// Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. /// - /// Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. + /// Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. [DataMember(Name="reservation", EmitDefaultValue=false)] public bool Reservation { get; set; } @@ -229,12 +231,19 @@ protected IntegrationCoupon() { } public string BatchId { get; set; } /// - /// Whether the reservation effect actually created a new reservation. + /// An indication of whether the code can be redeemed only if it has been reserved first. /// - /// Whether the reservation effect actually created a new reservation. + /// An indication of whether the code can be redeemed only if it has been reserved first. [DataMember(Name="isReservationMandatory", EmitDefaultValue=false)] public bool IsReservationMandatory { get; set; } + /// + /// An indication of whether the coupon is implicitly reserved for all customers. + /// + /// An indication of whether the coupon is implicitly reserved for all customers. + [DataMember(Name="implicitlyReserved", EmitDefaultValue=false)] + public bool ImplicitlyReserved { get; set; } + /// /// The number of times the coupon was redeemed by the profile. /// @@ -271,6 +280,7 @@ public override string ToString() sb.Append(" Reservation: ").Append(Reservation).Append("\n"); sb.Append(" BatchId: ").Append(BatchId).Append("\n"); sb.Append(" IsReservationMandatory: ").Append(IsReservationMandatory).Append("\n"); + sb.Append(" ImplicitlyReserved: ").Append(ImplicitlyReserved).Append("\n"); sb.Append(" ProfileRedemptionCount: ").Append(ProfileRedemptionCount).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -399,6 +409,10 @@ public bool Equals(IntegrationCoupon input) this.IsReservationMandatory == input.IsReservationMandatory || this.IsReservationMandatory.Equals(input.IsReservationMandatory) ) && + ( + this.ImplicitlyReserved == input.ImplicitlyReserved || + this.ImplicitlyReserved.Equals(input.ImplicitlyReserved) + ) && ( this.ProfileRedemptionCount == input.ProfileRedemptionCount || this.ProfileRedemptionCount.Equals(input.ProfileRedemptionCount) @@ -443,6 +457,7 @@ public override int GetHashCode() if (this.BatchId != null) hashCode = hashCode * 59 + this.BatchId.GetHashCode(); hashCode = hashCode * 59 + this.IsReservationMandatory.GetHashCode(); + hashCode = hashCode * 59 + this.ImplicitlyReserved.GetHashCode(); hashCode = hashCode * 59 + this.ProfileRedemptionCount.GetHashCode(); return hashCode; } diff --git a/src/TalonOne/Model/IntegrationEvent.cs b/src/TalonOne/Model/IntegrationEvent.cs index b427477..9c76355 100644 --- a/src/TalonOne/Model/IntegrationEvent.cs +++ b/src/TalonOne/Model/IntegrationEvent.cs @@ -40,15 +40,17 @@ protected IntegrationEvent() { } /// Initializes a new instance of the class. /// /// ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. . + /// The integration ID of the store. You choose this ID when you create a store.. /// A string representing the event. Must not be a reserved event name. (required). /// Arbitrary additional JSON data associated with the event. (required). - public IntegrationEvent(string profileId = default(string), string type = default(string), Object attributes = default(Object)) + public IntegrationEvent(string profileId = default(string), string storeIntegrationId = default(string), string type = default(string), Object attributes = default(Object)) { // to ensure "type" is required (not null) this.Type = type ?? throw new ArgumentNullException("type is a required property for IntegrationEvent and cannot be null"); // to ensure "attributes" is required (not null) this.Attributes = attributes ?? throw new ArgumentNullException("attributes is a required property for IntegrationEvent and cannot be null"); this.ProfileId = profileId; + this.StoreIntegrationId = storeIntegrationId; } /// @@ -58,6 +60,13 @@ protected IntegrationEvent() { } [DataMember(Name="profileId", EmitDefaultValue=false)] public string ProfileId { get; set; } + /// + /// The integration ID of the store. You choose this ID when you create a store. + /// + /// The integration ID of the store. You choose this ID when you create a store. + [DataMember(Name="storeIntegrationId", EmitDefaultValue=false)] + public string StoreIntegrationId { get; set; } + /// /// A string representing the event. Must not be a reserved event name. /// @@ -81,6 +90,7 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class IntegrationEvent {\n"); sb.Append(" ProfileId: ").Append(ProfileId).Append("\n"); + sb.Append(" StoreIntegrationId: ").Append(StoreIntegrationId).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append(" Attributes: ").Append(Attributes).Append("\n"); sb.Append("}\n"); @@ -122,6 +132,11 @@ public bool Equals(IntegrationEvent input) (this.ProfileId != null && this.ProfileId.Equals(input.ProfileId)) ) && + ( + this.StoreIntegrationId == input.StoreIntegrationId || + (this.StoreIntegrationId != null && + this.StoreIntegrationId.Equals(input.StoreIntegrationId)) + ) && ( this.Type == input.Type || (this.Type != null && @@ -145,6 +160,8 @@ public override int GetHashCode() int hashCode = 41; if (this.ProfileId != null) hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); + if (this.StoreIntegrationId != null) + hashCode = hashCode * 59 + this.StoreIntegrationId.GetHashCode(); if (this.Type != null) hashCode = hashCode * 59 + this.Type.GetHashCode(); if (this.Attributes != null) @@ -160,6 +177,18 @@ public override int GetHashCode() /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { + // StoreIntegrationId (string) maxLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be less than 1000.", new [] { "StoreIntegrationId" }); + } + + // StoreIntegrationId (string) minLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be greater than 1.", new [] { "StoreIntegrationId" }); + } + // Type (string) minLength if(this.Type != null && this.Type.Length < 1) { diff --git a/src/TalonOne/Model/IntegrationEventV2Request.cs b/src/TalonOne/Model/IntegrationEventV2Request.cs index 66ff896..a906c94 100644 --- a/src/TalonOne/Model/IntegrationEventV2Request.cs +++ b/src/TalonOne/Model/IntegrationEventV2Request.cs @@ -91,15 +91,17 @@ protected IntegrationEventV2Request() { } /// Initializes a new instance of the class. /// /// ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. . + /// The integration ID of the store. You choose this ID when you create a store.. /// When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. . - /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event) of type `event` in the Campaign Manager. (required). - /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-custom-attributes).. + /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. (required). + /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute).. /// Optional list of requested information to be present on the response related to the tracking custom event. . - public IntegrationEventV2Request(string profileId = default(string), List evaluableCampaignIds = default(List), string type = default(string), Object attributes = default(Object), List responseContent = default(List)) + public IntegrationEventV2Request(string profileId = default(string), string storeIntegrationId = default(string), List evaluableCampaignIds = default(List), string type = default(string), Object attributes = default(Object), List responseContent = default(List)) { // to ensure "type" is required (not null) this.Type = type ?? throw new ArgumentNullException("type is a required property for IntegrationEventV2Request and cannot be null"); this.ProfileId = profileId; + this.StoreIntegrationId = storeIntegrationId; this.EvaluableCampaignIds = evaluableCampaignIds; this.Attributes = attributes; this.ResponseContent = responseContent; @@ -112,6 +114,13 @@ protected IntegrationEventV2Request() { } [DataMember(Name="profileId", EmitDefaultValue=false)] public string ProfileId { get; set; } + /// + /// The integration ID of the store. You choose this ID when you create a store. + /// + /// The integration ID of the store. You choose this ID when you create a store. + [DataMember(Name="storeIntegrationId", EmitDefaultValue=false)] + public string StoreIntegrationId { get; set; } + /// /// When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. /// @@ -120,16 +129,16 @@ protected IntegrationEventV2Request() { } public List EvaluableCampaignIds { get; set; } /// - /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event) of type `event` in the Campaign Manager. + /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. /// - /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event) of type `event` in the Campaign Manager. + /// A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. [DataMember(Name="type", EmitDefaultValue=false)] public string Type { get; set; } /// - /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-custom-attributes). + /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute). /// - /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-custom-attributes). + /// Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute). [DataMember(Name="attributes", EmitDefaultValue=false)] public Object Attributes { get; set; } @@ -142,6 +151,7 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class IntegrationEventV2Request {\n"); sb.Append(" ProfileId: ").Append(ProfileId).Append("\n"); + sb.Append(" StoreIntegrationId: ").Append(StoreIntegrationId).Append("\n"); sb.Append(" EvaluableCampaignIds: ").Append(EvaluableCampaignIds).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append(" Attributes: ").Append(Attributes).Append("\n"); @@ -185,6 +195,11 @@ public bool Equals(IntegrationEventV2Request input) (this.ProfileId != null && this.ProfileId.Equals(input.ProfileId)) ) && + ( + this.StoreIntegrationId == input.StoreIntegrationId || + (this.StoreIntegrationId != null && + this.StoreIntegrationId.Equals(input.StoreIntegrationId)) + ) && ( this.EvaluableCampaignIds == input.EvaluableCampaignIds || this.EvaluableCampaignIds != null && @@ -218,6 +233,8 @@ public override int GetHashCode() int hashCode = 41; if (this.ProfileId != null) hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); + if (this.StoreIntegrationId != null) + hashCode = hashCode * 59 + this.StoreIntegrationId.GetHashCode(); if (this.EvaluableCampaignIds != null) hashCode = hashCode * 59 + this.EvaluableCampaignIds.GetHashCode(); if (this.Type != null) @@ -236,6 +253,18 @@ public override int GetHashCode() /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { + // StoreIntegrationId (string) maxLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be less than 1000.", new [] { "StoreIntegrationId" }); + } + + // StoreIntegrationId (string) minLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be greater than 1.", new [] { "StoreIntegrationId" }); + } + // Type (string) minLength if(this.Type != null && this.Type.Length < 1) { diff --git a/src/TalonOne/Model/IntegrationStoreEntity.cs b/src/TalonOne/Model/IntegrationStoreEntity.cs new file mode 100644 index 0000000..b9fd46f --- /dev/null +++ b/src/TalonOne/Model/IntegrationStoreEntity.cs @@ -0,0 +1,138 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// IntegrationStoreEntity + /// + [DataContract] + public partial class IntegrationStoreEntity : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The integration ID of the store. You choose this ID when you create a store.. + public IntegrationStoreEntity(string storeIntegrationId = default(string)) + { + this.StoreIntegrationId = storeIntegrationId; + } + + /// + /// The integration ID of the store. You choose this ID when you create a store. + /// + /// The integration ID of the store. You choose this ID when you create a store. + [DataMember(Name="storeIntegrationId", EmitDefaultValue=false)] + public string StoreIntegrationId { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class IntegrationStoreEntity {\n"); + sb.Append(" StoreIntegrationId: ").Append(StoreIntegrationId).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as IntegrationStoreEntity); + } + + /// + /// Returns true if IntegrationStoreEntity instances are equal + /// + /// Instance of IntegrationStoreEntity to be compared + /// Boolean + public bool Equals(IntegrationStoreEntity input) + { + if (input == null) + return false; + + return + ( + this.StoreIntegrationId == input.StoreIntegrationId || + (this.StoreIntegrationId != null && + this.StoreIntegrationId.Equals(input.StoreIntegrationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.StoreIntegrationId != null) + hashCode = hashCode * 59 + this.StoreIntegrationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // StoreIntegrationId (string) maxLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be less than 1000.", new [] { "StoreIntegrationId" }); + } + + // StoreIntegrationId (string) minLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be greater than 1.", new [] { "StoreIntegrationId" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/InventoryCoupon.cs b/src/TalonOne/Model/InventoryCoupon.cs index d499ff7..9520e27 100644 --- a/src/TalonOne/Model/InventoryCoupon.cs +++ b/src/TalonOne/Model/InventoryCoupon.cs @@ -57,12 +57,13 @@ protected InventoryCoupon() { } /// The integration ID of the referring customer (if any) for whom this coupon was created as an effect.. /// The Integration ID of the customer that is allowed to redeem this coupon.. /// The ID of the Import which created this coupon.. - /// Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. (default to true). + /// Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. (default to true). /// The id of the batch the coupon belongs to.. - /// Whether the reservation effect actually created a new reservation. (default to true). + /// An indication of whether the code can be redeemed only if it has been reserved first. (default to false). + /// An indication of whether the coupon is implicitly reserved for all customers.. /// The number of times the coupon was redeemed by the profile. (required). - /// Can be: - `active`: The coupon can be used. It is a reserved coupon that is neither pending, used nor expired, and has a non-exhausted limit counter. - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration. - `expired`: The coupon was never redeemed and it is now expired. It is non-pending, non-active and non-used by the profile. - `pending`: The coupon will be usable in the future. - `disabled`: The coupon is part of a non-active campaign. (required). - public InventoryCoupon(int id = default(int), DateTime created = default(DateTime), int campaignId = default(int), string value = default(string), int usageLimit = default(int), decimal discountLimit = default(decimal), int reservationLimit = default(int), DateTime startDate = default(DateTime), DateTime expiryDate = default(DateTime), List limits = default(List), int usageCounter = default(int), decimal discountCounter = default(decimal), decimal discountRemainder = default(decimal), decimal reservationCounter = default(decimal), Object attributes = default(Object), int referralId = default(int), string recipientIntegrationId = default(string), int importId = default(int), bool reservation = true, string batchId = default(string), bool isReservationMandatory = true, int profileRedemptionCount = default(int), string state = default(string)) + /// Can be: - `active`: The coupon can be used. It is a reserved coupon that is not pending, used, or expired, and it has a non-exhausted limit counter. **Note:** This coupon state is returned for [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule), but the coupon cannot be used until the campaign is **running**. - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration. - `expired`: The coupon was never redeemed, and it is now expired. It is non-pending, non-active, and non-used by the profile. - `pending`: The coupon will be usable in the future. - `disabled`: The coupon is part of a non-active campaign. (required). + public InventoryCoupon(int id = default(int), DateTime created = default(DateTime), int campaignId = default(int), string value = default(string), int usageLimit = default(int), decimal discountLimit = default(decimal), int reservationLimit = default(int), DateTime startDate = default(DateTime), DateTime expiryDate = default(DateTime), List limits = default(List), int usageCounter = default(int), decimal discountCounter = default(decimal), decimal discountRemainder = default(decimal), decimal reservationCounter = default(decimal), Object attributes = default(Object), int referralId = default(int), string recipientIntegrationId = default(string), int importId = default(int), bool reservation = true, string batchId = default(string), bool isReservationMandatory = false, bool implicitlyReserved = default(bool), int profileRedemptionCount = default(int), string state = default(string)) { this.Id = id; this.Created = created; @@ -89,6 +90,7 @@ protected InventoryCoupon() { } this.Reservation = reservation; this.BatchId = batchId; this.IsReservationMandatory = isReservationMandatory; + this.ImplicitlyReserved = implicitlyReserved; } /// @@ -218,9 +220,9 @@ protected InventoryCoupon() { } public int ImportId { get; set; } /// - /// Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. + /// Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. /// - /// Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint. + /// Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. [DataMember(Name="reservation", EmitDefaultValue=false)] public bool Reservation { get; set; } @@ -232,12 +234,19 @@ protected InventoryCoupon() { } public string BatchId { get; set; } /// - /// Whether the reservation effect actually created a new reservation. + /// An indication of whether the code can be redeemed only if it has been reserved first. /// - /// Whether the reservation effect actually created a new reservation. + /// An indication of whether the code can be redeemed only if it has been reserved first. [DataMember(Name="isReservationMandatory", EmitDefaultValue=false)] public bool IsReservationMandatory { get; set; } + /// + /// An indication of whether the coupon is implicitly reserved for all customers. + /// + /// An indication of whether the coupon is implicitly reserved for all customers. + [DataMember(Name="implicitlyReserved", EmitDefaultValue=false)] + public bool ImplicitlyReserved { get; set; } + /// /// The number of times the coupon was redeemed by the profile. /// @@ -246,9 +255,9 @@ protected InventoryCoupon() { } public int ProfileRedemptionCount { get; set; } /// - /// Can be: - `active`: The coupon can be used. It is a reserved coupon that is neither pending, used nor expired, and has a non-exhausted limit counter. - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration. - `expired`: The coupon was never redeemed and it is now expired. It is non-pending, non-active and non-used by the profile. - `pending`: The coupon will be usable in the future. - `disabled`: The coupon is part of a non-active campaign. + /// Can be: - `active`: The coupon can be used. It is a reserved coupon that is not pending, used, or expired, and it has a non-exhausted limit counter. **Note:** This coupon state is returned for [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule), but the coupon cannot be used until the campaign is **running**. - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration. - `expired`: The coupon was never redeemed, and it is now expired. It is non-pending, non-active, and non-used by the profile. - `pending`: The coupon will be usable in the future. - `disabled`: The coupon is part of a non-active campaign. /// - /// Can be: - `active`: The coupon can be used. It is a reserved coupon that is neither pending, used nor expired, and has a non-exhausted limit counter. - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration. - `expired`: The coupon was never redeemed and it is now expired. It is non-pending, non-active and non-used by the profile. - `pending`: The coupon will be usable in the future. - `disabled`: The coupon is part of a non-active campaign. + /// Can be: - `active`: The coupon can be used. It is a reserved coupon that is not pending, used, or expired, and it has a non-exhausted limit counter. **Note:** This coupon state is returned for [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule), but the coupon cannot be used until the campaign is **running**. - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration. - `expired`: The coupon was never redeemed, and it is now expired. It is non-pending, non-active, and non-used by the profile. - `pending`: The coupon will be usable in the future. - `disabled`: The coupon is part of a non-active campaign. [DataMember(Name="state", EmitDefaultValue=false)] public string State { get; set; } @@ -281,6 +290,7 @@ public override string ToString() sb.Append(" Reservation: ").Append(Reservation).Append("\n"); sb.Append(" BatchId: ").Append(BatchId).Append("\n"); sb.Append(" IsReservationMandatory: ").Append(IsReservationMandatory).Append("\n"); + sb.Append(" ImplicitlyReserved: ").Append(ImplicitlyReserved).Append("\n"); sb.Append(" ProfileRedemptionCount: ").Append(ProfileRedemptionCount).Append("\n"); sb.Append(" State: ").Append(State).Append("\n"); sb.Append("}\n"); @@ -410,6 +420,10 @@ public bool Equals(InventoryCoupon input) this.IsReservationMandatory == input.IsReservationMandatory || this.IsReservationMandatory.Equals(input.IsReservationMandatory) ) && + ( + this.ImplicitlyReserved == input.ImplicitlyReserved || + this.ImplicitlyReserved.Equals(input.ImplicitlyReserved) + ) && ( this.ProfileRedemptionCount == input.ProfileRedemptionCount || this.ProfileRedemptionCount.Equals(input.ProfileRedemptionCount) @@ -459,6 +473,7 @@ public override int GetHashCode() if (this.BatchId != null) hashCode = hashCode * 59 + this.BatchId.GetHashCode(); hashCode = hashCode * 59 + this.IsReservationMandatory.GetHashCode(); + hashCode = hashCode * 59 + this.ImplicitlyReserved.GetHashCode(); hashCode = hashCode * 59 + this.ProfileRedemptionCount.GetHashCode(); if (this.State != null) hashCode = hashCode * 59 + this.State.GetHashCode(); diff --git a/src/TalonOne/Model/LedgerPointsEntryIntegrationAPI.cs b/src/TalonOne/Model/LedgerPointsEntryIntegrationAPI.cs new file mode 100644 index 0000000..58ac7d3 --- /dev/null +++ b/src/TalonOne/Model/LedgerPointsEntryIntegrationAPI.cs @@ -0,0 +1,289 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// Loyalty profile points with start and expiry dates. + /// + [DataContract] + public partial class LedgerPointsEntryIntegrationAPI : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected LedgerPointsEntryIntegrationAPI() { } + /// + /// Initializes a new instance of the class. + /// + /// ID of the transaction that adds loyalty points. (required). + /// Date and time the loyalty points were added. (required). + /// ID of the loyalty program. (required). + /// ID of the customer session where points were added.. + /// Name or reason of the transaction that adds loyalty points. (required). + /// When points become active. Possible values: - `immediate`: Points are active immediately. - `timestamp value`: Points become active at a given date and time. (required). + /// Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date and time. (required). + /// ID of the subledger. (required). + /// Amount of loyalty points added in the transaction. (required). + public LedgerPointsEntryIntegrationAPI(int id = default(int), DateTime created = default(DateTime), int programId = default(int), string customerSessionId = default(string), string name = default(string), string startDate = default(string), string expiryDate = default(string), string subledgerId = default(string), decimal amount = default(decimal)) + { + this.Id = id; + this.Created = created; + this.ProgramId = programId; + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for LedgerPointsEntryIntegrationAPI and cannot be null"); + // to ensure "startDate" is required (not null) + this.StartDate = startDate ?? throw new ArgumentNullException("startDate is a required property for LedgerPointsEntryIntegrationAPI and cannot be null"); + // to ensure "expiryDate" is required (not null) + this.ExpiryDate = expiryDate ?? throw new ArgumentNullException("expiryDate is a required property for LedgerPointsEntryIntegrationAPI and cannot be null"); + // to ensure "subledgerId" is required (not null) + this.SubledgerId = subledgerId ?? throw new ArgumentNullException("subledgerId is a required property for LedgerPointsEntryIntegrationAPI and cannot be null"); + this.Amount = amount; + this.CustomerSessionId = customerSessionId; + } + + /// + /// ID of the transaction that adds loyalty points. + /// + /// ID of the transaction that adds loyalty points. + [DataMember(Name="id", EmitDefaultValue=false)] + public int Id { get; set; } + + /// + /// Date and time the loyalty points were added. + /// + /// Date and time the loyalty points were added. + [DataMember(Name="created", EmitDefaultValue=false)] + public DateTime Created { get; set; } + + /// + /// ID of the loyalty program. + /// + /// ID of the loyalty program. + [DataMember(Name="programId", EmitDefaultValue=false)] + public int ProgramId { get; set; } + + /// + /// ID of the customer session where points were added. + /// + /// ID of the customer session where points were added. + [DataMember(Name="customerSessionId", EmitDefaultValue=false)] + public string CustomerSessionId { get; set; } + + /// + /// Name or reason of the transaction that adds loyalty points. + /// + /// Name or reason of the transaction that adds loyalty points. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// When points become active. Possible values: - `immediate`: Points are active immediately. - `timestamp value`: Points become active at a given date and time. + /// + /// When points become active. Possible values: - `immediate`: Points are active immediately. - `timestamp value`: Points become active at a given date and time. + [DataMember(Name="startDate", EmitDefaultValue=false)] + public string StartDate { get; set; } + + /// + /// Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date and time. + /// + /// Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date and time. + [DataMember(Name="expiryDate", EmitDefaultValue=false)] + public string ExpiryDate { get; set; } + + /// + /// ID of the subledger. + /// + /// ID of the subledger. + [DataMember(Name="subledgerId", EmitDefaultValue=false)] + public string SubledgerId { get; set; } + + /// + /// Amount of loyalty points added in the transaction. + /// + /// Amount of loyalty points added in the transaction. + [DataMember(Name="amount", EmitDefaultValue=false)] + public decimal Amount { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class LedgerPointsEntryIntegrationAPI {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Created: ").Append(Created).Append("\n"); + sb.Append(" ProgramId: ").Append(ProgramId).Append("\n"); + sb.Append(" CustomerSessionId: ").Append(CustomerSessionId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" StartDate: ").Append(StartDate).Append("\n"); + sb.Append(" ExpiryDate: ").Append(ExpiryDate).Append("\n"); + sb.Append(" SubledgerId: ").Append(SubledgerId).Append("\n"); + sb.Append(" Amount: ").Append(Amount).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as LedgerPointsEntryIntegrationAPI); + } + + /// + /// Returns true if LedgerPointsEntryIntegrationAPI instances are equal + /// + /// Instance of LedgerPointsEntryIntegrationAPI to be compared + /// Boolean + public bool Equals(LedgerPointsEntryIntegrationAPI input) + { + if (input == null) + return false; + + return + ( + this.Id == input.Id || + this.Id.Equals(input.Id) + ) && + ( + this.Created == input.Created || + (this.Created != null && + this.Created.Equals(input.Created)) + ) && + ( + this.ProgramId == input.ProgramId || + this.ProgramId.Equals(input.ProgramId) + ) && + ( + this.CustomerSessionId == input.CustomerSessionId || + (this.CustomerSessionId != null && + this.CustomerSessionId.Equals(input.CustomerSessionId)) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.StartDate == input.StartDate || + (this.StartDate != null && + this.StartDate.Equals(input.StartDate)) + ) && + ( + this.ExpiryDate == input.ExpiryDate || + (this.ExpiryDate != null && + this.ExpiryDate.Equals(input.ExpiryDate)) + ) && + ( + this.SubledgerId == input.SubledgerId || + (this.SubledgerId != null && + this.SubledgerId.Equals(input.SubledgerId)) + ) && + ( + this.Amount == input.Amount || + this.Amount.Equals(input.Amount) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Id.GetHashCode(); + if (this.Created != null) + hashCode = hashCode * 59 + this.Created.GetHashCode(); + hashCode = hashCode * 59 + this.ProgramId.GetHashCode(); + if (this.CustomerSessionId != null) + hashCode = hashCode * 59 + this.CustomerSessionId.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.StartDate != null) + hashCode = hashCode * 59 + this.StartDate.GetHashCode(); + if (this.ExpiryDate != null) + hashCode = hashCode * 59 + this.ExpiryDate.GetHashCode(); + if (this.SubledgerId != null) + hashCode = hashCode * 59 + this.SubledgerId.GetHashCode(); + hashCode = hashCode * 59 + this.Amount.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // CustomerSessionId (string) maxLength + if(this.CustomerSessionId != null && this.CustomerSessionId.Length > 255) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CustomerSessionId, length must be less than 255.", new [] { "CustomerSessionId" }); + } + + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 255) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 255.", new [] { "Name" }); + } + + // StartDate (string) maxLength + if(this.StartDate != null && this.StartDate.Length > 64) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StartDate, length must be less than 64.", new [] { "StartDate" }); + } + + // SubledgerId (string) maxLength + if(this.SubledgerId != null && this.SubledgerId.Length > 64) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for SubledgerId, length must be less than 64.", new [] { "SubledgerId" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/LoginParams.cs b/src/TalonOne/Model/LoginParams.cs index 1d9c5d7..5e27214 100644 --- a/src/TalonOne/Model/LoginParams.cs +++ b/src/TalonOne/Model/LoginParams.cs @@ -39,7 +39,7 @@ protected LoginParams() { } /// /// Initializes a new instance of the class. /// - /// The email address associated with your account. (required). + /// The email address associated with the user profile. (required). /// The password for your account. (required). public LoginParams(string email = default(string), string password = default(string)) { @@ -50,9 +50,9 @@ protected LoginParams() { } } /// - /// The email address associated with your account. + /// The email address associated with the user profile. /// - /// The email address associated with your account. + /// The email address associated with the user profile. [DataMember(Name="email", EmitDefaultValue=false)] public string Email { get; set; } diff --git a/src/TalonOne/Model/LoyaltyCardBalances.cs b/src/TalonOne/Model/LoyaltyCardBalances.cs new file mode 100644 index 0000000..b857897 --- /dev/null +++ b/src/TalonOne/Model/LoyaltyCardBalances.cs @@ -0,0 +1,161 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// LoyaltyCardBalances + /// + [DataContract] + public partial class LoyaltyCardBalances : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// balance. + /// Map of the loyalty balances of the subledgers of a ledger.. + /// Customer profiles linked to the loyalty card.. + public LoyaltyCardBalances(LoyaltyBalance balance = default(LoyaltyBalance), Dictionary subledgerBalances = default(Dictionary), List profiles = default(List)) + { + this.Balance = balance; + this.SubledgerBalances = subledgerBalances; + this.Profiles = profiles; + } + + /// + /// Gets or Sets Balance + /// + [DataMember(Name="balance", EmitDefaultValue=false)] + public LoyaltyBalance Balance { get; set; } + + /// + /// Map of the loyalty balances of the subledgers of a ledger. + /// + /// Map of the loyalty balances of the subledgers of a ledger. + [DataMember(Name="subledgerBalances", EmitDefaultValue=false)] + public Dictionary SubledgerBalances { get; set; } + + /// + /// Customer profiles linked to the loyalty card. + /// + /// Customer profiles linked to the loyalty card. + [DataMember(Name="profiles", EmitDefaultValue=false)] + public List Profiles { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class LoyaltyCardBalances {\n"); + sb.Append(" Balance: ").Append(Balance).Append("\n"); + sb.Append(" SubledgerBalances: ").Append(SubledgerBalances).Append("\n"); + sb.Append(" Profiles: ").Append(Profiles).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as LoyaltyCardBalances); + } + + /// + /// Returns true if LoyaltyCardBalances instances are equal + /// + /// Instance of LoyaltyCardBalances to be compared + /// Boolean + public bool Equals(LoyaltyCardBalances input) + { + if (input == null) + return false; + + return + ( + this.Balance == input.Balance || + (this.Balance != null && + this.Balance.Equals(input.Balance)) + ) && + ( + this.SubledgerBalances == input.SubledgerBalances || + this.SubledgerBalances != null && + input.SubledgerBalances != null && + this.SubledgerBalances.SequenceEqual(input.SubledgerBalances) + ) && + ( + this.Profiles == input.Profiles || + this.Profiles != null && + input.Profiles != null && + this.Profiles.SequenceEqual(input.Profiles) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Balance != null) + hashCode = hashCode * 59 + this.Balance.GetHashCode(); + if (this.SubledgerBalances != null) + hashCode = hashCode * 59 + this.SubledgerBalances.GetHashCode(); + if (this.Profiles != null) + hashCode = hashCode * 59 + this.Profiles.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/LoyaltyCardProfileRegistration.cs b/src/TalonOne/Model/LoyaltyCardProfileRegistration.cs index 7c7015a..51e146b 100644 --- a/src/TalonOne/Model/LoyaltyCardProfileRegistration.cs +++ b/src/TalonOne/Model/LoyaltyCardProfileRegistration.cs @@ -40,7 +40,7 @@ protected LoyaltyCardProfileRegistration() { } /// Initializes a new instance of the class. /// /// Integration ID of the customer profile linked to the card. (required). - /// Timestamp of the registration to the card. (required). + /// Timestamp the customer profile was linked to the card. (required). public LoyaltyCardProfileRegistration(string integrationId = default(string), DateTime timestamp = default(DateTime)) { // to ensure "integrationId" is required (not null) @@ -56,9 +56,9 @@ protected LoyaltyCardProfileRegistration() { } public string IntegrationId { get; set; } /// - /// Timestamp of the registration to the card. + /// Timestamp the customer profile was linked to the card. /// - /// Timestamp of the registration to the card. + /// Timestamp the customer profile was linked to the card. [DataMember(Name="timestamp", EmitDefaultValue=false)] public DateTime Timestamp { get; set; } diff --git a/src/TalonOne/Model/LoyaltyLedgerTransactions.cs b/src/TalonOne/Model/LoyaltyLedgerTransactions.cs index e2eb866..af83799 100644 --- a/src/TalonOne/Model/LoyaltyLedgerTransactions.cs +++ b/src/TalonOne/Model/LoyaltyLedgerTransactions.cs @@ -34,7 +34,7 @@ public partial class LoyaltyLedgerTransactions : IEquatable /// Initializes a new instance of the class. /// - /// true means there is more data in the source collection to request.. + /// If `true`, it means that there is more data to request in the source collection.. /// List of transaction entries from a loyalty ledger.. public LoyaltyLedgerTransactions(bool hasMore = default(bool), List data = default(List)) { @@ -43,9 +43,9 @@ public partial class LoyaltyLedgerTransactions : IEquatable - /// true means there is more data in the source collection to request. + /// If `true`, it means that there is more data to request in the source collection. /// - /// true means there is more data in the source collection to request. + /// If `true`, it means that there is more data to request in the source collection. [DataMember(Name="hasMore", EmitDefaultValue=false)] public bool HasMore { get; set; } diff --git a/src/TalonOne/Model/LoyaltyProgram.cs b/src/TalonOne/Model/LoyaltyProgram.cs index bd40686..630abbe 100644 --- a/src/TalonOne/Model/LoyaltyProgram.cs +++ b/src/TalonOne/Model/LoyaltyProgram.cs @@ -31,6 +31,33 @@ namespace TalonOne.Model [DataContract] public partial class LoyaltyProgram : IEquatable, IValidatableObject { + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + [JsonConverter(typeof(StringEnumConverter))] + public enum TiersExpirationPolicyEnum + { + /// + /// Enum Tierstartdate for value: tier_start_date + /// + [EnumMember(Value = "tier_start_date")] + Tierstartdate = 1, + + /// + /// Enum Programjoindate for value: program_join_date + /// + [EnumMember(Value = "program_join_date")] + Programjoindate = 2 + + } + + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + [DataMember(Name="tiersExpirationPolicy", EmitDefaultValue=false)] + public TiersExpirationPolicyEnum? TiersExpirationPolicy { get; set; } /// /// Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. /// @@ -59,6 +86,39 @@ public enum TiersDowngradePolicyEnum [DataMember(Name="tiersDowngradePolicy", EmitDefaultValue=false)] public TiersDowngradePolicyEnum? TiersDowngradePolicy { get; set; } /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + [JsonConverter(typeof(StringEnumConverter))] + public enum ProgramJoinPolicyEnum + { + /// + /// Enum Notjoin for value: not_join + /// + [EnumMember(Value = "not_join")] + Notjoin = 1, + + /// + /// Enum Pointsactivated for value: points_activated + /// + [EnumMember(Value = "points_activated")] + Pointsactivated = 2, + + /// + /// Enum Pointsearned for value: points_earned + /// + [EnumMember(Value = "points_earned")] + Pointsearned = 3 + + } + + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + [DataMember(Name="programJoinPolicy", EmitDefaultValue=false)] + public ProgramJoinPolicyEnum? ProgramJoinPolicy { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -76,16 +136,19 @@ protected LoyaltyProgram() { } /// Indicates if this program supports subledgers inside the program. (required). /// The max amount of user profiles with whom a card can be shared. This can be set to 0 for no limit. This property is only used when `cardBased` is `true`. . /// Indicates if this program is a live or sandbox program. Programs of a given type can only be connected to Applications of the same type. (required). - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. . + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. . + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. . /// Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. . + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. . /// The ID of the Talon.One account that owns this program. (required). /// The internal name for the Loyalty Program. This is an immutable value. (required). /// The tiers in this loyalty program.. /// A string containing an IANA timezone descriptor. (required). /// Defines the type of loyalty program: - `true`: the program is a card-based. - `false`: the program is profile-based. (required) (default to false). - /// True if it is possible to change tiers definition. (default to false). - /// True if it is possible to introduce tiersExpireIn and tiersDowngradePolicy. (default to false). - public LoyaltyProgram(int id = default(int), DateTime created = default(DateTime), string title = default(string), string description = default(string), List subscribedApplications = default(List), string defaultValidity = default(string), string defaultPending = default(string), bool allowSubledger = default(bool), int usersPerCardLimit = default(int), bool sandbox = default(bool), string tiersExpireIn = default(string), TiersDowngradePolicyEnum? tiersDowngradePolicy = default(TiersDowngradePolicyEnum?), int accountID = default(int), string name = default(string), List tiers = default(List), string timezone = default(string), bool cardBased = false, bool canUpdateTiers = false, bool canUpgradeToAdvancedTiers = false) + /// `True` if the tier definitions can be updated. (default to false). + /// Indicates whether the program join policy can be updated. The join policy can be updated when this value is set to `true`. . + /// `True` if the program can be upgraded to use the `tiersExpireIn` and `tiersDowngradePolicy` properties. (default to false). + public LoyaltyProgram(int id = default(int), DateTime created = default(DateTime), string title = default(string), string description = default(string), List subscribedApplications = default(List), string defaultValidity = default(string), string defaultPending = default(string), bool allowSubledger = default(bool), int usersPerCardLimit = default(int), bool sandbox = default(bool), TiersExpirationPolicyEnum? tiersExpirationPolicy = default(TiersExpirationPolicyEnum?), string tiersExpireIn = default(string), TiersDowngradePolicyEnum? tiersDowngradePolicy = default(TiersDowngradePolicyEnum?), ProgramJoinPolicyEnum? programJoinPolicy = default(ProgramJoinPolicyEnum?), int accountID = default(int), string name = default(string), List tiers = default(List), string timezone = default(string), bool cardBased = false, bool canUpdateTiers = false, bool canUpdateJoinPolicy = default(bool), bool canUpgradeToAdvancedTiers = false) { this.Id = id; this.Created = created; @@ -108,10 +171,13 @@ protected LoyaltyProgram() { } this.Timezone = timezone ?? throw new ArgumentNullException("timezone is a required property for LoyaltyProgram and cannot be null"); this.CardBased = cardBased; this.UsersPerCardLimit = usersPerCardLimit; + this.TiersExpirationPolicy = tiersExpirationPolicy; this.TiersExpireIn = tiersExpireIn; this.TiersDowngradePolicy = tiersDowngradePolicy; + this.ProgramJoinPolicy = programJoinPolicy; this.Tiers = tiers; this.CanUpdateTiers = canUpdateTiers; + this.CanUpdateJoinPolicy = canUpdateJoinPolicy; this.CanUpgradeToAdvancedTiers = canUpgradeToAdvancedTiers; } @@ -186,9 +252,9 @@ protected LoyaltyProgram() { } public bool Sandbox { get; set; } /// - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. /// - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. [DataMember(Name="tiersExpireIn", EmitDefaultValue=false)] public string TiersExpireIn { get; set; } @@ -228,16 +294,23 @@ protected LoyaltyProgram() { } public bool CardBased { get; set; } /// - /// True if it is possible to change tiers definition. + /// `True` if the tier definitions can be updated. /// - /// True if it is possible to change tiers definition. + /// `True` if the tier definitions can be updated. [DataMember(Name="canUpdateTiers", EmitDefaultValue=false)] public bool CanUpdateTiers { get; set; } /// - /// True if it is possible to introduce tiersExpireIn and tiersDowngradePolicy. + /// Indicates whether the program join policy can be updated. The join policy can be updated when this value is set to `true`. /// - /// True if it is possible to introduce tiersExpireIn and tiersDowngradePolicy. + /// Indicates whether the program join policy can be updated. The join policy can be updated when this value is set to `true`. + [DataMember(Name="canUpdateJoinPolicy", EmitDefaultValue=false)] + public bool CanUpdateJoinPolicy { get; set; } + + /// + /// `True` if the program can be upgraded to use the `tiersExpireIn` and `tiersDowngradePolicy` properties. + /// + /// `True` if the program can be upgraded to use the `tiersExpireIn` and `tiersDowngradePolicy` properties. [DataMember(Name="canUpgradeToAdvancedTiers", EmitDefaultValue=false)] public bool CanUpgradeToAdvancedTiers { get; set; } @@ -259,14 +332,17 @@ public override string ToString() sb.Append(" AllowSubledger: ").Append(AllowSubledger).Append("\n"); sb.Append(" UsersPerCardLimit: ").Append(UsersPerCardLimit).Append("\n"); sb.Append(" Sandbox: ").Append(Sandbox).Append("\n"); + sb.Append(" TiersExpirationPolicy: ").Append(TiersExpirationPolicy).Append("\n"); sb.Append(" TiersExpireIn: ").Append(TiersExpireIn).Append("\n"); sb.Append(" TiersDowngradePolicy: ").Append(TiersDowngradePolicy).Append("\n"); + sb.Append(" ProgramJoinPolicy: ").Append(ProgramJoinPolicy).Append("\n"); sb.Append(" AccountID: ").Append(AccountID).Append("\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" Tiers: ").Append(Tiers).Append("\n"); sb.Append(" Timezone: ").Append(Timezone).Append("\n"); sb.Append(" CardBased: ").Append(CardBased).Append("\n"); sb.Append(" CanUpdateTiers: ").Append(CanUpdateTiers).Append("\n"); + sb.Append(" CanUpdateJoinPolicy: ").Append(CanUpdateJoinPolicy).Append("\n"); sb.Append(" CanUpgradeToAdvancedTiers: ").Append(CanUpgradeToAdvancedTiers).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -349,6 +425,10 @@ public bool Equals(LoyaltyProgram input) this.Sandbox == input.Sandbox || this.Sandbox.Equals(input.Sandbox) ) && + ( + this.TiersExpirationPolicy == input.TiersExpirationPolicy || + this.TiersExpirationPolicy.Equals(input.TiersExpirationPolicy) + ) && ( this.TiersExpireIn == input.TiersExpireIn || (this.TiersExpireIn != null && @@ -358,6 +438,10 @@ public bool Equals(LoyaltyProgram input) this.TiersDowngradePolicy == input.TiersDowngradePolicy || this.TiersDowngradePolicy.Equals(input.TiersDowngradePolicy) ) && + ( + this.ProgramJoinPolicy == input.ProgramJoinPolicy || + this.ProgramJoinPolicy.Equals(input.ProgramJoinPolicy) + ) && ( this.AccountID == input.AccountID || this.AccountID.Equals(input.AccountID) @@ -386,6 +470,10 @@ public bool Equals(LoyaltyProgram input) this.CanUpdateTiers == input.CanUpdateTiers || this.CanUpdateTiers.Equals(input.CanUpdateTiers) ) && + ( + this.CanUpdateJoinPolicy == input.CanUpdateJoinPolicy || + this.CanUpdateJoinPolicy.Equals(input.CanUpdateJoinPolicy) + ) && ( this.CanUpgradeToAdvancedTiers == input.CanUpgradeToAdvancedTiers || this.CanUpgradeToAdvancedTiers.Equals(input.CanUpgradeToAdvancedTiers) @@ -417,9 +505,11 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.AllowSubledger.GetHashCode(); hashCode = hashCode * 59 + this.UsersPerCardLimit.GetHashCode(); hashCode = hashCode * 59 + this.Sandbox.GetHashCode(); + hashCode = hashCode * 59 + this.TiersExpirationPolicy.GetHashCode(); if (this.TiersExpireIn != null) hashCode = hashCode * 59 + this.TiersExpireIn.GetHashCode(); hashCode = hashCode * 59 + this.TiersDowngradePolicy.GetHashCode(); + hashCode = hashCode * 59 + this.ProgramJoinPolicy.GetHashCode(); hashCode = hashCode * 59 + this.AccountID.GetHashCode(); if (this.Name != null) hashCode = hashCode * 59 + this.Name.GetHashCode(); @@ -429,6 +519,7 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Timezone.GetHashCode(); hashCode = hashCode * 59 + this.CardBased.GetHashCode(); hashCode = hashCode * 59 + this.CanUpdateTiers.GetHashCode(); + hashCode = hashCode * 59 + this.CanUpdateJoinPolicy.GetHashCode(); hashCode = hashCode * 59 + this.CanUpgradeToAdvancedTiers.GetHashCode(); return hashCode; } @@ -447,12 +538,6 @@ public override int GetHashCode() yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for UsersPerCardLimit, must be a value greater than or equal to 0.", new [] { "UsersPerCardLimit" }); } - // TiersExpireIn (string) maxLength - if(this.TiersExpireIn != null && this.TiersExpireIn.Length > 6) - { - yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TiersExpireIn, length must be less than 6.", new [] { "TiersExpireIn" }); - } - // Timezone (string) minLength if(this.Timezone != null && this.Timezone.Length < 1) { diff --git a/src/TalonOne/Model/LoyaltyProgramLedgers.cs b/src/TalonOne/Model/LoyaltyProgramLedgers.cs index fe205c9..b7d9acb 100644 --- a/src/TalonOne/Model/LoyaltyProgramLedgers.cs +++ b/src/TalonOne/Model/LoyaltyProgramLedgers.cs @@ -42,9 +42,10 @@ protected LoyaltyProgramLedgers() { } /// The internal ID of loyalty program. (required). /// Visible name of loyalty program. (required). /// Internal name of loyalty program. (required). + /// The date on which the customer joined the loyalty program in RFC3339. **Note**: This is in the loyalty program's time zone. . /// ledger (required). /// A map containing information about each loyalty subledger.. - public LoyaltyProgramLedgers(int id = default(int), string title = default(string), string name = default(string), LedgerInfo ledger = default(LedgerInfo), Dictionary subLedgers = default(Dictionary)) + public LoyaltyProgramLedgers(int id = default(int), string title = default(string), string name = default(string), DateTime joinDate = default(DateTime), LedgerInfo ledger = default(LedgerInfo), Dictionary subLedgers = default(Dictionary)) { this.Id = id; // to ensure "title" is required (not null) @@ -53,6 +54,7 @@ protected LoyaltyProgramLedgers() { } this.Name = name ?? throw new ArgumentNullException("name is a required property for LoyaltyProgramLedgers and cannot be null"); // to ensure "ledger" is required (not null) this.Ledger = ledger ?? throw new ArgumentNullException("ledger is a required property for LoyaltyProgramLedgers and cannot be null"); + this.JoinDate = joinDate; this.SubLedgers = subLedgers; } @@ -77,6 +79,13 @@ protected LoyaltyProgramLedgers() { } [DataMember(Name="name", EmitDefaultValue=false)] public string Name { get; set; } + /// + /// The date on which the customer joined the loyalty program in RFC3339. **Note**: This is in the loyalty program's time zone. + /// + /// The date on which the customer joined the loyalty program in RFC3339. **Note**: This is in the loyalty program's time zone. + [DataMember(Name="joinDate", EmitDefaultValue=false)] + public DateTime JoinDate { get; set; } + /// /// Gets or Sets Ledger /// @@ -101,6 +110,7 @@ public override string ToString() sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append(" Title: ").Append(Title).Append("\n"); sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" JoinDate: ").Append(JoinDate).Append("\n"); sb.Append(" Ledger: ").Append(Ledger).Append("\n"); sb.Append(" SubLedgers: ").Append(SubLedgers).Append("\n"); sb.Append("}\n"); @@ -151,6 +161,11 @@ public bool Equals(LoyaltyProgramLedgers input) (this.Name != null && this.Name.Equals(input.Name)) ) && + ( + this.JoinDate == input.JoinDate || + (this.JoinDate != null && + this.JoinDate.Equals(input.JoinDate)) + ) && ( this.Ledger == input.Ledger || (this.Ledger != null && @@ -178,6 +193,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Title.GetHashCode(); if (this.Name != null) hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.JoinDate != null) + hashCode = hashCode * 59 + this.JoinDate.GetHashCode(); if (this.Ledger != null) hashCode = hashCode * 59 + this.Ledger.GetHashCode(); if (this.SubLedgers != null) diff --git a/src/TalonOne/Model/LoyaltyProgramTransaction.cs b/src/TalonOne/Model/LoyaltyProgramTransaction.cs index 975fab4..fd0cf7d 100644 --- a/src/TalonOne/Model/LoyaltyProgramTransaction.cs +++ b/src/TalonOne/Model/LoyaltyProgramTransaction.cs @@ -68,6 +68,7 @@ protected LoyaltyProgramTransaction() { } /// /// ID of the loyalty ledger transaction. (required). /// ID of the loyalty program. (required). + /// ID of the campaign.. /// Date and time the loyalty transaction occurred. (required). /// Type of transaction. Possible values: - `addition`: Signifies added points. - `subtraction`: Signifies deducted points. (required). /// Amount of loyalty points added or deducted in the transaction. (required). @@ -79,11 +80,11 @@ protected LoyaltyProgramTransaction() { } /// ID of the subledger. (required). /// ID of the customer session where the transaction occurred.. /// ID of the import where the transaction occurred.. - /// ID of the user who manually added or deducted points. Applies only for manual transactions.. - /// The email of the user who manually added or deducted points. Applies only for manual transactions.. + /// ID of the user who manually added or deducted points. Applies only to manual transactions.. + /// The email of the Campaign Manager account that manually added or deducted points. Applies only to manual transactions.. /// ID of the ruleset containing the rule that triggered the effect. Applies only for transactions that resulted from a customer session.. /// Name of the rule that triggered the effect. Applies only for transactions that resulted from a customer session.. - public LoyaltyProgramTransaction(int id = default(int), int programId = default(int), DateTime created = default(DateTime), TypeEnum type = default(TypeEnum), decimal amount = default(decimal), string name = default(string), string startDate = default(string), string expiryDate = default(string), string customerProfileId = default(string), string cardIdentifier = default(string), string subledgerId = default(string), string customerSessionId = default(string), int importId = default(int), int userId = default(int), string userEmail = default(string), int rulesetId = default(int), string ruleName = default(string)) + public LoyaltyProgramTransaction(int id = default(int), int programId = default(int), int campaignId = default(int), DateTime created = default(DateTime), TypeEnum type = default(TypeEnum), decimal amount = default(decimal), string name = default(string), string startDate = default(string), string expiryDate = default(string), string customerProfileId = default(string), string cardIdentifier = default(string), string subledgerId = default(string), string customerSessionId = default(string), int importId = default(int), int userId = default(int), string userEmail = default(string), int rulesetId = default(int), string ruleName = default(string)) { this.Id = id; this.ProgramId = programId; @@ -98,6 +99,7 @@ protected LoyaltyProgramTransaction() { } this.ExpiryDate = expiryDate ?? throw new ArgumentNullException("expiryDate is a required property for LoyaltyProgramTransaction and cannot be null"); // to ensure "subledgerId" is required (not null) this.SubledgerId = subledgerId ?? throw new ArgumentNullException("subledgerId is a required property for LoyaltyProgramTransaction and cannot be null"); + this.CampaignId = campaignId; this.CustomerProfileId = customerProfileId; this.CardIdentifier = cardIdentifier; this.CustomerSessionId = customerSessionId; @@ -122,6 +124,13 @@ protected LoyaltyProgramTransaction() { } [DataMember(Name="programId", EmitDefaultValue=false)] public int ProgramId { get; set; } + /// + /// ID of the campaign. + /// + /// ID of the campaign. + [DataMember(Name="campaignId", EmitDefaultValue=false)] + public int CampaignId { get; set; } + /// /// Date and time the loyalty transaction occurred. /// @@ -193,16 +202,16 @@ protected LoyaltyProgramTransaction() { } public int ImportId { get; set; } /// - /// ID of the user who manually added or deducted points. Applies only for manual transactions. + /// ID of the user who manually added or deducted points. Applies only to manual transactions. /// - /// ID of the user who manually added or deducted points. Applies only for manual transactions. + /// ID of the user who manually added or deducted points. Applies only to manual transactions. [DataMember(Name="userId", EmitDefaultValue=false)] public int UserId { get; set; } /// - /// The email of the user who manually added or deducted points. Applies only for manual transactions. + /// The email of the Campaign Manager account that manually added or deducted points. Applies only to manual transactions. /// - /// The email of the user who manually added or deducted points. Applies only for manual transactions. + /// The email of the Campaign Manager account that manually added or deducted points. Applies only to manual transactions. [DataMember(Name="userEmail", EmitDefaultValue=false)] public string UserEmail { get; set; } @@ -230,6 +239,7 @@ public override string ToString() sb.Append("class LoyaltyProgramTransaction {\n"); sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append(" ProgramId: ").Append(ProgramId).Append("\n"); + sb.Append(" CampaignId: ").Append(CampaignId).Append("\n"); sb.Append(" Created: ").Append(Created).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append(" Amount: ").Append(Amount).Append("\n"); @@ -287,6 +297,10 @@ public bool Equals(LoyaltyProgramTransaction input) this.ProgramId == input.ProgramId || this.ProgramId.Equals(input.ProgramId) ) && + ( + this.CampaignId == input.CampaignId || + this.CampaignId.Equals(input.CampaignId) + ) && ( this.Created == input.Created || (this.Created != null && @@ -370,6 +384,7 @@ public override int GetHashCode() int hashCode = 41; hashCode = hashCode * 59 + this.Id.GetHashCode(); hashCode = hashCode * 59 + this.ProgramId.GetHashCode(); + hashCode = hashCode * 59 + this.CampaignId.GetHashCode(); if (this.Created != null) hashCode = hashCode * 59 + this.Created.GetHashCode(); hashCode = hashCode * 59 + this.Type.GetHashCode(); diff --git a/src/TalonOne/Model/MessageLogEntries.cs b/src/TalonOne/Model/MessageLogEntries.cs new file mode 100644 index 0000000..6a22b80 --- /dev/null +++ b/src/TalonOne/Model/MessageLogEntries.cs @@ -0,0 +1,150 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// MessageLogEntries + /// + [DataContract] + public partial class MessageLogEntries : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected MessageLogEntries() { } + /// + /// Initializes a new instance of the class. + /// + /// The next value in the database. **Note:** If this value is not present, it means that there are no more values in the database for this combination of request parameters. . + /// List of message logs. (required). + public MessageLogEntries(byte[] nextCursor = default(byte[]), List data = default(List)) + { + // to ensure "data" is required (not null) + this.Data = data ?? throw new ArgumentNullException("data is a required property for MessageLogEntries and cannot be null"); + this.NextCursor = nextCursor; + } + + /// + /// The next value in the database. **Note:** If this value is not present, it means that there are no more values in the database for this combination of request parameters. + /// + /// The next value in the database. **Note:** If this value is not present, it means that there are no more values in the database for this combination of request parameters. + [DataMember(Name="nextCursor", EmitDefaultValue=false)] + public byte[] NextCursor { get; set; } + + /// + /// List of message logs. + /// + /// List of message logs. + [DataMember(Name="data", EmitDefaultValue=false)] + public List Data { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class MessageLogEntries {\n"); + sb.Append(" NextCursor: ").Append(NextCursor).Append("\n"); + sb.Append(" Data: ").Append(Data).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as MessageLogEntries); + } + + /// + /// Returns true if MessageLogEntries instances are equal + /// + /// Instance of MessageLogEntries to be compared + /// Boolean + public bool Equals(MessageLogEntries input) + { + if (input == null) + return false; + + return + ( + this.NextCursor == input.NextCursor || + (this.NextCursor != null && + this.NextCursor.Equals(input.NextCursor)) + ) && + ( + this.Data == input.Data || + this.Data != null && + input.Data != null && + this.Data.SequenceEqual(input.Data) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.NextCursor != null) + hashCode = hashCode * 59 + this.NextCursor.GetHashCode(); + if (this.Data != null) + hashCode = hashCode * 59 + this.Data.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/MessageLogEntry.cs b/src/TalonOne/Model/MessageLogEntry.cs new file mode 100644 index 0000000..4ba1401 --- /dev/null +++ b/src/TalonOne/Model/MessageLogEntry.cs @@ -0,0 +1,325 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// Message Log. + /// + [DataContract] + public partial class MessageLogEntry : IEquatable, IValidatableObject + { + /// + /// The entity type the notification is related to. + /// + /// The entity type the notification is related to. + [JsonConverter(typeof(StringEnumConverter))] + public enum EntityTypeEnum + { + /// + /// Enum Application for value: application + /// + [EnumMember(Value = "application")] + Application = 1, + + /// + /// Enum Loyaltyprogram for value: loyalty_program + /// + [EnumMember(Value = "loyalty_program")] + Loyaltyprogram = 2 + + } + + /// + /// The entity type the notification is related to. + /// + /// The entity type the notification is related to. + [DataMember(Name="entityType", EmitDefaultValue=false)] + public EntityTypeEnum? EntityType { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected MessageLogEntry() { } + /// + /// Initializes a new instance of the class. + /// + /// Unique identifier of the message. (required). + /// Name of the service that generated the log entry. (required). + /// Type of change that triggered the notification.. + /// ID of the notification.. + /// The name of the notification.. + /// request. + /// response. + /// Timestamp when the log entry was created. (required). + /// The entity type the notification is related to. . + /// Identifier of the Application.. + /// Identifier of the loyalty program.. + public MessageLogEntry(string id = default(string), string service = default(string), string changeType = default(string), int notificationId = default(int), string notificationName = default(string), MessageLogRequest request = default(MessageLogRequest), MessageLogResponse response = default(MessageLogResponse), DateTime createdAt = default(DateTime), EntityTypeEnum? entityType = default(EntityTypeEnum?), int applicationId = default(int), int loyaltyProgramId = default(int)) + { + // to ensure "id" is required (not null) + this.Id = id ?? throw new ArgumentNullException("id is a required property for MessageLogEntry and cannot be null"); + // to ensure "service" is required (not null) + this.Service = service ?? throw new ArgumentNullException("service is a required property for MessageLogEntry and cannot be null"); + this.CreatedAt = createdAt; + this.ChangeType = changeType; + this.NotificationId = notificationId; + this.NotificationName = notificationName; + this.Request = request; + this.Response = response; + this.EntityType = entityType; + this.ApplicationId = applicationId; + this.LoyaltyProgramId = loyaltyProgramId; + } + + /// + /// Unique identifier of the message. + /// + /// Unique identifier of the message. + [DataMember(Name="id", EmitDefaultValue=false)] + public string Id { get; set; } + + /// + /// Name of the service that generated the log entry. + /// + /// Name of the service that generated the log entry. + [DataMember(Name="service", EmitDefaultValue=false)] + public string Service { get; set; } + + /// + /// Type of change that triggered the notification. + /// + /// Type of change that triggered the notification. + [DataMember(Name="changeType", EmitDefaultValue=false)] + public string ChangeType { get; set; } + + /// + /// ID of the notification. + /// + /// ID of the notification. + [DataMember(Name="notificationId", EmitDefaultValue=false)] + public int NotificationId { get; set; } + + /// + /// The name of the notification. + /// + /// The name of the notification. + [DataMember(Name="notificationName", EmitDefaultValue=false)] + public string NotificationName { get; set; } + + /// + /// Gets or Sets Request + /// + [DataMember(Name="request", EmitDefaultValue=false)] + public MessageLogRequest Request { get; set; } + + /// + /// Gets or Sets Response + /// + [DataMember(Name="response", EmitDefaultValue=false)] + public MessageLogResponse Response { get; set; } + + /// + /// Timestamp when the log entry was created. + /// + /// Timestamp when the log entry was created. + [DataMember(Name="createdAt", EmitDefaultValue=false)] + public DateTime CreatedAt { get; set; } + + /// + /// Identifier of the Application. + /// + /// Identifier of the Application. + [DataMember(Name="applicationId", EmitDefaultValue=false)] + public int ApplicationId { get; set; } + + /// + /// Identifier of the loyalty program. + /// + /// Identifier of the loyalty program. + [DataMember(Name="loyaltyProgramId", EmitDefaultValue=false)] + public int LoyaltyProgramId { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class MessageLogEntry {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Service: ").Append(Service).Append("\n"); + sb.Append(" ChangeType: ").Append(ChangeType).Append("\n"); + sb.Append(" NotificationId: ").Append(NotificationId).Append("\n"); + sb.Append(" NotificationName: ").Append(NotificationName).Append("\n"); + sb.Append(" Request: ").Append(Request).Append("\n"); + sb.Append(" Response: ").Append(Response).Append("\n"); + sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n"); + sb.Append(" EntityType: ").Append(EntityType).Append("\n"); + sb.Append(" ApplicationId: ").Append(ApplicationId).Append("\n"); + sb.Append(" LoyaltyProgramId: ").Append(LoyaltyProgramId).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as MessageLogEntry); + } + + /// + /// Returns true if MessageLogEntry instances are equal + /// + /// Instance of MessageLogEntry to be compared + /// Boolean + public bool Equals(MessageLogEntry input) + { + if (input == null) + return false; + + return + ( + this.Id == input.Id || + (this.Id != null && + this.Id.Equals(input.Id)) + ) && + ( + this.Service == input.Service || + (this.Service != null && + this.Service.Equals(input.Service)) + ) && + ( + this.ChangeType == input.ChangeType || + (this.ChangeType != null && + this.ChangeType.Equals(input.ChangeType)) + ) && + ( + this.NotificationId == input.NotificationId || + this.NotificationId.Equals(input.NotificationId) + ) && + ( + this.NotificationName == input.NotificationName || + (this.NotificationName != null && + this.NotificationName.Equals(input.NotificationName)) + ) && + ( + this.Request == input.Request || + (this.Request != null && + this.Request.Equals(input.Request)) + ) && + ( + this.Response == input.Response || + (this.Response != null && + this.Response.Equals(input.Response)) + ) && + ( + this.CreatedAt == input.CreatedAt || + (this.CreatedAt != null && + this.CreatedAt.Equals(input.CreatedAt)) + ) && + ( + this.EntityType == input.EntityType || + this.EntityType.Equals(input.EntityType) + ) && + ( + this.ApplicationId == input.ApplicationId || + this.ApplicationId.Equals(input.ApplicationId) + ) && + ( + this.LoyaltyProgramId == input.LoyaltyProgramId || + this.LoyaltyProgramId.Equals(input.LoyaltyProgramId) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Id != null) + hashCode = hashCode * 59 + this.Id.GetHashCode(); + if (this.Service != null) + hashCode = hashCode * 59 + this.Service.GetHashCode(); + if (this.ChangeType != null) + hashCode = hashCode * 59 + this.ChangeType.GetHashCode(); + hashCode = hashCode * 59 + this.NotificationId.GetHashCode(); + if (this.NotificationName != null) + hashCode = hashCode * 59 + this.NotificationName.GetHashCode(); + if (this.Request != null) + hashCode = hashCode * 59 + this.Request.GetHashCode(); + if (this.Response != null) + hashCode = hashCode * 59 + this.Response.GetHashCode(); + if (this.CreatedAt != null) + hashCode = hashCode * 59 + this.CreatedAt.GetHashCode(); + hashCode = hashCode * 59 + this.EntityType.GetHashCode(); + hashCode = hashCode * 59 + this.ApplicationId.GetHashCode(); + hashCode = hashCode * 59 + this.LoyaltyProgramId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // ApplicationId (int) minimum + if(this.ApplicationId < (int)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ApplicationId, must be a value greater than or equal to 1.", new [] { "ApplicationId" }); + } + + // LoyaltyProgramId (int) minimum + if(this.LoyaltyProgramId < (int)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for LoyaltyProgramId, must be a value greater than or equal to 1.", new [] { "LoyaltyProgramId" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/MessageLogRequest.cs b/src/TalonOne/Model/MessageLogRequest.cs new file mode 100644 index 0000000..41755df --- /dev/null +++ b/src/TalonOne/Model/MessageLogRequest.cs @@ -0,0 +1,149 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// Details of the request. + /// + [DataContract] + public partial class MessageLogRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected MessageLogRequest() { } + /// + /// Initializes a new instance of the class. + /// + /// Timestamp when the request was made. (required). + /// Raw request data. (required). + public MessageLogRequest(DateTime createdAt = default(DateTime), byte[] request = default(byte[])) + { + this.CreatedAt = createdAt; + // to ensure "request" is required (not null) + this.Request = request ?? throw new ArgumentNullException("request is a required property for MessageLogRequest and cannot be null"); + } + + /// + /// Timestamp when the request was made. + /// + /// Timestamp when the request was made. + [DataMember(Name="createdAt", EmitDefaultValue=false)] + public DateTime CreatedAt { get; set; } + + /// + /// Raw request data. + /// + /// Raw request data. + [DataMember(Name="request", EmitDefaultValue=false)] + public byte[] Request { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class MessageLogRequest {\n"); + sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n"); + sb.Append(" Request: ").Append(Request).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as MessageLogRequest); + } + + /// + /// Returns true if MessageLogRequest instances are equal + /// + /// Instance of MessageLogRequest to be compared + /// Boolean + public bool Equals(MessageLogRequest input) + { + if (input == null) + return false; + + return + ( + this.CreatedAt == input.CreatedAt || + (this.CreatedAt != null && + this.CreatedAt.Equals(input.CreatedAt)) + ) && + ( + this.Request == input.Request || + (this.Request != null && + this.Request.Equals(input.Request)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.CreatedAt != null) + hashCode = hashCode * 59 + this.CreatedAt.GetHashCode(); + if (this.Request != null) + hashCode = hashCode * 59 + this.Request.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/MessageLogResponse.cs b/src/TalonOne/Model/MessageLogResponse.cs new file mode 100644 index 0000000..ec283e6 --- /dev/null +++ b/src/TalonOne/Model/MessageLogResponse.cs @@ -0,0 +1,164 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// Details of the response. + /// + [DataContract] + public partial class MessageLogResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected MessageLogResponse() { } + /// + /// Initializes a new instance of the class. + /// + /// Timestamp when the response was received. (required). + /// Raw response data. (required). + /// HTTP status code of the response. (required). + public MessageLogResponse(DateTime createdAt = default(DateTime), byte[] response = default(byte[]), int status = default(int)) + { + this.CreatedAt = createdAt; + // to ensure "response" is required (not null) + this.Response = response ?? throw new ArgumentNullException("response is a required property for MessageLogResponse and cannot be null"); + this.Status = status; + } + + /// + /// Timestamp when the response was received. + /// + /// Timestamp when the response was received. + [DataMember(Name="createdAt", EmitDefaultValue=false)] + public DateTime CreatedAt { get; set; } + + /// + /// Raw response data. + /// + /// Raw response data. + [DataMember(Name="response", EmitDefaultValue=false)] + public byte[] Response { get; set; } + + /// + /// HTTP status code of the response. + /// + /// HTTP status code of the response. + [DataMember(Name="status", EmitDefaultValue=false)] + public int Status { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class MessageLogResponse {\n"); + sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n"); + sb.Append(" Response: ").Append(Response).Append("\n"); + sb.Append(" Status: ").Append(Status).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as MessageLogResponse); + } + + /// + /// Returns true if MessageLogResponse instances are equal + /// + /// Instance of MessageLogResponse to be compared + /// Boolean + public bool Equals(MessageLogResponse input) + { + if (input == null) + return false; + + return + ( + this.CreatedAt == input.CreatedAt || + (this.CreatedAt != null && + this.CreatedAt.Equals(input.CreatedAt)) + ) && + ( + this.Response == input.Response || + (this.Response != null && + this.Response.Equals(input.Response)) + ) && + ( + this.Status == input.Status || + this.Status.Equals(input.Status) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.CreatedAt != null) + hashCode = hashCode * 59 + this.CreatedAt.GetHashCode(); + if (this.Response != null) + hashCode = hashCode * 59 + this.Response.GetHashCode(); + hashCode = hashCode * 59 + this.Status.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/NewAccountSignUp.cs b/src/TalonOne/Model/NewAccountSignUp.cs index ba23335..9bb044f 100644 --- a/src/TalonOne/Model/NewAccountSignUp.cs +++ b/src/TalonOne/Model/NewAccountSignUp.cs @@ -39,7 +39,7 @@ protected NewAccountSignUp() { } /// /// Initializes a new instance of the class. /// - /// The email address associated with your account. (required). + /// The email address associated with the user profile. (required). /// The password for your account. (required). /// companyName (required). public NewAccountSignUp(string email = default(string), string password = default(string), string companyName = default(string)) @@ -53,9 +53,9 @@ protected NewAccountSignUp() { } } /// - /// The email address associated with your account. + /// The email address associated with the user profile. /// - /// The email address associated with your account. + /// The email address associated with the user profile. [DataMember(Name="email", EmitDefaultValue=false)] public string Email { get; set; } diff --git a/src/TalonOne/Model/NewAdditionalCost.cs b/src/TalonOne/Model/NewAdditionalCost.cs index 3521549..41279cf 100644 --- a/src/TalonOne/Model/NewAdditionalCost.cs +++ b/src/TalonOne/Model/NewAdditionalCost.cs @@ -221,7 +221,7 @@ public override int GetHashCode() IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { // Name (string) pattern - Regex regexName = new Regex(@"^[A-Za-z](\\w|\\s)*$", RegexOptions.CultureInvariant); + Regex regexName = new Regex(@"^[A-Za-z]\\w*$", RegexOptions.CultureInvariant); if (false == regexName.Match(this.Name).Success) { yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, must match a pattern of " + regexName, new [] { "Name" }); diff --git a/src/TalonOne/Model/NewApplication.cs b/src/TalonOne/Model/NewApplication.cs index fc477e9..ff49082 100644 --- a/src/TalonOne/Model/NewApplication.cs +++ b/src/TalonOne/Model/NewApplication.cs @@ -147,7 +147,7 @@ protected NewApplication() { } /// Default limits for campaigns created in this application.. /// The default scope to apply `setDiscount` effects on if no scope was provided with the effect. . /// Indicates if discounts should cascade for this Application.. - /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See [the docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). . + /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. . /// attributesSettings. /// Indicates if this is a live or sandbox Application.. /// Indicates if this Application supports partial discounts.. @@ -225,9 +225,9 @@ protected NewApplication() { } public bool EnableCascadingDiscounts { get; set; } /// - /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See [the docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). + /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. /// - /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See [the docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). + /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. [DataMember(Name="enableFlattenedCartItems", EmitDefaultValue=false)] public bool EnableFlattenedCartItems { get; set; } diff --git a/src/TalonOne/Model/NewApplicationAPIKey.cs b/src/TalonOne/Model/NewApplicationAPIKey.cs index 9311fe8..59ff72f 100644 --- a/src/TalonOne/Model/NewApplicationAPIKey.cs +++ b/src/TalonOne/Model/NewApplicationAPIKey.cs @@ -90,7 +90,13 @@ public enum PlatformEnum /// Enum Salesforce for value: salesforce /// [EnumMember(Value = "salesforce")] - Salesforce = 9 + Salesforce = 9, + + /// + /// Enum Emarsys for value: emarsys + /// + [EnumMember(Value = "emarsys")] + Emarsys = 10 } @@ -101,6 +107,27 @@ public enum PlatformEnum [DataMember(Name="platform", EmitDefaultValue=false)] public PlatformEnum? Platform { get; set; } /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum Staging for value: staging + /// + [EnumMember(Value = "staging")] + Staging = 1 + + } + + /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + /// + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. + [DataMember(Name="type", EmitDefaultValue=false)] + public TypeEnum? Type { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -108,16 +135,18 @@ protected NewApplicationAPIKey() { } /// /// Initializes a new instance of the class. /// - /// Title for API Key. (required). - /// The date the API key expired. (required). + /// Title of the API key. (required). + /// The date the API key expires. (required). /// The third-party platform the API key is valid for. Use `none` for a generic API key to be used from your own integration layer. . + /// The API key type. Can be empty or `staging`. Staging API keys can only be used for dry requests with the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint, [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint, and [Track event](https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2) endpoint. When using the _Update customer profile_ endpoint with a staging API key, the query parameter `runRuleEngine` must be `true`. . + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. . /// ID of the API Key. (required). /// ID of user who created. (required). /// ID of account the key is used for. (required). /// ID of application the key is used for. (required). /// The date the API key was created. (required). /// The API key. (required). - public NewApplicationAPIKey(string title = default(string), DateTime expires = default(DateTime), PlatformEnum? platform = default(PlatformEnum?), int id = default(int), int createdBy = default(int), int accountID = default(int), int applicationID = default(int), DateTime created = default(DateTime), string key = default(string)) + public NewApplicationAPIKey(string title = default(string), DateTime expires = default(DateTime), PlatformEnum? platform = default(PlatformEnum?), TypeEnum? type = default(TypeEnum?), int timeOffset = default(int), int id = default(int), int createdBy = default(int), int accountID = default(int), int applicationID = default(int), DateTime created = default(DateTime), string key = default(string)) { // to ensure "title" is required (not null) this.Title = title ?? throw new ArgumentNullException("title is a required property for NewApplicationAPIKey and cannot be null"); @@ -130,22 +159,31 @@ protected NewApplicationAPIKey() { } // to ensure "key" is required (not null) this.Key = key ?? throw new ArgumentNullException("key is a required property for NewApplicationAPIKey and cannot be null"); this.Platform = platform; + this.Type = type; + this.TimeOffset = timeOffset; } /// - /// Title for API Key. + /// Title of the API key. /// - /// Title for API Key. + /// Title of the API key. [DataMember(Name="title", EmitDefaultValue=false)] public string Title { get; set; } /// - /// The date the API key expired. + /// The date the API key expires. /// - /// The date the API key expired. + /// The date the API key expires. [DataMember(Name="expires", EmitDefaultValue=false)] public DateTime Expires { get; set; } + /// + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. + /// + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. + [DataMember(Name="timeOffset", EmitDefaultValue=false)] + public int TimeOffset { get; set; } + /// /// ID of the API Key. /// @@ -199,6 +237,8 @@ public override string ToString() sb.Append(" Title: ").Append(Title).Append("\n"); sb.Append(" Expires: ").Append(Expires).Append("\n"); sb.Append(" Platform: ").Append(Platform).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" TimeOffset: ").Append(TimeOffset).Append("\n"); sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append(" CreatedBy: ").Append(CreatedBy).Append("\n"); sb.Append(" AccountID: ").Append(AccountID).Append("\n"); @@ -253,6 +293,14 @@ public bool Equals(NewApplicationAPIKey input) this.Platform == input.Platform || this.Platform.Equals(input.Platform) ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ) && + ( + this.TimeOffset == input.TimeOffset || + this.TimeOffset.Equals(input.TimeOffset) + ) && ( this.Id == input.Id || this.Id.Equals(input.Id) @@ -295,6 +343,8 @@ public override int GetHashCode() if (this.Expires != null) hashCode = hashCode * 59 + this.Expires.GetHashCode(); hashCode = hashCode * 59 + this.Platform.GetHashCode(); + hashCode = hashCode * 59 + this.Type.GetHashCode(); + hashCode = hashCode * 59 + this.TimeOffset.GetHashCode(); hashCode = hashCode * 59 + this.Id.GetHashCode(); hashCode = hashCode * 59 + this.CreatedBy.GetHashCode(); hashCode = hashCode * 59 + this.AccountID.GetHashCode(); diff --git a/src/TalonOne/Model/NewAttribute.cs b/src/TalonOne/Model/NewAttribute.cs index 3de2488..bab3554 100644 --- a/src/TalonOne/Model/NewAttribute.cs +++ b/src/TalonOne/Model/NewAttribute.cs @@ -96,7 +96,13 @@ public enum EntityEnum /// Enum Referral for value: Referral /// [EnumMember(Value = "Referral")] - Referral = 10 + Referral = 10, + + /// + /// Enum Store for value: Store + /// + [EnumMember(Value = "Store")] + Store = 11 } diff --git a/src/TalonOne/Model/NewBaseNotification.cs b/src/TalonOne/Model/NewBaseNotification.cs index d506a32..5fc34c9 100644 --- a/src/TalonOne/Model/NewBaseNotification.cs +++ b/src/TalonOne/Model/NewBaseNotification.cs @@ -40,13 +40,15 @@ protected NewBaseNotification() { } /// Initializes a new instance of the class. /// /// policy (required). + /// Indicates whether the notification is activated. (default to true). /// webhook (required). - public NewBaseNotification(Object policy = default(Object), NewNotificationWebhook webhook = default(NewNotificationWebhook)) + public NewBaseNotification(Object policy = default(Object), bool enabled = true, NewNotificationWebhook webhook = default(NewNotificationWebhook)) { // to ensure "policy" is required (not null) this.Policy = policy ?? throw new ArgumentNullException("policy is a required property for NewBaseNotification and cannot be null"); // to ensure "webhook" is required (not null) this.Webhook = webhook ?? throw new ArgumentNullException("webhook is a required property for NewBaseNotification and cannot be null"); + this.Enabled = enabled; } /// @@ -55,6 +57,13 @@ protected NewBaseNotification() { } [DataMember(Name="policy", EmitDefaultValue=false)] public Object Policy { get; set; } + /// + /// Indicates whether the notification is activated. + /// + /// Indicates whether the notification is activated. + [DataMember(Name="enabled", EmitDefaultValue=false)] + public bool Enabled { get; set; } + /// /// Gets or Sets Webhook /// @@ -70,6 +79,7 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class NewBaseNotification {\n"); sb.Append(" Policy: ").Append(Policy).Append("\n"); + sb.Append(" Enabled: ").Append(Enabled).Append("\n"); sb.Append(" Webhook: ").Append(Webhook).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -110,6 +120,10 @@ public bool Equals(NewBaseNotification input) (this.Policy != null && this.Policy.Equals(input.Policy)) ) && + ( + this.Enabled == input.Enabled || + this.Enabled.Equals(input.Enabled) + ) && ( this.Webhook == input.Webhook || (this.Webhook != null && @@ -128,6 +142,7 @@ public override int GetHashCode() int hashCode = 41; if (this.Policy != null) hashCode = hashCode * 59 + this.Policy.GetHashCode(); + hashCode = hashCode * 59 + this.Enabled.GetHashCode(); if (this.Webhook != null) hashCode = hashCode * 59 + this.Webhook.GetHashCode(); return hashCode; diff --git a/src/TalonOne/Model/NewCampaign.cs b/src/TalonOne/Model/NewCampaign.cs index 05d5208..eeecbbd 100644 --- a/src/TalonOne/Model/NewCampaign.cs +++ b/src/TalonOne/Model/NewCampaign.cs @@ -98,7 +98,13 @@ public enum FeaturesEnum /// Enum Strikethrough for value: strikethrough /// [EnumMember(Value = "strikethrough")] - Strikethrough = 5 + Strikethrough = 5, + + /// + /// Enum Achievements for value: achievements + /// + [EnumMember(Value = "achievements")] + Achievements = 6 } @@ -110,6 +116,33 @@ public enum FeaturesEnum [DataMember(Name="features", EmitDefaultValue=false)] public List Features { get; set; } /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum CartItem for value: cartItem + /// + [EnumMember(Value = "cartItem")] + CartItem = 1, + + /// + /// Enum Advanced for value: advanced + /// + [EnumMember(Value = "advanced")] + Advanced = 2 + + } + + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [DataMember(Name="type", EmitDefaultValue=false)] + public TypeEnum? Type { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -130,8 +163,10 @@ protected NewCampaign() { } /// referralSettings. /// The set of [budget limits](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets) for this campaign. (required). /// The IDs of the [campaign groups](https://docs.talon.one/docs/product/account/managing-campaign-groups) this campaign belongs to. . + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. (default to TypeEnum.Advanced). + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. . /// The ID of the campaign evaluation group the campaign belongs to.. - public NewCampaign(string name = default(string), string description = default(string), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), Object attributes = default(Object), StateEnum state = StateEnum.Enabled, int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List campaignGroups = default(List), int evaluationGroupId = default(int)) + public NewCampaign(string name = default(string), string description = default(string), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), Object attributes = default(Object), StateEnum state = StateEnum.Enabled, int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List campaignGroups = default(List), TypeEnum? type = TypeEnum.Advanced, List linkedStoreIds = default(List), int evaluationGroupId = default(int)) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for NewCampaign and cannot be null"); @@ -150,6 +185,8 @@ protected NewCampaign() { } this.CouponSettings = couponSettings; this.ReferralSettings = referralSettings; this.CampaignGroups = campaignGroups; + this.Type = type; + this.LinkedStoreIds = linkedStoreIds; this.EvaluationGroupId = evaluationGroupId; } @@ -228,6 +265,13 @@ protected NewCampaign() { } [DataMember(Name="campaignGroups", EmitDefaultValue=false)] public List CampaignGroups { get; set; } + /// + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. + /// + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. + [DataMember(Name="linkedStoreIds", EmitDefaultValue=false)] + public List LinkedStoreIds { get; set; } + /// /// The ID of the campaign evaluation group the campaign belongs to. /// @@ -256,6 +300,8 @@ public override string ToString() sb.Append(" ReferralSettings: ").Append(ReferralSettings).Append("\n"); sb.Append(" Limits: ").Append(Limits).Append("\n"); sb.Append(" CampaignGroups: ").Append(CampaignGroups).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" LinkedStoreIds: ").Append(LinkedStoreIds).Append("\n"); sb.Append(" EvaluationGroupId: ").Append(EvaluationGroupId).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -356,6 +402,16 @@ public bool Equals(NewCampaign input) input.CampaignGroups != null && this.CampaignGroups.SequenceEqual(input.CampaignGroups) ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ) && + ( + this.LinkedStoreIds == input.LinkedStoreIds || + this.LinkedStoreIds != null && + input.LinkedStoreIds != null && + this.LinkedStoreIds.SequenceEqual(input.LinkedStoreIds) + ) && ( this.EvaluationGroupId == input.EvaluationGroupId || this.EvaluationGroupId.Equals(input.EvaluationGroupId) @@ -394,6 +450,9 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Limits.GetHashCode(); if (this.CampaignGroups != null) hashCode = hashCode * 59 + this.CampaignGroups.GetHashCode(); + hashCode = hashCode * 59 + this.Type.GetHashCode(); + if (this.LinkedStoreIds != null) + hashCode = hashCode * 59 + this.LinkedStoreIds.GetHashCode(); hashCode = hashCode * 59 + this.EvaluationGroupId.GetHashCode(); return hashCode; } diff --git a/src/TalonOne/Model/NewCampaignEvaluationGroup.cs b/src/TalonOne/Model/NewCampaignEvaluationGroup.cs index 800f65b..7bf28c6 100644 --- a/src/TalonOne/Model/NewCampaignEvaluationGroup.cs +++ b/src/TalonOne/Model/NewCampaignEvaluationGroup.cs @@ -32,8 +32,9 @@ namespace TalonOne.Model public partial class NewCampaignEvaluationGroup : IEquatable, IValidatableObject { /// - /// Defines EvaluationMode + /// The mode by which campaigns in the campaign evaluation group are evaluated. /// + /// The mode by which campaigns in the campaign evaluation group are evaluated. [JsonConverter(typeof(StringEnumConverter))] public enum EvaluationModeEnum { @@ -64,11 +65,39 @@ public enum EvaluationModeEnum } /// - /// Gets or Sets EvaluationMode + /// The mode by which campaigns in the campaign evaluation group are evaluated. /// + /// The mode by which campaigns in the campaign evaluation group are evaluated. [DataMember(Name="evaluationMode", EmitDefaultValue=false)] public EvaluationModeEnum EvaluationMode { get; set; } /// + /// The evaluation scope of the campaign evaluation group. + /// + /// The evaluation scope of the campaign evaluation group. + [JsonConverter(typeof(StringEnumConverter))] + public enum EvaluationScopeEnum + { + /// + /// Enum CartItem for value: cartItem + /// + [EnumMember(Value = "cartItem")] + CartItem = 1, + + /// + /// Enum Session for value: session + /// + [EnumMember(Value = "session")] + Session = 2 + + } + + /// + /// The evaluation scope of the campaign evaluation group. + /// + /// The evaluation scope of the campaign evaluation group. + [DataMember(Name="evaluationScope", EmitDefaultValue=false)] + public EvaluationScopeEnum EvaluationScope { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -79,14 +108,16 @@ protected NewCampaignEvaluationGroup() { } /// The name of the campaign evaluation group. (required). /// The ID of the parent group that contains the campaign evaluation group. (required). /// A description of the campaign evaluation group.. - /// evaluationMode (required). + /// The mode by which campaigns in the campaign evaluation group are evaluated. (required). + /// The evaluation scope of the campaign evaluation group. (required). /// An indicator of whether the campaign evaluation group is locked for modification. (required). - public NewCampaignEvaluationGroup(string name = default(string), int parentId = default(int), string description = default(string), EvaluationModeEnum evaluationMode = default(EvaluationModeEnum), bool locked = default(bool)) + public NewCampaignEvaluationGroup(string name = default(string), int parentId = default(int), string description = default(string), EvaluationModeEnum evaluationMode = default(EvaluationModeEnum), EvaluationScopeEnum evaluationScope = default(EvaluationScopeEnum), bool locked = default(bool)) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for NewCampaignEvaluationGroup and cannot be null"); this.ParentId = parentId; this.EvaluationMode = evaluationMode; + this.EvaluationScope = evaluationScope; this.Locked = locked; this.Description = description; } @@ -131,6 +162,7 @@ public override string ToString() sb.Append(" ParentId: ").Append(ParentId).Append("\n"); sb.Append(" Description: ").Append(Description).Append("\n"); sb.Append(" EvaluationMode: ").Append(EvaluationMode).Append("\n"); + sb.Append(" EvaluationScope: ").Append(EvaluationScope).Append("\n"); sb.Append(" Locked: ").Append(Locked).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -184,6 +216,10 @@ public bool Equals(NewCampaignEvaluationGroup input) this.EvaluationMode == input.EvaluationMode || this.EvaluationMode.Equals(input.EvaluationMode) ) && + ( + this.EvaluationScope == input.EvaluationScope || + this.EvaluationScope.Equals(input.EvaluationScope) + ) && ( this.Locked == input.Locked || this.Locked.Equals(input.Locked) @@ -205,6 +241,7 @@ public override int GetHashCode() if (this.Description != null) hashCode = hashCode * 59 + this.Description.GetHashCode(); hashCode = hashCode * 59 + this.EvaluationMode.GetHashCode(); + hashCode = hashCode * 59 + this.EvaluationScope.GetHashCode(); hashCode = hashCode * 59 + this.Locked.GetHashCode(); return hashCode; } diff --git a/src/TalonOne/Model/NewCampaignGroup.cs b/src/TalonOne/Model/NewCampaignGroup.cs index 984e8d6..93185b6 100644 --- a/src/TalonOne/Model/NewCampaignGroup.cs +++ b/src/TalonOne/Model/NewCampaignGroup.cs @@ -39,10 +39,10 @@ protected NewCampaignGroup() { } /// /// Initializes a new instance of the class. /// - /// The name of this campaign group. (required). - /// A longer description of the campaign group.. - /// A list of the IDs of the applications that this campaign group is enabled for.. - /// A list of the IDs of the campaigns that this campaign group owns.. + /// The name of the campaign access group. (required). + /// A longer description of the campaign access group.. + /// A list of IDs of the Applications that this campaign access group is enabled for.. + /// A list of IDs of the campaigns that are part of the campaign access group.. public NewCampaignGroup(string name = default(string), string description = default(string), List subscribedApplicationsIds = default(List), List campaignIds = default(List)) { // to ensure "name" is required (not null) @@ -53,30 +53,30 @@ protected NewCampaignGroup() { } } /// - /// The name of this campaign group. + /// The name of the campaign access group. /// - /// The name of this campaign group. + /// The name of the campaign access group. [DataMember(Name="name", EmitDefaultValue=false)] public string Name { get; set; } /// - /// A longer description of the campaign group. + /// A longer description of the campaign access group. /// - /// A longer description of the campaign group. + /// A longer description of the campaign access group. [DataMember(Name="description", EmitDefaultValue=false)] public string Description { get; set; } /// - /// A list of the IDs of the applications that this campaign group is enabled for. + /// A list of IDs of the Applications that this campaign access group is enabled for. /// - /// A list of the IDs of the applications that this campaign group is enabled for. + /// A list of IDs of the Applications that this campaign access group is enabled for. [DataMember(Name="subscribedApplicationsIds", EmitDefaultValue=false)] public List SubscribedApplicationsIds { get; set; } /// - /// A list of the IDs of the campaigns that this campaign group owns. + /// A list of IDs of the campaigns that are part of the campaign access group. /// - /// A list of the IDs of the campaigns that this campaign group owns. + /// A list of IDs of the campaigns that are part of the campaign access group. [DataMember(Name="campaignIds", EmitDefaultValue=false)] public List CampaignIds { get; set; } diff --git a/src/TalonOne/Model/NewCampaignTemplate.cs b/src/TalonOne/Model/NewCampaignTemplate.cs index d40febb..636cc4c 100644 --- a/src/TalonOne/Model/NewCampaignTemplate.cs +++ b/src/TalonOne/Model/NewCampaignTemplate.cs @@ -98,7 +98,13 @@ public enum FeaturesEnum /// Enum Strikethrough for value: strikethrough /// [EnumMember(Value = "strikethrough")] - Strikethrough = 5 + Strikethrough = 5, + + /// + /// Enum Achievements for value: achievements + /// + [EnumMember(Value = "achievements")] + Achievements = 6 } @@ -110,6 +116,33 @@ public enum FeaturesEnum [DataMember(Name="features", EmitDefaultValue=false)] public List Features { get; set; } /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [JsonConverter(typeof(StringEnumConverter))] + public enum CampaignTypeEnum + { + /// + /// Enum CartItem for value: cartItem + /// + [EnumMember(Value = "cartItem")] + CartItem = 1, + + /// + /// Enum Advanced for value: advanced + /// + [EnumMember(Value = "advanced")] + Advanced = 2 + + } + + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [DataMember(Name="campaignType", EmitDefaultValue=false)] + public CampaignTypeEnum CampaignType { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -131,7 +164,8 @@ protected NewCampaignTemplate() { } /// Fields which can be used to replace values in a rule.. /// The campaign collections from the blueprint campaign for the template.. /// The default campaign group ID.. - public NewCampaignTemplate(string name = default(string), string description = default(string), string instructions = default(string), Object campaignAttributes = default(Object), Object couponAttributes = default(Object), StateEnum state = default(StateEnum), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List templateParams = default(List), List campaignCollections = default(List), int defaultCampaignGroupId = default(int)) + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. (required) (default to CampaignTypeEnum.Advanced). + public NewCampaignTemplate(string name = default(string), string description = default(string), string instructions = default(string), Object campaignAttributes = default(Object), Object couponAttributes = default(Object), StateEnum state = default(StateEnum), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List templateParams = default(List), List campaignCollections = default(List), int defaultCampaignGroupId = default(int), CampaignTypeEnum campaignType = CampaignTypeEnum.Advanced) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for NewCampaignTemplate and cannot be null"); @@ -140,6 +174,7 @@ protected NewCampaignTemplate() { } // to ensure "instructions" is required (not null) this.Instructions = instructions ?? throw new ArgumentNullException("instructions is a required property for NewCampaignTemplate and cannot be null"); this.State = state; + this.CampaignType = campaignType; this.CampaignAttributes = campaignAttributes; this.CouponAttributes = couponAttributes; this.Tags = tags; @@ -256,6 +291,7 @@ public override string ToString() sb.Append(" TemplateParams: ").Append(TemplateParams).Append("\n"); sb.Append(" CampaignCollections: ").Append(CampaignCollections).Append("\n"); sb.Append(" DefaultCampaignGroupId: ").Append(DefaultCampaignGroupId).Append("\n"); + sb.Append(" CampaignType: ").Append(CampaignType).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -360,6 +396,10 @@ public bool Equals(NewCampaignTemplate input) ( this.DefaultCampaignGroupId == input.DefaultCampaignGroupId || this.DefaultCampaignGroupId.Equals(input.DefaultCampaignGroupId) + ) && + ( + this.CampaignType == input.CampaignType || + this.CampaignType.Equals(input.CampaignType) ); } @@ -397,6 +437,7 @@ public override int GetHashCode() if (this.CampaignCollections != null) hashCode = hashCode * 59 + this.CampaignCollections.GetHashCode(); hashCode = hashCode * 59 + this.DefaultCampaignGroupId.GetHashCode(); + hashCode = hashCode * 59 + this.CampaignType.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/NewCoupons.cs b/src/TalonOne/Model/NewCoupons.cs index d8a6ad1..617fdec 100644 --- a/src/TalonOne/Model/NewCoupons.cs +++ b/src/TalonOne/Model/NewCoupons.cs @@ -51,8 +51,9 @@ protected NewCoupons() { } /// The integration ID for this coupon's beneficiary's profile.. /// List of characters used to generate the random parts of a code. By default, the list of characters is equivalent to the `[A-Z, 0-9]` regular expression. . /// The pattern used to generate coupon codes. The character `#` is a placeholder and is replaced by a random character from the `validCharacters` set. . - /// Whether the reservation effect actually created a new reservation. (default to true). - public NewCoupons(int usageLimit = default(int), decimal discountLimit = default(decimal), int reservationLimit = default(int), DateTime startDate = default(DateTime), DateTime expiryDate = default(DateTime), List limits = default(List), int numberOfCoupons = default(int), string uniquePrefix = default(string), Object attributes = default(Object), string recipientIntegrationId = default(string), List validCharacters = default(List), string couponPattern = default(string), bool isReservationMandatory = true) + /// An indication of whether the code can be redeemed only if it has been reserved first. (default to false). + /// An indication of whether the coupon is implicitly reserved for all customers.. + public NewCoupons(int usageLimit = default(int), decimal discountLimit = default(decimal), int reservationLimit = default(int), DateTime startDate = default(DateTime), DateTime expiryDate = default(DateTime), List limits = default(List), int numberOfCoupons = default(int), string uniquePrefix = default(string), Object attributes = default(Object), string recipientIntegrationId = default(string), List validCharacters = default(List), string couponPattern = default(string), bool isReservationMandatory = false, bool implicitlyReserved = default(bool)) { this.UsageLimit = usageLimit; this.NumberOfCoupons = numberOfCoupons; @@ -67,13 +68,14 @@ protected NewCoupons() { } this.ValidCharacters = validCharacters; this.CouponPattern = couponPattern; this.IsReservationMandatory = isReservationMandatory; + this.ImplicitlyReserved = implicitlyReserved; } /// /// The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. /// /// The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. - [DataMember(Name="usageLimit", EmitDefaultValue=true)] + [DataMember(Name="usageLimit", EmitDefaultValue=false)] public int UsageLimit { get; set; } /// @@ -154,12 +156,19 @@ protected NewCoupons() { } public string CouponPattern { get; set; } /// - /// Whether the reservation effect actually created a new reservation. + /// An indication of whether the code can be redeemed only if it has been reserved first. /// - /// Whether the reservation effect actually created a new reservation. + /// An indication of whether the code can be redeemed only if it has been reserved first. [DataMember(Name="isReservationMandatory", EmitDefaultValue=false)] public bool IsReservationMandatory { get; set; } + /// + /// An indication of whether the coupon is implicitly reserved for all customers. + /// + /// An indication of whether the coupon is implicitly reserved for all customers. + [DataMember(Name="implicitlyReserved", EmitDefaultValue=false)] + public bool ImplicitlyReserved { get; set; } + /// /// Returns the string presentation of the object /// @@ -181,6 +190,7 @@ public override string ToString() sb.Append(" ValidCharacters: ").Append(ValidCharacters).Append("\n"); sb.Append(" CouponPattern: ").Append(CouponPattern).Append("\n"); sb.Append(" IsReservationMandatory: ").Append(IsReservationMandatory).Append("\n"); + sb.Append(" ImplicitlyReserved: ").Append(ImplicitlyReserved).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -276,6 +286,10 @@ public bool Equals(NewCoupons input) ( this.IsReservationMandatory == input.IsReservationMandatory || this.IsReservationMandatory.Equals(input.IsReservationMandatory) + ) && + ( + this.ImplicitlyReserved == input.ImplicitlyReserved || + this.ImplicitlyReserved.Equals(input.ImplicitlyReserved) ); } @@ -309,6 +323,7 @@ public override int GetHashCode() if (this.CouponPattern != null) hashCode = hashCode * 59 + this.CouponPattern.GetHashCode(); hashCode = hashCode * 59 + this.IsReservationMandatory.GetHashCode(); + hashCode = hashCode * 59 + this.ImplicitlyReserved.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/NewCustomerSession.cs b/src/TalonOne/Model/NewCustomerSession.cs index ec7c7a0..ac37ad2 100644 --- a/src/TalonOne/Model/NewCustomerSession.cs +++ b/src/TalonOne/Model/NewCustomerSession.cs @@ -32,9 +32,9 @@ namespace TalonOne.Model public partial class NewCustomerSession : IEquatable, IValidatableObject { /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). [JsonConverter(typeof(StringEnumConverter))] public enum StateEnum { @@ -65,9 +65,9 @@ public enum StateEnum } /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). [DataMember(Name="state", EmitDefaultValue=false)] public StateEnum? State { get; set; } /// @@ -76,7 +76,7 @@ public enum StateEnum /// ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. . /// Any coupon code entered.. /// Any referral code entered.. - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). (default to StateEnum.Open). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). (default to StateEnum.Open). /// Serialized JSON representation.. /// Session custom identifiers that you can set limits on or use inside your rules. For example, you can use IP addresses as identifiers to potentially identify devices and limit discounts abuse in case of customers creating multiple accounts. See the [tutorial](https://docs.talon.one/docs/dev/tutorials/using-identifiers). . /// The total sum of the cart in one session.. diff --git a/src/TalonOne/Model/NewCustomerSessionV2.cs b/src/TalonOne/Model/NewCustomerSessionV2.cs index 8cf79e2..a1ded26 100644 --- a/src/TalonOne/Model/NewCustomerSessionV2.cs +++ b/src/TalonOne/Model/NewCustomerSessionV2.cs @@ -32,9 +32,9 @@ namespace TalonOne.Model public partial class NewCustomerSessionV2 : IEquatable, IValidatableObject { /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). [JsonConverter(typeof(StringEnumConverter))] public enum StateEnum { @@ -65,27 +65,29 @@ public enum StateEnum } /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). /// - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). [DataMember(Name="state", EmitDefaultValue=false)] public StateEnum? State { get; set; } /// /// Initializes a new instance of the class. /// /// ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. . + /// The integration ID of the store. You choose this ID when you create a store.. /// When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. . /// Any coupon codes entered. **Important**: If you [create a coupon budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a coupon code by the time you close it. . /// Any referral code entered. **Important**: If you [create a referral budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a referral code by the time you close it. . - /// Any loyalty cards used.. - /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session). (default to StateEnum.Open). - /// The items to add to this sessions. - If cart item flattening is disabled: **Do not exceed 1000 items** (regardless of their `quantity`) per request. - If cart item flattening is enabled: **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. . + /// Identifier of a loyalty card.. + /// Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). (default to StateEnum.Open). + /// The items to add to this session. **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. . /// Use this property to set a value for the additional costs of this session, such as a shipping cost. They must be created in the Campaign Manager before you set them with this property. See [Managing additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). . /// Session custom identifiers that you can set limits on or use inside your rules. For example, you can use IP addresses as identifiers to potentially identify devices and limit discounts abuse in case of customers creating multiple accounts. See the [tutorial](https://docs.talon.one/docs/dev/tutorials/using-identifiers). **Important**: Ensure the session contains an identifier by the time you close it if: - You [create a unique identifier budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign. - Your campaign has [coupons](https://docs.talon.one/docs/product/campaigns/coupons/coupon-page-overview). . /// Use this property to set a value for the attributes of your choice. Attributes represent any information to attach to your session, like the shipping city. You can use [built-in attributes](https://docs.talon.one/docs/dev/concepts/attributes#built-in-attributes) or [custom ones](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes). Custom attributes must be created in the Campaign Manager before you set them with this property. . - public NewCustomerSessionV2(string profileId = default(string), List evaluableCampaignIds = default(List), List couponCodes = default(List), string referralCode = default(string), List loyaltyCards = default(List), StateEnum? state = StateEnum.Open, List cartItems = default(List), Dictionary additionalCosts = default(Dictionary), List identifiers = default(List), Object attributes = default(Object)) + public NewCustomerSessionV2(string profileId = default(string), string storeIntegrationId = default(string), List evaluableCampaignIds = default(List), List couponCodes = default(List), string referralCode = default(string), List loyaltyCards = default(List), StateEnum? state = StateEnum.Open, List cartItems = default(List), Dictionary additionalCosts = default(Dictionary), List identifiers = default(List), Object attributes = default(Object)) { this.ProfileId = profileId; + this.StoreIntegrationId = storeIntegrationId; this.EvaluableCampaignIds = evaluableCampaignIds; this.CouponCodes = couponCodes; this.ReferralCode = referralCode; @@ -104,6 +106,13 @@ public enum StateEnum [DataMember(Name="profileId", EmitDefaultValue=false)] public string ProfileId { get; set; } + /// + /// The integration ID of the store. You choose this ID when you create a store. + /// + /// The integration ID of the store. You choose this ID when you create a store. + [DataMember(Name="storeIntegrationId", EmitDefaultValue=false)] + public string StoreIntegrationId { get; set; } + /// /// When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. /// @@ -126,16 +135,16 @@ public enum StateEnum public string ReferralCode { get; set; } /// - /// Any loyalty cards used. + /// Identifier of a loyalty card. /// - /// Any loyalty cards used. + /// Identifier of a loyalty card. [DataMember(Name="loyaltyCards", EmitDefaultValue=false)] public List LoyaltyCards { get; set; } /// - /// The items to add to this sessions. - If cart item flattening is disabled: **Do not exceed 1000 items** (regardless of their `quantity`) per request. - If cart item flattening is enabled: **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. + /// The items to add to this session. **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. /// - /// The items to add to this sessions. - If cart item flattening is disabled: **Do not exceed 1000 items** (regardless of their `quantity`) per request. - If cart item flattening is enabled: **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. + /// The items to add to this session. **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request. [DataMember(Name="cartItems", EmitDefaultValue=false)] public List CartItems { get; set; } @@ -169,6 +178,7 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class NewCustomerSessionV2 {\n"); sb.Append(" ProfileId: ").Append(ProfileId).Append("\n"); + sb.Append(" StoreIntegrationId: ").Append(StoreIntegrationId).Append("\n"); sb.Append(" EvaluableCampaignIds: ").Append(EvaluableCampaignIds).Append("\n"); sb.Append(" CouponCodes: ").Append(CouponCodes).Append("\n"); sb.Append(" ReferralCode: ").Append(ReferralCode).Append("\n"); @@ -217,6 +227,11 @@ public bool Equals(NewCustomerSessionV2 input) (this.ProfileId != null && this.ProfileId.Equals(input.ProfileId)) ) && + ( + this.StoreIntegrationId == input.StoreIntegrationId || + (this.StoreIntegrationId != null && + this.StoreIntegrationId.Equals(input.StoreIntegrationId)) + ) && ( this.EvaluableCampaignIds == input.EvaluableCampaignIds || this.EvaluableCampaignIds != null && @@ -280,6 +295,8 @@ public override int GetHashCode() int hashCode = 41; if (this.ProfileId != null) hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); + if (this.StoreIntegrationId != null) + hashCode = hashCode * 59 + this.StoreIntegrationId.GetHashCode(); if (this.EvaluableCampaignIds != null) hashCode = hashCode * 59 + this.EvaluableCampaignIds.GetHashCode(); if (this.CouponCodes != null) @@ -308,6 +325,18 @@ public override int GetHashCode() /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { + // StoreIntegrationId (string) maxLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be less than 1000.", new [] { "StoreIntegrationId" }); + } + + // StoreIntegrationId (string) minLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be greater than 1.", new [] { "StoreIntegrationId" }); + } + // ReferralCode (string) maxLength if(this.ReferralCode != null && this.ReferralCode.Length > 100) { diff --git a/src/TalonOne/Model/NewEvent.cs b/src/TalonOne/Model/NewEvent.cs index 20a6ecb..ea38dd4 100644 --- a/src/TalonOne/Model/NewEvent.cs +++ b/src/TalonOne/Model/NewEvent.cs @@ -40,10 +40,11 @@ protected NewEvent() { } /// Initializes a new instance of the class. /// /// ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. . + /// The integration ID of the store. You choose this ID when you create a store.. /// A string representing the event. Must not be a reserved event name. (required). /// Arbitrary additional JSON data associated with the event. (required). /// The ID of the session that this event occurred in. (required). - public NewEvent(string profileId = default(string), string type = default(string), Object attributes = default(Object), string sessionId = default(string)) + public NewEvent(string profileId = default(string), string storeIntegrationId = default(string), string type = default(string), Object attributes = default(Object), string sessionId = default(string)) { // to ensure "type" is required (not null) this.Type = type ?? throw new ArgumentNullException("type is a required property for NewEvent and cannot be null"); @@ -52,6 +53,7 @@ protected NewEvent() { } // to ensure "sessionId" is required (not null) this.SessionId = sessionId ?? throw new ArgumentNullException("sessionId is a required property for NewEvent and cannot be null"); this.ProfileId = profileId; + this.StoreIntegrationId = storeIntegrationId; } /// @@ -61,6 +63,13 @@ protected NewEvent() { } [DataMember(Name="profileId", EmitDefaultValue=false)] public string ProfileId { get; set; } + /// + /// The integration ID of the store. You choose this ID when you create a store. + /// + /// The integration ID of the store. You choose this ID when you create a store. + [DataMember(Name="storeIntegrationId", EmitDefaultValue=false)] + public string StoreIntegrationId { get; set; } + /// /// A string representing the event. Must not be a reserved event name. /// @@ -91,6 +100,7 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class NewEvent {\n"); sb.Append(" ProfileId: ").Append(ProfileId).Append("\n"); + sb.Append(" StoreIntegrationId: ").Append(StoreIntegrationId).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append(" Attributes: ").Append(Attributes).Append("\n"); sb.Append(" SessionId: ").Append(SessionId).Append("\n"); @@ -133,6 +143,11 @@ public bool Equals(NewEvent input) (this.ProfileId != null && this.ProfileId.Equals(input.ProfileId)) ) && + ( + this.StoreIntegrationId == input.StoreIntegrationId || + (this.StoreIntegrationId != null && + this.StoreIntegrationId.Equals(input.StoreIntegrationId)) + ) && ( this.Type == input.Type || (this.Type != null && @@ -161,6 +176,8 @@ public override int GetHashCode() int hashCode = 41; if (this.ProfileId != null) hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); + if (this.StoreIntegrationId != null) + hashCode = hashCode * 59 + this.StoreIntegrationId.GetHashCode(); if (this.Type != null) hashCode = hashCode * 59 + this.Type.GetHashCode(); if (this.Attributes != null) @@ -178,6 +195,18 @@ public override int GetHashCode() /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { + // StoreIntegrationId (string) maxLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be less than 1000.", new [] { "StoreIntegrationId" }); + } + + // StoreIntegrationId (string) minLength + if(this.StoreIntegrationId != null && this.StoreIntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoreIntegrationId, length must be greater than 1.", new [] { "StoreIntegrationId" }); + } + // Type (string) minLength if(this.Type != null && this.Type.Length < 1) { diff --git a/src/TalonOne/Model/NewExternalInvitation.cs b/src/TalonOne/Model/NewExternalInvitation.cs new file mode 100644 index 0000000..a33c964 --- /dev/null +++ b/src/TalonOne/Model/NewExternalInvitation.cs @@ -0,0 +1,167 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// Parameters for inviting a new user from an external identity provider. + /// + [DataContract] + public partial class NewExternalInvitation : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected NewExternalInvitation() { } + /// + /// Initializes a new instance of the class. + /// + /// Name of the user.. + /// List of user groups in the external identity provider. If there are roles in Talon.One whose names match these user groups, those roles will be automatically assigned to the user upon invitation. . + /// Email address of the user. (required). + public NewExternalInvitation(string name = default(string), List userGroups = default(List), string email = default(string)) + { + // to ensure "email" is required (not null) + this.Email = email ?? throw new ArgumentNullException("email is a required property for NewExternalInvitation and cannot be null"); + this.Name = name; + this.UserGroups = userGroups; + } + + /// + /// Name of the user. + /// + /// Name of the user. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// List of user groups in the external identity provider. If there are roles in Talon.One whose names match these user groups, those roles will be automatically assigned to the user upon invitation. + /// + /// List of user groups in the external identity provider. If there are roles in Talon.One whose names match these user groups, those roles will be automatically assigned to the user upon invitation. + [DataMember(Name="userGroups", EmitDefaultValue=false)] + public List UserGroups { get; set; } + + /// + /// Email address of the user. + /// + /// Email address of the user. + [DataMember(Name="email", EmitDefaultValue=false)] + public string Email { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class NewExternalInvitation {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" UserGroups: ").Append(UserGroups).Append("\n"); + sb.Append(" Email: ").Append(Email).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as NewExternalInvitation); + } + + /// + /// Returns true if NewExternalInvitation instances are equal + /// + /// Instance of NewExternalInvitation to be compared + /// Boolean + public bool Equals(NewExternalInvitation input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.UserGroups == input.UserGroups || + this.UserGroups != null && + input.UserGroups != null && + this.UserGroups.SequenceEqual(input.UserGroups) + ) && + ( + this.Email == input.Email || + (this.Email != null && + this.Email.Equals(input.Email)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.UserGroups != null) + hashCode = hashCode * 59 + this.UserGroups.GetHashCode(); + if (this.Email != null) + hashCode = hashCode * 59 + this.Email.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/NewInvitation.cs b/src/TalonOne/Model/NewInvitation.cs index 02d10d3..c4b74fa 100644 --- a/src/TalonOne/Model/NewInvitation.cs +++ b/src/TalonOne/Model/NewInvitation.cs @@ -39,47 +39,56 @@ protected NewInvitation() { } /// /// Initializes a new instance of the class. /// - /// Name of the user being invited.. - /// email (required). - /// The `Access Control List` json defining the role of the user. This represents the access control on the user level. Use one of the following: - normal user: `{\"Role\": 0}` - admin: `{\"Role\": 127}` (required). - /// An array of roleIDs to assign the new user to.. - public NewInvitation(string name = default(string), string email = default(string), string acl = default(string), List roles = default(List)) + /// Name of the user.. + /// Email address of the user. (required). + /// Indicates whether the user is an `admin`.. + /// A list of the IDs of the roles assigned to the user.. + /// Indicates the access level of the user.. + public NewInvitation(string name = default(string), string email = default(string), bool isAdmin = default(bool), List roles = default(List), string acl = default(string)) { // to ensure "email" is required (not null) this.Email = email ?? throw new ArgumentNullException("email is a required property for NewInvitation and cannot be null"); - // to ensure "acl" is required (not null) - this.Acl = acl ?? throw new ArgumentNullException("acl is a required property for NewInvitation and cannot be null"); this.Name = name; + this.IsAdmin = isAdmin; this.Roles = roles; + this.Acl = acl; } /// - /// Name of the user being invited. + /// Name of the user. /// - /// Name of the user being invited. + /// Name of the user. [DataMember(Name="name", EmitDefaultValue=false)] public string Name { get; set; } /// - /// Gets or Sets Email + /// Email address of the user. /// + /// Email address of the user. [DataMember(Name="email", EmitDefaultValue=false)] public string Email { get; set; } /// - /// The `Access Control List` json defining the role of the user. This represents the access control on the user level. Use one of the following: - normal user: `{\"Role\": 0}` - admin: `{\"Role\": 127}` + /// Indicates whether the user is an `admin`. /// - /// The `Access Control List` json defining the role of the user. This represents the access control on the user level. Use one of the following: - normal user: `{\"Role\": 0}` - admin: `{\"Role\": 127}` - [DataMember(Name="acl", EmitDefaultValue=false)] - public string Acl { get; set; } + /// Indicates whether the user is an `admin`. + [DataMember(Name="isAdmin", EmitDefaultValue=false)] + public bool IsAdmin { get; set; } /// - /// An array of roleIDs to assign the new user to. + /// A list of the IDs of the roles assigned to the user. /// - /// An array of roleIDs to assign the new user to. + /// A list of the IDs of the roles assigned to the user. [DataMember(Name="roles", EmitDefaultValue=false)] public List Roles { get; set; } + /// + /// Indicates the access level of the user. + /// + /// Indicates the access level of the user. + [DataMember(Name="acl", EmitDefaultValue=false)] + public string Acl { get; set; } + /// /// Returns the string presentation of the object /// @@ -90,8 +99,9 @@ public override string ToString() sb.Append("class NewInvitation {\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" Email: ").Append(Email).Append("\n"); - sb.Append(" Acl: ").Append(Acl).Append("\n"); + sb.Append(" IsAdmin: ").Append(IsAdmin).Append("\n"); sb.Append(" Roles: ").Append(Roles).Append("\n"); + sb.Append(" Acl: ").Append(Acl).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -137,15 +147,19 @@ public bool Equals(NewInvitation input) this.Email.Equals(input.Email)) ) && ( - this.Acl == input.Acl || - (this.Acl != null && - this.Acl.Equals(input.Acl)) + this.IsAdmin == input.IsAdmin || + this.IsAdmin.Equals(input.IsAdmin) ) && ( this.Roles == input.Roles || this.Roles != null && input.Roles != null && this.Roles.SequenceEqual(input.Roles) + ) && + ( + this.Acl == input.Acl || + (this.Acl != null && + this.Acl.Equals(input.Acl)) ); } @@ -162,10 +176,11 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Name.GetHashCode(); if (this.Email != null) hashCode = hashCode * 59 + this.Email.GetHashCode(); - if (this.Acl != null) - hashCode = hashCode * 59 + this.Acl.GetHashCode(); + hashCode = hashCode * 59 + this.IsAdmin.GetHashCode(); if (this.Roles != null) hashCode = hashCode * 59 + this.Roles.GetHashCode(); + if (this.Acl != null) + hashCode = hashCode * 59 + this.Acl.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/NewInviteEmail.cs b/src/TalonOne/Model/NewInviteEmail.cs index f08c4ea..c008184 100644 --- a/src/TalonOne/Model/NewInviteEmail.cs +++ b/src/TalonOne/Model/NewInviteEmail.cs @@ -39,8 +39,8 @@ protected NewInviteEmail() { } /// /// Initializes a new instance of the class. /// - /// email (required). - /// token (required). + /// Email address of the user. (required). + /// Invitation token of the user. (required). public NewInviteEmail(string email = default(string), string token = default(string)) { // to ensure "email" is required (not null) @@ -50,14 +50,16 @@ protected NewInviteEmail() { } } /// - /// Gets or Sets Email + /// Email address of the user. /// + /// Email address of the user. [DataMember(Name="email", EmitDefaultValue=false)] public string Email { get; set; } /// - /// Gets or Sets Token + /// Invitation token of the user. /// + /// Invitation token of the user. [DataMember(Name="token", EmitDefaultValue=false)] public string Token { get; set; } @@ -141,18 +143,6 @@ public override int GetHashCode() /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { - // Email (string) minLength - if(this.Email != null && this.Email.Length < 1) - { - yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Email, length must be greater than 1.", new [] { "Email" }); - } - - // Token (string) minLength - if(this.Token != null && this.Token.Length < 1) - { - yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Token, length must be greater than 1.", new [] { "Token" }); - } - yield break; } } diff --git a/src/TalonOne/Model/NewLoyaltyProgram.cs b/src/TalonOne/Model/NewLoyaltyProgram.cs index 35d624f..abf0c3d 100644 --- a/src/TalonOne/Model/NewLoyaltyProgram.cs +++ b/src/TalonOne/Model/NewLoyaltyProgram.cs @@ -31,6 +31,33 @@ namespace TalonOne.Model [DataContract] public partial class NewLoyaltyProgram : IEquatable, IValidatableObject { + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + [JsonConverter(typeof(StringEnumConverter))] + public enum TiersExpirationPolicyEnum + { + /// + /// Enum Tierstartdate for value: tier_start_date + /// + [EnumMember(Value = "tier_start_date")] + Tierstartdate = 1, + + /// + /// Enum Programjoindate for value: program_join_date + /// + [EnumMember(Value = "program_join_date")] + Programjoindate = 2 + + } + + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + [DataMember(Name="tiersExpirationPolicy", EmitDefaultValue=false)] + public TiersExpirationPolicyEnum? TiersExpirationPolicy { get; set; } /// /// Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. /// @@ -59,6 +86,39 @@ public enum TiersDowngradePolicyEnum [DataMember(Name="tiersDowngradePolicy", EmitDefaultValue=false)] public TiersDowngradePolicyEnum? TiersDowngradePolicy { get; set; } /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + [JsonConverter(typeof(StringEnumConverter))] + public enum ProgramJoinPolicyEnum + { + /// + /// Enum Notjoin for value: not_join + /// + [EnumMember(Value = "not_join")] + Notjoin = 1, + + /// + /// Enum Pointsactivated for value: points_activated + /// + [EnumMember(Value = "points_activated")] + Pointsactivated = 2, + + /// + /// Enum Pointsearned for value: points_earned + /// + [EnumMember(Value = "points_earned")] + Pointsearned = 3 + + } + + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + [DataMember(Name="programJoinPolicy", EmitDefaultValue=false)] + public ProgramJoinPolicyEnum? ProgramJoinPolicy { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -74,13 +134,15 @@ protected NewLoyaltyProgram() { } /// Indicates if this program supports subledgers inside the program. (required). /// The max amount of user profiles with whom a card can be shared. This can be set to 0 for no limit. This property is only used when `cardBased` is `true`. . /// Indicates if this program is a live or sandbox program. Programs of a given type can only be connected to Applications of the same type. (required). - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. . + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. . + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. . /// Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. . + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. . /// The internal name for the Loyalty Program. This is an immutable value. (required). /// The tiers in this loyalty program.. /// A string containing an IANA timezone descriptor. (required). /// Defines the type of loyalty program: - `true`: the program is a card-based. - `false`: the program is profile-based. (required) (default to false). - public NewLoyaltyProgram(string title = default(string), string description = default(string), List subscribedApplications = default(List), string defaultValidity = default(string), string defaultPending = default(string), bool allowSubledger = default(bool), int usersPerCardLimit = default(int), bool sandbox = default(bool), string tiersExpireIn = default(string), TiersDowngradePolicyEnum? tiersDowngradePolicy = default(TiersDowngradePolicyEnum?), string name = default(string), List tiers = default(List), string timezone = default(string), bool cardBased = false) + public NewLoyaltyProgram(string title = default(string), string description = default(string), List subscribedApplications = default(List), string defaultValidity = default(string), string defaultPending = default(string), bool allowSubledger = default(bool), int usersPerCardLimit = default(int), bool sandbox = default(bool), TiersExpirationPolicyEnum? tiersExpirationPolicy = default(TiersExpirationPolicyEnum?), string tiersExpireIn = default(string), TiersDowngradePolicyEnum? tiersDowngradePolicy = default(TiersDowngradePolicyEnum?), ProgramJoinPolicyEnum? programJoinPolicy = default(ProgramJoinPolicyEnum?), string name = default(string), List tiers = default(List), string timezone = default(string), bool cardBased = false) { // to ensure "title" is required (not null) this.Title = title ?? throw new ArgumentNullException("title is a required property for NewLoyaltyProgram and cannot be null"); @@ -98,8 +160,10 @@ protected NewLoyaltyProgram() { } this.Description = description; this.SubscribedApplications = subscribedApplications; this.UsersPerCardLimit = usersPerCardLimit; + this.TiersExpirationPolicy = tiersExpirationPolicy; this.TiersExpireIn = tiersExpireIn; this.TiersDowngradePolicy = tiersDowngradePolicy; + this.ProgramJoinPolicy = programJoinPolicy; this.Tiers = tiers; } @@ -160,9 +224,9 @@ protected NewLoyaltyProgram() { } public bool Sandbox { get; set; } /// - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. /// - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. [DataMember(Name="tiersExpireIn", EmitDefaultValue=false)] public string TiersExpireIn { get; set; } @@ -210,8 +274,10 @@ public override string ToString() sb.Append(" AllowSubledger: ").Append(AllowSubledger).Append("\n"); sb.Append(" UsersPerCardLimit: ").Append(UsersPerCardLimit).Append("\n"); sb.Append(" Sandbox: ").Append(Sandbox).Append("\n"); + sb.Append(" TiersExpirationPolicy: ").Append(TiersExpirationPolicy).Append("\n"); sb.Append(" TiersExpireIn: ").Append(TiersExpireIn).Append("\n"); sb.Append(" TiersDowngradePolicy: ").Append(TiersDowngradePolicy).Append("\n"); + sb.Append(" ProgramJoinPolicy: ").Append(ProgramJoinPolicy).Append("\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" Tiers: ").Append(Tiers).Append("\n"); sb.Append(" Timezone: ").Append(Timezone).Append("\n"); @@ -288,6 +354,10 @@ public bool Equals(NewLoyaltyProgram input) this.Sandbox == input.Sandbox || this.Sandbox.Equals(input.Sandbox) ) && + ( + this.TiersExpirationPolicy == input.TiersExpirationPolicy || + this.TiersExpirationPolicy.Equals(input.TiersExpirationPolicy) + ) && ( this.TiersExpireIn == input.TiersExpireIn || (this.TiersExpireIn != null && @@ -297,6 +367,10 @@ public bool Equals(NewLoyaltyProgram input) this.TiersDowngradePolicy == input.TiersDowngradePolicy || this.TiersDowngradePolicy.Equals(input.TiersDowngradePolicy) ) && + ( + this.ProgramJoinPolicy == input.ProgramJoinPolicy || + this.ProgramJoinPolicy.Equals(input.ProgramJoinPolicy) + ) && ( this.Name == input.Name || (this.Name != null && @@ -341,9 +415,11 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.AllowSubledger.GetHashCode(); hashCode = hashCode * 59 + this.UsersPerCardLimit.GetHashCode(); hashCode = hashCode * 59 + this.Sandbox.GetHashCode(); + hashCode = hashCode * 59 + this.TiersExpirationPolicy.GetHashCode(); if (this.TiersExpireIn != null) hashCode = hashCode * 59 + this.TiersExpireIn.GetHashCode(); hashCode = hashCode * 59 + this.TiersDowngradePolicy.GetHashCode(); + hashCode = hashCode * 59 + this.ProgramJoinPolicy.GetHashCode(); if (this.Name != null) hashCode = hashCode * 59 + this.Name.GetHashCode(); if (this.Tiers != null) @@ -368,12 +444,6 @@ public override int GetHashCode() yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for UsersPerCardLimit, must be a value greater than or equal to 0.", new [] { "UsersPerCardLimit" }); } - // TiersExpireIn (string) maxLength - if(this.TiersExpireIn != null && this.TiersExpireIn.Length > 6) - { - yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TiersExpireIn, length must be less than 6.", new [] { "TiersExpireIn" }); - } - // Timezone (string) minLength if(this.Timezone != null && this.Timezone.Length < 1) { diff --git a/src/TalonOne/Model/NewNotificationTest.cs b/src/TalonOne/Model/NewNotificationTest.cs new file mode 100644 index 0000000..650f962 --- /dev/null +++ b/src/TalonOne/Model/NewNotificationTest.cs @@ -0,0 +1,328 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// NewNotificationTest + /// + [DataContract] + public partial class NewNotificationTest : IEquatable, IValidatableObject + { + /// + /// The notification type. + /// + /// The notification type. + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum Campaign for value: campaign + /// + [EnumMember(Value = "campaign")] + Campaign = 1, + + /// + /// Enum Loyaltyaddeddeductedpoints for value: loyalty_added_deducted_points + /// + [EnumMember(Value = "loyalty_added_deducted_points")] + Loyaltyaddeddeductedpoints = 2, + + /// + /// Enum Coupon for value: coupon + /// + [EnumMember(Value = "coupon")] + Coupon = 3, + + /// + /// Enum Expiringcoupons for value: expiring_coupons + /// + [EnumMember(Value = "expiring_coupons")] + Expiringcoupons = 4, + + /// + /// Enum Expiringpoints for value: expiring_points + /// + [EnumMember(Value = "expiring_points")] + Expiringpoints = 5, + + /// + /// Enum Pendingtoactivepoints for value: pending_to_active_points + /// + [EnumMember(Value = "pending_to_active_points")] + Pendingtoactivepoints = 6, + + /// + /// Enum Strikethroughpricing for value: strikethrough_pricing + /// + [EnumMember(Value = "strikethrough_pricing")] + Strikethroughpricing = 7, + + /// + /// Enum Tierdowngrade for value: tier_downgrade + /// + [EnumMember(Value = "tier_downgrade")] + Tierdowngrade = 8, + + /// + /// Enum Tierupgrade for value: tier_upgrade + /// + [EnumMember(Value = "tier_upgrade")] + Tierupgrade = 9, + + /// + /// Enum Tierwilldowngrade for value: tier_will_downgrade + /// + [EnumMember(Value = "tier_will_downgrade")] + Tierwilldowngrade = 10, + + /// + /// Enum Cardexpiringpoints for value: card_expiring_points + /// + [EnumMember(Value = "card_expiring_points")] + Cardexpiringpoints = 11 + + } + + /// + /// The notification type. + /// + /// The notification type. + [DataMember(Name="type", EmitDefaultValue=false)] + public TypeEnum Type { get; set; } + /// + /// API method for this notification. + /// + /// API method for this notification. + [JsonConverter(typeof(StringEnumConverter))] + public enum VerbEnum + { + /// + /// Enum POST for value: POST + /// + [EnumMember(Value = "POST")] + POST = 1, + + /// + /// Enum PUT for value: PUT + /// + [EnumMember(Value = "PUT")] + PUT = 2, + + /// + /// Enum GET for value: GET + /// + [EnumMember(Value = "GET")] + GET = 3, + + /// + /// Enum DELETE for value: DELETE + /// + [EnumMember(Value = "DELETE")] + DELETE = 4, + + /// + /// Enum PATCH for value: PATCH + /// + [EnumMember(Value = "PATCH")] + PATCH = 5 + + } + + /// + /// API method for this notification. + /// + /// API method for this notification. + [DataMember(Name="verb", EmitDefaultValue=false)] + public VerbEnum Verb { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected NewNotificationTest() { } + /// + /// Initializes a new instance of the class. + /// + /// The notification type. (required). + /// Array of query parameters.. + /// List of API HTTP headers for the given webhook-based notification.. + /// API method for this notification. (required). + /// API URL for the given notification. (required). + /// API payload of this notification. (required). + public NewNotificationTest(TypeEnum type = default(TypeEnum), Dictionary queryParams = default(Dictionary), Dictionary headers = default(Dictionary), VerbEnum verb = default(VerbEnum), string url = default(string), string payload = default(string)) + { + this.Type = type; + this.Verb = verb; + // to ensure "url" is required (not null) + this.Url = url ?? throw new ArgumentNullException("url is a required property for NewNotificationTest and cannot be null"); + // to ensure "payload" is required (not null) + this.Payload = payload ?? throw new ArgumentNullException("payload is a required property for NewNotificationTest and cannot be null"); + this.QueryParams = queryParams; + this.Headers = headers; + } + + /// + /// Array of query parameters. + /// + /// Array of query parameters. + [DataMember(Name="queryParams", EmitDefaultValue=false)] + public Dictionary QueryParams { get; set; } + + /// + /// List of API HTTP headers for the given webhook-based notification. + /// + /// List of API HTTP headers for the given webhook-based notification. + [DataMember(Name="headers", EmitDefaultValue=false)] + public Dictionary Headers { get; set; } + + /// + /// API URL for the given notification. + /// + /// API URL for the given notification. + [DataMember(Name="url", EmitDefaultValue=false)] + public string Url { get; set; } + + /// + /// API payload of this notification. + /// + /// API payload of this notification. + [DataMember(Name="payload", EmitDefaultValue=false)] + public string Payload { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class NewNotificationTest {\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" QueryParams: ").Append(QueryParams).Append("\n"); + sb.Append(" Headers: ").Append(Headers).Append("\n"); + sb.Append(" Verb: ").Append(Verb).Append("\n"); + sb.Append(" Url: ").Append(Url).Append("\n"); + sb.Append(" Payload: ").Append(Payload).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as NewNotificationTest); + } + + /// + /// Returns true if NewNotificationTest instances are equal + /// + /// Instance of NewNotificationTest to be compared + /// Boolean + public bool Equals(NewNotificationTest input) + { + if (input == null) + return false; + + return + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ) && + ( + this.QueryParams == input.QueryParams || + this.QueryParams != null && + input.QueryParams != null && + this.QueryParams.SequenceEqual(input.QueryParams) + ) && + ( + this.Headers == input.Headers || + this.Headers != null && + input.Headers != null && + this.Headers.SequenceEqual(input.Headers) + ) && + ( + this.Verb == input.Verb || + this.Verb.Equals(input.Verb) + ) && + ( + this.Url == input.Url || + (this.Url != null && + this.Url.Equals(input.Url)) + ) && + ( + this.Payload == input.Payload || + (this.Payload != null && + this.Payload.Equals(input.Payload)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Type.GetHashCode(); + if (this.QueryParams != null) + hashCode = hashCode * 59 + this.QueryParams.GetHashCode(); + if (this.Headers != null) + hashCode = hashCode * 59 + this.Headers.GetHashCode(); + hashCode = hashCode * 59 + this.Verb.GetHashCode(); + if (this.Url != null) + hashCode = hashCode * 59 + this.Url.GetHashCode(); + if (this.Payload != null) + hashCode = hashCode * 59 + this.Payload.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/NewNotificationWebhook.cs b/src/TalonOne/Model/NewNotificationWebhook.cs index 4999820..414f1bb 100644 --- a/src/TalonOne/Model/NewNotificationWebhook.cs +++ b/src/TalonOne/Model/NewNotificationWebhook.cs @@ -41,12 +41,14 @@ protected NewNotificationWebhook() { } /// /// API URL for the given webhook-based notification. (required). /// List of API HTTP headers for the given webhook-based notification. (required). - public NewNotificationWebhook(string url = default(string), List headers = default(List)) + /// Indicates whether the notification is activated. (default to true). + public NewNotificationWebhook(string url = default(string), List headers = default(List), bool enabled = true) { // to ensure "url" is required (not null) this.Url = url ?? throw new ArgumentNullException("url is a required property for NewNotificationWebhook and cannot be null"); // to ensure "headers" is required (not null) this.Headers = headers ?? throw new ArgumentNullException("headers is a required property for NewNotificationWebhook and cannot be null"); + this.Enabled = enabled; } /// @@ -63,6 +65,13 @@ protected NewNotificationWebhook() { } [DataMember(Name="headers", EmitDefaultValue=false)] public List Headers { get; set; } + /// + /// Indicates whether the notification is activated. + /// + /// Indicates whether the notification is activated. + [DataMember(Name="enabled", EmitDefaultValue=false)] + public bool Enabled { get; set; } + /// /// Returns the string presentation of the object /// @@ -73,6 +82,7 @@ public override string ToString() sb.Append("class NewNotificationWebhook {\n"); sb.Append(" Url: ").Append(Url).Append("\n"); sb.Append(" Headers: ").Append(Headers).Append("\n"); + sb.Append(" Enabled: ").Append(Enabled).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -117,6 +127,10 @@ public bool Equals(NewNotificationWebhook input) this.Headers != null && input.Headers != null && this.Headers.SequenceEqual(input.Headers) + ) && + ( + this.Enabled == input.Enabled || + this.Enabled.Equals(input.Enabled) ); } @@ -133,6 +147,7 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Url.GetHashCode(); if (this.Headers != null) hashCode = hashCode * 59 + this.Headers.GetHashCode(); + hashCode = hashCode * 59 + this.Enabled.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/NewPicklist.cs b/src/TalonOne/Model/NewPicklist.cs index cdaeaa4..e9df25c 100644 --- a/src/TalonOne/Model/NewPicklist.cs +++ b/src/TalonOne/Model/NewPicklist.cs @@ -32,9 +32,9 @@ namespace TalonOne.Model public partial class NewPicklist : IEquatable, IValidatableObject { /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -65,9 +65,9 @@ public enum TypeEnum } /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. [DataMember(Name="type", EmitDefaultValue=false)] public TypeEnum Type { get; set; } /// @@ -78,7 +78,7 @@ protected NewPicklist() { } /// /// Initializes a new instance of the class. /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. (required). + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. (required). /// The list of allowed values provided by this picklist. (required). public NewPicklist(TypeEnum type = default(TypeEnum), List values = default(List)) { diff --git a/src/TalonOne/Model/NewRoleV2.cs b/src/TalonOne/Model/NewRoleV2.cs index dbc8315..486de85 100644 --- a/src/TalonOne/Model/NewRoleV2.cs +++ b/src/TalonOne/Model/NewRoleV2.cs @@ -41,16 +41,14 @@ protected NewRoleV2() { } /// /// Name of the role. (required). /// Description of the role. (required). - /// Indicates whether the role grants admin permissions.. /// permissions. - /// A list of user identifiers the role is assigned to.. - public NewRoleV2(string name = default(string), string description = default(string), bool isAdmin = default(bool), RoleV2Permissions permissions = default(RoleV2Permissions), List members = default(List)) + /// A list of user IDs the role is assigned to.. + public NewRoleV2(string name = default(string), string description = default(string), RoleV2Permissions permissions = default(RoleV2Permissions), List members = default(List)) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for NewRoleV2 and cannot be null"); // to ensure "description" is required (not null) this.Description = description ?? throw new ArgumentNullException("description is a required property for NewRoleV2 and cannot be null"); - this.IsAdmin = isAdmin; this.Permissions = permissions; this.Members = members; } @@ -69,13 +67,6 @@ protected NewRoleV2() { } [DataMember(Name="description", EmitDefaultValue=false)] public string Description { get; set; } - /// - /// Indicates whether the role grants admin permissions. - /// - /// Indicates whether the role grants admin permissions. - [DataMember(Name="isAdmin", EmitDefaultValue=false)] - public bool IsAdmin { get; set; } - /// /// Gets or Sets Permissions /// @@ -83,9 +74,9 @@ protected NewRoleV2() { } public RoleV2Permissions Permissions { get; set; } /// - /// A list of user identifiers the role is assigned to. + /// A list of user IDs the role is assigned to. /// - /// A list of user identifiers the role is assigned to. + /// A list of user IDs the role is assigned to. [DataMember(Name="members", EmitDefaultValue=false)] public List Members { get; set; } @@ -99,7 +90,6 @@ public override string ToString() sb.Append("class NewRoleV2 {\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" Description: ").Append(Description).Append("\n"); - sb.Append(" IsAdmin: ").Append(IsAdmin).Append("\n"); sb.Append(" Permissions: ").Append(Permissions).Append("\n"); sb.Append(" Members: ").Append(Members).Append("\n"); sb.Append("}\n"); @@ -146,10 +136,6 @@ public bool Equals(NewRoleV2 input) (this.Description != null && this.Description.Equals(input.Description)) ) && - ( - this.IsAdmin == input.IsAdmin || - this.IsAdmin.Equals(input.IsAdmin) - ) && ( this.Permissions == input.Permissions || (this.Permissions != null && @@ -176,7 +162,6 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Name.GetHashCode(); if (this.Description != null) hashCode = hashCode * 59 + this.Description.GetHashCode(); - hashCode = hashCode * 59 + this.IsAdmin.GetHashCode(); if (this.Permissions != null) hashCode = hashCode * 59 + this.Permissions.GetHashCode(); if (this.Members != null) diff --git a/src/TalonOne/Model/NewStore.cs b/src/TalonOne/Model/NewStore.cs new file mode 100644 index 0000000..de6268d --- /dev/null +++ b/src/TalonOne/Model/NewStore.cs @@ -0,0 +1,209 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// NewStore + /// + [DataContract] + public partial class NewStore : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected NewStore() { } + /// + /// Initializes a new instance of the class. + /// + /// The name of the store. (required). + /// The description of the store. (required). + /// The attributes of the store.. + /// The integration ID of the store. You choose this ID when you create a store. **Note**: You cannot edit the `integrationId` after the store has been created. (required). + public NewStore(string name = default(string), string description = default(string), Object attributes = default(Object), string integrationId = default(string)) + { + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for NewStore and cannot be null"); + // to ensure "description" is required (not null) + this.Description = description ?? throw new ArgumentNullException("description is a required property for NewStore and cannot be null"); + // to ensure "integrationId" is required (not null) + this.IntegrationId = integrationId ?? throw new ArgumentNullException("integrationId is a required property for NewStore and cannot be null"); + this.Attributes = attributes; + } + + /// + /// The name of the store. + /// + /// The name of the store. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// The description of the store. + /// + /// The description of the store. + [DataMember(Name="description", EmitDefaultValue=false)] + public string Description { get; set; } + + /// + /// The attributes of the store. + /// + /// The attributes of the store. + [DataMember(Name="attributes", EmitDefaultValue=false)] + public Object Attributes { get; set; } + + /// + /// The integration ID of the store. You choose this ID when you create a store. **Note**: You cannot edit the `integrationId` after the store has been created. + /// + /// The integration ID of the store. You choose this ID when you create a store. **Note**: You cannot edit the `integrationId` after the store has been created. + [DataMember(Name="integrationId", EmitDefaultValue=false)] + public string IntegrationId { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class NewStore {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Attributes: ").Append(Attributes).Append("\n"); + sb.Append(" IntegrationId: ").Append(IntegrationId).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as NewStore); + } + + /// + /// Returns true if NewStore instances are equal + /// + /// Instance of NewStore to be compared + /// Boolean + public bool Equals(NewStore input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.Description == input.Description || + (this.Description != null && + this.Description.Equals(input.Description)) + ) && + ( + this.Attributes == input.Attributes || + (this.Attributes != null && + this.Attributes.Equals(input.Attributes)) + ) && + ( + this.IntegrationId == input.IntegrationId || + (this.IntegrationId != null && + this.IntegrationId.Equals(input.IntegrationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.Description != null) + hashCode = hashCode * 59 + this.Description.GetHashCode(); + if (this.Attributes != null) + hashCode = hashCode * 59 + this.Attributes.GetHashCode(); + if (this.IntegrationId != null) + hashCode = hashCode * 59 + this.IntegrationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 200) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 200.", new [] { "Name" }); + } + + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + // IntegrationId (string) maxLength + if(this.IntegrationId != null && this.IntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for IntegrationId, length must be less than 1000.", new [] { "IntegrationId" }); + } + + // IntegrationId (string) minLength + if(this.IntegrationId != null && this.IntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for IntegrationId, length must be greater than 1.", new [] { "IntegrationId" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/NewUser.cs b/src/TalonOne/Model/NewUser.cs index 0215ca2..46eff28 100644 --- a/src/TalonOne/Model/NewUser.cs +++ b/src/TalonOne/Model/NewUser.cs @@ -39,7 +39,7 @@ protected NewUser() { } /// /// Initializes a new instance of the class. /// - /// The email address associated with your account. (required). + /// The email address associated with the user profile. (required). /// The password for your account. (required). /// Your name.. /// inviteToken (required). @@ -55,9 +55,9 @@ protected NewUser() { } } /// - /// The email address associated with your account. + /// The email address associated with the user profile. /// - /// The email address associated with your account. + /// The email address associated with the user profile. [DataMember(Name="email", EmitDefaultValue=false)] public string Email { get; set; } diff --git a/src/TalonOne/Model/NotificationActivation.cs b/src/TalonOne/Model/NotificationActivation.cs new file mode 100644 index 0000000..7cccc93 --- /dev/null +++ b/src/TalonOne/Model/NotificationActivation.cs @@ -0,0 +1,129 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// NotificationActivation + /// + [DataContract] + public partial class NotificationActivation : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected NotificationActivation() { } + /// + /// Initializes a new instance of the class. + /// + /// Indicates whether the notification is activated. (required). + public NotificationActivation(bool enabled = default(bool)) + { + this.Enabled = enabled; + } + + /// + /// Indicates whether the notification is activated. + /// + /// Indicates whether the notification is activated. + [DataMember(Name="enabled", EmitDefaultValue=false)] + public bool Enabled { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class NotificationActivation {\n"); + sb.Append(" Enabled: ").Append(Enabled).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as NotificationActivation); + } + + /// + /// Returns true if NotificationActivation instances are equal + /// + /// Instance of NotificationActivation to be compared + /// Boolean + public bool Equals(NotificationActivation input) + { + if (input == null) + return false; + + return + ( + this.Enabled == input.Enabled || + this.Enabled.Equals(input.Enabled) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Enabled.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/NotificationListItem.cs b/src/TalonOne/Model/NotificationListItem.cs new file mode 100644 index 0000000..1f99028 --- /dev/null +++ b/src/TalonOne/Model/NotificationListItem.cs @@ -0,0 +1,177 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// NotificationListItem + /// + [DataContract] + public partial class NotificationListItem : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected NotificationListItem() { } + /// + /// Initializes a new instance of the class. + /// + /// The ID of the notification. (required). + /// The name of the notification. (required). + /// The ID of the entity to which this notification belongs. For example, in case of a loyalty notification, this value is the ID of the loyalty program. (required). + /// Indicates whether the notification is activated. (required). + public NotificationListItem(int notificationId = default(int), string notificationName = default(string), int entityId = default(int), bool enabled = default(bool)) + { + this.NotificationId = notificationId; + // to ensure "notificationName" is required (not null) + this.NotificationName = notificationName ?? throw new ArgumentNullException("notificationName is a required property for NotificationListItem and cannot be null"); + this.EntityId = entityId; + this.Enabled = enabled; + } + + /// + /// The ID of the notification. + /// + /// The ID of the notification. + [DataMember(Name="notificationId", EmitDefaultValue=false)] + public int NotificationId { get; set; } + + /// + /// The name of the notification. + /// + /// The name of the notification. + [DataMember(Name="notificationName", EmitDefaultValue=false)] + public string NotificationName { get; set; } + + /// + /// The ID of the entity to which this notification belongs. For example, in case of a loyalty notification, this value is the ID of the loyalty program. + /// + /// The ID of the entity to which this notification belongs. For example, in case of a loyalty notification, this value is the ID of the loyalty program. + [DataMember(Name="entityId", EmitDefaultValue=false)] + public int EntityId { get; set; } + + /// + /// Indicates whether the notification is activated. + /// + /// Indicates whether the notification is activated. + [DataMember(Name="enabled", EmitDefaultValue=false)] + public bool Enabled { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class NotificationListItem {\n"); + sb.Append(" NotificationId: ").Append(NotificationId).Append("\n"); + sb.Append(" NotificationName: ").Append(NotificationName).Append("\n"); + sb.Append(" EntityId: ").Append(EntityId).Append("\n"); + sb.Append(" Enabled: ").Append(Enabled).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as NotificationListItem); + } + + /// + /// Returns true if NotificationListItem instances are equal + /// + /// Instance of NotificationListItem to be compared + /// Boolean + public bool Equals(NotificationListItem input) + { + if (input == null) + return false; + + return + ( + this.NotificationId == input.NotificationId || + this.NotificationId.Equals(input.NotificationId) + ) && + ( + this.NotificationName == input.NotificationName || + (this.NotificationName != null && + this.NotificationName.Equals(input.NotificationName)) + ) && + ( + this.EntityId == input.EntityId || + this.EntityId.Equals(input.EntityId) + ) && + ( + this.Enabled == input.Enabled || + this.Enabled.Equals(input.Enabled) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.NotificationId.GetHashCode(); + if (this.NotificationName != null) + hashCode = hashCode * 59 + this.NotificationName.GetHashCode(); + hashCode = hashCode * 59 + this.EntityId.GetHashCode(); + hashCode = hashCode * 59 + this.Enabled.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/NotificationTest.cs b/src/TalonOne/Model/NotificationTest.cs new file mode 100644 index 0000000..912f144 --- /dev/null +++ b/src/TalonOne/Model/NotificationTest.cs @@ -0,0 +1,147 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// NotificationTest + /// + [DataContract] + public partial class NotificationTest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected NotificationTest() { } + /// + /// Initializes a new instance of the class. + /// + /// The returned http response. (required). + /// The returned http status code. (required). + public NotificationTest(string httpResponse = default(string), int httpStatus = default(int)) + { + // to ensure "httpResponse" is required (not null) + this.HttpResponse = httpResponse ?? throw new ArgumentNullException("httpResponse is a required property for NotificationTest and cannot be null"); + this.HttpStatus = httpStatus; + } + + /// + /// The returned http response. + /// + /// The returned http response. + [DataMember(Name="httpResponse", EmitDefaultValue=false)] + public string HttpResponse { get; set; } + + /// + /// The returned http status code. + /// + /// The returned http status code. + [DataMember(Name="httpStatus", EmitDefaultValue=false)] + public int HttpStatus { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class NotificationTest {\n"); + sb.Append(" HttpResponse: ").Append(HttpResponse).Append("\n"); + sb.Append(" HttpStatus: ").Append(HttpStatus).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as NotificationTest); + } + + /// + /// Returns true if NotificationTest instances are equal + /// + /// Instance of NotificationTest to be compared + /// Boolean + public bool Equals(NotificationTest input) + { + if (input == null) + return false; + + return + ( + this.HttpResponse == input.HttpResponse || + (this.HttpResponse != null && + this.HttpResponse.Equals(input.HttpResponse)) + ) && + ( + this.HttpStatus == input.HttpStatus || + this.HttpStatus.Equals(input.HttpStatus) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.HttpResponse != null) + hashCode = hashCode * 59 + this.HttpResponse.GetHashCode(); + hashCode = hashCode * 59 + this.HttpStatus.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/OneTimeCode.cs b/src/TalonOne/Model/OneTimeCode.cs new file mode 100644 index 0000000..1997654 --- /dev/null +++ b/src/TalonOne/Model/OneTimeCode.cs @@ -0,0 +1,179 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// OneTimeCode + /// + [DataContract] + public partial class OneTimeCode : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected OneTimeCode() { } + /// + /// Initializes a new instance of the class. + /// + /// The ID of the user. (required). + /// The ID of the account. (required). + /// The two-factor authentication token created during sign-in. This token is used to ensure that the correct user is trying to sign in with a given one-time security code. (required). + /// The one-time security code used for signing in.. + public OneTimeCode(int userId = default(int), int accountId = default(int), string token = default(string), string code = default(string)) + { + this.UserId = userId; + this.AccountId = accountId; + // to ensure "token" is required (not null) + this.Token = token ?? throw new ArgumentNullException("token is a required property for OneTimeCode and cannot be null"); + this.Code = code; + } + + /// + /// The ID of the user. + /// + /// The ID of the user. + [DataMember(Name="userId", EmitDefaultValue=false)] + public int UserId { get; set; } + + /// + /// The ID of the account. + /// + /// The ID of the account. + [DataMember(Name="accountId", EmitDefaultValue=false)] + public int AccountId { get; set; } + + /// + /// The two-factor authentication token created during sign-in. This token is used to ensure that the correct user is trying to sign in with a given one-time security code. + /// + /// The two-factor authentication token created during sign-in. This token is used to ensure that the correct user is trying to sign in with a given one-time security code. + [DataMember(Name="token", EmitDefaultValue=false)] + public string Token { get; set; } + + /// + /// The one-time security code used for signing in. + /// + /// The one-time security code used for signing in. + [DataMember(Name="code", EmitDefaultValue=false)] + public string Code { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class OneTimeCode {\n"); + sb.Append(" UserId: ").Append(UserId).Append("\n"); + sb.Append(" AccountId: ").Append(AccountId).Append("\n"); + sb.Append(" Token: ").Append(Token).Append("\n"); + sb.Append(" Code: ").Append(Code).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as OneTimeCode); + } + + /// + /// Returns true if OneTimeCode instances are equal + /// + /// Instance of OneTimeCode to be compared + /// Boolean + public bool Equals(OneTimeCode input) + { + if (input == null) + return false; + + return + ( + this.UserId == input.UserId || + this.UserId.Equals(input.UserId) + ) && + ( + this.AccountId == input.AccountId || + this.AccountId.Equals(input.AccountId) + ) && + ( + this.Token == input.Token || + (this.Token != null && + this.Token.Equals(input.Token)) + ) && + ( + this.Code == input.Code || + (this.Code != null && + this.Code.Equals(input.Code)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.UserId.GetHashCode(); + hashCode = hashCode * 59 + this.AccountId.GetHashCode(); + if (this.Token != null) + hashCode = hashCode * 59 + this.Token.GetHashCode(); + if (this.Code != null) + hashCode = hashCode * 59 + this.Code.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/OutgoingIntegrationCleverTapPolicy.cs b/src/TalonOne/Model/OutgoingIntegrationCleverTapPolicy.cs new file mode 100644 index 0000000..1eb8155 --- /dev/null +++ b/src/TalonOne/Model/OutgoingIntegrationCleverTapPolicy.cs @@ -0,0 +1,168 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// OutgoingIntegrationCleverTapPolicy + /// + [DataContract] + public partial class OutgoingIntegrationCleverTapPolicy : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected OutgoingIntegrationCleverTapPolicy() { } + /// + /// Initializes a new instance of the class. + /// + /// The base URL that is based on the region key of your CleverTap account. (required). + /// The CleverTap Project ID. (required). + /// The CleverTap Project passcode. (required). + public OutgoingIntegrationCleverTapPolicy(string baseUrl = default(string), string accountId = default(string), string passcode = default(string)) + { + // to ensure "baseUrl" is required (not null) + this.BaseUrl = baseUrl ?? throw new ArgumentNullException("baseUrl is a required property for OutgoingIntegrationCleverTapPolicy and cannot be null"); + // to ensure "accountId" is required (not null) + this.AccountId = accountId ?? throw new ArgumentNullException("accountId is a required property for OutgoingIntegrationCleverTapPolicy and cannot be null"); + // to ensure "passcode" is required (not null) + this.Passcode = passcode ?? throw new ArgumentNullException("passcode is a required property for OutgoingIntegrationCleverTapPolicy and cannot be null"); + } + + /// + /// The base URL that is based on the region key of your CleverTap account. + /// + /// The base URL that is based on the region key of your CleverTap account. + [DataMember(Name="baseUrl", EmitDefaultValue=false)] + public string BaseUrl { get; set; } + + /// + /// The CleverTap Project ID. + /// + /// The CleverTap Project ID. + [DataMember(Name="accountId", EmitDefaultValue=false)] + public string AccountId { get; set; } + + /// + /// The CleverTap Project passcode. + /// + /// The CleverTap Project passcode. + [DataMember(Name="passcode", EmitDefaultValue=false)] + public string Passcode { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class OutgoingIntegrationCleverTapPolicy {\n"); + sb.Append(" BaseUrl: ").Append(BaseUrl).Append("\n"); + sb.Append(" AccountId: ").Append(AccountId).Append("\n"); + sb.Append(" Passcode: ").Append(Passcode).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as OutgoingIntegrationCleverTapPolicy); + } + + /// + /// Returns true if OutgoingIntegrationCleverTapPolicy instances are equal + /// + /// Instance of OutgoingIntegrationCleverTapPolicy to be compared + /// Boolean + public bool Equals(OutgoingIntegrationCleverTapPolicy input) + { + if (input == null) + return false; + + return + ( + this.BaseUrl == input.BaseUrl || + (this.BaseUrl != null && + this.BaseUrl.Equals(input.BaseUrl)) + ) && + ( + this.AccountId == input.AccountId || + (this.AccountId != null && + this.AccountId.Equals(input.AccountId)) + ) && + ( + this.Passcode == input.Passcode || + (this.Passcode != null && + this.Passcode.Equals(input.Passcode)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.BaseUrl != null) + hashCode = hashCode * 59 + this.BaseUrl.GetHashCode(); + if (this.AccountId != null) + hashCode = hashCode * 59 + this.AccountId.GetHashCode(); + if (this.Passcode != null) + hashCode = hashCode * 59 + this.Passcode.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/OutgoingIntegrationIterablePolicy.cs b/src/TalonOne/Model/OutgoingIntegrationIterablePolicy.cs new file mode 100644 index 0000000..fce3555 --- /dev/null +++ b/src/TalonOne/Model/OutgoingIntegrationIterablePolicy.cs @@ -0,0 +1,150 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// OutgoingIntegrationIterablePolicy + /// + [DataContract] + public partial class OutgoingIntegrationIterablePolicy : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected OutgoingIntegrationIterablePolicy() { } + /// + /// Initializes a new instance of the class. + /// + /// The base URL that is based on the region key of your Iterable account. (required). + /// The API key generated from your Iterable account. See [Iterable API Key Guide](https://support.iterable.com/hc/en-us/articles/360043464871-API-Keys-) (required). + public OutgoingIntegrationIterablePolicy(string baseUrl = default(string), string apiKey = default(string)) + { + // to ensure "baseUrl" is required (not null) + this.BaseUrl = baseUrl ?? throw new ArgumentNullException("baseUrl is a required property for OutgoingIntegrationIterablePolicy and cannot be null"); + // to ensure "apiKey" is required (not null) + this.ApiKey = apiKey ?? throw new ArgumentNullException("apiKey is a required property for OutgoingIntegrationIterablePolicy and cannot be null"); + } + + /// + /// The base URL that is based on the region key of your Iterable account. + /// + /// The base URL that is based on the region key of your Iterable account. + [DataMember(Name="baseUrl", EmitDefaultValue=false)] + public string BaseUrl { get; set; } + + /// + /// The API key generated from your Iterable account. See [Iterable API Key Guide](https://support.iterable.com/hc/en-us/articles/360043464871-API-Keys-) + /// + /// The API key generated from your Iterable account. See [Iterable API Key Guide](https://support.iterable.com/hc/en-us/articles/360043464871-API-Keys-) + [DataMember(Name="apiKey", EmitDefaultValue=false)] + public string ApiKey { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class OutgoingIntegrationIterablePolicy {\n"); + sb.Append(" BaseUrl: ").Append(BaseUrl).Append("\n"); + sb.Append(" ApiKey: ").Append(ApiKey).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as OutgoingIntegrationIterablePolicy); + } + + /// + /// Returns true if OutgoingIntegrationIterablePolicy instances are equal + /// + /// Instance of OutgoingIntegrationIterablePolicy to be compared + /// Boolean + public bool Equals(OutgoingIntegrationIterablePolicy input) + { + if (input == null) + return false; + + return + ( + this.BaseUrl == input.BaseUrl || + (this.BaseUrl != null && + this.BaseUrl.Equals(input.BaseUrl)) + ) && + ( + this.ApiKey == input.ApiKey || + (this.ApiKey != null && + this.ApiKey.Equals(input.ApiKey)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.BaseUrl != null) + hashCode = hashCode * 59 + this.BaseUrl.GetHashCode(); + if (this.ApiKey != null) + hashCode = hashCode * 59 + this.ApiKey.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/OutgoingIntegrationMoEngagePolicy.cs b/src/TalonOne/Model/OutgoingIntegrationMoEngagePolicy.cs new file mode 100644 index 0000000..0bb17ed --- /dev/null +++ b/src/TalonOne/Model/OutgoingIntegrationMoEngagePolicy.cs @@ -0,0 +1,186 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// OutgoingIntegrationMoEngagePolicy + /// + [DataContract] + public partial class OutgoingIntegrationMoEngagePolicy : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected OutgoingIntegrationMoEngagePolicy() { } + /// + /// Initializes a new instance of the class. + /// + /// The base URL of your MoEngage deployment, containing the MoEngage data center number (represented by `0X`). (required). + /// MoEngage APP ID. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). (required). + /// MoEngage DATA API ID. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). (required). + /// MoEngage DATA API Key. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). (required). + public OutgoingIntegrationMoEngagePolicy(string baseUrl = default(string), string appId = default(string), string dataApiId = default(string), string dataApiKey = default(string)) + { + // to ensure "baseUrl" is required (not null) + this.BaseUrl = baseUrl ?? throw new ArgumentNullException("baseUrl is a required property for OutgoingIntegrationMoEngagePolicy and cannot be null"); + // to ensure "appId" is required (not null) + this.AppId = appId ?? throw new ArgumentNullException("appId is a required property for OutgoingIntegrationMoEngagePolicy and cannot be null"); + // to ensure "dataApiId" is required (not null) + this.DataApiId = dataApiId ?? throw new ArgumentNullException("dataApiId is a required property for OutgoingIntegrationMoEngagePolicy and cannot be null"); + // to ensure "dataApiKey" is required (not null) + this.DataApiKey = dataApiKey ?? throw new ArgumentNullException("dataApiKey is a required property for OutgoingIntegrationMoEngagePolicy and cannot be null"); + } + + /// + /// The base URL of your MoEngage deployment, containing the MoEngage data center number (represented by `0X`). + /// + /// The base URL of your MoEngage deployment, containing the MoEngage data center number (represented by `0X`). + [DataMember(Name="baseUrl", EmitDefaultValue=false)] + public string BaseUrl { get; set; } + + /// + /// MoEngage APP ID. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). + /// + /// MoEngage APP ID. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). + [DataMember(Name="appId", EmitDefaultValue=false)] + public string AppId { get; set; } + + /// + /// MoEngage DATA API ID. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). + /// + /// MoEngage DATA API ID. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). + [DataMember(Name="dataApiId", EmitDefaultValue=false)] + public string DataApiId { get; set; } + + /// + /// MoEngage DATA API Key. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). + /// + /// MoEngage DATA API Key. See [MoEngage Developer Guide](https://developers.moengage.com/hc/en-us/articles/4404674776724-Overview). + [DataMember(Name="dataApiKey", EmitDefaultValue=false)] + public string DataApiKey { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class OutgoingIntegrationMoEngagePolicy {\n"); + sb.Append(" BaseUrl: ").Append(BaseUrl).Append("\n"); + sb.Append(" AppId: ").Append(AppId).Append("\n"); + sb.Append(" DataApiId: ").Append(DataApiId).Append("\n"); + sb.Append(" DataApiKey: ").Append(DataApiKey).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as OutgoingIntegrationMoEngagePolicy); + } + + /// + /// Returns true if OutgoingIntegrationMoEngagePolicy instances are equal + /// + /// Instance of OutgoingIntegrationMoEngagePolicy to be compared + /// Boolean + public bool Equals(OutgoingIntegrationMoEngagePolicy input) + { + if (input == null) + return false; + + return + ( + this.BaseUrl == input.BaseUrl || + (this.BaseUrl != null && + this.BaseUrl.Equals(input.BaseUrl)) + ) && + ( + this.AppId == input.AppId || + (this.AppId != null && + this.AppId.Equals(input.AppId)) + ) && + ( + this.DataApiId == input.DataApiId || + (this.DataApiId != null && + this.DataApiId.Equals(input.DataApiId)) + ) && + ( + this.DataApiKey == input.DataApiKey || + (this.DataApiKey != null && + this.DataApiKey.Equals(input.DataApiKey)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.BaseUrl != null) + hashCode = hashCode * 59 + this.BaseUrl.GetHashCode(); + if (this.AppId != null) + hashCode = hashCode * 59 + this.AppId.GetHashCode(); + if (this.DataApiId != null) + hashCode = hashCode * 59 + this.DataApiId.GetHashCode(); + if (this.DataApiKey != null) + hashCode = hashCode * 59 + this.DataApiKey.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/PatchItemCatalogAction.cs b/src/TalonOne/Model/PatchItemCatalogAction.cs index 0f4e95c..121edfb 100644 --- a/src/TalonOne/Model/PatchItemCatalogAction.cs +++ b/src/TalonOne/Model/PatchItemCatalogAction.cs @@ -26,7 +26,7 @@ namespace TalonOne.Model { /// - /// The specific properties of the \"PATCH\" catalog sync action. + /// The specific properties of the \"PATCH\" catalog sync action. **Note:** - If you do not provide a new `price` value, the existing `price` value is retained. - If you do not provide a new `product` value, the `product` value is set to `null`. /// [DataContract] public partial class PatchItemCatalogAction : IEquatable, IValidatableObject @@ -42,13 +42,15 @@ protected PatchItemCatalogAction() { } /// The unique SKU of the item to patch. (required). /// Price of the item.. /// The attributes of the item to patch.. + /// product. /// Indicates whether to create an item if the SKU does not exist. (default to false). - public PatchItemCatalogAction(string sku = default(string), decimal price = default(decimal), Object attributes = default(Object), bool createIfNotExists = false) + public PatchItemCatalogAction(string sku = default(string), decimal price = default(decimal), Object attributes = default(Object), Product product = default(Product), bool createIfNotExists = false) { // to ensure "sku" is required (not null) this.Sku = sku ?? throw new ArgumentNullException("sku is a required property for PatchItemCatalogAction and cannot be null"); this.Price = price; this.Attributes = attributes; + this.Product = product; this.CreateIfNotExists = createIfNotExists; } @@ -63,7 +65,7 @@ protected PatchItemCatalogAction() { } /// Price of the item. /// /// Price of the item. - [DataMember(Name="price", EmitDefaultValue=true)] + [DataMember(Name="price", EmitDefaultValue=false)] public decimal Price { get; set; } /// @@ -73,6 +75,12 @@ protected PatchItemCatalogAction() { } [DataMember(Name="attributes", EmitDefaultValue=false)] public Object Attributes { get; set; } + /// + /// Gets or Sets Product + /// + [DataMember(Name="product", EmitDefaultValue=false)] + public Product Product { get; set; } + /// /// Indicates whether to create an item if the SKU does not exist. /// @@ -91,6 +99,7 @@ public override string ToString() sb.Append(" Sku: ").Append(Sku).Append("\n"); sb.Append(" Price: ").Append(Price).Append("\n"); sb.Append(" Attributes: ").Append(Attributes).Append("\n"); + sb.Append(" Product: ").Append(Product).Append("\n"); sb.Append(" CreateIfNotExists: ").Append(CreateIfNotExists).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -140,6 +149,11 @@ public bool Equals(PatchItemCatalogAction input) (this.Attributes != null && this.Attributes.Equals(input.Attributes)) ) && + ( + this.Product == input.Product || + (this.Product != null && + this.Product.Equals(input.Product)) + ) && ( this.CreateIfNotExists == input.CreateIfNotExists || this.CreateIfNotExists.Equals(input.CreateIfNotExists) @@ -160,6 +174,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Price.GetHashCode(); if (this.Attributes != null) hashCode = hashCode * 59 + this.Attributes.GetHashCode(); + if (this.Product != null) + hashCode = hashCode * 59 + this.Product.GetHashCode(); hashCode = hashCode * 59 + this.CreateIfNotExists.GetHashCode(); return hashCode; } diff --git a/src/TalonOne/Model/PatchManyItemsCatalogAction.cs b/src/TalonOne/Model/PatchManyItemsCatalogAction.cs index 016f05a..766ffc0 100644 --- a/src/TalonOne/Model/PatchManyItemsCatalogAction.cs +++ b/src/TalonOne/Model/PatchManyItemsCatalogAction.cs @@ -48,7 +48,7 @@ public partial class PatchManyItemsCatalogAction : IEquatable /// Price of the item. - [DataMember(Name="price", EmitDefaultValue=true)] + [DataMember(Name="price", EmitDefaultValue=false)] public decimal Price { get; set; } /// diff --git a/src/TalonOne/Model/PendingPointsNotificationPolicy.cs b/src/TalonOne/Model/PendingPointsNotificationPolicy.cs index 1264d74..c2107fe 100644 --- a/src/TalonOne/Model/PendingPointsNotificationPolicy.cs +++ b/src/TalonOne/Model/PendingPointsNotificationPolicy.cs @@ -40,10 +40,12 @@ protected PendingPointsNotificationPolicy() { } /// Initializes a new instance of the class. /// /// Notification name. (required). - public PendingPointsNotificationPolicy(string name = default(string)) + /// Indicates whether batching is activated. (default to true). + public PendingPointsNotificationPolicy(string name = default(string), bool batchingEnabled = true) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for PendingPointsNotificationPolicy and cannot be null"); + this.BatchingEnabled = batchingEnabled; } /// @@ -53,6 +55,13 @@ protected PendingPointsNotificationPolicy() { } [DataMember(Name="name", EmitDefaultValue=false)] public string Name { get; set; } + /// + /// Indicates whether batching is activated. + /// + /// Indicates whether batching is activated. + [DataMember(Name="batchingEnabled", EmitDefaultValue=false)] + public bool BatchingEnabled { get; set; } + /// /// Returns the string presentation of the object /// @@ -62,6 +71,7 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class PendingPointsNotificationPolicy {\n"); sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" BatchingEnabled: ").Append(BatchingEnabled).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -100,6 +110,10 @@ public bool Equals(PendingPointsNotificationPolicy input) this.Name == input.Name || (this.Name != null && this.Name.Equals(input.Name)) + ) && + ( + this.BatchingEnabled == input.BatchingEnabled || + this.BatchingEnabled.Equals(input.BatchingEnabled) ); } @@ -114,6 +128,7 @@ public override int GetHashCode() int hashCode = 41; if (this.Name != null) hashCode = hashCode * 59 + this.Name.GetHashCode(); + hashCode = hashCode * 59 + this.BatchingEnabled.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/Picklist.cs b/src/TalonOne/Model/Picklist.cs index 0876d18..90d8a9c 100644 --- a/src/TalonOne/Model/Picklist.cs +++ b/src/TalonOne/Model/Picklist.cs @@ -32,9 +32,9 @@ namespace TalonOne.Model public partial class Picklist : IEquatable, IValidatableObject { /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -65,9 +65,9 @@ public enum TypeEnum } /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. [DataMember(Name="type", EmitDefaultValue=false)] public TypeEnum Type { get; set; } /// @@ -80,7 +80,7 @@ protected Picklist() { } /// /// Internal ID of this entity. (required). /// The time this entity was created. (required). - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. (required). + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. (required). /// The list of allowed values provided by this picklist. (required). /// ID of the user who last updated this effect if available.. /// ID of the user who created this effect. (required). diff --git a/src/TalonOne/Model/Product.cs b/src/TalonOne/Model/Product.cs new file mode 100644 index 0000000..cbff01a --- /dev/null +++ b/src/TalonOne/Model/Product.cs @@ -0,0 +1,138 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The specific properties of the product this item belongs to, if available. + /// + [DataContract] + public partial class Product : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Product() { } + /// + /// Initializes a new instance of the class. + /// + /// The name of the product. (required). + public Product(string name = default(string)) + { + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for Product and cannot be null"); + } + + /// + /// The name of the product. + /// + /// The name of the product. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class Product {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as Product); + } + + /// + /// Returns true if Product instances are equal + /// + /// Instance of Product to be compared + /// Boolean + public bool Equals(Product input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 50) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 50.", new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/RemoveFromAudienceEffectProps.cs b/src/TalonOne/Model/RemoveFromAudienceEffectProps.cs new file mode 100644 index 0000000..835df1b --- /dev/null +++ b/src/TalonOne/Model/RemoveFromAudienceEffectProps.cs @@ -0,0 +1,173 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The properties specific to the \"removeFromAudience\" effect. This gets triggered whenever a validated rule contains a \"removeFromAudience\" effect. + /// + [DataContract] + public partial class RemoveFromAudienceEffectProps : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The internal ID of the audience.. + /// The name of the audience.. + /// The ID of the customer profile in the third-party integration platform.. + /// The internal ID of the customer profile.. + public RemoveFromAudienceEffectProps(int audienceId = default(int), string audienceName = default(string), string profileIntegrationId = default(string), int profileId = default(int)) + { + this.AudienceId = audienceId; + this.AudienceName = audienceName; + this.ProfileIntegrationId = profileIntegrationId; + this.ProfileId = profileId; + } + + /// + /// The internal ID of the audience. + /// + /// The internal ID of the audience. + [DataMember(Name="audienceId", EmitDefaultValue=false)] + public int AudienceId { get; set; } + + /// + /// The name of the audience. + /// + /// The name of the audience. + [DataMember(Name="audienceName", EmitDefaultValue=false)] + public string AudienceName { get; set; } + + /// + /// The ID of the customer profile in the third-party integration platform. + /// + /// The ID of the customer profile in the third-party integration platform. + [DataMember(Name="profileIntegrationId", EmitDefaultValue=false)] + public string ProfileIntegrationId { get; set; } + + /// + /// The internal ID of the customer profile. + /// + /// The internal ID of the customer profile. + [DataMember(Name="profileId", EmitDefaultValue=false)] + public int ProfileId { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class RemoveFromAudienceEffectProps {\n"); + sb.Append(" AudienceId: ").Append(AudienceId).Append("\n"); + sb.Append(" AudienceName: ").Append(AudienceName).Append("\n"); + sb.Append(" ProfileIntegrationId: ").Append(ProfileIntegrationId).Append("\n"); + sb.Append(" ProfileId: ").Append(ProfileId).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as RemoveFromAudienceEffectProps); + } + + /// + /// Returns true if RemoveFromAudienceEffectProps instances are equal + /// + /// Instance of RemoveFromAudienceEffectProps to be compared + /// Boolean + public bool Equals(RemoveFromAudienceEffectProps input) + { + if (input == null) + return false; + + return + ( + this.AudienceId == input.AudienceId || + this.AudienceId.Equals(input.AudienceId) + ) && + ( + this.AudienceName == input.AudienceName || + (this.AudienceName != null && + this.AudienceName.Equals(input.AudienceName)) + ) && + ( + this.ProfileIntegrationId == input.ProfileIntegrationId || + (this.ProfileIntegrationId != null && + this.ProfileIntegrationId.Equals(input.ProfileIntegrationId)) + ) && + ( + this.ProfileId == input.ProfileId || + this.ProfileId.Equals(input.ProfileId) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.AudienceId.GetHashCode(); + if (this.AudienceName != null) + hashCode = hashCode * 59 + this.AudienceName.GetHashCode(); + if (this.ProfileIntegrationId != null) + hashCode = hashCode * 59 + this.ProfileIntegrationId.GetHashCode(); + hashCode = hashCode * 59 + this.ProfileId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/ReturnedCartItem.cs b/src/TalonOne/Model/ReturnedCartItem.cs index 618b41d..614ee20 100644 --- a/src/TalonOne/Model/ReturnedCartItem.cs +++ b/src/TalonOne/Model/ReturnedCartItem.cs @@ -40,7 +40,7 @@ protected ReturnedCartItem() { } /// Initializes a new instance of the class. /// /// The index of the cart item in the provided customer session's `cartItems` property. (required). - /// Number of cart items to return. It is only available when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. If cart item flattening is disabled, the cart item can only be returned in its entirety. . + /// Number of cart items to return. . public ReturnedCartItem(int position = default(int), int quantity = default(int)) { this.Position = position; @@ -51,13 +51,13 @@ protected ReturnedCartItem() { } /// The index of the cart item in the provided customer session's `cartItems` property. /// /// The index of the cart item in the provided customer session's `cartItems` property. - [DataMember(Name="position", EmitDefaultValue=true)] + [DataMember(Name="position", EmitDefaultValue=false)] public int Position { get; set; } /// - /// Number of cart items to return. It is only available when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. If cart item flattening is disabled, the cart item can only be returned in its entirety. + /// Number of cart items to return. /// - /// Number of cart items to return. It is only available when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. If cart item flattening is disabled, the cart item can only be returned in its entirety. + /// Number of cart items to return. [DataMember(Name="quantity", EmitDefaultValue=false)] public int Quantity { get; set; } diff --git a/src/TalonOne/Model/RoleAssign.cs b/src/TalonOne/Model/RoleAssign.cs index d997a5d..b4bf5bd 100644 --- a/src/TalonOne/Model/RoleAssign.cs +++ b/src/TalonOne/Model/RoleAssign.cs @@ -39,8 +39,8 @@ protected RoleAssign() { } /// /// Initializes a new instance of the class. /// - /// An array of userIDs. (required). - /// An array of roleIDs. (required). + /// An array of user IDs. (required). + /// An array of role IDs. (required). public RoleAssign(List users = default(List), List roles = default(List)) { // to ensure "users" is required (not null) @@ -50,16 +50,16 @@ protected RoleAssign() { } } /// - /// An array of userIDs. + /// An array of user IDs. /// - /// An array of userIDs. + /// An array of user IDs. [DataMember(Name="users", EmitDefaultValue=false)] public List Users { get; set; } /// - /// An array of roleIDs. + /// An array of role IDs. /// - /// An array of roleIDs. + /// An array of role IDs. [DataMember(Name="roles", EmitDefaultValue=false)] public List Roles { get; set; } diff --git a/src/TalonOne/Model/RoleV2.cs b/src/TalonOne/Model/RoleV2.cs index e17f284..fdd06b0 100644 --- a/src/TalonOne/Model/RoleV2.cs +++ b/src/TalonOne/Model/RoleV2.cs @@ -45,10 +45,9 @@ protected RoleV2() { } /// The ID of the account that owns this entity. (required). /// Name of the role.. /// Description of the role.. - /// Indicates whether the role grants admin permissions.. /// permissions. - /// A list of user identifiers the role is assigned to.. - public RoleV2(int id = default(int), DateTime created = default(DateTime), DateTime modified = default(DateTime), int accountId = default(int), string name = default(string), string description = default(string), bool isAdmin = default(bool), RoleV2Permissions permissions = default(RoleV2Permissions), List members = default(List)) + /// A list of user IDs the role is assigned to.. + public RoleV2(int id = default(int), DateTime created = default(DateTime), DateTime modified = default(DateTime), int accountId = default(int), string name = default(string), string description = default(string), RoleV2Permissions permissions = default(RoleV2Permissions), List members = default(List)) { this.Id = id; this.Created = created; @@ -56,7 +55,6 @@ protected RoleV2() { } this.AccountId = accountId; this.Name = name; this.Description = description; - this.IsAdmin = isAdmin; this.Permissions = permissions; this.Members = members; } @@ -103,13 +101,6 @@ protected RoleV2() { } [DataMember(Name="description", EmitDefaultValue=false)] public string Description { get; set; } - /// - /// Indicates whether the role grants admin permissions. - /// - /// Indicates whether the role grants admin permissions. - [DataMember(Name="isAdmin", EmitDefaultValue=false)] - public bool IsAdmin { get; set; } - /// /// Gets or Sets Permissions /// @@ -117,9 +108,9 @@ protected RoleV2() { } public RoleV2Permissions Permissions { get; set; } /// - /// A list of user identifiers the role is assigned to. + /// A list of user IDs the role is assigned to. /// - /// A list of user identifiers the role is assigned to. + /// A list of user IDs the role is assigned to. [DataMember(Name="members", EmitDefaultValue=false)] public List Members { get; set; } @@ -137,7 +128,6 @@ public override string ToString() sb.Append(" AccountId: ").Append(AccountId).Append("\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" Description: ").Append(Description).Append("\n"); - sb.Append(" IsAdmin: ").Append(IsAdmin).Append("\n"); sb.Append(" Permissions: ").Append(Permissions).Append("\n"); sb.Append(" Members: ").Append(Members).Append("\n"); sb.Append("}\n"); @@ -202,10 +192,6 @@ public bool Equals(RoleV2 input) (this.Description != null && this.Description.Equals(input.Description)) ) && - ( - this.IsAdmin == input.IsAdmin || - this.IsAdmin.Equals(input.IsAdmin) - ) && ( this.Permissions == input.Permissions || (this.Permissions != null && @@ -238,7 +224,6 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Name.GetHashCode(); if (this.Description != null) hashCode = hashCode * 59 + this.Description.GetHashCode(); - hashCode = hashCode * 59 + this.IsAdmin.GetHashCode(); if (this.Permissions != null) hashCode = hashCode * 59 + this.Permissions.GetHashCode(); if (this.Members != null) diff --git a/src/TalonOne/Model/RoleV2ApplicationDetails.cs b/src/TalonOne/Model/RoleV2ApplicationDetails.cs index c47c70b..20bf596 100644 --- a/src/TalonOne/Model/RoleV2ApplicationDetails.cs +++ b/src/TalonOne/Model/RoleV2ApplicationDetails.cs @@ -37,11 +37,13 @@ public partial class RoleV2ApplicationDetails : IEquatableName of the Application-related permission set for the given Application.. /// Name of the campaign-related permission set for the given Application.. /// Name of the draft campaign-related permission set for the given Application.. - public RoleV2ApplicationDetails(string application = default(string), string campaign = default(string), string draftCampaign = default(string)) + /// Name of the tools-related permission set.. + public RoleV2ApplicationDetails(string application = default(string), string campaign = default(string), string draftCampaign = default(string), string tools = default(string)) { this.Application = application; this.Campaign = campaign; this.DraftCampaign = draftCampaign; + this.Tools = tools; } /// @@ -65,6 +67,13 @@ public partial class RoleV2ApplicationDetails : IEquatable + /// Name of the tools-related permission set. + /// + /// Name of the tools-related permission set. + [DataMember(Name="tools", EmitDefaultValue=false)] + public string Tools { get; set; } + /// /// Returns the string presentation of the object /// @@ -76,6 +85,7 @@ public override string ToString() sb.Append(" Application: ").Append(Application).Append("\n"); sb.Append(" Campaign: ").Append(Campaign).Append("\n"); sb.Append(" DraftCampaign: ").Append(DraftCampaign).Append("\n"); + sb.Append(" Tools: ").Append(Tools).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -124,6 +134,11 @@ public bool Equals(RoleV2ApplicationDetails input) this.DraftCampaign == input.DraftCampaign || (this.DraftCampaign != null && this.DraftCampaign.Equals(input.DraftCampaign)) + ) && + ( + this.Tools == input.Tools || + (this.Tools != null && + this.Tools.Equals(input.Tools)) ); } @@ -142,6 +157,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Campaign.GetHashCode(); if (this.DraftCampaign != null) hashCode = hashCode * 59 + this.DraftCampaign.GetHashCode(); + if (this.Tools != null) + hashCode = hashCode * 59 + this.Tools.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/RoleV2Base.cs b/src/TalonOne/Model/RoleV2Base.cs index 5922ee3..23b3071 100644 --- a/src/TalonOne/Model/RoleV2Base.cs +++ b/src/TalonOne/Model/RoleV2Base.cs @@ -36,14 +36,12 @@ public partial class RoleV2Base : IEquatable, IValidatableObject /// /// Name of the role.. /// Description of the role.. - /// Indicates whether the role grants admin permissions.. /// permissions. - /// A list of user identifiers the role is assigned to.. - public RoleV2Base(string name = default(string), string description = default(string), bool isAdmin = default(bool), RoleV2Permissions permissions = default(RoleV2Permissions), List members = default(List)) + /// A list of user IDs the role is assigned to.. + public RoleV2Base(string name = default(string), string description = default(string), RoleV2Permissions permissions = default(RoleV2Permissions), List members = default(List)) { this.Name = name; this.Description = description; - this.IsAdmin = isAdmin; this.Permissions = permissions; this.Members = members; } @@ -62,13 +60,6 @@ public partial class RoleV2Base : IEquatable, IValidatableObject [DataMember(Name="description", EmitDefaultValue=false)] public string Description { get; set; } - /// - /// Indicates whether the role grants admin permissions. - /// - /// Indicates whether the role grants admin permissions. - [DataMember(Name="isAdmin", EmitDefaultValue=false)] - public bool IsAdmin { get; set; } - /// /// Gets or Sets Permissions /// @@ -76,9 +67,9 @@ public partial class RoleV2Base : IEquatable, IValidatableObject public RoleV2Permissions Permissions { get; set; } /// - /// A list of user identifiers the role is assigned to. + /// A list of user IDs the role is assigned to. /// - /// A list of user identifiers the role is assigned to. + /// A list of user IDs the role is assigned to. [DataMember(Name="members", EmitDefaultValue=false)] public List Members { get; set; } @@ -92,7 +83,6 @@ public override string ToString() sb.Append("class RoleV2Base {\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" Description: ").Append(Description).Append("\n"); - sb.Append(" IsAdmin: ").Append(IsAdmin).Append("\n"); sb.Append(" Permissions: ").Append(Permissions).Append("\n"); sb.Append(" Members: ").Append(Members).Append("\n"); sb.Append("}\n"); @@ -139,10 +129,6 @@ public bool Equals(RoleV2Base input) (this.Description != null && this.Description.Equals(input.Description)) ) && - ( - this.IsAdmin == input.IsAdmin || - this.IsAdmin.Equals(input.IsAdmin) - ) && ( this.Permissions == input.Permissions || (this.Permissions != null && @@ -169,7 +155,6 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Name.GetHashCode(); if (this.Description != null) hashCode = hashCode * 59 + this.Description.GetHashCode(); - hashCode = hashCode * 59 + this.IsAdmin.GetHashCode(); if (this.Permissions != null) hashCode = hashCode * 59 + this.Permissions.GetHashCode(); if (this.Members != null) diff --git a/src/TalonOne/Model/RoleV2PermissionSet.cs b/src/TalonOne/Model/RoleV2PermissionSet.cs index 6abd551..7cb0249 100644 --- a/src/TalonOne/Model/RoleV2PermissionSet.cs +++ b/src/TalonOne/Model/RoleV2PermissionSet.cs @@ -40,7 +40,7 @@ protected RoleV2PermissionSet() { } /// Initializes a new instance of the class. /// /// Name of the permission set. (required). - /// List of logical operations in the permission set. Each logical operation must be shown under the `x-logicalPermissionOperation` tag on an endpoint level. (required). + /// List of logical operations in the permission set. Each logical operation must be shown under the `x-permission` tag on an endpoint level. (required). public RoleV2PermissionSet(string name = default(string), List logicalOperations = default(List)) { // to ensure "name" is required (not null) @@ -57,9 +57,9 @@ protected RoleV2PermissionSet() { } public string Name { get; set; } /// - /// List of logical operations in the permission set. Each logical operation must be shown under the `x-logicalPermissionOperation` tag on an endpoint level. + /// List of logical operations in the permission set. Each logical operation must be shown under the `x-permission` tag on an endpoint level. /// - /// List of logical operations in the permission set. Each logical operation must be shown under the `x-logicalPermissionOperation` tag on an endpoint level. + /// List of logical operations in the permission set. Each logical operation must be shown under the `x-permission` tag on an endpoint level. [DataMember(Name="logicalOperations", EmitDefaultValue=false)] public List LogicalOperations { get; set; } diff --git a/src/TalonOne/Model/RoleV2Permissions.cs b/src/TalonOne/Model/RoleV2Permissions.cs index 36abab5..0183da4 100644 --- a/src/TalonOne/Model/RoleV2Permissions.cs +++ b/src/TalonOne/Model/RoleV2Permissions.cs @@ -34,7 +34,7 @@ public partial class RoleV2Permissions : IEquatable, IValida /// /// Initializes a new instance of the class. /// - /// List of grouped logical operations to use as a reference in the roles section. Each group of logical operations has a name.. + /// List of grouped logical operations referenced by roles.. /// roles. public RoleV2Permissions(List permissionSets = default(List), RoleV2RolesGroup roles = default(RoleV2RolesGroup)) { @@ -43,9 +43,9 @@ public partial class RoleV2Permissions : IEquatable, IValida } /// - /// List of grouped logical operations to use as a reference in the roles section. Each group of logical operations has a name. + /// List of grouped logical operations referenced by roles. /// - /// List of grouped logical operations to use as a reference in the roles section. Each group of logical operations has a name. + /// List of grouped logical operations referenced by roles. [DataMember(Name="permissionSets", EmitDefaultValue=false)] public List PermissionSets { get; set; } diff --git a/src/TalonOne/Model/RollbackAddedLoyaltyPointsEffectProps.cs b/src/TalonOne/Model/RollbackAddedLoyaltyPointsEffectProps.cs index 4a8a7f5..a0b88cc 100644 --- a/src/TalonOne/Model/RollbackAddedLoyaltyPointsEffectProps.cs +++ b/src/TalonOne/Model/RollbackAddedLoyaltyPointsEffectProps.cs @@ -45,7 +45,7 @@ protected RollbackAddedLoyaltyPointsEffectProps() { } /// The user for whom these points were originally added. (required). /// The identifier of 'deduction' entry added to the ledger as the `addLoyaltyPoints` effect is rolled back. (required). /// The index of the item in the cart items for which the loyalty points were rolled back.. - /// The sub-position is returned when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. It indicates to which item the loyalty points were rolled back, for cart items with `quantity` > 1. . + /// For cart items with `quantity` > 1, the sub-position indicates to which item the loyalty points were rolled back. . /// The alphanumeric identifier of the loyalty card. . public RollbackAddedLoyaltyPointsEffectProps(int programId = default(int), string subLedgerId = default(string), decimal value = default(decimal), string recipientIntegrationId = default(string), string transactionUUID = default(string), decimal cartItemPosition = default(decimal), decimal cartItemSubPosition = default(decimal), string cardIdentifier = default(string)) { @@ -105,9 +105,9 @@ protected RollbackAddedLoyaltyPointsEffectProps() { } public decimal CartItemPosition { get; set; } /// - /// The sub-position is returned when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. It indicates to which item the loyalty points were rolled back, for cart items with `quantity` > 1. + /// For cart items with `quantity` > 1, the sub-position indicates to which item the loyalty points were rolled back. /// - /// The sub-position is returned when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. It indicates to which item the loyalty points were rolled back, for cart items with `quantity` > 1. + /// For cart items with `quantity` > 1, the sub-position indicates to which item the loyalty points were rolled back. [DataMember(Name="cartItemSubPosition", EmitDefaultValue=false)] public decimal CartItemSubPosition { get; set; } diff --git a/src/TalonOne/Model/RollbackDiscountEffectProps.cs b/src/TalonOne/Model/RollbackDiscountEffectProps.cs index b8936f8..a00d1d2 100644 --- a/src/TalonOne/Model/RollbackDiscountEffectProps.cs +++ b/src/TalonOne/Model/RollbackDiscountEffectProps.cs @@ -42,7 +42,7 @@ protected RollbackDiscountEffectProps() { } /// The name of the \"setDiscount\" effect that was rolled back. (required). /// The value of the discount that was rolled back. (required). /// The index of the item in the cart items for which the discount was rolled back.. - /// The index of the item unit in its line item. It is only used for cart items with `quantity` > 1 and is only returned when cart item flattening is enabled. . + /// For cart items with `quantity` > 1, the subposition returns the index of the item unit in its line item. . /// The ID of the additional cost that was rolled back.. /// The name of the additional cost that was rolled back.. /// The scope of the rolled back discount - For a discount per session, it can be one of `cartItems`, `additionalCosts` or `sessionTotal` - For a discount per item, it can be one of `price`, `additionalCosts` or `itemTotal` . @@ -80,9 +80,9 @@ protected RollbackDiscountEffectProps() { } public decimal CartItemPosition { get; set; } /// - /// The index of the item unit in its line item. It is only used for cart items with `quantity` > 1 and is only returned when cart item flattening is enabled. + /// For cart items with `quantity` > 1, the subposition returns the index of the item unit in its line item. /// - /// The index of the item unit in its line item. It is only used for cart items with `quantity` > 1 and is only returned when cart item flattening is enabled. + /// For cart items with `quantity` > 1, the subposition returns the index of the item unit in its line item. [DataMember(Name="cartItemSubPosition", EmitDefaultValue=false)] public decimal CartItemSubPosition { get; set; } diff --git a/src/TalonOne/Model/SSOConfig.cs b/src/TalonOne/Model/SSOConfig.cs new file mode 100644 index 0000000..6d3a8bd --- /dev/null +++ b/src/TalonOne/Model/SSOConfig.cs @@ -0,0 +1,129 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// SSOConfig + /// + [DataContract] + public partial class SSOConfig : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected SSOConfig() { } + /// + /// Initializes a new instance of the class. + /// + /// An indication of whether single sign-on is enforced for the account. When enforced, users cannot use their email and password to sign in to Talon.One. It is not possible to change this to `false` after it is set to `true`. (required). + public SSOConfig(bool enforced = default(bool)) + { + this.Enforced = enforced; + } + + /// + /// An indication of whether single sign-on is enforced for the account. When enforced, users cannot use their email and password to sign in to Talon.One. It is not possible to change this to `false` after it is set to `true`. + /// + /// An indication of whether single sign-on is enforced for the account. When enforced, users cannot use their email and password to sign in to Talon.One. It is not possible to change this to `false` after it is set to `true`. + [DataMember(Name="enforced", EmitDefaultValue=false)] + public bool Enforced { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class SSOConfig {\n"); + sb.Append(" Enforced: ").Append(Enforced).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as SSOConfig); + } + + /// + /// Returns true if SSOConfig instances are equal + /// + /// Instance of SSOConfig to be compared + /// Boolean + public bool Equals(SSOConfig input) + { + if (input == null) + return false; + + return + ( + this.Enforced == input.Enforced || + this.Enforced.Equals(input.Enforced) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Enforced.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/SamlConnectionInternal.cs b/src/TalonOne/Model/SamlConnectionInternal.cs new file mode 100644 index 0000000..18b9761 --- /dev/null +++ b/src/TalonOne/Model/SamlConnectionInternal.cs @@ -0,0 +1,162 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// SamlConnectionInternal + /// + [DataContract] + public partial class SamlConnectionInternal : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected SamlConnectionInternal() { } + /// + /// Initializes a new instance of the class. + /// + /// ID of the SAML service. (required). + /// Identity Provider metadata XML document. (required). + public SamlConnectionInternal(string name = default(string), string metadataDocument = default(string)) + { + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for SamlConnectionInternal and cannot be null"); + // to ensure "metadataDocument" is required (not null) + this.MetadataDocument = metadataDocument ?? throw new ArgumentNullException("metadataDocument is a required property for SamlConnectionInternal and cannot be null"); + } + + /// + /// ID of the SAML service. + /// + /// ID of the SAML service. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Identity Provider metadata XML document. + /// + /// Identity Provider metadata XML document. + [DataMember(Name="metadataDocument", EmitDefaultValue=false)] + public string MetadataDocument { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class SamlConnectionInternal {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" MetadataDocument: ").Append(MetadataDocument).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as SamlConnectionInternal); + } + + /// + /// Returns true if SamlConnectionInternal instances are equal + /// + /// Instance of SamlConnectionInternal to be compared + /// Boolean + public bool Equals(SamlConnectionInternal input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.MetadataDocument == input.MetadataDocument || + (this.MetadataDocument != null && + this.MetadataDocument.Equals(input.MetadataDocument)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.MetadataDocument != null) + hashCode = hashCode * 59 + this.MetadataDocument.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + // MetadataDocument (string) minLength + if(this.MetadataDocument != null && this.MetadataDocument.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for MetadataDocument, length must be greater than 1.", new [] { "MetadataDocument" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/SamlLoginEndpoint.cs b/src/TalonOne/Model/SamlLoginEndpoint.cs index aa45983..3808bae 100644 --- a/src/TalonOne/Model/SamlLoginEndpoint.cs +++ b/src/TalonOne/Model/SamlLoginEndpoint.cs @@ -39,16 +39,25 @@ protected SamlLoginEndpoint() { } /// /// Initializes a new instance of the class. /// + /// ID of the SAML login endpoint. (required). /// ID of the SAML service. (required). - /// Single Sign-On URL. (required). - public SamlLoginEndpoint(string name = default(string), string loginURL = default(string)) + /// The single sign-on URL. (required). + public SamlLoginEndpoint(int id = default(int), string name = default(string), string loginURL = default(string)) { + this.Id = id; // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for SamlLoginEndpoint and cannot be null"); // to ensure "loginURL" is required (not null) this.LoginURL = loginURL ?? throw new ArgumentNullException("loginURL is a required property for SamlLoginEndpoint and cannot be null"); } + /// + /// ID of the SAML login endpoint. + /// + /// ID of the SAML login endpoint. + [DataMember(Name="id", EmitDefaultValue=false)] + public int Id { get; set; } + /// /// ID of the SAML service. /// @@ -57,9 +66,9 @@ protected SamlLoginEndpoint() { } public string Name { get; set; } /// - /// Single Sign-On URL. + /// The single sign-on URL. /// - /// Single Sign-On URL. + /// The single sign-on URL. [DataMember(Name="loginURL", EmitDefaultValue=false)] public string LoginURL { get; set; } @@ -71,6 +80,7 @@ public override string ToString() { var sb = new StringBuilder(); sb.Append("class SamlLoginEndpoint {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" LoginURL: ").Append(LoginURL).Append("\n"); sb.Append("}\n"); @@ -107,6 +117,10 @@ public bool Equals(SamlLoginEndpoint input) return false; return + ( + this.Id == input.Id || + this.Id.Equals(input.Id) + ) && ( this.Name == input.Name || (this.Name != null && @@ -128,6 +142,7 @@ public override int GetHashCode() unchecked // Overflow is fine, just wrap { int hashCode = 41; + hashCode = hashCode * 59 + this.Id.GetHashCode(); if (this.Name != null) hashCode = hashCode * 59 + this.Name.GetHashCode(); if (this.LoginURL != null) diff --git a/src/TalonOne/Model/SetDiscountPerAdditionalCostPerItemEffectProps.cs b/src/TalonOne/Model/SetDiscountPerAdditionalCostPerItemEffectProps.cs index dc9b034..02a7ad1 100644 --- a/src/TalonOne/Model/SetDiscountPerAdditionalCostPerItemEffectProps.cs +++ b/src/TalonOne/Model/SetDiscountPerAdditionalCostPerItemEffectProps.cs @@ -43,7 +43,7 @@ protected SetDiscountPerAdditionalCostPerItemEffectProps() { } /// The ID of the additional cost. (required). /// The total monetary value of the discount. (required). /// The index of the item in the cart item list containing the additional cost to be discounted. (required). - /// Only used when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. Indicates which item the discount applies to for cart items with `quantity` > 1. . + /// For cart items with `quantity` > 1, the sub position indicates which item the discount applies to. . /// The name of the additional cost. (required). /// Only with [partial discounts enabled](https://docs.talon.one/docs/product/campaigns/campaign-evaluation/#partial-discounts). Represents the monetary value of the discount to be applied to additional discount without considering budget limitations. . public SetDiscountPerAdditionalCostPerItemEffectProps(string name = default(string), int additionalCostId = default(int), decimal value = default(decimal), decimal position = default(decimal), decimal subPosition = default(decimal), string additionalCost = default(string), decimal desiredValue = default(decimal)) @@ -88,9 +88,9 @@ protected SetDiscountPerAdditionalCostPerItemEffectProps() { } public decimal Position { get; set; } /// - /// Only used when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. Indicates which item the discount applies to for cart items with `quantity` > 1. + /// For cart items with `quantity` > 1, the sub position indicates which item the discount applies to. /// - /// Only used when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. Indicates which item the discount applies to for cart items with `quantity` > 1. + /// For cart items with `quantity` > 1, the sub position indicates which item the discount applies to. [DataMember(Name="subPosition", EmitDefaultValue=false)] public decimal SubPosition { get; set; } diff --git a/src/TalonOne/Model/SetDiscountPerItemEffectProps.cs b/src/TalonOne/Model/SetDiscountPerItemEffectProps.cs index 64719a7..9c58638 100644 --- a/src/TalonOne/Model/SetDiscountPerItemEffectProps.cs +++ b/src/TalonOne/Model/SetDiscountPerItemEffectProps.cs @@ -42,14 +42,16 @@ protected SetDiscountPerItemEffectProps() { } /// The name of the discount. Contains a hashtag character indicating the index of the position of the item the discount applies to. It is identical to the value of the `position` property. (required). /// The total monetary value of the discount. (required). /// The index of the item in the cart items list on which this discount should be applied. (required). - /// Only used when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. Indicates which item the discount applies to for cart items with `quantity` > 1. . + /// For cart items with `quantity` > 1, the sub position indicates which item the discount applies to. . /// The original value of the discount.. /// The scope of the discount: - `additionalCosts`: The discount applies to all the additional costs of the item. - `itemTotal`: The discount applies to the price of the item + the additional costs of the item. - `price`: The discount applies to the price of the item. . /// The total discount given if this effect is a result of a prorated discount.. /// The original total discount to give if this effect is a result of a prorated discount.. /// The position of the bundle in a list of item bundles created from the same bundle definition.. /// The name of the bundle definition.. - public SetDiscountPerItemEffectProps(string name = default(string), decimal value = default(decimal), decimal position = default(decimal), decimal subPosition = default(decimal), decimal desiredValue = default(decimal), string scope = default(string), decimal totalDiscount = default(decimal), decimal desiredTotalDiscount = default(decimal), int bundleIndex = default(int), string bundleName = default(string)) + /// The index of the targeted bundle item on which the applied discount is based.. + /// The sub-position of the targeted bundle item on which the applied discount is based. . + public SetDiscountPerItemEffectProps(string name = default(string), decimal value = default(decimal), decimal position = default(decimal), decimal subPosition = default(decimal), decimal desiredValue = default(decimal), string scope = default(string), decimal totalDiscount = default(decimal), decimal desiredTotalDiscount = default(decimal), int bundleIndex = default(int), string bundleName = default(string), decimal targetedItemPosition = default(decimal), decimal targetedItemSubPosition = default(decimal)) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for SetDiscountPerItemEffectProps and cannot be null"); @@ -62,6 +64,8 @@ protected SetDiscountPerItemEffectProps() { } this.DesiredTotalDiscount = desiredTotalDiscount; this.BundleIndex = bundleIndex; this.BundleName = bundleName; + this.TargetedItemPosition = targetedItemPosition; + this.TargetedItemSubPosition = targetedItemSubPosition; } /// @@ -86,9 +90,9 @@ protected SetDiscountPerItemEffectProps() { } public decimal Position { get; set; } /// - /// Only used when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. Indicates which item the discount applies to for cart items with `quantity` > 1. + /// For cart items with `quantity` > 1, the sub position indicates which item the discount applies to. /// - /// Only used when [cart item flattening](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening) is enabled. Indicates which item the discount applies to for cart items with `quantity` > 1. + /// For cart items with `quantity` > 1, the sub position indicates which item the discount applies to. [DataMember(Name="subPosition", EmitDefaultValue=false)] public decimal SubPosition { get; set; } @@ -134,6 +138,20 @@ protected SetDiscountPerItemEffectProps() { } [DataMember(Name="bundleName", EmitDefaultValue=false)] public string BundleName { get; set; } + /// + /// The index of the targeted bundle item on which the applied discount is based. + /// + /// The index of the targeted bundle item on which the applied discount is based. + [DataMember(Name="targetedItemPosition", EmitDefaultValue=false)] + public decimal TargetedItemPosition { get; set; } + + /// + /// The sub-position of the targeted bundle item on which the applied discount is based. + /// + /// The sub-position of the targeted bundle item on which the applied discount is based. + [DataMember(Name="targetedItemSubPosition", EmitDefaultValue=false)] + public decimal TargetedItemSubPosition { get; set; } + /// /// Returns the string presentation of the object /// @@ -152,6 +170,8 @@ public override string ToString() sb.Append(" DesiredTotalDiscount: ").Append(DesiredTotalDiscount).Append("\n"); sb.Append(" BundleIndex: ").Append(BundleIndex).Append("\n"); sb.Append(" BundleName: ").Append(BundleName).Append("\n"); + sb.Append(" TargetedItemPosition: ").Append(TargetedItemPosition).Append("\n"); + sb.Append(" TargetedItemSubPosition: ").Append(TargetedItemSubPosition).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -228,6 +248,14 @@ public bool Equals(SetDiscountPerItemEffectProps input) this.BundleName == input.BundleName || (this.BundleName != null && this.BundleName.Equals(input.BundleName)) + ) && + ( + this.TargetedItemPosition == input.TargetedItemPosition || + this.TargetedItemPosition.Equals(input.TargetedItemPosition) + ) && + ( + this.TargetedItemSubPosition == input.TargetedItemSubPosition || + this.TargetedItemSubPosition.Equals(input.TargetedItemSubPosition) ); } @@ -253,6 +281,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.BundleIndex.GetHashCode(); if (this.BundleName != null) hashCode = hashCode * 59 + this.BundleName.GetHashCode(); + hashCode = hashCode * 59 + this.TargetedItemPosition.GetHashCode(); + hashCode = hashCode * 59 + this.TargetedItemSubPosition.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/Store.cs b/src/TalonOne/Model/Store.cs new file mode 100644 index 0000000..2e9c1f2 --- /dev/null +++ b/src/TalonOne/Model/Store.cs @@ -0,0 +1,291 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// Store + /// + [DataContract] + public partial class Store : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Store() { } + /// + /// Initializes a new instance of the class. + /// + /// Internal ID of this entity. (required). + /// The time this entity was created. The time this entity was created. (required). + /// The name of the store. (required). + /// The description of the store. (required). + /// The attributes of the store.. + /// The integration ID of the store. You choose this ID when you create a store. **Note**: You cannot edit the `integrationId` after the store has been created. (required). + /// The ID of the application that owns this entity. (required). + /// Timestamp of the most recent update on this entity. (required). + /// A list of IDs of the campaigns that are linked with current store.. + public Store(int id = default(int), DateTime created = default(DateTime), string name = default(string), string description = default(string), Object attributes = default(Object), string integrationId = default(string), int applicationId = default(int), DateTime updated = default(DateTime), List linkedCampaignIds = default(List)) + { + this.Id = id; + this.Created = created; + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for Store and cannot be null"); + // to ensure "description" is required (not null) + this.Description = description ?? throw new ArgumentNullException("description is a required property for Store and cannot be null"); + // to ensure "integrationId" is required (not null) + this.IntegrationId = integrationId ?? throw new ArgumentNullException("integrationId is a required property for Store and cannot be null"); + this.ApplicationId = applicationId; + this.Updated = updated; + this.Attributes = attributes; + this.LinkedCampaignIds = linkedCampaignIds; + } + + /// + /// Internal ID of this entity. + /// + /// Internal ID of this entity. + [DataMember(Name="id", EmitDefaultValue=false)] + public int Id { get; set; } + + /// + /// The time this entity was created. The time this entity was created. + /// + /// The time this entity was created. The time this entity was created. + [DataMember(Name="created", EmitDefaultValue=false)] + public DateTime Created { get; set; } + + /// + /// The name of the store. + /// + /// The name of the store. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// The description of the store. + /// + /// The description of the store. + [DataMember(Name="description", EmitDefaultValue=false)] + public string Description { get; set; } + + /// + /// The attributes of the store. + /// + /// The attributes of the store. + [DataMember(Name="attributes", EmitDefaultValue=false)] + public Object Attributes { get; set; } + + /// + /// The integration ID of the store. You choose this ID when you create a store. **Note**: You cannot edit the `integrationId` after the store has been created. + /// + /// The integration ID of the store. You choose this ID when you create a store. **Note**: You cannot edit the `integrationId` after the store has been created. + [DataMember(Name="integrationId", EmitDefaultValue=false)] + public string IntegrationId { get; set; } + + /// + /// The ID of the application that owns this entity. + /// + /// The ID of the application that owns this entity. + [DataMember(Name="applicationId", EmitDefaultValue=false)] + public int ApplicationId { get; set; } + + /// + /// Timestamp of the most recent update on this entity. + /// + /// Timestamp of the most recent update on this entity. + [DataMember(Name="updated", EmitDefaultValue=false)] + public DateTime Updated { get; set; } + + /// + /// A list of IDs of the campaigns that are linked with current store. + /// + /// A list of IDs of the campaigns that are linked with current store. + [DataMember(Name="linkedCampaignIds", EmitDefaultValue=false)] + public List LinkedCampaignIds { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class Store {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Created: ").Append(Created).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Attributes: ").Append(Attributes).Append("\n"); + sb.Append(" IntegrationId: ").Append(IntegrationId).Append("\n"); + sb.Append(" ApplicationId: ").Append(ApplicationId).Append("\n"); + sb.Append(" Updated: ").Append(Updated).Append("\n"); + sb.Append(" LinkedCampaignIds: ").Append(LinkedCampaignIds).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as Store); + } + + /// + /// Returns true if Store instances are equal + /// + /// Instance of Store to be compared + /// Boolean + public bool Equals(Store input) + { + if (input == null) + return false; + + return + ( + this.Id == input.Id || + this.Id.Equals(input.Id) + ) && + ( + this.Created == input.Created || + (this.Created != null && + this.Created.Equals(input.Created)) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.Description == input.Description || + (this.Description != null && + this.Description.Equals(input.Description)) + ) && + ( + this.Attributes == input.Attributes || + (this.Attributes != null && + this.Attributes.Equals(input.Attributes)) + ) && + ( + this.IntegrationId == input.IntegrationId || + (this.IntegrationId != null && + this.IntegrationId.Equals(input.IntegrationId)) + ) && + ( + this.ApplicationId == input.ApplicationId || + this.ApplicationId.Equals(input.ApplicationId) + ) && + ( + this.Updated == input.Updated || + (this.Updated != null && + this.Updated.Equals(input.Updated)) + ) && + ( + this.LinkedCampaignIds == input.LinkedCampaignIds || + this.LinkedCampaignIds != null && + input.LinkedCampaignIds != null && + this.LinkedCampaignIds.SequenceEqual(input.LinkedCampaignIds) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Id.GetHashCode(); + if (this.Created != null) + hashCode = hashCode * 59 + this.Created.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.Description != null) + hashCode = hashCode * 59 + this.Description.GetHashCode(); + if (this.Attributes != null) + hashCode = hashCode * 59 + this.Attributes.GetHashCode(); + if (this.IntegrationId != null) + hashCode = hashCode * 59 + this.IntegrationId.GetHashCode(); + hashCode = hashCode * 59 + this.ApplicationId.GetHashCode(); + if (this.Updated != null) + hashCode = hashCode * 59 + this.Updated.GetHashCode(); + if (this.LinkedCampaignIds != null) + hashCode = hashCode * 59 + this.LinkedCampaignIds.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 200) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 200.", new [] { "Name" }); + } + + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + // IntegrationId (string) maxLength + if(this.IntegrationId != null && this.IntegrationId.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for IntegrationId, length must be less than 1000.", new [] { "IntegrationId" }); + } + + // IntegrationId (string) minLength + if(this.IntegrationId != null && this.IntegrationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for IntegrationId, length must be greater than 1.", new [] { "IntegrationId" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/StrikethroughChangedItem.cs b/src/TalonOne/Model/StrikethroughChangedItem.cs index 19771d0..1ef9965 100644 --- a/src/TalonOne/Model/StrikethroughChangedItem.cs +++ b/src/TalonOne/Model/StrikethroughChangedItem.cs @@ -90,7 +90,7 @@ protected StrikethroughChangedItem() { } /// The price of the changed item. /// /// The price of the changed item. - [DataMember(Name="price", EmitDefaultValue=true)] + [DataMember(Name="price", EmitDefaultValue=false)] public decimal Price { get; set; } /// diff --git a/src/TalonOne/Model/TalangAttribute.cs b/src/TalonOne/Model/TalangAttribute.cs index 7c715cd..e038cc3 100644 --- a/src/TalonOne/Model/TalangAttribute.cs +++ b/src/TalonOne/Model/TalangAttribute.cs @@ -138,7 +138,19 @@ public enum EntityEnum /// Enum Session for value: Session /// [EnumMember(Value = "Session")] - Session = 17 + Session = 17, + + /// + /// Enum Store for value: Store + /// + [EnumMember(Value = "Store")] + Store = 18, + + /// + /// Enum Achievements for value: Achievements + /// + [EnumMember(Value = "Achievements")] + Achievements = 19 } diff --git a/src/TalonOne/Model/TemplateArgDef.cs b/src/TalonOne/Model/TemplateArgDef.cs index f10ad87..afdd40b 100644 --- a/src/TalonOne/Model/TemplateArgDef.cs +++ b/src/TalonOne/Model/TemplateArgDef.cs @@ -85,7 +85,7 @@ protected TemplateArgDef() { } /// Initializes a new instance of the class. /// /// The type of value this argument expects. (required). - /// A campaigner-friendly description of the argument, this will also be shown in the rule editor. (required). + /// A campaigner-friendly description of the argument, this will also be shown in the rule editor.. /// A campaigner friendly name for the argument, this will be shown in the rule editor. (required). /// Arbitrary metadata that may be used to render an input for this argument. (required). /// ID of the picklist linked to a template.. @@ -93,12 +93,11 @@ protected TemplateArgDef() { } public TemplateArgDef(TypeEnum type = default(TypeEnum), string description = default(string), string title = default(string), Object ui = default(Object), int picklistID = default(int), bool restrictedByPicklist = default(bool)) { this.Type = type; - // to ensure "description" is required (not null) - this.Description = description ?? throw new ArgumentNullException("description is a required property for TemplateArgDef and cannot be null"); // to ensure "title" is required (not null) this.Title = title ?? throw new ArgumentNullException("title is a required property for TemplateArgDef and cannot be null"); // to ensure "ui" is required (not null) this.Ui = ui ?? throw new ArgumentNullException("ui is a required property for TemplateArgDef and cannot be null"); + this.Description = description; this.PicklistID = picklistID; this.RestrictedByPicklist = restrictedByPicklist; } diff --git a/src/TalonOne/Model/TierDowngradeNotificationPolicy.cs b/src/TalonOne/Model/TierDowngradeNotificationPolicy.cs new file mode 100644 index 0000000..9004be2 --- /dev/null +++ b/src/TalonOne/Model/TierDowngradeNotificationPolicy.cs @@ -0,0 +1,153 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// TierDowngradeNotificationPolicy + /// + [DataContract] + public partial class TierDowngradeNotificationPolicy : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected TierDowngradeNotificationPolicy() { } + /// + /// Initializes a new instance of the class. + /// + /// The name of the notification. (required). + /// Indicates whether batching is activated. (default to true). + public TierDowngradeNotificationPolicy(string name = default(string), bool batchingEnabled = true) + { + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for TierDowngradeNotificationPolicy and cannot be null"); + this.BatchingEnabled = batchingEnabled; + } + + /// + /// The name of the notification. + /// + /// The name of the notification. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Indicates whether batching is activated. + /// + /// Indicates whether batching is activated. + [DataMember(Name="batchingEnabled", EmitDefaultValue=false)] + public bool BatchingEnabled { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class TierDowngradeNotificationPolicy {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" BatchingEnabled: ").Append(BatchingEnabled).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as TierDowngradeNotificationPolicy); + } + + /// + /// Returns true if TierDowngradeNotificationPolicy instances are equal + /// + /// Instance of TierDowngradeNotificationPolicy to be compared + /// Boolean + public bool Equals(TierDowngradeNotificationPolicy input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.BatchingEnabled == input.BatchingEnabled || + this.BatchingEnabled.Equals(input.BatchingEnabled) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + hashCode = hashCode * 59 + this.BatchingEnabled.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/TierUpgradeNotificationPolicy.cs b/src/TalonOne/Model/TierUpgradeNotificationPolicy.cs new file mode 100644 index 0000000..30bcaba --- /dev/null +++ b/src/TalonOne/Model/TierUpgradeNotificationPolicy.cs @@ -0,0 +1,153 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// TierUpgradeNotificationPolicy + /// + [DataContract] + public partial class TierUpgradeNotificationPolicy : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected TierUpgradeNotificationPolicy() { } + /// + /// Initializes a new instance of the class. + /// + /// Notification name. (required). + /// Indicates whether batching is activated. (default to true). + public TierUpgradeNotificationPolicy(string name = default(string), bool batchingEnabled = true) + { + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for TierUpgradeNotificationPolicy and cannot be null"); + this.BatchingEnabled = batchingEnabled; + } + + /// + /// Notification name. + /// + /// Notification name. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Indicates whether batching is activated. + /// + /// Indicates whether batching is activated. + [DataMember(Name="batchingEnabled", EmitDefaultValue=false)] + public bool BatchingEnabled { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class TierUpgradeNotificationPolicy {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" BatchingEnabled: ").Append(BatchingEnabled).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as TierUpgradeNotificationPolicy); + } + + /// + /// Returns true if TierUpgradeNotificationPolicy instances are equal + /// + /// Instance of TierUpgradeNotificationPolicy to be compared + /// Boolean + public bool Equals(TierUpgradeNotificationPolicy input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.BatchingEnabled == input.BatchingEnabled || + this.BatchingEnabled.Equals(input.BatchingEnabled) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + hashCode = hashCode * 59 + this.BatchingEnabled.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/TierWillDowngradeNotificationPolicy.cs b/src/TalonOne/Model/TierWillDowngradeNotificationPolicy.cs new file mode 100644 index 0000000..d80ac87 --- /dev/null +++ b/src/TalonOne/Model/TierWillDowngradeNotificationPolicy.cs @@ -0,0 +1,171 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// TierWillDowngradeNotificationPolicy + /// + [DataContract] + public partial class TierWillDowngradeNotificationPolicy : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected TierWillDowngradeNotificationPolicy() { } + /// + /// Initializes a new instance of the class. + /// + /// The name of the notification. (required). + /// Indicates whether batching is activated. (default to true). + /// triggers (required). + public TierWillDowngradeNotificationPolicy(string name = default(string), bool batchingEnabled = true, List triggers = default(List)) + { + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for TierWillDowngradeNotificationPolicy and cannot be null"); + // to ensure "triggers" is required (not null) + this.Triggers = triggers ?? throw new ArgumentNullException("triggers is a required property for TierWillDowngradeNotificationPolicy and cannot be null"); + this.BatchingEnabled = batchingEnabled; + } + + /// + /// The name of the notification. + /// + /// The name of the notification. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Indicates whether batching is activated. + /// + /// Indicates whether batching is activated. + [DataMember(Name="batchingEnabled", EmitDefaultValue=false)] + public bool BatchingEnabled { get; set; } + + /// + /// Gets or Sets Triggers + /// + [DataMember(Name="triggers", EmitDefaultValue=false)] + public List Triggers { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class TierWillDowngradeNotificationPolicy {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" BatchingEnabled: ").Append(BatchingEnabled).Append("\n"); + sb.Append(" Triggers: ").Append(Triggers).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as TierWillDowngradeNotificationPolicy); + } + + /// + /// Returns true if TierWillDowngradeNotificationPolicy instances are equal + /// + /// Instance of TierWillDowngradeNotificationPolicy to be compared + /// Boolean + public bool Equals(TierWillDowngradeNotificationPolicy input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.BatchingEnabled == input.BatchingEnabled || + this.BatchingEnabled.Equals(input.BatchingEnabled) + ) && + ( + this.Triggers == input.Triggers || + this.Triggers != null && + input.Triggers != null && + this.Triggers.SequenceEqual(input.Triggers) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + hashCode = hashCode * 59 + this.BatchingEnabled.GetHashCode(); + if (this.Triggers != null) + hashCode = hashCode * 59 + this.Triggers.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/TierWillDowngradeNotificationTrigger.cs b/src/TalonOne/Model/TierWillDowngradeNotificationTrigger.cs new file mode 100644 index 0000000..9bad186 --- /dev/null +++ b/src/TalonOne/Model/TierWillDowngradeNotificationTrigger.cs @@ -0,0 +1,164 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// TierWillDowngradeNotificationTrigger + /// + [DataContract] + public partial class TierWillDowngradeNotificationTrigger : IEquatable, IValidatableObject + { + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + [JsonConverter(typeof(StringEnumConverter))] + public enum PeriodEnum + { + /// + /// Enum W for value: w + /// + [EnumMember(Value = "w")] + W = 1, + + /// + /// Enum D for value: d + /// + [EnumMember(Value = "d")] + D = 2 + + } + + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + /// + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. + [DataMember(Name="period", EmitDefaultValue=false)] + public PeriodEnum Period { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected TierWillDowngradeNotificationTrigger() { } + /// + /// Initializes a new instance of the class. + /// + /// The amount of period. (required). + /// Notification period indicated by a letter; \"w\" means week, \"d\" means day. (required). + public TierWillDowngradeNotificationTrigger(int amount = default(int), PeriodEnum period = default(PeriodEnum)) + { + this.Amount = amount; + this.Period = period; + } + + /// + /// The amount of period. + /// + /// The amount of period. + [DataMember(Name="amount", EmitDefaultValue=false)] + public int Amount { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class TierWillDowngradeNotificationTrigger {\n"); + sb.Append(" Amount: ").Append(Amount).Append("\n"); + sb.Append(" Period: ").Append(Period).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as TierWillDowngradeNotificationTrigger); + } + + /// + /// Returns true if TierWillDowngradeNotificationTrigger instances are equal + /// + /// Instance of TierWillDowngradeNotificationTrigger to be compared + /// Boolean + public bool Equals(TierWillDowngradeNotificationTrigger input) + { + if (input == null) + return false; + + return + ( + this.Amount == input.Amount || + this.Amount.Equals(input.Amount) + ) && + ( + this.Period == input.Period || + this.Period.Equals(input.Period) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Amount.GetHashCode(); + hashCode = hashCode * 59 + this.Period.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/TimePoint.cs b/src/TalonOne/Model/TimePoint.cs new file mode 100644 index 0000000..ae4c0ce --- /dev/null +++ b/src/TalonOne/Model/TimePoint.cs @@ -0,0 +1,240 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// The absolute duration after which the achievement ends and resets for a particular customer profile. **Note**: The duration follows the time zone of the Application this achievement belongs to. + /// + [DataContract] + public partial class TimePoint : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected TimePoint() { } + /// + /// Initializes a new instance of the class. + /// + /// The achievement ends and resets in this month. **Note**: Only applicable if the period is set to `Y`. . + /// The achievement ends and resets on this day of the month. **Note**: Only applicable if the period is set to `Y` or `M`. . + /// The achievement ends and resets on this day of the week. `1` represents `Monday` and `7` represents `Sunday`. **Note**: Only applicable if the period is set to `W`. . + /// The achievement ends and resets at this hour. (required). + /// The achievement ends and resets at this minute. (required). + /// The achievement ends and resets at this second. (required). + public TimePoint(int month = default(int), int dayOfMonth = default(int), int dayOfWeek = default(int), int hour = default(int), int minute = default(int), int second = default(int)) + { + this.Hour = hour; + this.Minute = minute; + this.Second = second; + this.Month = month; + this.DayOfMonth = dayOfMonth; + this.DayOfWeek = dayOfWeek; + } + + /// + /// The achievement ends and resets in this month. **Note**: Only applicable if the period is set to `Y`. + /// + /// The achievement ends and resets in this month. **Note**: Only applicable if the period is set to `Y`. + [DataMember(Name="month", EmitDefaultValue=false)] + public int Month { get; set; } + + /// + /// The achievement ends and resets on this day of the month. **Note**: Only applicable if the period is set to `Y` or `M`. + /// + /// The achievement ends and resets on this day of the month. **Note**: Only applicable if the period is set to `Y` or `M`. + [DataMember(Name="dayOfMonth", EmitDefaultValue=false)] + public int DayOfMonth { get; set; } + + /// + /// The achievement ends and resets on this day of the week. `1` represents `Monday` and `7` represents `Sunday`. **Note**: Only applicable if the period is set to `W`. + /// + /// The achievement ends and resets on this day of the week. `1` represents `Monday` and `7` represents `Sunday`. **Note**: Only applicable if the period is set to `W`. + [DataMember(Name="dayOfWeek", EmitDefaultValue=false)] + public int DayOfWeek { get; set; } + + /// + /// The achievement ends and resets at this hour. + /// + /// The achievement ends and resets at this hour. + [DataMember(Name="hour", EmitDefaultValue=false)] + public int Hour { get; set; } + + /// + /// The achievement ends and resets at this minute. + /// + /// The achievement ends and resets at this minute. + [DataMember(Name="minute", EmitDefaultValue=false)] + public int Minute { get; set; } + + /// + /// The achievement ends and resets at this second. + /// + /// The achievement ends and resets at this second. + [DataMember(Name="second", EmitDefaultValue=false)] + public int Second { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class TimePoint {\n"); + sb.Append(" Month: ").Append(Month).Append("\n"); + sb.Append(" DayOfMonth: ").Append(DayOfMonth).Append("\n"); + sb.Append(" DayOfWeek: ").Append(DayOfWeek).Append("\n"); + sb.Append(" Hour: ").Append(Hour).Append("\n"); + sb.Append(" Minute: ").Append(Minute).Append("\n"); + sb.Append(" Second: ").Append(Second).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as TimePoint); + } + + /// + /// Returns true if TimePoint instances are equal + /// + /// Instance of TimePoint to be compared + /// Boolean + public bool Equals(TimePoint input) + { + if (input == null) + return false; + + return + ( + this.Month == input.Month || + this.Month.Equals(input.Month) + ) && + ( + this.DayOfMonth == input.DayOfMonth || + this.DayOfMonth.Equals(input.DayOfMonth) + ) && + ( + this.DayOfWeek == input.DayOfWeek || + this.DayOfWeek.Equals(input.DayOfWeek) + ) && + ( + this.Hour == input.Hour || + this.Hour.Equals(input.Hour) + ) && + ( + this.Minute == input.Minute || + this.Minute.Equals(input.Minute) + ) && + ( + this.Second == input.Second || + this.Second.Equals(input.Second) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Month.GetHashCode(); + hashCode = hashCode * 59 + this.DayOfMonth.GetHashCode(); + hashCode = hashCode * 59 + this.DayOfWeek.GetHashCode(); + hashCode = hashCode * 59 + this.Hour.GetHashCode(); + hashCode = hashCode * 59 + this.Minute.GetHashCode(); + hashCode = hashCode * 59 + this.Second.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Month (int) maximum + if(this.Month > (int)12) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Month, must be a value less than or equal to 12.", new [] { "Month" }); + } + + // Month (int) minimum + if(this.Month < (int)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Month, must be a value greater than or equal to 1.", new [] { "Month" }); + } + + // DayOfMonth (int) maximum + if(this.DayOfMonth > (int)31) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for DayOfMonth, must be a value less than or equal to 31.", new [] { "DayOfMonth" }); + } + + // DayOfMonth (int) minimum + if(this.DayOfMonth < (int)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for DayOfMonth, must be a value greater than or equal to 1.", new [] { "DayOfMonth" }); + } + + // DayOfWeek (int) maximum + if(this.DayOfWeek > (int)7) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for DayOfWeek, must be a value less than or equal to 7.", new [] { "DayOfWeek" }); + } + + // DayOfWeek (int) minimum + if(this.DayOfWeek < (int)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for DayOfWeek, must be a value greater than or equal to 1.", new [] { "DayOfWeek" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/TrackEventV2Response.cs b/src/TalonOne/Model/TrackEventV2Response.cs new file mode 100644 index 0000000..d47adfe --- /dev/null +++ b/src/TalonOne/Model/TrackEventV2Response.cs @@ -0,0 +1,268 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// This is the response type returned by the trackEventV2 endpoint. + /// + [DataContract] + public partial class TrackEventV2Response : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected TrackEventV2Response() { } + /// + /// Initializes a new instance of the class. + /// + /// customerProfile. + /// _event. + /// loyalty. + /// triggeredCampaigns. + /// ruleFailureReasons. + /// awardedGiveaways. + /// The effects generated by the rules in your running campaigns. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). (required). + /// createdCoupons (required). + /// createdReferrals (required). + public TrackEventV2Response(CustomerProfile customerProfile = default(CustomerProfile), Event _event = default(Event), Loyalty loyalty = default(Loyalty), List triggeredCampaigns = default(List), List ruleFailureReasons = default(List), List awardedGiveaways = default(List), List effects = default(List), List createdCoupons = default(List), List createdReferrals = default(List)) + { + // to ensure "effects" is required (not null) + this.Effects = effects ?? throw new ArgumentNullException("effects is a required property for TrackEventV2Response and cannot be null"); + // to ensure "createdCoupons" is required (not null) + this.CreatedCoupons = createdCoupons ?? throw new ArgumentNullException("createdCoupons is a required property for TrackEventV2Response and cannot be null"); + // to ensure "createdReferrals" is required (not null) + this.CreatedReferrals = createdReferrals ?? throw new ArgumentNullException("createdReferrals is a required property for TrackEventV2Response and cannot be null"); + this.CustomerProfile = customerProfile; + this.Event = _event; + this.Loyalty = loyalty; + this.TriggeredCampaigns = triggeredCampaigns; + this.RuleFailureReasons = ruleFailureReasons; + this.AwardedGiveaways = awardedGiveaways; + } + + /// + /// Gets or Sets CustomerProfile + /// + [DataMember(Name="customerProfile", EmitDefaultValue=false)] + public CustomerProfile CustomerProfile { get; set; } + + /// + /// Gets or Sets Event + /// + [DataMember(Name="event", EmitDefaultValue=false)] + public Event Event { get; set; } + + /// + /// Gets or Sets Loyalty + /// + [DataMember(Name="loyalty", EmitDefaultValue=false)] + public Loyalty Loyalty { get; set; } + + /// + /// Gets or Sets TriggeredCampaigns + /// + [DataMember(Name="triggeredCampaigns", EmitDefaultValue=false)] + public List TriggeredCampaigns { get; set; } + + /// + /// Gets or Sets RuleFailureReasons + /// + [DataMember(Name="ruleFailureReasons", EmitDefaultValue=false)] + public List RuleFailureReasons { get; set; } + + /// + /// Gets or Sets AwardedGiveaways + /// + [DataMember(Name="awardedGiveaways", EmitDefaultValue=false)] + public List AwardedGiveaways { get; set; } + + /// + /// The effects generated by the rules in your running campaigns. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). + /// + /// The effects generated by the rules in your running campaigns. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). + [DataMember(Name="effects", EmitDefaultValue=false)] + public List Effects { get; set; } + + /// + /// Gets or Sets CreatedCoupons + /// + [DataMember(Name="createdCoupons", EmitDefaultValue=false)] + public List CreatedCoupons { get; set; } + + /// + /// Gets or Sets CreatedReferrals + /// + [DataMember(Name="createdReferrals", EmitDefaultValue=false)] + public List CreatedReferrals { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class TrackEventV2Response {\n"); + sb.Append(" CustomerProfile: ").Append(CustomerProfile).Append("\n"); + sb.Append(" Event: ").Append(Event).Append("\n"); + sb.Append(" Loyalty: ").Append(Loyalty).Append("\n"); + sb.Append(" TriggeredCampaigns: ").Append(TriggeredCampaigns).Append("\n"); + sb.Append(" RuleFailureReasons: ").Append(RuleFailureReasons).Append("\n"); + sb.Append(" AwardedGiveaways: ").Append(AwardedGiveaways).Append("\n"); + sb.Append(" Effects: ").Append(Effects).Append("\n"); + sb.Append(" CreatedCoupons: ").Append(CreatedCoupons).Append("\n"); + sb.Append(" CreatedReferrals: ").Append(CreatedReferrals).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as TrackEventV2Response); + } + + /// + /// Returns true if TrackEventV2Response instances are equal + /// + /// Instance of TrackEventV2Response to be compared + /// Boolean + public bool Equals(TrackEventV2Response input) + { + if (input == null) + return false; + + return + ( + this.CustomerProfile == input.CustomerProfile || + (this.CustomerProfile != null && + this.CustomerProfile.Equals(input.CustomerProfile)) + ) && + ( + this.Event == input.Event || + (this.Event != null && + this.Event.Equals(input.Event)) + ) && + ( + this.Loyalty == input.Loyalty || + (this.Loyalty != null && + this.Loyalty.Equals(input.Loyalty)) + ) && + ( + this.TriggeredCampaigns == input.TriggeredCampaigns || + this.TriggeredCampaigns != null && + input.TriggeredCampaigns != null && + this.TriggeredCampaigns.SequenceEqual(input.TriggeredCampaigns) + ) && + ( + this.RuleFailureReasons == input.RuleFailureReasons || + this.RuleFailureReasons != null && + input.RuleFailureReasons != null && + this.RuleFailureReasons.SequenceEqual(input.RuleFailureReasons) + ) && + ( + this.AwardedGiveaways == input.AwardedGiveaways || + this.AwardedGiveaways != null && + input.AwardedGiveaways != null && + this.AwardedGiveaways.SequenceEqual(input.AwardedGiveaways) + ) && + ( + this.Effects == input.Effects || + this.Effects != null && + input.Effects != null && + this.Effects.SequenceEqual(input.Effects) + ) && + ( + this.CreatedCoupons == input.CreatedCoupons || + this.CreatedCoupons != null && + input.CreatedCoupons != null && + this.CreatedCoupons.SequenceEqual(input.CreatedCoupons) + ) && + ( + this.CreatedReferrals == input.CreatedReferrals || + this.CreatedReferrals != null && + input.CreatedReferrals != null && + this.CreatedReferrals.SequenceEqual(input.CreatedReferrals) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.CustomerProfile != null) + hashCode = hashCode * 59 + this.CustomerProfile.GetHashCode(); + if (this.Event != null) + hashCode = hashCode * 59 + this.Event.GetHashCode(); + if (this.Loyalty != null) + hashCode = hashCode * 59 + this.Loyalty.GetHashCode(); + if (this.TriggeredCampaigns != null) + hashCode = hashCode * 59 + this.TriggeredCampaigns.GetHashCode(); + if (this.RuleFailureReasons != null) + hashCode = hashCode * 59 + this.RuleFailureReasons.GetHashCode(); + if (this.AwardedGiveaways != null) + hashCode = hashCode * 59 + this.AwardedGiveaways.GetHashCode(); + if (this.Effects != null) + hashCode = hashCode * 59 + this.Effects.GetHashCode(); + if (this.CreatedCoupons != null) + hashCode = hashCode * 59 + this.CreatedCoupons.GetHashCode(); + if (this.CreatedReferrals != null) + hashCode = hashCode * 59 + this.CreatedReferrals.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/TwoFAConfig.cs b/src/TalonOne/Model/TwoFAConfig.cs new file mode 100644 index 0000000..4ff100f --- /dev/null +++ b/src/TalonOne/Model/TwoFAConfig.cs @@ -0,0 +1,144 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// TwoFAConfig + /// + [DataContract] + public partial class TwoFAConfig : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected TwoFAConfig() { } + /// + /// Initializes a new instance of the class. + /// + /// An indication of whether two-factor authentication is enabled for the account. (required). + /// Can be `true` or `false`. - `true`: Two-factor authentication is required each time a user signs in to their Talon.One account. - `false`: Two-factor authentication is only required when a user signs in to their Talon.One account on a new device, and every 30 days after that. . + public TwoFAConfig(bool enabled = default(bool), bool requireEverySignIn = default(bool)) + { + this.Enabled = enabled; + this.RequireEverySignIn = requireEverySignIn; + } + + /// + /// An indication of whether two-factor authentication is enabled for the account. + /// + /// An indication of whether two-factor authentication is enabled for the account. + [DataMember(Name="enabled", EmitDefaultValue=false)] + public bool Enabled { get; set; } + + /// + /// Can be `true` or `false`. - `true`: Two-factor authentication is required each time a user signs in to their Talon.One account. - `false`: Two-factor authentication is only required when a user signs in to their Talon.One account on a new device, and every 30 days after that. + /// + /// Can be `true` or `false`. - `true`: Two-factor authentication is required each time a user signs in to their Talon.One account. - `false`: Two-factor authentication is only required when a user signs in to their Talon.One account on a new device, and every 30 days after that. + [DataMember(Name="requireEverySignIn", EmitDefaultValue=false)] + public bool RequireEverySignIn { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class TwoFAConfig {\n"); + sb.Append(" Enabled: ").Append(Enabled).Append("\n"); + sb.Append(" RequireEverySignIn: ").Append(RequireEverySignIn).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as TwoFAConfig); + } + + /// + /// Returns true if TwoFAConfig instances are equal + /// + /// Instance of TwoFAConfig to be compared + /// Boolean + public bool Equals(TwoFAConfig input) + { + if (input == null) + return false; + + return + ( + this.Enabled == input.Enabled || + this.Enabled.Equals(input.Enabled) + ) && + ( + this.RequireEverySignIn == input.RequireEverySignIn || + this.RequireEverySignIn.Equals(input.RequireEverySignIn) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.Enabled.GetHashCode(); + hashCode = hashCode * 59 + this.RequireEverySignIn.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/UpdateAchievement.cs b/src/TalonOne/Model/UpdateAchievement.cs new file mode 100644 index 0000000..abb6294 --- /dev/null +++ b/src/TalonOne/Model/UpdateAchievement.cs @@ -0,0 +1,227 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// UpdateAchievement + /// + [DataContract] + public partial class UpdateAchievement : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The internal name of the achievement used in API requests. . + /// The display name for the achievement in the Campaign Manager.. + /// A description of the achievement.. + /// The required number of actions or the transactional milestone to complete the achievement.. + /// The relative duration after which the achievement ends and resets for a particular customer profile. . + /// periodEndOverride. + public UpdateAchievement(string name = default(string), string title = default(string), string description = default(string), decimal target = default(decimal), string period = default(string), TimePoint periodEndOverride = default(TimePoint)) + { + this.Name = name; + this.Title = title; + this.Description = description; + this.Target = target; + this.Period = period; + this.PeriodEndOverride = periodEndOverride; + } + + /// + /// The internal name of the achievement used in API requests. + /// + /// The internal name of the achievement used in API requests. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// The display name for the achievement in the Campaign Manager. + /// + /// The display name for the achievement in the Campaign Manager. + [DataMember(Name="title", EmitDefaultValue=false)] + public string Title { get; set; } + + /// + /// A description of the achievement. + /// + /// A description of the achievement. + [DataMember(Name="description", EmitDefaultValue=false)] + public string Description { get; set; } + + /// + /// The required number of actions or the transactional milestone to complete the achievement. + /// + /// The required number of actions or the transactional milestone to complete the achievement. + [DataMember(Name="target", EmitDefaultValue=false)] + public decimal Target { get; set; } + + /// + /// The relative duration after which the achievement ends and resets for a particular customer profile. + /// + /// The relative duration after which the achievement ends and resets for a particular customer profile. + [DataMember(Name="period", EmitDefaultValue=false)] + public string Period { get; set; } + + /// + /// Gets or Sets PeriodEndOverride + /// + [DataMember(Name="periodEndOverride", EmitDefaultValue=false)] + public TimePoint PeriodEndOverride { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class UpdateAchievement {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Title: ").Append(Title).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Target: ").Append(Target).Append("\n"); + sb.Append(" Period: ").Append(Period).Append("\n"); + sb.Append(" PeriodEndOverride: ").Append(PeriodEndOverride).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as UpdateAchievement); + } + + /// + /// Returns true if UpdateAchievement instances are equal + /// + /// Instance of UpdateAchievement to be compared + /// Boolean + public bool Equals(UpdateAchievement input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.Title == input.Title || + (this.Title != null && + this.Title.Equals(input.Title)) + ) && + ( + this.Description == input.Description || + (this.Description != null && + this.Description.Equals(input.Description)) + ) && + ( + this.Target == input.Target || + this.Target.Equals(input.Target) + ) && + ( + this.Period == input.Period || + (this.Period != null && + this.Period.Equals(input.Period)) + ) && + ( + this.PeriodEndOverride == input.PeriodEndOverride || + (this.PeriodEndOverride != null && + this.PeriodEndOverride.Equals(input.PeriodEndOverride)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.Title != null) + hashCode = hashCode * 59 + this.Title.GetHashCode(); + if (this.Description != null) + hashCode = hashCode * 59 + this.Description.GetHashCode(); + hashCode = hashCode * 59 + this.Target.GetHashCode(); + if (this.Period != null) + hashCode = hashCode * 59 + this.Period.GetHashCode(); + if (this.PeriodEndOverride != null) + hashCode = hashCode * 59 + this.PeriodEndOverride.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 1000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 1000.", new [] { "Name" }); + } + + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + // Name (string) pattern + Regex regexName = new Regex(@"^[a-zA-Z]\\w+$", RegexOptions.CultureInvariant); + if (false == regexName.Match(this.Name).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, must match a pattern of " + regexName, new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/UpdateApplication.cs b/src/TalonOne/Model/UpdateApplication.cs index b4465a2..7eab7d1 100644 --- a/src/TalonOne/Model/UpdateApplication.cs +++ b/src/TalonOne/Model/UpdateApplication.cs @@ -147,7 +147,7 @@ protected UpdateApplication() { } /// Default limits for campaigns created in this application.. /// The default scope to apply `setDiscount` effects on if no scope was provided with the effect. . /// Indicates if discounts should cascade for this Application.. - /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See the [docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). . + /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. . /// attributesSettings. /// Indicates if this is a live or sandbox Application.. /// Indicates if this Application supports partial discounts.. @@ -225,9 +225,9 @@ protected UpdateApplication() { } public bool EnableCascadingDiscounts { get; set; } /// - /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See the [docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). + /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. /// - /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. See the [docs](https://docs.talon.one/docs/product/campaigns/managing-general-settings#flattening). + /// Indicates if cart items of quantity larger than one should be separated into different items of quantity one. [DataMember(Name="enableFlattenedCartItems", EmitDefaultValue=false)] public bool EnableFlattenedCartItems { get; set; } diff --git a/src/TalonOne/Model/UpdateApplicationAPIKey.cs b/src/TalonOne/Model/UpdateApplicationAPIKey.cs new file mode 100644 index 0000000..ab5a15a --- /dev/null +++ b/src/TalonOne/Model/UpdateApplicationAPIKey.cs @@ -0,0 +1,129 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// UpdateApplicationAPIKey + /// + [DataContract] + public partial class UpdateApplicationAPIKey : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected UpdateApplicationAPIKey() { } + /// + /// Initializes a new instance of the class. + /// + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. (required). + public UpdateApplicationAPIKey(int timeOffset = default(int)) + { + this.TimeOffset = timeOffset; + } + + /// + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. + /// + /// A time offset in nanoseconds associated with the API key. When making a request using the API key, rule evaluation is based on a date that is calculated by adding the offset to the current date. + [DataMember(Name="timeOffset", EmitDefaultValue=false)] + public int TimeOffset { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class UpdateApplicationAPIKey {\n"); + sb.Append(" TimeOffset: ").Append(TimeOffset).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as UpdateApplicationAPIKey); + } + + /// + /// Returns true if UpdateApplicationAPIKey instances are equal + /// + /// Instance of UpdateApplicationAPIKey to be compared + /// Boolean + public bool Equals(UpdateApplicationAPIKey input) + { + if (input == null) + return false; + + return + ( + this.TimeOffset == input.TimeOffset || + this.TimeOffset.Equals(input.TimeOffset) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.TimeOffset.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/TalonOne/Model/UpdateCampaign.cs b/src/TalonOne/Model/UpdateCampaign.cs index b40187a..e7819c6 100644 --- a/src/TalonOne/Model/UpdateCampaign.cs +++ b/src/TalonOne/Model/UpdateCampaign.cs @@ -98,7 +98,13 @@ public enum FeaturesEnum /// Enum Strikethrough for value: strikethrough /// [EnumMember(Value = "strikethrough")] - Strikethrough = 5 + Strikethrough = 5, + + /// + /// Enum Achievements for value: achievements + /// + [EnumMember(Value = "achievements")] + Achievements = 6 } @@ -110,6 +116,33 @@ public enum FeaturesEnum [DataMember(Name="features", EmitDefaultValue=false)] public List Features { get; set; } /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum CartItem for value: cartItem + /// + [EnumMember(Value = "cartItem")] + CartItem = 1, + + /// + /// Enum Advanced for value: advanced + /// + [EnumMember(Value = "advanced")] + Advanced = 2 + + } + + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [DataMember(Name="type", EmitDefaultValue=false)] + public TypeEnum? Type { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -130,7 +163,10 @@ protected UpdateCampaign() { } /// referralSettings. /// The set of limits that will operate for this campaign. (required). /// The IDs of the [campaign groups](https://docs.talon.one/docs/product/account/account-settings/managing-campaign-groups) this campaign belongs to. . - public UpdateCampaign(string name = default(string), string description = default(string), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), Object attributes = default(Object), StateEnum? state = StateEnum.Enabled, int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List campaignGroups = default(List)) + /// The ID of the campaign evaluation group the campaign belongs to.. + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. (default to TypeEnum.Advanced). + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. . + public UpdateCampaign(string name = default(string), string description = default(string), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), Object attributes = default(Object), StateEnum? state = StateEnum.Enabled, int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List campaignGroups = default(List), int evaluationGroupId = default(int), TypeEnum? type = TypeEnum.Advanced, List linkedStoreIds = default(List)) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for UpdateCampaign and cannot be null"); @@ -149,6 +185,9 @@ protected UpdateCampaign() { } this.CouponSettings = couponSettings; this.ReferralSettings = referralSettings; this.CampaignGroups = campaignGroups; + this.EvaluationGroupId = evaluationGroupId; + this.Type = type; + this.LinkedStoreIds = linkedStoreIds; } /// @@ -226,6 +265,20 @@ protected UpdateCampaign() { } [DataMember(Name="campaignGroups", EmitDefaultValue=false)] public List CampaignGroups { get; set; } + /// + /// The ID of the campaign evaluation group the campaign belongs to. + /// + /// The ID of the campaign evaluation group the campaign belongs to. + [DataMember(Name="evaluationGroupId", EmitDefaultValue=false)] + public int EvaluationGroupId { get; set; } + + /// + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. + /// + /// A list of store IDs that you want to link to the campaign. **Note:** Campaigns with linked store IDs will only be evaluated when there is a [customer session update](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. + [DataMember(Name="linkedStoreIds", EmitDefaultValue=false)] + public List LinkedStoreIds { get; set; } + /// /// Returns the string presentation of the object /// @@ -247,6 +300,9 @@ public override string ToString() sb.Append(" ReferralSettings: ").Append(ReferralSettings).Append("\n"); sb.Append(" Limits: ").Append(Limits).Append("\n"); sb.Append(" CampaignGroups: ").Append(CampaignGroups).Append("\n"); + sb.Append(" EvaluationGroupId: ").Append(EvaluationGroupId).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" LinkedStoreIds: ").Append(LinkedStoreIds).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -345,6 +401,20 @@ public bool Equals(UpdateCampaign input) this.CampaignGroups != null && input.CampaignGroups != null && this.CampaignGroups.SequenceEqual(input.CampaignGroups) + ) && + ( + this.EvaluationGroupId == input.EvaluationGroupId || + this.EvaluationGroupId.Equals(input.EvaluationGroupId) + ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ) && + ( + this.LinkedStoreIds == input.LinkedStoreIds || + this.LinkedStoreIds != null && + input.LinkedStoreIds != null && + this.LinkedStoreIds.SequenceEqual(input.LinkedStoreIds) ); } @@ -380,6 +450,10 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Limits.GetHashCode(); if (this.CampaignGroups != null) hashCode = hashCode * 59 + this.CampaignGroups.GetHashCode(); + hashCode = hashCode * 59 + this.EvaluationGroupId.GetHashCode(); + hashCode = hashCode * 59 + this.Type.GetHashCode(); + if (this.LinkedStoreIds != null) + hashCode = hashCode * 59 + this.LinkedStoreIds.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/UpdateCampaignEvaluationGroup.cs b/src/TalonOne/Model/UpdateCampaignEvaluationGroup.cs index 2062805..457fbe3 100644 --- a/src/TalonOne/Model/UpdateCampaignEvaluationGroup.cs +++ b/src/TalonOne/Model/UpdateCampaignEvaluationGroup.cs @@ -32,8 +32,9 @@ namespace TalonOne.Model public partial class UpdateCampaignEvaluationGroup : IEquatable, IValidatableObject { /// - /// Defines EvaluationMode + /// The mode by which campaigns in the campaign evaluation group are evaluated. /// + /// The mode by which campaigns in the campaign evaluation group are evaluated. [JsonConverter(typeof(StringEnumConverter))] public enum EvaluationModeEnum { @@ -64,11 +65,39 @@ public enum EvaluationModeEnum } /// - /// Gets or Sets EvaluationMode + /// The mode by which campaigns in the campaign evaluation group are evaluated. /// + /// The mode by which campaigns in the campaign evaluation group are evaluated. [DataMember(Name="evaluationMode", EmitDefaultValue=false)] public EvaluationModeEnum EvaluationMode { get; set; } /// + /// The evaluation scope of the campaign evaluation group. + /// + /// The evaluation scope of the campaign evaluation group. + [JsonConverter(typeof(StringEnumConverter))] + public enum EvaluationScopeEnum + { + /// + /// Enum CartItem for value: cartItem + /// + [EnumMember(Value = "cartItem")] + CartItem = 1, + + /// + /// Enum Session for value: session + /// + [EnumMember(Value = "session")] + Session = 2 + + } + + /// + /// The evaluation scope of the campaign evaluation group. + /// + /// The evaluation scope of the campaign evaluation group. + [DataMember(Name="evaluationScope", EmitDefaultValue=false)] + public EvaluationScopeEnum EvaluationScope { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -79,14 +108,16 @@ protected UpdateCampaignEvaluationGroup() { } /// The name of the campaign evaluation group. (required). /// The ID of the parent group that contains the campaign evaluation group. (required). /// A description of the campaign evaluation group.. - /// evaluationMode (required). + /// The mode by which campaigns in the campaign evaluation group are evaluated. (required). + /// The evaluation scope of the campaign evaluation group. (required). /// An indicator of whether the campaign evaluation group is locked for modification. (required). - public UpdateCampaignEvaluationGroup(string name = default(string), int parentId = default(int), string description = default(string), EvaluationModeEnum evaluationMode = default(EvaluationModeEnum), bool locked = default(bool)) + public UpdateCampaignEvaluationGroup(string name = default(string), int parentId = default(int), string description = default(string), EvaluationModeEnum evaluationMode = default(EvaluationModeEnum), EvaluationScopeEnum evaluationScope = default(EvaluationScopeEnum), bool locked = default(bool)) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for UpdateCampaignEvaluationGroup and cannot be null"); this.ParentId = parentId; this.EvaluationMode = evaluationMode; + this.EvaluationScope = evaluationScope; this.Locked = locked; this.Description = description; } @@ -131,6 +162,7 @@ public override string ToString() sb.Append(" ParentId: ").Append(ParentId).Append("\n"); sb.Append(" Description: ").Append(Description).Append("\n"); sb.Append(" EvaluationMode: ").Append(EvaluationMode).Append("\n"); + sb.Append(" EvaluationScope: ").Append(EvaluationScope).Append("\n"); sb.Append(" Locked: ").Append(Locked).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -184,6 +216,10 @@ public bool Equals(UpdateCampaignEvaluationGroup input) this.EvaluationMode == input.EvaluationMode || this.EvaluationMode.Equals(input.EvaluationMode) ) && + ( + this.EvaluationScope == input.EvaluationScope || + this.EvaluationScope.Equals(input.EvaluationScope) + ) && ( this.Locked == input.Locked || this.Locked.Equals(input.Locked) @@ -205,6 +241,7 @@ public override int GetHashCode() if (this.Description != null) hashCode = hashCode * 59 + this.Description.GetHashCode(); hashCode = hashCode * 59 + this.EvaluationMode.GetHashCode(); + hashCode = hashCode * 59 + this.EvaluationScope.GetHashCode(); hashCode = hashCode * 59 + this.Locked.GetHashCode(); return hashCode; } diff --git a/src/TalonOne/Model/UpdateCampaignGroup.cs b/src/TalonOne/Model/UpdateCampaignGroup.cs index 6e672de..84cdadf 100644 --- a/src/TalonOne/Model/UpdateCampaignGroup.cs +++ b/src/TalonOne/Model/UpdateCampaignGroup.cs @@ -39,10 +39,10 @@ protected UpdateCampaignGroup() { } /// /// Initializes a new instance of the class. /// - /// The name of this campaign group. (required). - /// A longer description of the campaign group.. - /// A list of the IDs of the applications that this campaign group is enabled for.. - /// A list of the IDs of the campaigns that this campaign group owns.. + /// The name of the campaign access group. (required). + /// A longer description of the campaign access group.. + /// A list of IDs of the Applications that this campaign access group is enabled for.. + /// A list of IDs of the campaigns that are part of the campaign access group.. public UpdateCampaignGroup(string name = default(string), string description = default(string), List subscribedApplicationsIds = default(List), List campaignIds = default(List)) { // to ensure "name" is required (not null) @@ -53,30 +53,30 @@ protected UpdateCampaignGroup() { } } /// - /// The name of this campaign group. + /// The name of the campaign access group. /// - /// The name of this campaign group. + /// The name of the campaign access group. [DataMember(Name="name", EmitDefaultValue=false)] public string Name { get; set; } /// - /// A longer description of the campaign group. + /// A longer description of the campaign access group. /// - /// A longer description of the campaign group. + /// A longer description of the campaign access group. [DataMember(Name="description", EmitDefaultValue=false)] public string Description { get; set; } /// - /// A list of the IDs of the applications that this campaign group is enabled for. + /// A list of IDs of the Applications that this campaign access group is enabled for. /// - /// A list of the IDs of the applications that this campaign group is enabled for. + /// A list of IDs of the Applications that this campaign access group is enabled for. [DataMember(Name="subscribedApplicationsIds", EmitDefaultValue=false)] public List SubscribedApplicationsIds { get; set; } /// - /// A list of the IDs of the campaigns that this campaign group owns. + /// A list of IDs of the campaigns that are part of the campaign access group. /// - /// A list of the IDs of the campaigns that this campaign group owns. + /// A list of IDs of the campaigns that are part of the campaign access group. [DataMember(Name="campaignIds", EmitDefaultValue=false)] public List CampaignIds { get; set; } diff --git a/src/TalonOne/Model/UpdateCampaignTemplate.cs b/src/TalonOne/Model/UpdateCampaignTemplate.cs index f5d38be..76bdff3 100644 --- a/src/TalonOne/Model/UpdateCampaignTemplate.cs +++ b/src/TalonOne/Model/UpdateCampaignTemplate.cs @@ -98,7 +98,13 @@ public enum FeaturesEnum /// Enum Strikethrough for value: strikethrough /// [EnumMember(Value = "strikethrough")] - Strikethrough = 5 + Strikethrough = 5, + + /// + /// Enum Achievements for value: achievements + /// + [EnumMember(Value = "achievements")] + Achievements = 6 } @@ -110,6 +116,33 @@ public enum FeaturesEnum [DataMember(Name="features", EmitDefaultValue=false)] public List Features { get; set; } /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [JsonConverter(typeof(StringEnumConverter))] + public enum CampaignTypeEnum + { + /// + /// Enum CartItem for value: cartItem + /// + [EnumMember(Value = "cartItem")] + CartItem = 1, + + /// + /// Enum Advanced for value: advanced + /// + [EnumMember(Value = "advanced")] + Advanced = 2 + + } + + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + /// + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. + [DataMember(Name="campaignType", EmitDefaultValue=false)] + public CampaignTypeEnum? CampaignType { get; set; } + /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] @@ -133,7 +166,8 @@ protected UpdateCampaignTemplate() { } /// A list of IDs of the Applications that are subscribed to this campaign template. (required). /// The campaign collections from the blueprint campaign for the template.. /// The default campaign group ID.. - public UpdateCampaignTemplate(string name = default(string), string description = default(string), string instructions = default(string), Object campaignAttributes = default(Object), Object couponAttributes = default(Object), StateEnum state = default(StateEnum), int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List templateParams = default(List), List applicationsIds = default(List), List campaignCollections = default(List), int defaultCampaignGroupId = default(int)) + /// The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. (default to CampaignTypeEnum.Advanced). + public UpdateCampaignTemplate(string name = default(string), string description = default(string), string instructions = default(string), Object campaignAttributes = default(Object), Object couponAttributes = default(Object), StateEnum state = default(StateEnum), int activeRulesetId = default(int), List tags = default(List), List features = default(List), CodeGeneratorSettings couponSettings = default(CodeGeneratorSettings), CodeGeneratorSettings referralSettings = default(CodeGeneratorSettings), List limits = default(List), List templateParams = default(List), List applicationsIds = default(List), List campaignCollections = default(List), int defaultCampaignGroupId = default(int), CampaignTypeEnum? campaignType = CampaignTypeEnum.Advanced) { // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for UpdateCampaignTemplate and cannot be null"); @@ -155,6 +189,7 @@ protected UpdateCampaignTemplate() { } this.TemplateParams = templateParams; this.CampaignCollections = campaignCollections; this.DefaultCampaignGroupId = defaultCampaignGroupId; + this.CampaignType = campaignType; } /// @@ -277,6 +312,7 @@ public override string ToString() sb.Append(" ApplicationsIds: ").Append(ApplicationsIds).Append("\n"); sb.Append(" CampaignCollections: ").Append(CampaignCollections).Append("\n"); sb.Append(" DefaultCampaignGroupId: ").Append(DefaultCampaignGroupId).Append("\n"); + sb.Append(" CampaignType: ").Append(CampaignType).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -391,6 +427,10 @@ public bool Equals(UpdateCampaignTemplate input) ( this.DefaultCampaignGroupId == input.DefaultCampaignGroupId || this.DefaultCampaignGroupId.Equals(input.DefaultCampaignGroupId) + ) && + ( + this.CampaignType == input.CampaignType || + this.CampaignType.Equals(input.CampaignType) ); } @@ -431,6 +471,7 @@ public override int GetHashCode() if (this.CampaignCollections != null) hashCode = hashCode * 59 + this.CampaignCollections.GetHashCode(); hashCode = hashCode * 59 + this.DefaultCampaignGroupId.GetHashCode(); + hashCode = hashCode * 59 + this.CampaignType.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/UpdateCoupon.cs b/src/TalonOne/Model/UpdateCoupon.cs index 1efd7c3..8858fd8 100644 --- a/src/TalonOne/Model/UpdateCoupon.cs +++ b/src/TalonOne/Model/UpdateCoupon.cs @@ -42,8 +42,9 @@ public partial class UpdateCoupon : IEquatable, IValidatableObjec /// Limits configuration for a coupon. These limits will override the limits set from the campaign. **Note:** Only usable when creating a single coupon which is not tied to a specific recipient. Only per-profile limits are allowed to be configured. . /// The integration ID for this coupon's beneficiary's profile.. /// Arbitrary properties associated with this item.. - /// Whether the reservation effect actually created a new reservation. (default to true). - public UpdateCoupon(int usageLimit = default(int), decimal discountLimit = default(decimal), int reservationLimit = default(int), DateTime startDate = default(DateTime), DateTime expiryDate = default(DateTime), List limits = default(List), string recipientIntegrationId = default(string), Object attributes = default(Object), bool isReservationMandatory = true) + /// An indication of whether the code can be redeemed only if it has been reserved first. (default to false). + /// An indication of whether the coupon is implicitly reserved for all customers.. + public UpdateCoupon(int usageLimit = default(int), decimal discountLimit = default(decimal), int reservationLimit = default(int), DateTime startDate = default(DateTime), DateTime expiryDate = default(DateTime), List limits = default(List), string recipientIntegrationId = default(string), Object attributes = default(Object), bool isReservationMandatory = false, bool implicitlyReserved = default(bool)) { this.UsageLimit = usageLimit; this.DiscountLimit = discountLimit; @@ -54,6 +55,7 @@ public partial class UpdateCoupon : IEquatable, IValidatableObjec this.RecipientIntegrationId = recipientIntegrationId; this.Attributes = attributes; this.IsReservationMandatory = isReservationMandatory; + this.ImplicitlyReserved = implicitlyReserved; } /// @@ -113,12 +115,19 @@ public partial class UpdateCoupon : IEquatable, IValidatableObjec public Object Attributes { get; set; } /// - /// Whether the reservation effect actually created a new reservation. + /// An indication of whether the code can be redeemed only if it has been reserved first. /// - /// Whether the reservation effect actually created a new reservation. + /// An indication of whether the code can be redeemed only if it has been reserved first. [DataMember(Name="isReservationMandatory", EmitDefaultValue=false)] public bool IsReservationMandatory { get; set; } + /// + /// An indication of whether the coupon is implicitly reserved for all customers. + /// + /// An indication of whether the coupon is implicitly reserved for all customers. + [DataMember(Name="implicitlyReserved", EmitDefaultValue=false)] + public bool ImplicitlyReserved { get; set; } + /// /// Returns the string presentation of the object /// @@ -136,6 +145,7 @@ public override string ToString() sb.Append(" RecipientIntegrationId: ").Append(RecipientIntegrationId).Append("\n"); sb.Append(" Attributes: ").Append(Attributes).Append("\n"); sb.Append(" IsReservationMandatory: ").Append(IsReservationMandatory).Append("\n"); + sb.Append(" ImplicitlyReserved: ").Append(ImplicitlyReserved).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -211,6 +221,10 @@ public bool Equals(UpdateCoupon input) ( this.IsReservationMandatory == input.IsReservationMandatory || this.IsReservationMandatory.Equals(input.IsReservationMandatory) + ) && + ( + this.ImplicitlyReserved == input.ImplicitlyReserved || + this.ImplicitlyReserved.Equals(input.ImplicitlyReserved) ); } @@ -237,6 +251,7 @@ public override int GetHashCode() if (this.Attributes != null) hashCode = hashCode * 59 + this.Attributes.GetHashCode(); hashCode = hashCode * 59 + this.IsReservationMandatory.GetHashCode(); + hashCode = hashCode * 59 + this.ImplicitlyReserved.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Model/UpdateCouponBatch.cs b/src/TalonOne/Model/UpdateCouponBatch.cs index dded26b..6d83447 100644 --- a/src/TalonOne/Model/UpdateCouponBatch.cs +++ b/src/TalonOne/Model/UpdateCouponBatch.cs @@ -39,8 +39,8 @@ public partial class UpdateCouponBatch : IEquatable, IValida /// The number of reservations that can be made with this coupon code. . /// Timestamp at which point the coupon becomes valid.. /// Expiration date of the coupon. Coupon never expires if this is omitted, zero, or negative.. - /// Arbitrary properties associated with this item.. - /// The id of the batch the coupon belongs to.. + /// Optional property to set the value of custom coupon attributes. They are defined in the Campaign Manager, see [Managing attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes). Coupon attributes can also be set to _mandatory_ in your Application [settings](https://docs.talon.one/docs/product/applications/using-attributes#making-attributes-mandatory). If your Application uses mandatory attributes, you must use this property to set their value. . + /// The ID of the batch the coupon(s) belong to.. public UpdateCouponBatch(int usageLimit = default(int), decimal discountLimit = default(decimal), int reservationLimit = default(int), DateTime startDate = default(DateTime), DateTime expiryDate = default(DateTime), Object attributes = default(Object), string batchID = default(string)) { this.UsageLimit = usageLimit; @@ -88,16 +88,16 @@ public partial class UpdateCouponBatch : IEquatable, IValida public DateTime ExpiryDate { get; set; } /// - /// Arbitrary properties associated with this item. + /// Optional property to set the value of custom coupon attributes. They are defined in the Campaign Manager, see [Managing attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes). Coupon attributes can also be set to _mandatory_ in your Application [settings](https://docs.talon.one/docs/product/applications/using-attributes#making-attributes-mandatory). If your Application uses mandatory attributes, you must use this property to set their value. /// - /// Arbitrary properties associated with this item. + /// Optional property to set the value of custom coupon attributes. They are defined in the Campaign Manager, see [Managing attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes). Coupon attributes can also be set to _mandatory_ in your Application [settings](https://docs.talon.one/docs/product/applications/using-attributes#making-attributes-mandatory). If your Application uses mandatory attributes, you must use this property to set their value. [DataMember(Name="attributes", EmitDefaultValue=false)] public Object Attributes { get; set; } /// - /// The id of the batch the coupon belongs to. + /// The ID of the batch the coupon(s) belong to. /// - /// The id of the batch the coupon belongs to. + /// The ID of the batch the coupon(s) belong to. [DataMember(Name="batchID", EmitDefaultValue=false)] public string BatchID { get; set; } diff --git a/src/TalonOne/Model/UpdateLoyaltyProgram.cs b/src/TalonOne/Model/UpdateLoyaltyProgram.cs index 9c9fcd2..b3f3785 100644 --- a/src/TalonOne/Model/UpdateLoyaltyProgram.cs +++ b/src/TalonOne/Model/UpdateLoyaltyProgram.cs @@ -31,6 +31,33 @@ namespace TalonOne.Model [DataContract] public partial class UpdateLoyaltyProgram : IEquatable, IValidatableObject { + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + [JsonConverter(typeof(StringEnumConverter))] + public enum TiersExpirationPolicyEnum + { + /// + /// Enum Tierstartdate for value: tier_start_date + /// + [EnumMember(Value = "tier_start_date")] + Tierstartdate = 1, + + /// + /// Enum Programjoindate for value: program_join_date + /// + [EnumMember(Value = "program_join_date")] + Programjoindate = 2 + + } + + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + /// + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. + [DataMember(Name="tiersExpirationPolicy", EmitDefaultValue=false)] + public TiersExpirationPolicyEnum? TiersExpirationPolicy { get; set; } /// /// Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. /// @@ -59,6 +86,39 @@ public enum TiersDowngradePolicyEnum [DataMember(Name="tiersDowngradePolicy", EmitDefaultValue=false)] public TiersDowngradePolicyEnum? TiersDowngradePolicy { get; set; } /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + [JsonConverter(typeof(StringEnumConverter))] + public enum ProgramJoinPolicyEnum + { + /// + /// Enum Notjoin for value: not_join + /// + [EnumMember(Value = "not_join")] + Notjoin = 1, + + /// + /// Enum Pointsactivated for value: points_activated + /// + [EnumMember(Value = "points_activated")] + Pointsactivated = 2, + + /// + /// Enum Pointsearned for value: points_earned + /// + [EnumMember(Value = "points_earned")] + Pointsearned = 3 + + } + + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + /// + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. + [DataMember(Name="programJoinPolicy", EmitDefaultValue=false)] + public ProgramJoinPolicyEnum? ProgramJoinPolicy { get; set; } + /// /// Initializes a new instance of the class. /// /// The display title for the Loyalty Program.. @@ -69,10 +129,12 @@ public enum TiersDowngradePolicyEnum /// Indicates if this program supports subledgers inside the program.. /// The max amount of user profiles with whom a card can be shared. This can be set to 0 for no limit. This property is only used when `cardBased` is `true`. . /// Indicates if this program is a live or sandbox program. Programs of a given type can only be connected to Applications of the same type.. - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. . + /// The policy that defines which date is used to calculate the expiration date of a customer's current tier. - `tier_start_date`: The tier expiration date is calculated based on when the customer joined the current tier. - `program_join_date`: The tier expiration date is calculated based on when the customer joined the loyalty program. . + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. . /// Customers's tier downgrade policy. - `one_down`: Once the tier expires and if the user doesn't have enough points to stay in the tier, the user is downgraded one tier down. - `balance_based`: Once the tier expires, the user's tier is evaluated based on the amount of active points the user has at this instant. . + /// The policy that defines when the customer joins the loyalty program. - `not_join`: The customer does not join the loyalty program but can still earn and spend loyalty points. **Note**: The customer does not have a program join date. - `points_activated`: The customer joins the loyalty program only when their earned loyalty points become active for the first time. - `points_earned`: The customer joins the loyalty program when they earn loyalty points for the first time. . /// The tiers in this loyalty program.. - public UpdateLoyaltyProgram(string title = default(string), string description = default(string), List subscribedApplications = default(List), string defaultValidity = default(string), string defaultPending = default(string), bool allowSubledger = default(bool), int usersPerCardLimit = default(int), bool sandbox = default(bool), string tiersExpireIn = default(string), TiersDowngradePolicyEnum? tiersDowngradePolicy = default(TiersDowngradePolicyEnum?), List tiers = default(List)) + public UpdateLoyaltyProgram(string title = default(string), string description = default(string), List subscribedApplications = default(List), string defaultValidity = default(string), string defaultPending = default(string), bool allowSubledger = default(bool), int usersPerCardLimit = default(int), bool sandbox = default(bool), TiersExpirationPolicyEnum? tiersExpirationPolicy = default(TiersExpirationPolicyEnum?), string tiersExpireIn = default(string), TiersDowngradePolicyEnum? tiersDowngradePolicy = default(TiersDowngradePolicyEnum?), ProgramJoinPolicyEnum? programJoinPolicy = default(ProgramJoinPolicyEnum?), List tiers = default(List)) { this.Title = title; this.Description = description; @@ -82,8 +144,10 @@ public enum TiersDowngradePolicyEnum this.AllowSubledger = allowSubledger; this.UsersPerCardLimit = usersPerCardLimit; this.Sandbox = sandbox; + this.TiersExpirationPolicy = tiersExpirationPolicy; this.TiersExpireIn = tiersExpireIn; this.TiersDowngradePolicy = tiersDowngradePolicy; + this.ProgramJoinPolicy = programJoinPolicy; this.Tiers = tiers; } @@ -144,9 +208,9 @@ public enum TiersDowngradePolicyEnum public bool Sandbox { get; set; } /// - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. /// - /// The duration is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. + /// The amount of time after which the tier expires. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. [DataMember(Name="tiersExpireIn", EmitDefaultValue=false)] public string TiersExpireIn { get; set; } @@ -173,8 +237,10 @@ public override string ToString() sb.Append(" AllowSubledger: ").Append(AllowSubledger).Append("\n"); sb.Append(" UsersPerCardLimit: ").Append(UsersPerCardLimit).Append("\n"); sb.Append(" Sandbox: ").Append(Sandbox).Append("\n"); + sb.Append(" TiersExpirationPolicy: ").Append(TiersExpirationPolicy).Append("\n"); sb.Append(" TiersExpireIn: ").Append(TiersExpireIn).Append("\n"); sb.Append(" TiersDowngradePolicy: ").Append(TiersDowngradePolicy).Append("\n"); + sb.Append(" ProgramJoinPolicy: ").Append(ProgramJoinPolicy).Append("\n"); sb.Append(" Tiers: ").Append(Tiers).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -248,6 +314,10 @@ public bool Equals(UpdateLoyaltyProgram input) this.Sandbox == input.Sandbox || this.Sandbox.Equals(input.Sandbox) ) && + ( + this.TiersExpirationPolicy == input.TiersExpirationPolicy || + this.TiersExpirationPolicy.Equals(input.TiersExpirationPolicy) + ) && ( this.TiersExpireIn == input.TiersExpireIn || (this.TiersExpireIn != null && @@ -257,6 +327,10 @@ public bool Equals(UpdateLoyaltyProgram input) this.TiersDowngradePolicy == input.TiersDowngradePolicy || this.TiersDowngradePolicy.Equals(input.TiersDowngradePolicy) ) && + ( + this.ProgramJoinPolicy == input.ProgramJoinPolicy || + this.ProgramJoinPolicy.Equals(input.ProgramJoinPolicy) + ) && ( this.Tiers == input.Tiers || this.Tiers != null && @@ -287,9 +361,11 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.AllowSubledger.GetHashCode(); hashCode = hashCode * 59 + this.UsersPerCardLimit.GetHashCode(); hashCode = hashCode * 59 + this.Sandbox.GetHashCode(); + hashCode = hashCode * 59 + this.TiersExpirationPolicy.GetHashCode(); if (this.TiersExpireIn != null) hashCode = hashCode * 59 + this.TiersExpireIn.GetHashCode(); hashCode = hashCode * 59 + this.TiersDowngradePolicy.GetHashCode(); + hashCode = hashCode * 59 + this.ProgramJoinPolicy.GetHashCode(); if (this.Tiers != null) hashCode = hashCode * 59 + this.Tiers.GetHashCode(); return hashCode; @@ -309,12 +385,6 @@ public override int GetHashCode() yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for UsersPerCardLimit, must be a value greater than or equal to 0.", new [] { "UsersPerCardLimit" }); } - // TiersExpireIn (string) maxLength - if(this.TiersExpireIn != null && this.TiersExpireIn.Length > 6) - { - yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TiersExpireIn, length must be less than 6.", new [] { "TiersExpireIn" }); - } - yield break; } } diff --git a/src/TalonOne/Model/UpdatePicklist.cs b/src/TalonOne/Model/UpdatePicklist.cs index fc86234..9021f99 100644 --- a/src/TalonOne/Model/UpdatePicklist.cs +++ b/src/TalonOne/Model/UpdatePicklist.cs @@ -32,9 +32,9 @@ namespace TalonOne.Model public partial class UpdatePicklist : IEquatable, IValidatableObject { /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -65,9 +65,9 @@ public enum TypeEnum } /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. [DataMember(Name="type", EmitDefaultValue=false)] public TypeEnum Type { get; set; } /// @@ -78,7 +78,7 @@ protected UpdatePicklist() { } /// /// Initializes a new instance of the class. /// - /// The type of allowed values in the picklist. If type time is chosen, it must be an RFC3339 timestamp string. (required). + /// The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. (required). /// The list of allowed values provided by this picklist. (required). public UpdatePicklist(TypeEnum type = default(TypeEnum), List values = default(List)) { diff --git a/src/TalonOne/Model/UpdateStore.cs b/src/TalonOne/Model/UpdateStore.cs new file mode 100644 index 0000000..796527a --- /dev/null +++ b/src/TalonOne/Model/UpdateStore.cs @@ -0,0 +1,179 @@ +/* + * Talon.One API + * + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * + * Contact: devs@talon.one + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = TalonOne.Client.OpenAPIDateConverter; + +namespace TalonOne.Model +{ + /// + /// UpdateStore + /// + [DataContract] + public partial class UpdateStore : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected UpdateStore() { } + /// + /// Initializes a new instance of the class. + /// + /// The name of the store. (required). + /// The description of the store. (required). + /// The attributes of the store.. + public UpdateStore(string name = default(string), string description = default(string), Object attributes = default(Object)) + { + // to ensure "name" is required (not null) + this.Name = name ?? throw new ArgumentNullException("name is a required property for UpdateStore and cannot be null"); + // to ensure "description" is required (not null) + this.Description = description ?? throw new ArgumentNullException("description is a required property for UpdateStore and cannot be null"); + this.Attributes = attributes; + } + + /// + /// The name of the store. + /// + /// The name of the store. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// The description of the store. + /// + /// The description of the store. + [DataMember(Name="description", EmitDefaultValue=false)] + public string Description { get; set; } + + /// + /// The attributes of the store. + /// + /// The attributes of the store. + [DataMember(Name="attributes", EmitDefaultValue=false)] + public Object Attributes { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class UpdateStore {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Attributes: ").Append(Attributes).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as UpdateStore); + } + + /// + /// Returns true if UpdateStore instances are equal + /// + /// Instance of UpdateStore to be compared + /// Boolean + public bool Equals(UpdateStore input) + { + if (input == null) + return false; + + return + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.Description == input.Description || + (this.Description != null && + this.Description.Equals(input.Description)) + ) && + ( + this.Attributes == input.Attributes || + (this.Attributes != null && + this.Attributes.Equals(input.Attributes)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.Description != null) + hashCode = hashCode * 59 + this.Description.GetHashCode(); + if (this.Attributes != null) + hashCode = hashCode * 59 + this.Attributes.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 200) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 200.", new [] { "Name" }); + } + + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/src/TalonOne/Model/UpdateUser.cs b/src/TalonOne/Model/UpdateUser.cs index c8e009a..3fa1b52 100644 --- a/src/TalonOne/Model/UpdateUser.cs +++ b/src/TalonOne/Model/UpdateUser.cs @@ -32,9 +32,9 @@ namespace TalonOne.Model public partial class UpdateUser : IEquatable, IValidatableObject { /// - /// New state (\"deactivated\" or \"active\") for the user. Only usable by admins for the user. + /// The state of the user. - `deactivated`: The user has been deactivated. - `active`: The user is active. **Note**: Only `admin` users can update the state of another user. /// - /// New state (\"deactivated\" or \"active\") for the user. Only usable by admins for the user. + /// The state of the user. - `deactivated`: The user has been deactivated. - `active`: The user is active. **Note**: Only `admin` users can update the state of another user. [JsonConverter(typeof(StringEnumConverter))] public enum StateEnum { @@ -53,52 +53,62 @@ public enum StateEnum } /// - /// New state (\"deactivated\" or \"active\") for the user. Only usable by admins for the user. + /// The state of the user. - `deactivated`: The user has been deactivated. - `active`: The user is active. **Note**: Only `admin` users can update the state of another user. /// - /// New state (\"deactivated\" or \"active\") for the user. Only usable by admins for the user. + /// The state of the user. - `deactivated`: The user has been deactivated. - `active`: The user is active. **Note**: Only `admin` users can update the state of another user. [DataMember(Name="state", EmitDefaultValue=false)] public StateEnum? State { get; set; } /// /// Initializes a new instance of the class. /// - /// The user name.. - /// The `Access Control List` json defining the role of the user. This represents the access control on the user level.. - /// New state (\"deactivated\" or \"active\") for the user. Only usable by admins for the user.. - /// List of roles to assign to the user.. - /// applicationNotificationSubscriptions. - public UpdateUser(string name = default(string), string policy = default(string), StateEnum? state = default(StateEnum?), List roles = default(List), Object applicationNotificationSubscriptions = default(Object)) + /// Name of the user.. + /// The state of the user. - `deactivated`: The user has been deactivated. - `active`: The user is active. **Note**: Only `admin` users can update the state of another user. . + /// Indicates whether the user is an `admin`.. + /// Indicates the access level of the user.. + /// A list of the IDs of the roles assigned to the user. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. . + /// Application notifications that the user is subscribed to.. + public UpdateUser(string name = default(string), StateEnum? state = default(StateEnum?), bool isAdmin = default(bool), string policy = default(string), List roles = default(List), Object applicationNotificationSubscriptions = default(Object)) { this.Name = name; - this.Policy = policy; this.State = state; + this.IsAdmin = isAdmin; + this.Policy = policy; this.Roles = roles; this.ApplicationNotificationSubscriptions = applicationNotificationSubscriptions; } /// - /// The user name. + /// Name of the user. /// - /// The user name. + /// Name of the user. [DataMember(Name="name", EmitDefaultValue=false)] public string Name { get; set; } /// - /// The `Access Control List` json defining the role of the user. This represents the access control on the user level. + /// Indicates whether the user is an `admin`. + /// + /// Indicates whether the user is an `admin`. + [DataMember(Name="isAdmin", EmitDefaultValue=false)] + public bool IsAdmin { get; set; } + + /// + /// Indicates the access level of the user. /// - /// The `Access Control List` json defining the role of the user. This represents the access control on the user level. + /// Indicates the access level of the user. [DataMember(Name="policy", EmitDefaultValue=false)] public string Policy { get; set; } /// - /// List of roles to assign to the user. + /// A list of the IDs of the roles assigned to the user. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. /// - /// List of roles to assign to the user. + /// A list of the IDs of the roles assigned to the user. **Note**: To find the ID of a role, use the [List roles](/management-api#tag/Roles/operation/listAllRolesV2) endpoint. [DataMember(Name="roles", EmitDefaultValue=false)] public List Roles { get; set; } /// - /// Gets or Sets ApplicationNotificationSubscriptions + /// Application notifications that the user is subscribed to. /// + /// Application notifications that the user is subscribed to. [DataMember(Name="applicationNotificationSubscriptions", EmitDefaultValue=false)] public Object ApplicationNotificationSubscriptions { get; set; } @@ -111,8 +121,9 @@ public override string ToString() var sb = new StringBuilder(); sb.Append("class UpdateUser {\n"); sb.Append(" Name: ").Append(Name).Append("\n"); - sb.Append(" Policy: ").Append(Policy).Append("\n"); sb.Append(" State: ").Append(State).Append("\n"); + sb.Append(" IsAdmin: ").Append(IsAdmin).Append("\n"); + sb.Append(" Policy: ").Append(Policy).Append("\n"); sb.Append(" Roles: ").Append(Roles).Append("\n"); sb.Append(" ApplicationNotificationSubscriptions: ").Append(ApplicationNotificationSubscriptions).Append("\n"); sb.Append("}\n"); @@ -154,15 +165,19 @@ public bool Equals(UpdateUser input) (this.Name != null && this.Name.Equals(input.Name)) ) && + ( + this.State == input.State || + this.State.Equals(input.State) + ) && + ( + this.IsAdmin == input.IsAdmin || + this.IsAdmin.Equals(input.IsAdmin) + ) && ( this.Policy == input.Policy || (this.Policy != null && this.Policy.Equals(input.Policy)) ) && - ( - this.State == input.State || - this.State.Equals(input.State) - ) && ( this.Roles == input.Roles || this.Roles != null && @@ -187,9 +202,10 @@ public override int GetHashCode() int hashCode = 41; if (this.Name != null) hashCode = hashCode * 59 + this.Name.GetHashCode(); + hashCode = hashCode * 59 + this.State.GetHashCode(); + hashCode = hashCode * 59 + this.IsAdmin.GetHashCode(); if (this.Policy != null) hashCode = hashCode * 59 + this.Policy.GetHashCode(); - hashCode = hashCode * 59 + this.State.GetHashCode(); if (this.Roles != null) hashCode = hashCode * 59 + this.Roles.GetHashCode(); if (this.ApplicationNotificationSubscriptions != null) diff --git a/src/TalonOne/Model/User.cs b/src/TalonOne/Model/User.cs index 78e0957..eff60c8 100644 --- a/src/TalonOne/Model/User.cs +++ b/src/TalonOne/Model/User.cs @@ -32,9 +32,9 @@ namespace TalonOne.Model public partial class User : IEquatable, IValidatableObject { /// - /// Current user state. + /// State of the user. /// - /// Current user state. + /// State of the user. [JsonConverter(typeof(StringEnumConverter))] public enum StateEnum { @@ -59,9 +59,9 @@ public enum StateEnum } /// - /// Current user state. + /// State of the user. /// - /// Current user state. + /// State of the user. [DataMember(Name="state", EmitDefaultValue=false)] public StateEnum State { get; set; } /// @@ -75,17 +75,20 @@ protected User() { } /// Internal ID of this entity. (required). /// The time this entity was created. (required). /// The time this entity was last modified. (required). - /// The email address associated with your account. (required). + /// The email address associated with the user profile. (required). /// The ID of the account that owns this entity. (required). - /// Invite token, empty if the user as already accepted their invite. (required). - /// Current user state. (required). - /// Full name (required). - /// User ACL Policy (required). - /// Latest timestamp the user has been notified for feed.. - /// Contains a list of all roles the user is a member of.. - /// applicationNotificationSubscriptions. - /// The Authentication method for this user.. - public User(int id = default(int), DateTime created = default(DateTime), DateTime modified = default(DateTime), string email = default(string), int accountId = default(int), string inviteToken = default(string), StateEnum state = default(StateEnum), string name = default(string), Object policy = default(Object), DateTime latestFeedTimestamp = default(DateTime), List roles = default(List), Object applicationNotificationSubscriptions = default(Object), string authMethod = default(string)) + /// Name of the user. (required). + /// State of the user. (required). + /// Invitation token of the user. **Note**: If the user has already accepted their invitation, this is `null`. (required). + /// Indicates whether the user is an `admin`.. + /// Access level of the user. (required). + /// A list of the IDs of the roles assigned to the user.. + /// Authentication method for this user.. + /// Application notifications that the user is subscribed to.. + /// Timestamp when the user last signed in to Talon.One.. + /// Timestamp of the user's last activity after signing in to Talon.One.. + /// Timestamp when the user was notified for feed.. + public User(int id = default(int), DateTime created = default(DateTime), DateTime modified = default(DateTime), string email = default(string), int accountId = default(int), string name = default(string), StateEnum state = default(StateEnum), string inviteToken = default(string), bool isAdmin = default(bool), Object policy = default(Object), List roles = default(List), string authMethod = default(string), Object applicationNotificationSubscriptions = default(Object), DateTime lastSignedIn = default(DateTime), DateTime lastAccessed = default(DateTime), DateTime latestFeedTimestamp = default(DateTime)) { this.Id = id; this.Created = created; @@ -93,17 +96,20 @@ protected User() { } // to ensure "email" is required (not null) this.Email = email ?? throw new ArgumentNullException("email is a required property for User and cannot be null"); this.AccountId = accountId; - // to ensure "inviteToken" is required (not null) - this.InviteToken = inviteToken ?? throw new ArgumentNullException("inviteToken is a required property for User and cannot be null"); - this.State = state; // to ensure "name" is required (not null) this.Name = name ?? throw new ArgumentNullException("name is a required property for User and cannot be null"); + this.State = state; + // to ensure "inviteToken" is required (not null) + this.InviteToken = inviteToken ?? throw new ArgumentNullException("inviteToken is a required property for User and cannot be null"); // to ensure "policy" is required (not null) this.Policy = policy ?? throw new ArgumentNullException("policy is a required property for User and cannot be null"); - this.LatestFeedTimestamp = latestFeedTimestamp; + this.IsAdmin = isAdmin; this.Roles = roles; - this.ApplicationNotificationSubscriptions = applicationNotificationSubscriptions; this.AuthMethod = authMethod; + this.ApplicationNotificationSubscriptions = applicationNotificationSubscriptions; + this.LastSignedIn = lastSignedIn; + this.LastAccessed = lastAccessed; + this.LatestFeedTimestamp = latestFeedTimestamp; } /// @@ -128,9 +134,9 @@ protected User() { } public DateTime Modified { get; set; } /// - /// The email address associated with your account. + /// The email address associated with the user profile. /// - /// The email address associated with your account. + /// The email address associated with the user profile. [DataMember(Name="email", EmitDefaultValue=false)] public string Email { get; set; } @@ -142,52 +148,74 @@ protected User() { } public int AccountId { get; set; } /// - /// Invite token, empty if the user as already accepted their invite. + /// Name of the user. /// - /// Invite token, empty if the user as already accepted their invite. + /// Name of the user. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Invitation token of the user. **Note**: If the user has already accepted their invitation, this is `null`. + /// + /// Invitation token of the user. **Note**: If the user has already accepted their invitation, this is `null`. [DataMember(Name="inviteToken", EmitDefaultValue=false)] public string InviteToken { get; set; } /// - /// Full name + /// Indicates whether the user is an `admin`. /// - /// Full name - [DataMember(Name="name", EmitDefaultValue=false)] - public string Name { get; set; } + /// Indicates whether the user is an `admin`. + [DataMember(Name="isAdmin", EmitDefaultValue=false)] + public bool IsAdmin { get; set; } /// - /// User ACL Policy + /// Access level of the user. /// - /// User ACL Policy + /// Access level of the user. [DataMember(Name="policy", EmitDefaultValue=false)] public Object Policy { get; set; } /// - /// Latest timestamp the user has been notified for feed. + /// A list of the IDs of the roles assigned to the user. /// - /// Latest timestamp the user has been notified for feed. - [DataMember(Name="latestFeedTimestamp", EmitDefaultValue=false)] - public DateTime LatestFeedTimestamp { get; set; } + /// A list of the IDs of the roles assigned to the user. + [DataMember(Name="roles", EmitDefaultValue=false)] + public List Roles { get; set; } /// - /// Contains a list of all roles the user is a member of. + /// Authentication method for this user. /// - /// Contains a list of all roles the user is a member of. - [DataMember(Name="roles", EmitDefaultValue=false)] - public List Roles { get; set; } + /// Authentication method for this user. + [DataMember(Name="authMethod", EmitDefaultValue=false)] + public string AuthMethod { get; set; } /// - /// Gets or Sets ApplicationNotificationSubscriptions + /// Application notifications that the user is subscribed to. /// + /// Application notifications that the user is subscribed to. [DataMember(Name="applicationNotificationSubscriptions", EmitDefaultValue=false)] public Object ApplicationNotificationSubscriptions { get; set; } /// - /// The Authentication method for this user. + /// Timestamp when the user last signed in to Talon.One. /// - /// The Authentication method for this user. - [DataMember(Name="authMethod", EmitDefaultValue=false)] - public string AuthMethod { get; set; } + /// Timestamp when the user last signed in to Talon.One. + [DataMember(Name="lastSignedIn", EmitDefaultValue=false)] + public DateTime LastSignedIn { get; set; } + + /// + /// Timestamp of the user's last activity after signing in to Talon.One. + /// + /// Timestamp of the user's last activity after signing in to Talon.One. + [DataMember(Name="lastAccessed", EmitDefaultValue=false)] + public DateTime LastAccessed { get; set; } + + /// + /// Timestamp when the user was notified for feed. + /// + /// Timestamp when the user was notified for feed. + [DataMember(Name="latestFeedTimestamp", EmitDefaultValue=false)] + public DateTime LatestFeedTimestamp { get; set; } /// /// Returns the string presentation of the object @@ -202,14 +230,17 @@ public override string ToString() sb.Append(" Modified: ").Append(Modified).Append("\n"); sb.Append(" Email: ").Append(Email).Append("\n"); sb.Append(" AccountId: ").Append(AccountId).Append("\n"); - sb.Append(" InviteToken: ").Append(InviteToken).Append("\n"); - sb.Append(" State: ").Append(State).Append("\n"); sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" State: ").Append(State).Append("\n"); + sb.Append(" InviteToken: ").Append(InviteToken).Append("\n"); + sb.Append(" IsAdmin: ").Append(IsAdmin).Append("\n"); sb.Append(" Policy: ").Append(Policy).Append("\n"); - sb.Append(" LatestFeedTimestamp: ").Append(LatestFeedTimestamp).Append("\n"); sb.Append(" Roles: ").Append(Roles).Append("\n"); - sb.Append(" ApplicationNotificationSubscriptions: ").Append(ApplicationNotificationSubscriptions).Append("\n"); sb.Append(" AuthMethod: ").Append(AuthMethod).Append("\n"); + sb.Append(" ApplicationNotificationSubscriptions: ").Append(ApplicationNotificationSubscriptions).Append("\n"); + sb.Append(" LastSignedIn: ").Append(LastSignedIn).Append("\n"); + sb.Append(" LastAccessed: ").Append(LastAccessed).Append("\n"); + sb.Append(" LatestFeedTimestamp: ").Append(LatestFeedTimestamp).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -268,44 +299,58 @@ public bool Equals(User input) this.AccountId.Equals(input.AccountId) ) && ( - this.InviteToken == input.InviteToken || - (this.InviteToken != null && - this.InviteToken.Equals(input.InviteToken)) + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) ) && ( this.State == input.State || this.State.Equals(input.State) ) && ( - this.Name == input.Name || - (this.Name != null && - this.Name.Equals(input.Name)) + this.InviteToken == input.InviteToken || + (this.InviteToken != null && + this.InviteToken.Equals(input.InviteToken)) + ) && + ( + this.IsAdmin == input.IsAdmin || + this.IsAdmin.Equals(input.IsAdmin) ) && ( this.Policy == input.Policy || (this.Policy != null && this.Policy.Equals(input.Policy)) ) && - ( - this.LatestFeedTimestamp == input.LatestFeedTimestamp || - (this.LatestFeedTimestamp != null && - this.LatestFeedTimestamp.Equals(input.LatestFeedTimestamp)) - ) && ( this.Roles == input.Roles || this.Roles != null && input.Roles != null && this.Roles.SequenceEqual(input.Roles) ) && + ( + this.AuthMethod == input.AuthMethod || + (this.AuthMethod != null && + this.AuthMethod.Equals(input.AuthMethod)) + ) && ( this.ApplicationNotificationSubscriptions == input.ApplicationNotificationSubscriptions || (this.ApplicationNotificationSubscriptions != null && this.ApplicationNotificationSubscriptions.Equals(input.ApplicationNotificationSubscriptions)) ) && ( - this.AuthMethod == input.AuthMethod || - (this.AuthMethod != null && - this.AuthMethod.Equals(input.AuthMethod)) + this.LastSignedIn == input.LastSignedIn || + (this.LastSignedIn != null && + this.LastSignedIn.Equals(input.LastSignedIn)) + ) && + ( + this.LastAccessed == input.LastAccessed || + (this.LastAccessed != null && + this.LastAccessed.Equals(input.LastAccessed)) + ) && + ( + this.LatestFeedTimestamp == input.LatestFeedTimestamp || + (this.LatestFeedTimestamp != null && + this.LatestFeedTimestamp.Equals(input.LatestFeedTimestamp)) ); } @@ -326,21 +371,26 @@ public override int GetHashCode() if (this.Email != null) hashCode = hashCode * 59 + this.Email.GetHashCode(); hashCode = hashCode * 59 + this.AccountId.GetHashCode(); - if (this.InviteToken != null) - hashCode = hashCode * 59 + this.InviteToken.GetHashCode(); - hashCode = hashCode * 59 + this.State.GetHashCode(); if (this.Name != null) hashCode = hashCode * 59 + this.Name.GetHashCode(); + hashCode = hashCode * 59 + this.State.GetHashCode(); + if (this.InviteToken != null) + hashCode = hashCode * 59 + this.InviteToken.GetHashCode(); + hashCode = hashCode * 59 + this.IsAdmin.GetHashCode(); if (this.Policy != null) hashCode = hashCode * 59 + this.Policy.GetHashCode(); - if (this.LatestFeedTimestamp != null) - hashCode = hashCode * 59 + this.LatestFeedTimestamp.GetHashCode(); if (this.Roles != null) hashCode = hashCode * 59 + this.Roles.GetHashCode(); - if (this.ApplicationNotificationSubscriptions != null) - hashCode = hashCode * 59 + this.ApplicationNotificationSubscriptions.GetHashCode(); if (this.AuthMethod != null) hashCode = hashCode * 59 + this.AuthMethod.GetHashCode(); + if (this.ApplicationNotificationSubscriptions != null) + hashCode = hashCode * 59 + this.ApplicationNotificationSubscriptions.GetHashCode(); + if (this.LastSignedIn != null) + hashCode = hashCode * 59 + this.LastSignedIn.GetHashCode(); + if (this.LastAccessed != null) + hashCode = hashCode * 59 + this.LastAccessed.GetHashCode(); + if (this.LatestFeedTimestamp != null) + hashCode = hashCode * 59 + this.LatestFeedTimestamp.GetHashCode(); return hashCode; } } diff --git a/src/TalonOne/Properties/AssemblyInfo.cs b/src/TalonOne/Properties/AssemblyInfo.cs index 88a0fc5..6d40123 100644 --- a/src/TalonOne/Properties/AssemblyInfo.cs +++ b/src/TalonOne/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("5.0.2")] -[assembly: AssemblyFileVersion("5.0.2")] +[assembly: AssemblyVersion("6.0.0")] +[assembly: AssemblyFileVersion("6.0.0")]