talon_one 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (535) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +63 -0
  3. data/Gemfile +7 -0
  4. data/README.md +423 -0
  5. data/Rakefile +8 -0
  6. data/docs/APIError.md +10 -0
  7. data/docs/AccessLogEntry.md +14 -0
  8. data/docs/Account.md +25 -0
  9. data/docs/AccountAnalytics.md +22 -0
  10. data/docs/AccountEntity.md +8 -0
  11. data/docs/AccountLimits.md +19 -0
  12. data/docs/Application.md +21 -0
  13. data/docs/ApplicationAPIKey.md +14 -0
  14. data/docs/ApplicationApiHealth.md +9 -0
  15. data/docs/ApplicationCustomer.md +16 -0
  16. data/docs/ApplicationCustomerEntity.md +8 -0
  17. data/docs/ApplicationCustomerSearch.md +10 -0
  18. data/docs/ApplicationEntity.md +8 -0
  19. data/docs/ApplicationEvent.md +15 -0
  20. data/docs/ApplicationSession.md +19 -0
  21. data/docs/ApplicationSessionEntity.md +8 -0
  22. data/docs/Attribute.md +18 -0
  23. data/docs/AttributeQuery.md +7 -0
  24. data/docs/AttributesMandatory.md +9 -0
  25. data/docs/AttributesSettings.md +8 -0
  26. data/docs/BaseSamlConnection.md +15 -0
  27. data/docs/Binding.md +9 -0
  28. data/docs/Campaign.md +32 -0
  29. data/docs/CampaignAnalytics.md +28 -0
  30. data/docs/CampaignCopy.md +13 -0
  31. data/docs/CampaignEntity.md +8 -0
  32. data/docs/CampaignSearch.md +8 -0
  33. data/docs/CampaignSet.md +11 -0
  34. data/docs/CampaignSetBranchNode.md +11 -0
  35. data/docs/CampaignSetLeafNode.md +9 -0
  36. data/docs/CampaignSetNode.md +8 -0
  37. data/docs/CartItem.md +19 -0
  38. data/docs/CartItemAdjustment.md +10 -0
  39. data/docs/Change.md +13 -0
  40. data/docs/CodeGeneratorSettings.md +9 -0
  41. data/docs/Coupon.md +21 -0
  42. data/docs/CouponConstraints.md +10 -0
  43. data/docs/CouponRejectionReason.md +10 -0
  44. data/docs/CouponReservations.md +8 -0
  45. data/docs/CouponSearch.md +8 -0
  46. data/docs/CouponValue.md +8 -0
  47. data/docs/CreateApplicationAPIKey.md +9 -0
  48. data/docs/CustomerActivityReport.md +20 -0
  49. data/docs/CustomerAnalytics.md +14 -0
  50. data/docs/CustomerInventory.md +9 -0
  51. data/docs/CustomerProfile.md +15 -0
  52. data/docs/CustomerProfileSearchQuery.md +10 -0
  53. data/docs/CustomerSession.md +20 -0
  54. data/docs/EmailEntity.md +8 -0
  55. data/docs/Entity.md +9 -0
  56. data/docs/Environment.md +14 -0
  57. data/docs/ErrorResponse.md +9 -0
  58. data/docs/ErrorSource.md +11 -0
  59. data/docs/Event.md +17 -0
  60. data/docs/EventType.md +19 -0
  61. data/docs/Export.md +13 -0
  62. data/docs/FeatureFlag.md +11 -0
  63. data/docs/FeatureFlags.md +11 -0
  64. data/docs/FeaturesFeed.md +9 -0
  65. data/docs/FuncArgDef.md +9 -0
  66. data/docs/FunctionDef.md +12 -0
  67. data/docs/Import.md +13 -0
  68. data/docs/ImportCoupons.md +8 -0
  69. data/docs/InlineResponse200.md +9 -0
  70. data/docs/InlineResponse2001.md +9 -0
  71. data/docs/InlineResponse20010.md +9 -0
  72. data/docs/InlineResponse20011.md +9 -0
  73. data/docs/InlineResponse20012.md +9 -0
  74. data/docs/InlineResponse20013.md +9 -0
  75. data/docs/InlineResponse20014.md +9 -0
  76. data/docs/InlineResponse20015.md +9 -0
  77. data/docs/InlineResponse20016.md +9 -0
  78. data/docs/InlineResponse20017.md +9 -0
  79. data/docs/InlineResponse20018.md +9 -0
  80. data/docs/InlineResponse20019.md +9 -0
  81. data/docs/InlineResponse2002.md +9 -0
  82. data/docs/InlineResponse20020.md +9 -0
  83. data/docs/InlineResponse20021.md +9 -0
  84. data/docs/InlineResponse20022.md +9 -0
  85. data/docs/InlineResponse20023.md +9 -0
  86. data/docs/InlineResponse20024.md +9 -0
  87. data/docs/InlineResponse20025.md +9 -0
  88. data/docs/InlineResponse20026.md +10 -0
  89. data/docs/InlineResponse20027.md +9 -0
  90. data/docs/InlineResponse20028.md +9 -0
  91. data/docs/InlineResponse20029.md +9 -0
  92. data/docs/InlineResponse2003.md +9 -0
  93. data/docs/InlineResponse2004.md +9 -0
  94. data/docs/InlineResponse2005.md +9 -0
  95. data/docs/InlineResponse2006.md +9 -0
  96. data/docs/InlineResponse2007.md +9 -0
  97. data/docs/InlineResponse2008.md +9 -0
  98. data/docs/InlineResponse2009.md +9 -0
  99. data/docs/IntegrationApi.md +624 -0
  100. data/docs/IntegrationEntity.md +9 -0
  101. data/docs/IntegrationEvent.md +10 -0
  102. data/docs/IntegrationProfileEntity.md +8 -0
  103. data/docs/IntegrationState.md +12 -0
  104. data/docs/LedgerEntry.md +17 -0
  105. data/docs/LibraryAttribute.md +14 -0
  106. data/docs/LimitConfig.md +10 -0
  107. data/docs/LoginParams.md +9 -0
  108. data/docs/Loyalty.md +8 -0
  109. data/docs/LoyaltyLedger.md +9 -0
  110. data/docs/LoyaltyLedgerEntry.md +17 -0
  111. data/docs/LoyaltyMembership.md +9 -0
  112. data/docs/LoyaltyPoints.md +11 -0
  113. data/docs/LoyaltyProgram.md +15 -0
  114. data/docs/LoyaltyProgramBalance.md +8 -0
  115. data/docs/LoyaltyProgramLedgers.md +11 -0
  116. data/docs/LoyaltySubLedger.md +10 -0
  117. data/docs/ManagementApi.md +5138 -0
  118. data/docs/ManagerConfig.md +8 -0
  119. data/docs/Meta.md +12 -0
  120. data/docs/MiscUpdateUserLatestFeature.md +8 -0
  121. data/docs/MultiApplicationEntity.md +8 -0
  122. data/docs/MutableEntity.md +8 -0
  123. data/docs/NewAccount.md +8 -0
  124. data/docs/NewAccountSignUp.md +10 -0
  125. data/docs/NewApplication.md +16 -0
  126. data/docs/NewApplicationAPIKey.md +15 -0
  127. data/docs/NewAttribute.md +15 -0
  128. data/docs/NewCampaign.md +19 -0
  129. data/docs/NewCampaignSet.md +9 -0
  130. data/docs/NewCoupons.md +16 -0
  131. data/docs/NewCustomerProfile.md +8 -0
  132. data/docs/NewCustomerSession.md +15 -0
  133. data/docs/NewEvent.md +11 -0
  134. data/docs/NewEventType.md +17 -0
  135. data/docs/NewFeatureFlags.md +10 -0
  136. data/docs/NewImport.md +8 -0
  137. data/docs/NewInvitation.md +11 -0
  138. data/docs/NewInviteEmail.md +9 -0
  139. data/docs/NewLoyaltyProgram.md +13 -0
  140. data/docs/NewPassword.md +9 -0
  141. data/docs/NewPasswordEmail.md +8 -0
  142. data/docs/NewReferral.md +12 -0
  143. data/docs/NewRole.md +11 -0
  144. data/docs/NewRuleset.md +11 -0
  145. data/docs/NewSamlConnection.md +16 -0
  146. data/docs/NewTemplateDef.md +14 -0
  147. data/docs/NewUser.md +11 -0
  148. data/docs/NewWebhook.md +15 -0
  149. data/docs/Notification.md +10 -0
  150. data/docs/Notifications.md +7 -0
  151. data/docs/Referral.md +17 -0
  152. data/docs/ReferralRejectionReason.md +10 -0
  153. data/docs/Role.md +13 -0
  154. data/docs/RoleAssign.md +9 -0
  155. data/docs/RoleMembership.md +9 -0
  156. data/docs/Rule.md +12 -0
  157. data/docs/Ruleset.md +16 -0
  158. data/docs/SamlConnection.md +18 -0
  159. data/docs/SamlConnectionMetadata.md +11 -0
  160. data/docs/Session.md +10 -0
  161. data/docs/SlotDef.md +13 -0
  162. data/docs/TemplateArgDef.md +11 -0
  163. data/docs/TemplateDef.md +18 -0
  164. data/docs/UpdateAccount.md +10 -0
  165. data/docs/UpdateApplication.md +15 -0
  166. data/docs/UpdateCampaign.md +19 -0
  167. data/docs/UpdateCoupon.md +12 -0
  168. data/docs/UpdateCouponBatch.md +12 -0
  169. data/docs/UpdateLoyaltyProgram.md +12 -0
  170. data/docs/UpdateRole.md +11 -0
  171. data/docs/UpdateUser.md +17 -0
  172. data/docs/User.md +21 -0
  173. data/docs/UserEntity.md +8 -0
  174. data/docs/Webhook.md +18 -0
  175. data/docs/WebhookActivationLogEntry.md +12 -0
  176. data/docs/WebhookLogEntry.md +17 -0
  177. data/git_push.sh +55 -0
  178. data/lib/talon_one.rb +210 -0
  179. data/lib/talon_one/api/integration_api.rb +591 -0
  180. data/lib/talon_one/api/management_api.rb +5593 -0
  181. data/lib/talon_one/api_client.rb +389 -0
  182. data/lib/talon_one/api_error.rb +38 -0
  183. data/lib/talon_one/configuration.rb +223 -0
  184. data/lib/talon_one/models/access_log_entry.rb +280 -0
  185. data/lib/talon_one/models/account.rb +462 -0
  186. data/lib/talon_one/models/account_analytics.rb +399 -0
  187. data/lib/talon_one/models/account_entity.rb +189 -0
  188. data/lib/talon_one/models/account_limits.rb +351 -0
  189. data/lib/talon_one/models/api_error.rb +213 -0
  190. data/lib/talon_one/models/application.rb +491 -0
  191. data/lib/talon_one/models/application_api_health.rb +239 -0
  192. data/lib/talon_one/models/application_api_key.rb +279 -0
  193. data/lib/talon_one/models/application_customer.rb +307 -0
  194. data/lib/talon_one/models/application_customer_entity.rb +184 -0
  195. data/lib/talon_one/models/application_customer_search.rb +206 -0
  196. data/lib/talon_one/models/application_entity.rb +189 -0
  197. data/lib/talon_one/models/application_event.rb +287 -0
  198. data/lib/talon_one/models/application_session.rb +378 -0
  199. data/lib/talon_one/models/application_session_entity.rb +189 -0
  200. data/lib/talon_one/models/attribute.rb +382 -0
  201. data/lib/talon_one/models/attribute_query.rb +174 -0
  202. data/lib/talon_one/models/attributes_mandatory.rb +199 -0
  203. data/lib/talon_one/models/attributes_settings.rb +184 -0
  204. data/lib/talon_one/models/base_saml_connection.rb +336 -0
  205. data/lib/talon_one/models/binding.rb +206 -0
  206. data/lib/talon_one/models/campaign.rb +534 -0
  207. data/lib/talon_one/models/campaign_analytics.rb +489 -0
  208. data/lib/talon_one/models/campaign_copy.rb +243 -0
  209. data/lib/talon_one/models/campaign_entity.rb +189 -0
  210. data/lib/talon_one/models/campaign_search.rb +189 -0
  211. data/lib/talon_one/models/campaign_set.rb +234 -0
  212. data/lib/talon_one/models/campaign_set_branch_node.rb +282 -0
  213. data/lib/talon_one/models/campaign_set_leaf_node.rb +238 -0
  214. data/lib/talon_one/models/campaign_set_node.rb +188 -0
  215. data/lib/talon_one/models/cart_item.rb +365 -0
  216. data/lib/talon_one/models/cart_item_adjustment.rb +248 -0
  217. data/lib/talon_one/models/change.rb +255 -0
  218. data/lib/talon_one/models/code_generator_settings.rb +225 -0
  219. data/lib/talon_one/models/coupon.rb +392 -0
  220. data/lib/talon_one/models/coupon_constraints.rb +228 -0
  221. data/lib/talon_one/models/coupon_rejection_reason.rb +251 -0
  222. data/lib/talon_one/models/coupon_reservations.rb +191 -0
  223. data/lib/talon_one/models/coupon_search.rb +189 -0
  224. data/lib/talon_one/models/coupon_value.rb +199 -0
  225. data/lib/talon_one/models/create_application_api_key.rb +204 -0
  226. data/lib/talon_one/models/customer_activity_report.rb +365 -0
  227. data/lib/talon_one/models/customer_analytics.rb +280 -0
  228. data/lib/talon_one/models/customer_inventory.rb +194 -0
  229. data/lib/talon_one/models/customer_profile.rb +292 -0
  230. data/lib/talon_one/models/customer_profile_search_query.rb +206 -0
  231. data/lib/talon_one/models/customer_session.rb +407 -0
  232. data/lib/talon_one/models/email_entity.rb +189 -0
  233. data/lib/talon_one/models/entity.rb +204 -0
  234. data/lib/talon_one/models/environment.rb +285 -0
  235. data/lib/talon_one/models/error_response.rb +201 -0
  236. data/lib/talon_one/models/error_source.rb +215 -0
  237. data/lib/talon_one/models/event.rb +332 -0
  238. data/lib/talon_one/models/event_type.rb +426 -0
  239. data/lib/talon_one/models/export.rb +299 -0
  240. data/lib/talon_one/models/feature_flag.rb +224 -0
  241. data/lib/talon_one/models/feature_flags.rb +220 -0
  242. data/lib/talon_one/models/features_feed.rb +193 -0
  243. data/lib/talon_one/models/func_arg_def.rb +243 -0
  244. data/lib/talon_one/models/function_def.rb +260 -0
  245. data/lib/talon_one/models/import.rb +318 -0
  246. data/lib/talon_one/models/import_coupons.rb +188 -0
  247. data/lib/talon_one/models/inline_response_200.rb +204 -0
  248. data/lib/talon_one/models/inline_response_200_1.rb +204 -0
  249. data/lib/talon_one/models/inline_response_200_10.rb +204 -0
  250. data/lib/talon_one/models/inline_response_200_11.rb +204 -0
  251. data/lib/talon_one/models/inline_response_200_12.rb +204 -0
  252. data/lib/talon_one/models/inline_response_200_13.rb +204 -0
  253. data/lib/talon_one/models/inline_response_200_14.rb +204 -0
  254. data/lib/talon_one/models/inline_response_200_15.rb +204 -0
  255. data/lib/talon_one/models/inline_response_200_16.rb +204 -0
  256. data/lib/talon_one/models/inline_response_200_17.rb +204 -0
  257. data/lib/talon_one/models/inline_response_200_18.rb +204 -0
  258. data/lib/talon_one/models/inline_response_200_19.rb +204 -0
  259. data/lib/talon_one/models/inline_response_200_2.rb +204 -0
  260. data/lib/talon_one/models/inline_response_200_20.rb +204 -0
  261. data/lib/talon_one/models/inline_response_200_21.rb +204 -0
  262. data/lib/talon_one/models/inline_response_200_22.rb +204 -0
  263. data/lib/talon_one/models/inline_response_200_23.rb +204 -0
  264. data/lib/talon_one/models/inline_response_200_24.rb +204 -0
  265. data/lib/talon_one/models/inline_response_200_25.rb +204 -0
  266. data/lib/talon_one/models/inline_response_200_26.rb +208 -0
  267. data/lib/talon_one/models/inline_response_200_27.rb +204 -0
  268. data/lib/talon_one/models/inline_response_200_28.rb +204 -0
  269. data/lib/talon_one/models/inline_response_200_29.rb +204 -0
  270. data/lib/talon_one/models/inline_response_200_3.rb +204 -0
  271. data/lib/talon_one/models/inline_response_200_4.rb +204 -0
  272. data/lib/talon_one/models/inline_response_200_5.rb +204 -0
  273. data/lib/talon_one/models/inline_response_200_6.rb +204 -0
  274. data/lib/talon_one/models/inline_response_200_7.rb +204 -0
  275. data/lib/talon_one/models/inline_response_200_8.rb +204 -0
  276. data/lib/talon_one/models/inline_response_200_9.rb +204 -0
  277. data/lib/talon_one/models/integration_entity.rb +204 -0
  278. data/lib/talon_one/models/integration_event.rb +234 -0
  279. data/lib/talon_one/models/integration_profile_entity.rb +184 -0
  280. data/lib/talon_one/models/integration_state.rb +235 -0
  281. data/lib/talon_one/models/ledger_entry.rb +320 -0
  282. data/lib/talon_one/models/library_attribute.rb +330 -0
  283. data/lib/talon_one/models/limit_config.rb +274 -0
  284. data/lib/talon_one/models/login_params.rb +205 -0
  285. data/lib/talon_one/models/loyalty.rb +192 -0
  286. data/lib/talon_one/models/loyalty_ledger.rb +202 -0
  287. data/lib/talon_one/models/loyalty_ledger_entry.rb +336 -0
  288. data/lib/talon_one/models/loyalty_membership.rb +199 -0
  289. data/lib/talon_one/models/loyalty_points.rb +220 -0
  290. data/lib/talon_one/models/loyalty_program.rb +297 -0
  291. data/lib/talon_one/models/loyalty_program_balance.rb +189 -0
  292. data/lib/talon_one/models/loyalty_program_ledgers.rb +232 -0
  293. data/lib/talon_one/models/loyalty_sub_ledger.rb +213 -0
  294. data/lib/talon_one/models/manager_config.rb +188 -0
  295. data/lib/talon_one/models/meta.rb +221 -0
  296. data/lib/talon_one/models/misc_update_user_latest_feature.rb +183 -0
  297. data/lib/talon_one/models/multi_application_entity.rb +191 -0
  298. data/lib/talon_one/models/mutable_entity.rb +189 -0
  299. data/lib/talon_one/models/new_account.rb +207 -0
  300. data/lib/talon_one/models/new_account_sign_up.rb +238 -0
  301. data/lib/talon_one/models/new_application.rb +405 -0
  302. data/lib/talon_one/models/new_application_api_key.rb +295 -0
  303. data/lib/talon_one/models/new_attribute.rb +337 -0
  304. data/lib/talon_one/models/new_campaign.rb +378 -0
  305. data/lib/talon_one/models/new_campaign_set.rb +204 -0
  306. data/lib/talon_one/models/new_coupons.rb +334 -0
  307. data/lib/talon_one/models/new_customer_profile.rb +184 -0
  308. data/lib/talon_one/models/new_customer_session.rb +295 -0
  309. data/lib/talon_one/models/new_event.rb +268 -0
  310. data/lib/talon_one/models/new_event_type.rb +396 -0
  311. data/lib/talon_one/models/new_feature_flags.rb +204 -0
  312. data/lib/talon_one/models/new_import.rb +224 -0
  313. data/lib/talon_one/models/new_invitation.rb +226 -0
  314. data/lib/talon_one/models/new_invite_email.rb +240 -0
  315. data/lib/talon_one/models/new_loyalty_program.rb +257 -0
  316. data/lib/talon_one/models/new_password.rb +222 -0
  317. data/lib/talon_one/models/new_password_email.rb +207 -0
  318. data/lib/talon_one/models/new_referral.rb +234 -0
  319. data/lib/talon_one/models/new_role.rb +232 -0
  320. data/lib/talon_one/models/new_ruleset.rb +228 -0
  321. data/lib/talon_one/models/new_saml_connection.rb +371 -0
  322. data/lib/talon_one/models/new_template_def.rb +308 -0
  323. data/lib/talon_one/models/new_user.rb +248 -0
  324. data/lib/talon_one/models/new_webhook.rb +330 -0
  325. data/lib/talon_one/models/notification.rb +219 -0
  326. data/lib/talon_one/models/notifications.rb +174 -0
  327. data/lib/talon_one/models/referral.rb +348 -0
  328. data/lib/talon_one/models/referral_rejection_reason.rb +251 -0
  329. data/lib/talon_one/models/role.rb +247 -0
  330. data/lib/talon_one/models/role_assign.rb +209 -0
  331. data/lib/talon_one/models/role_membership.rb +204 -0
  332. data/lib/talon_one/models/rule.rb +245 -0
  333. data/lib/talon_one/models/ruleset.rb +299 -0
  334. data/lib/talon_one/models/saml_connection.rb +387 -0
  335. data/lib/talon_one/models/saml_connection_metadata.rb +271 -0
  336. data/lib/talon_one/models/session.rb +219 -0
  337. data/lib/talon_one/models/slot_def.rb +254 -0
  338. data/lib/talon_one/models/template_arg_def.rb +293 -0
  339. data/lib/talon_one/models/template_def.rb +398 -0
  340. data/lib/talon_one/models/update_account.rb +233 -0
  341. data/lib/talon_one/models/update_application.rb +361 -0
  342. data/lib/talon_one/models/update_campaign.rb +373 -0
  343. data/lib/talon_one/models/update_coupon.rb +249 -0
  344. data/lib/talon_one/models/update_coupon_batch.rb +254 -0
  345. data/lib/talon_one/models/update_loyalty_program.rb +227 -0
  346. data/lib/talon_one/models/update_role.rb +216 -0
  347. data/lib/talon_one/models/update_user.rb +315 -0
  348. data/lib/talon_one/models/user.rb +400 -0
  349. data/lib/talon_one/models/user_entity.rb +189 -0
  350. data/lib/talon_one/models/webhook.rb +375 -0
  351. data/lib/talon_one/models/webhook_activation_log_entry.rb +250 -0
  352. data/lib/talon_one/models/webhook_log_entry.rb +305 -0
  353. data/lib/talon_one/version.rb +15 -0
  354. data/spec/api/integration_api_spec.rb +161 -0
  355. data/spec/api/management_api_spec.rb +1318 -0
  356. data/spec/api_client_spec.rb +226 -0
  357. data/spec/configuration_spec.rb +42 -0
  358. data/spec/models/access_log_entry_spec.rb +77 -0
  359. data/spec/models/account_analytics_spec.rb +125 -0
  360. data/spec/models/account_entity_spec.rb +41 -0
  361. data/spec/models/account_limits_spec.rb +107 -0
  362. data/spec/models/account_spec.rb +147 -0
  363. data/spec/models/api_error_spec.rb +53 -0
  364. data/spec/models/application_api_health_spec.rb +51 -0
  365. data/spec/models/application_api_key_spec.rb +77 -0
  366. data/spec/models/application_customer_entity_spec.rb +41 -0
  367. data/spec/models/application_customer_search_spec.rb +53 -0
  368. data/spec/models/application_customer_spec.rb +89 -0
  369. data/spec/models/application_entity_spec.rb +41 -0
  370. data/spec/models/application_event_spec.rb +83 -0
  371. data/spec/models/application_session_entity_spec.rb +41 -0
  372. data/spec/models/application_session_spec.rb +111 -0
  373. data/spec/models/application_spec.rb +123 -0
  374. data/spec/models/attribute_query_spec.rb +35 -0
  375. data/spec/models/attribute_spec.rb +109 -0
  376. data/spec/models/attributes_mandatory_spec.rb +47 -0
  377. data/spec/models/attributes_settings_spec.rb +41 -0
  378. data/spec/models/base_saml_connection_spec.rb +83 -0
  379. data/spec/models/binding_spec.rb +47 -0
  380. data/spec/models/campaign_analytics_spec.rb +161 -0
  381. data/spec/models/campaign_copy_spec.rb +71 -0
  382. data/spec/models/campaign_entity_spec.rb +41 -0
  383. data/spec/models/campaign_search_spec.rb +41 -0
  384. data/spec/models/campaign_set_branch_node_spec.rb +67 -0
  385. data/spec/models/campaign_set_leaf_node_spec.rb +51 -0
  386. data/spec/models/campaign_set_node_spec.rb +41 -0
  387. data/spec/models/campaign_set_spec.rb +59 -0
  388. data/spec/models/campaign_spec.rb +193 -0
  389. data/spec/models/cart_item_adjustment_spec.rb +53 -0
  390. data/spec/models/cart_item_spec.rb +107 -0
  391. data/spec/models/change_spec.rb +71 -0
  392. data/spec/models/code_generator_settings_spec.rb +47 -0
  393. data/spec/models/coupon_constraints_spec.rb +53 -0
  394. data/spec/models/coupon_rejection_reason_spec.rb +57 -0
  395. data/spec/models/coupon_reservations_spec.rb +41 -0
  396. data/spec/models/coupon_search_spec.rb +41 -0
  397. data/spec/models/coupon_spec.rb +119 -0
  398. data/spec/models/coupon_value_spec.rb +41 -0
  399. data/spec/models/create_application_api_key_spec.rb +47 -0
  400. data/spec/models/customer_activity_report_spec.rb +113 -0
  401. data/spec/models/customer_analytics_spec.rb +77 -0
  402. data/spec/models/customer_inventory_spec.rb +47 -0
  403. data/spec/models/customer_profile_search_query_spec.rb +53 -0
  404. data/spec/models/customer_profile_spec.rb +83 -0
  405. data/spec/models/customer_session_spec.rb +117 -0
  406. data/spec/models/email_entity_spec.rb +41 -0
  407. data/spec/models/entity_spec.rb +47 -0
  408. data/spec/models/environment_spec.rb +77 -0
  409. data/spec/models/error_response_spec.rb +47 -0
  410. data/spec/models/error_source_spec.rb +59 -0
  411. data/spec/models/event_spec.rb +95 -0
  412. data/spec/models/event_type_spec.rb +115 -0
  413. data/spec/models/export_spec.rb +75 -0
  414. data/spec/models/feature_flag_spec.rb +59 -0
  415. data/spec/models/feature_flags_spec.rb +59 -0
  416. data/spec/models/features_feed_spec.rb +47 -0
  417. data/spec/models/func_arg_def_spec.rb +51 -0
  418. data/spec/models/function_def_spec.rb +65 -0
  419. data/spec/models/import_coupons_spec.rb +41 -0
  420. data/spec/models/import_spec.rb +75 -0
  421. data/spec/models/inline_response_200_10_spec.rb +47 -0
  422. data/spec/models/inline_response_200_11_spec.rb +47 -0
  423. data/spec/models/inline_response_200_12_spec.rb +47 -0
  424. data/spec/models/inline_response_200_13_spec.rb +47 -0
  425. data/spec/models/inline_response_200_14_spec.rb +47 -0
  426. data/spec/models/inline_response_200_15_spec.rb +47 -0
  427. data/spec/models/inline_response_200_16_spec.rb +47 -0
  428. data/spec/models/inline_response_200_17_spec.rb +47 -0
  429. data/spec/models/inline_response_200_18_spec.rb +47 -0
  430. data/spec/models/inline_response_200_19_spec.rb +47 -0
  431. data/spec/models/inline_response_200_1_spec.rb +47 -0
  432. data/spec/models/inline_response_200_20_spec.rb +47 -0
  433. data/spec/models/inline_response_200_21_spec.rb +47 -0
  434. data/spec/models/inline_response_200_22_spec.rb +47 -0
  435. data/spec/models/inline_response_200_23_spec.rb +47 -0
  436. data/spec/models/inline_response_200_24_spec.rb +47 -0
  437. data/spec/models/inline_response_200_25_spec.rb +47 -0
  438. data/spec/models/inline_response_200_26_spec.rb +53 -0
  439. data/spec/models/inline_response_200_27_spec.rb +47 -0
  440. data/spec/models/inline_response_200_28_spec.rb +47 -0
  441. data/spec/models/inline_response_200_29_spec.rb +47 -0
  442. data/spec/models/inline_response_200_2_spec.rb +47 -0
  443. data/spec/models/inline_response_200_3_spec.rb +47 -0
  444. data/spec/models/inline_response_200_4_spec.rb +47 -0
  445. data/spec/models/inline_response_200_5_spec.rb +47 -0
  446. data/spec/models/inline_response_200_6_spec.rb +47 -0
  447. data/spec/models/inline_response_200_7_spec.rb +47 -0
  448. data/spec/models/inline_response_200_8_spec.rb +47 -0
  449. data/spec/models/inline_response_200_9_spec.rb +47 -0
  450. data/spec/models/inline_response_200_spec.rb +47 -0
  451. data/spec/models/integration_entity_spec.rb +47 -0
  452. data/spec/models/integration_event_spec.rb +53 -0
  453. data/spec/models/integration_profile_entity_spec.rb +41 -0
  454. data/spec/models/integration_state_spec.rb +65 -0
  455. data/spec/models/ledger_entry_spec.rb +95 -0
  456. data/spec/models/library_attribute_spec.rb +85 -0
  457. data/spec/models/limit_config_spec.rb +61 -0
  458. data/spec/models/login_params_spec.rb +47 -0
  459. data/spec/models/loyalty_ledger_entry_spec.rb +99 -0
  460. data/spec/models/loyalty_ledger_spec.rb +47 -0
  461. data/spec/models/loyalty_membership_spec.rb +47 -0
  462. data/spec/models/loyalty_points_spec.rb +59 -0
  463. data/spec/models/loyalty_program_balance_spec.rb +41 -0
  464. data/spec/models/loyalty_program_ledgers_spec.rb +59 -0
  465. data/spec/models/loyalty_program_spec.rb +83 -0
  466. data/spec/models/loyalty_spec.rb +41 -0
  467. data/spec/models/loyalty_sub_ledger_spec.rb +53 -0
  468. data/spec/models/manager_config_spec.rb +41 -0
  469. data/spec/models/meta_spec.rb +65 -0
  470. data/spec/models/misc_update_user_latest_feature_spec.rb +41 -0
  471. data/spec/models/multi_application_entity_spec.rb +41 -0
  472. data/spec/models/mutable_entity_spec.rb +41 -0
  473. data/spec/models/new_account_sign_up_spec.rb +53 -0
  474. data/spec/models/new_account_spec.rb +41 -0
  475. data/spec/models/new_application_api_key_spec.rb +83 -0
  476. data/spec/models/new_application_spec.rb +93 -0
  477. data/spec/models/new_attribute_spec.rb +91 -0
  478. data/spec/models/new_campaign_set_spec.rb +47 -0
  479. data/spec/models/new_campaign_spec.rb +115 -0
  480. data/spec/models/new_coupons_spec.rb +89 -0
  481. data/spec/models/new_customer_profile_spec.rb +41 -0
  482. data/spec/models/new_customer_session_spec.rb +87 -0
  483. data/spec/models/new_event_spec.rb +59 -0
  484. data/spec/models/new_event_type_spec.rb +103 -0
  485. data/spec/models/new_feature_flags_spec.rb +53 -0
  486. data/spec/models/new_import_spec.rb +45 -0
  487. data/spec/models/new_invitation_spec.rb +59 -0
  488. data/spec/models/new_invite_email_spec.rb +47 -0
  489. data/spec/models/new_loyalty_program_spec.rb +71 -0
  490. data/spec/models/new_password_email_spec.rb +41 -0
  491. data/spec/models/new_password_spec.rb +47 -0
  492. data/spec/models/new_referral_spec.rb +65 -0
  493. data/spec/models/new_role_spec.rb +59 -0
  494. data/spec/models/new_ruleset_spec.rb +59 -0
  495. data/spec/models/new_saml_connection_spec.rb +89 -0
  496. data/spec/models/new_template_def_spec.rb +77 -0
  497. data/spec/models/new_user_spec.rb +59 -0
  498. data/spec/models/new_webhook_spec.rb +87 -0
  499. data/spec/models/notification_spec.rb +53 -0
  500. data/spec/models/notifications_spec.rb +35 -0
  501. data/spec/models/referral_rejection_reason_spec.rb +57 -0
  502. data/spec/models/referral_spec.rb +95 -0
  503. data/spec/models/role_assign_spec.rb +47 -0
  504. data/spec/models/role_membership_spec.rb +47 -0
  505. data/spec/models/role_spec.rb +71 -0
  506. data/spec/models/rule_spec.rb +65 -0
  507. data/spec/models/ruleset_spec.rb +89 -0
  508. data/spec/models/saml_connection_metadata_spec.rb +59 -0
  509. data/spec/models/saml_connection_spec.rb +101 -0
  510. data/spec/models/session_spec.rb +53 -0
  511. data/spec/models/slot_def_spec.rb +71 -0
  512. data/spec/models/template_arg_def_spec.rb +63 -0
  513. data/spec/models/template_def_spec.rb +101 -0
  514. data/spec/models/update_account_spec.rb +53 -0
  515. data/spec/models/update_application_spec.rb +87 -0
  516. data/spec/models/update_campaign_spec.rb +115 -0
  517. data/spec/models/update_coupon_batch_spec.rb +65 -0
  518. data/spec/models/update_coupon_spec.rb +65 -0
  519. data/spec/models/update_loyalty_program_spec.rb +65 -0
  520. data/spec/models/update_role_spec.rb +59 -0
  521. data/spec/models/update_user_spec.rb +99 -0
  522. data/spec/models/user_entity_spec.rb +41 -0
  523. data/spec/models/user_spec.rb +123 -0
  524. data/spec/models/webhook_activation_log_entry_spec.rb +65 -0
  525. data/spec/models/webhook_log_entry_spec.rb +95 -0
  526. data/spec/models/webhook_spec.rb +105 -0
  527. data/spec/spec_helper.rb +111 -0
  528. data/talon_one-1.0.0.gem +0 -0
  529. data/talon_one-1.1.0.gem +0 -0
  530. data/talon_one-1.1.1.gem +0 -0
  531. data/talon_one-1.1.2.gem +0 -0
  532. data/talon_one-1.2.0.gem +0 -0
  533. data/talon_one-1.3.0.gem +0 -0
  534. data/talon_one.gemspec +45 -0
  535. metadata +933 -0
@@ -0,0 +1,591 @@
1
+ =begin
2
+ #Talon.One API
3
+
4
+ #The Talon.One API is used to manage applications and campaigns, as well as to integrate with your application. The operations in the _Integration API_ section are used to integrate with our platform, while the other operations are used to manage applications and campaigns. ### Where is the API? The API is available at the same hostname as these docs. For example, if you are reading this page at `https://mycompany.talon.one/docs/api/`, the URL for the [updateCustomerProfile][] operation is `https://mycompany.talon.one/v1/customer_profiles/id` [updateCustomerProfile]: #operation--v1-customer_profiles--integrationId--put
5
+
6
+ OpenAPI spec version: 1.0.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.7
10
+
11
+ =end
12
+
13
+ require 'uri'
14
+
15
+ module TalonOne
16
+ class IntegrationApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create a new coupon reservation
23
+ # Creates a coupon reservation for all passed customer profiles on this couponID
24
+ # @param coupon_value The value of a coupon
25
+ # @param body
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [Coupon]
28
+ def create_coupon_reservation(coupon_value, body, opts = {})
29
+ data, _status_code, _headers = create_coupon_reservation_with_http_info(coupon_value, body, opts)
30
+ data
31
+ end
32
+
33
+ # Create a new coupon reservation
34
+ # Creates a coupon reservation for all passed customer profiles on this couponID
35
+ # @param coupon_value The value of a coupon
36
+ # @param body
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(Coupon, Fixnum, Hash)>] Coupon data, response status code and response headers
39
+ def create_coupon_reservation_with_http_info(coupon_value, body, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.create_coupon_reservation ...'
42
+ end
43
+ # verify the required parameter 'coupon_value' is set
44
+ if @api_client.config.client_side_validation && coupon_value.nil?
45
+ fail ArgumentError, "Missing the required parameter 'coupon_value' when calling IntegrationApi.create_coupon_reservation"
46
+ end
47
+ # verify the required parameter 'body' is set
48
+ if @api_client.config.client_side_validation && body.nil?
49
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.create_coupon_reservation"
50
+ end
51
+ # resource path
52
+ local_var_path = '/v1/coupon_reservations/{couponValue}'.sub('{' + 'couponValue' + '}', coupon_value.to_s)
53
+
54
+ # query parameters
55
+ query_params = {}
56
+
57
+ # header parameters
58
+ header_params = {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
61
+ # HTTP header 'Content-Type'
62
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
63
+
64
+ # form parameters
65
+ form_params = {}
66
+
67
+ # http body (model)
68
+ post_body = @api_client.object_to_http_body(body)
69
+ auth_names = ['api_key_v1', 'integration_auth']
70
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
71
+ :header_params => header_params,
72
+ :query_params => query_params,
73
+ :form_params => form_params,
74
+ :body => post_body,
75
+ :auth_names => auth_names,
76
+ :return_type => 'Coupon')
77
+ if @api_client.config.debugging
78
+ @api_client.config.logger.debug "API called: IntegrationApi#create_coupon_reservation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
79
+ end
80
+ return data, status_code, headers
81
+ end
82
+ # Create a referral code for an advocate
83
+ # Creates a referral code for an advocate. The code will be valid for the referral campaign for which is created, indicated in the `campaignId` parameter, and will be associated with the profile specified in the `advocateProfileIntegrationId` parameter as the advocate's profile.
84
+ # @param body
85
+ # @param [Hash] opts the optional parameters
86
+ # @return [Referral]
87
+ def create_referral(body, opts = {})
88
+ data, _status_code, _headers = create_referral_with_http_info(body, opts)
89
+ data
90
+ end
91
+
92
+ # Create a referral code for an advocate
93
+ # Creates a referral code for an advocate. The code will be valid for the referral campaign for which is created, indicated in the &#x60;campaignId&#x60; parameter, and will be associated with the profile specified in the &#x60;advocateProfileIntegrationId&#x60; parameter as the advocate&#39;s profile.
94
+ # @param body
95
+ # @param [Hash] opts the optional parameters
96
+ # @return [Array<(Referral, Fixnum, Hash)>] Referral data, response status code and response headers
97
+ def create_referral_with_http_info(body, opts = {})
98
+ if @api_client.config.debugging
99
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.create_referral ...'
100
+ end
101
+ # verify the required parameter 'body' is set
102
+ if @api_client.config.client_side_validation && body.nil?
103
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.create_referral"
104
+ end
105
+ # resource path
106
+ local_var_path = '/v1/referrals'
107
+
108
+ # query parameters
109
+ query_params = {}
110
+
111
+ # header parameters
112
+ header_params = {}
113
+ # HTTP header 'Accept' (if needed)
114
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
115
+ # HTTP header 'Content-Type'
116
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
117
+
118
+ # form parameters
119
+ form_params = {}
120
+
121
+ # http body (model)
122
+ post_body = @api_client.object_to_http_body(body)
123
+ auth_names = ['api_key_v1', 'integration_auth']
124
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
125
+ :header_params => header_params,
126
+ :query_params => query_params,
127
+ :form_params => form_params,
128
+ :body => post_body,
129
+ :auth_names => auth_names,
130
+ :return_type => 'Referral')
131
+ if @api_client.config.debugging
132
+ @api_client.config.logger.debug "API called: IntegrationApi#create_referral\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
133
+ end
134
+ return data, status_code, headers
135
+ end
136
+ # Delete coupon reservations
137
+ # Removes all passed customer profiles reservation from this coupon
138
+ # @param coupon_value The value of a coupon
139
+ # @param body
140
+ # @param [Hash] opts the optional parameters
141
+ # @return [nil]
142
+ def delete_coupon_reservation(coupon_value, body, opts = {})
143
+ delete_coupon_reservation_with_http_info(coupon_value, body, opts)
144
+ nil
145
+ end
146
+
147
+ # Delete coupon reservations
148
+ # Removes all passed customer profiles reservation from this coupon
149
+ # @param coupon_value The value of a coupon
150
+ # @param body
151
+ # @param [Hash] opts the optional parameters
152
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
153
+ def delete_coupon_reservation_with_http_info(coupon_value, body, opts = {})
154
+ if @api_client.config.debugging
155
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.delete_coupon_reservation ...'
156
+ end
157
+ # verify the required parameter 'coupon_value' is set
158
+ if @api_client.config.client_side_validation && coupon_value.nil?
159
+ fail ArgumentError, "Missing the required parameter 'coupon_value' when calling IntegrationApi.delete_coupon_reservation"
160
+ end
161
+ # verify the required parameter 'body' is set
162
+ if @api_client.config.client_side_validation && body.nil?
163
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.delete_coupon_reservation"
164
+ end
165
+ # resource path
166
+ local_var_path = '/v1/coupon_reservations/{couponValue}'.sub('{' + 'couponValue' + '}', coupon_value.to_s)
167
+
168
+ # query parameters
169
+ query_params = {}
170
+
171
+ # header parameters
172
+ header_params = {}
173
+ # HTTP header 'Accept' (if needed)
174
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
175
+ # HTTP header 'Content-Type'
176
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
177
+
178
+ # form parameters
179
+ form_params = {}
180
+
181
+ # http body (model)
182
+ post_body = @api_client.object_to_http_body(body)
183
+ auth_names = ['api_key_v1', 'integration_auth']
184
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
185
+ :header_params => header_params,
186
+ :query_params => query_params,
187
+ :form_params => form_params,
188
+ :body => post_body,
189
+ :auth_names => auth_names)
190
+ if @api_client.config.debugging
191
+ @api_client.config.logger.debug "API called: IntegrationApi#delete_coupon_reservation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
192
+ end
193
+ return data, status_code, headers
194
+ end
195
+ # Delete the personal data of a customer.
196
+ # Delete all attributes on the customer profile and on entities that reference that customer profile.
197
+ # @param integration_id The custom identifier for this profile, must be unique within the account.
198
+ # @param [Hash] opts the optional parameters
199
+ # @return [nil]
200
+ def delete_customer_data(integration_id, opts = {})
201
+ delete_customer_data_with_http_info(integration_id, opts)
202
+ nil
203
+ end
204
+
205
+ # Delete the personal data of a customer.
206
+ # Delete all attributes on the customer profile and on entities that reference that customer profile.
207
+ # @param integration_id The custom identifier for this profile, must be unique within the account.
208
+ # @param [Hash] opts the optional parameters
209
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
210
+ def delete_customer_data_with_http_info(integration_id, opts = {})
211
+ if @api_client.config.debugging
212
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.delete_customer_data ...'
213
+ end
214
+ # verify the required parameter 'integration_id' is set
215
+ if @api_client.config.client_side_validation && integration_id.nil?
216
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.delete_customer_data"
217
+ end
218
+ # resource path
219
+ local_var_path = '/v1/customer_data/{integrationId}'.sub('{' + 'integrationId' + '}', integration_id.to_s)
220
+
221
+ # query parameters
222
+ query_params = {}
223
+
224
+ # header parameters
225
+ header_params = {}
226
+ # HTTP header 'Accept' (if needed)
227
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
228
+ # HTTP header 'Content-Type'
229
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
230
+
231
+ # form parameters
232
+ form_params = {}
233
+
234
+ # http body (model)
235
+ post_body = nil
236
+ auth_names = ['api_key_v1', 'integration_auth']
237
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
238
+ :header_params => header_params,
239
+ :query_params => query_params,
240
+ :form_params => form_params,
241
+ :body => post_body,
242
+ :auth_names => auth_names)
243
+ if @api_client.config.debugging
244
+ @api_client.config.logger.debug "API called: IntegrationApi#delete_customer_data\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
245
+ end
246
+ return data, status_code, headers
247
+ end
248
+ # Get an inventory of all data associated with a specific customer profile.
249
+ # Get information regarding entities referencing this customer profile's integrationId. Currently we support customer profile information and referral codes. In the future, this will be expanded with coupon codes and loyalty points.
250
+ # @param integration_id The custom identifier for this profile, must be unique within the account.
251
+ # @param [Hash] opts the optional parameters
252
+ # @option opts [Object] :profile optional flag to decide if you would like customer profile information in the response
253
+ # @option opts [Object] :referrals optional flag to decide if you would like referral information in the response
254
+ # @return [CustomerInventory]
255
+ def get_customer_inventory(integration_id, opts = {})
256
+ data, _status_code, _headers = get_customer_inventory_with_http_info(integration_id, opts)
257
+ data
258
+ end
259
+
260
+ # Get an inventory of all data associated with a specific customer profile.
261
+ # Get information regarding entities referencing this customer profile&#39;s integrationId. Currently we support customer profile information and referral codes. In the future, this will be expanded with coupon codes and loyalty points.
262
+ # @param integration_id The custom identifier for this profile, must be unique within the account.
263
+ # @param [Hash] opts the optional parameters
264
+ # @option opts [Object] :profile optional flag to decide if you would like customer profile information in the response
265
+ # @option opts [Object] :referrals optional flag to decide if you would like referral information in the response
266
+ # @return [Array<(CustomerInventory, Fixnum, Hash)>] CustomerInventory data, response status code and response headers
267
+ def get_customer_inventory_with_http_info(integration_id, opts = {})
268
+ if @api_client.config.debugging
269
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_customer_inventory ...'
270
+ end
271
+ # verify the required parameter 'integration_id' is set
272
+ if @api_client.config.client_side_validation && integration_id.nil?
273
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_customer_inventory"
274
+ end
275
+ # resource path
276
+ local_var_path = '/v1/customer_profiles/{integrationId}/inventory'.sub('{' + 'integrationId' + '}', integration_id.to_s)
277
+
278
+ # query parameters
279
+ query_params = {}
280
+ query_params[:'profile'] = opts[:'profile'] if !opts[:'profile'].nil?
281
+ query_params[:'referrals'] = opts[:'referrals'] if !opts[:'referrals'].nil?
282
+
283
+ # header parameters
284
+ header_params = {}
285
+ # HTTP header 'Accept' (if needed)
286
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
287
+ # HTTP header 'Content-Type'
288
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
289
+
290
+ # form parameters
291
+ form_params = {}
292
+
293
+ # http body (model)
294
+ post_body = nil
295
+ auth_names = ['api_key_v1', 'integration_auth']
296
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
297
+ :header_params => header_params,
298
+ :query_params => query_params,
299
+ :form_params => form_params,
300
+ :body => post_body,
301
+ :auth_names => auth_names,
302
+ :return_type => 'CustomerInventory')
303
+ if @api_client.config.debugging
304
+ @api_client.config.logger.debug "API called: IntegrationApi#get_customer_inventory\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
305
+ end
306
+ return data, status_code, headers
307
+ end
308
+ # Get all valid reserved coupons
309
+ # Returns all coupons this user is subscribed to that are valid and usable
310
+ # @param integration_id The custom identifier for this profile, must be unique within the account.
311
+ # @param [Hash] opts the optional parameters
312
+ # @return [InlineResponse2001]
313
+ def get_reserved_coupons(integration_id, opts = {})
314
+ data, _status_code, _headers = get_reserved_coupons_with_http_info(integration_id, opts)
315
+ data
316
+ end
317
+
318
+ # Get all valid reserved coupons
319
+ # Returns all coupons this user is subscribed to that are valid and usable
320
+ # @param integration_id The custom identifier for this profile, must be unique within the account.
321
+ # @param [Hash] opts the optional parameters
322
+ # @return [Array<(InlineResponse2001, Fixnum, Hash)>] InlineResponse2001 data, response status code and response headers
323
+ def get_reserved_coupons_with_http_info(integration_id, opts = {})
324
+ if @api_client.config.debugging
325
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_reserved_coupons ...'
326
+ end
327
+ # verify the required parameter 'integration_id' is set
328
+ if @api_client.config.client_side_validation && integration_id.nil?
329
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_reserved_coupons"
330
+ end
331
+ # resource path
332
+ local_var_path = '/v1/coupon_reservations/coupons/{integrationId}'.sub('{' + 'integrationId' + '}', integration_id.to_s)
333
+
334
+ # query parameters
335
+ query_params = {}
336
+
337
+ # header parameters
338
+ header_params = {}
339
+ # HTTP header 'Accept' (if needed)
340
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
341
+ # HTTP header 'Content-Type'
342
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
343
+
344
+ # form parameters
345
+ form_params = {}
346
+
347
+ # http body (model)
348
+ post_body = nil
349
+ auth_names = ['api_key_v1', 'integration_auth']
350
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
351
+ :header_params => header_params,
352
+ :query_params => query_params,
353
+ :form_params => form_params,
354
+ :body => post_body,
355
+ :auth_names => auth_names,
356
+ :return_type => 'InlineResponse2001')
357
+ if @api_client.config.debugging
358
+ @api_client.config.logger.debug "API called: IntegrationApi#get_reserved_coupons\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
359
+ end
360
+ return data, status_code, headers
361
+ end
362
+ # Get the users that have this coupon reserved
363
+ # Returns all users that have this coupon marked as reserved
364
+ # @param coupon_value The value of a coupon
365
+ # @param [Hash] opts the optional parameters
366
+ # @return [InlineResponse200]
367
+ def get_reserved_customers(coupon_value, opts = {})
368
+ data, _status_code, _headers = get_reserved_customers_with_http_info(coupon_value, opts)
369
+ data
370
+ end
371
+
372
+ # Get the users that have this coupon reserved
373
+ # Returns all users that have this coupon marked as reserved
374
+ # @param coupon_value The value of a coupon
375
+ # @param [Hash] opts the optional parameters
376
+ # @return [Array<(InlineResponse200, Fixnum, Hash)>] InlineResponse200 data, response status code and response headers
377
+ def get_reserved_customers_with_http_info(coupon_value, opts = {})
378
+ if @api_client.config.debugging
379
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_reserved_customers ...'
380
+ end
381
+ # verify the required parameter 'coupon_value' is set
382
+ if @api_client.config.client_side_validation && coupon_value.nil?
383
+ fail ArgumentError, "Missing the required parameter 'coupon_value' when calling IntegrationApi.get_reserved_customers"
384
+ end
385
+ # resource path
386
+ local_var_path = '/v1/coupon_reservations/customerprofiles/{couponValue}'.sub('{' + 'couponValue' + '}', coupon_value.to_s)
387
+
388
+ # query parameters
389
+ query_params = {}
390
+
391
+ # header parameters
392
+ header_params = {}
393
+ # HTTP header 'Accept' (if needed)
394
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
395
+ # HTTP header 'Content-Type'
396
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
397
+
398
+ # form parameters
399
+ form_params = {}
400
+
401
+ # http body (model)
402
+ post_body = nil
403
+ auth_names = ['api_key_v1', 'integration_auth']
404
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
405
+ :header_params => header_params,
406
+ :query_params => query_params,
407
+ :form_params => form_params,
408
+ :body => post_body,
409
+ :auth_names => auth_names,
410
+ :return_type => 'InlineResponse200')
411
+ if @api_client.config.debugging
412
+ @api_client.config.logger.debug "API called: IntegrationApi#get_reserved_customers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
413
+ end
414
+ return data, status_code, headers
415
+ end
416
+ # Track an Event
417
+ # Records an arbitrary event in a customer session. For example, an integration might record an event when a user updates their payment information. The `sessionId` body parameter is required, an event is always part of a session. Much like updating a customer session, if either the profile or the session do not exist, a new empty one will be created. Note that if the specified session already exists, it must belong to the same `profileId` or an error will be returned. As with customer sessions, you can use an empty string for `profileId` to indicate that this is an anonymous session. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place.
418
+ # @param body
419
+ # @param [Hash] opts the optional parameters
420
+ # @return [IntegrationState]
421
+ def track_event(body, opts = {})
422
+ data, _status_code, _headers = track_event_with_http_info(body, opts)
423
+ data
424
+ end
425
+
426
+ # Track an Event
427
+ # Records an arbitrary event in a customer session. For example, an integration might record an event when a user updates their payment information. The &#x60;sessionId&#x60; body parameter is required, an event is always part of a session. Much like updating a customer session, if either the profile or the session do not exist, a new empty one will be created. Note that if the specified session already exists, it must belong to the same &#x60;profileId&#x60; or an error will be returned. As with customer sessions, you can use an empty string for &#x60;profileId&#x60; to indicate that this is an anonymous session. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place.
428
+ # @param body
429
+ # @param [Hash] opts the optional parameters
430
+ # @return [Array<(IntegrationState, Fixnum, Hash)>] IntegrationState data, response status code and response headers
431
+ def track_event_with_http_info(body, opts = {})
432
+ if @api_client.config.debugging
433
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.track_event ...'
434
+ end
435
+ # verify the required parameter 'body' is set
436
+ if @api_client.config.client_side_validation && body.nil?
437
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.track_event"
438
+ end
439
+ # resource path
440
+ local_var_path = '/v1/events'
441
+
442
+ # query parameters
443
+ query_params = {}
444
+
445
+ # header parameters
446
+ header_params = {}
447
+ # HTTP header 'Accept' (if needed)
448
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
449
+ # HTTP header 'Content-Type'
450
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
451
+
452
+ # form parameters
453
+ form_params = {}
454
+
455
+ # http body (model)
456
+ post_body = @api_client.object_to_http_body(body)
457
+ auth_names = ['api_key_v1', 'integration_auth']
458
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
459
+ :header_params => header_params,
460
+ :query_params => query_params,
461
+ :form_params => form_params,
462
+ :body => post_body,
463
+ :auth_names => auth_names,
464
+ :return_type => 'IntegrationState')
465
+ if @api_client.config.debugging
466
+ @api_client.config.logger.debug "API called: IntegrationApi#track_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
467
+ end
468
+ return data, status_code, headers
469
+ end
470
+ # Update a Customer Profile
471
+ # Update (or create) a [Customer Profile][]. This profile information can then be matched and/or updated by campaign [Rules][]. The `integrationId` may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the `integrationId`. It is vital that this ID **not** change over time, so **don't** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. [Customer Profile]: /Getting-Started/entities#customer-profile [Rules]: /Getting-Started/entities#campaigns-rulesets-and-coupons
472
+ # @param integration_id The custom identifier for this profile, must be unique within the account.
473
+ # @param body
474
+ # @param [Hash] opts the optional parameters
475
+ # @return [IntegrationState]
476
+ def update_customer_profile(integration_id, body, opts = {})
477
+ data, _status_code, _headers = update_customer_profile_with_http_info(integration_id, body, opts)
478
+ data
479
+ end
480
+
481
+ # Update a Customer Profile
482
+ # Update (or create) a [Customer Profile][]. This profile information can then be matched and/or updated by campaign [Rules][]. The &#x60;integrationId&#x60; may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the &#x60;integrationId&#x60;. It is vital that this ID **not** change over time, so **don&#39;t** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. [Customer Profile]: /Getting-Started/entities#customer-profile [Rules]: /Getting-Started/entities#campaigns-rulesets-and-coupons
483
+ # @param integration_id The custom identifier for this profile, must be unique within the account.
484
+ # @param body
485
+ # @param [Hash] opts the optional parameters
486
+ # @return [Array<(IntegrationState, Fixnum, Hash)>] IntegrationState data, response status code and response headers
487
+ def update_customer_profile_with_http_info(integration_id, body, opts = {})
488
+ if @api_client.config.debugging
489
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile ...'
490
+ end
491
+ # verify the required parameter 'integration_id' is set
492
+ if @api_client.config.client_side_validation && integration_id.nil?
493
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.update_customer_profile"
494
+ end
495
+ # verify the required parameter 'body' is set
496
+ if @api_client.config.client_side_validation && body.nil?
497
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile"
498
+ end
499
+ # resource path
500
+ local_var_path = '/v1/customer_profiles/{integrationId}'.sub('{' + 'integrationId' + '}', integration_id.to_s)
501
+
502
+ # query parameters
503
+ query_params = {}
504
+
505
+ # header parameters
506
+ header_params = {}
507
+ # HTTP header 'Accept' (if needed)
508
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
509
+ # HTTP header 'Content-Type'
510
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
511
+
512
+ # form parameters
513
+ form_params = {}
514
+
515
+ # http body (model)
516
+ post_body = @api_client.object_to_http_body(body)
517
+ auth_names = ['api_key_v1', 'integration_auth']
518
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
519
+ :header_params => header_params,
520
+ :query_params => query_params,
521
+ :form_params => form_params,
522
+ :body => post_body,
523
+ :auth_names => auth_names,
524
+ :return_type => 'IntegrationState')
525
+ if @api_client.config.debugging
526
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
527
+ end
528
+ return data, status_code, headers
529
+ end
530
+ # Update a Customer Session
531
+ # Update (or create) a [Customer Session][]. For example, the items in a customers cart are part of a session. The Talon.One platform supports multiple simultaneous sessions for the same profile, so if you have multiple ways of accessing the same application you have the option of either tracking multiple independent sessions or using the same session across all of them. You should share sessions when application access points share other state, such as the users cart. If two points of access to the application have independent state (e.g. a user can have different items in their cart across the two) they should use independent customer session ID's. The `profileId` parameter in the request body should correspond to an `integrationId` for a customer profile, to track an anonymous session use the empty string (`\"\"`) as the `profileId`. Note that you do **not** need to create a customer profile first: if the specified profile does not yet exist, an empty profile will be created automatically. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. The currency for the session and the cart items in the session is the same as that of the application with which the session is associated. [Customer Session]: /Getting-Started/entities#customer-session
532
+ # @param customer_session_id The custom identifier for this session, must be unique within the account.
533
+ # @param body
534
+ # @param [Hash] opts the optional parameters
535
+ # @return [IntegrationState]
536
+ def update_customer_session(customer_session_id, body, opts = {})
537
+ data, _status_code, _headers = update_customer_session_with_http_info(customer_session_id, body, opts)
538
+ data
539
+ end
540
+
541
+ # Update a Customer Session
542
+ # Update (or create) a [Customer Session][]. For example, the items in a customers cart are part of a session. The Talon.One platform supports multiple simultaneous sessions for the same profile, so if you have multiple ways of accessing the same application you have the option of either tracking multiple independent sessions or using the same session across all of them. You should share sessions when application access points share other state, such as the users cart. If two points of access to the application have independent state (e.g. a user can have different items in their cart across the two) they should use independent customer session ID&#39;s. The &#x60;profileId&#x60; parameter in the request body should correspond to an &#x60;integrationId&#x60; for a customer profile, to track an anonymous session use the empty string (&#x60;\&quot;\&quot;&#x60;) as the &#x60;profileId&#x60;. Note that you do **not** need to create a customer profile first: if the specified profile does not yet exist, an empty profile will be created automatically. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. The currency for the session and the cart items in the session is the same as that of the application with which the session is associated. [Customer Session]: /Getting-Started/entities#customer-session
543
+ # @param customer_session_id The custom identifier for this session, must be unique within the account.
544
+ # @param body
545
+ # @param [Hash] opts the optional parameters
546
+ # @return [Array<(IntegrationState, Fixnum, Hash)>] IntegrationState data, response status code and response headers
547
+ def update_customer_session_with_http_info(customer_session_id, body, opts = {})
548
+ if @api_client.config.debugging
549
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_session ...'
550
+ end
551
+ # verify the required parameter 'customer_session_id' is set
552
+ if @api_client.config.client_side_validation && customer_session_id.nil?
553
+ fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.update_customer_session"
554
+ end
555
+ # verify the required parameter 'body' is set
556
+ if @api_client.config.client_side_validation && body.nil?
557
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_session"
558
+ end
559
+ # resource path
560
+ local_var_path = '/v1/customer_sessions/{customerSessionId}'.sub('{' + 'customerSessionId' + '}', customer_session_id.to_s)
561
+
562
+ # query parameters
563
+ query_params = {}
564
+
565
+ # header parameters
566
+ header_params = {}
567
+ # HTTP header 'Accept' (if needed)
568
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
569
+ # HTTP header 'Content-Type'
570
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
571
+
572
+ # form parameters
573
+ form_params = {}
574
+
575
+ # http body (model)
576
+ post_body = @api_client.object_to_http_body(body)
577
+ auth_names = ['api_key_v1', 'integration_auth']
578
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
579
+ :header_params => header_params,
580
+ :query_params => query_params,
581
+ :form_params => form_params,
582
+ :body => post_body,
583
+ :auth_names => auth_names,
584
+ :return_type => 'IntegrationState')
585
+ if @api_client.config.debugging
586
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_session\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
587
+ end
588
+ return data, status_code, headers
589
+ end
590
+ end
591
+ end