order_cloud 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (392) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/README.md +476 -0
  4. data/Rakefile +31 -0
  5. data/docs/AccessToken.md +10 -0
  6. data/docs/Address.md +20 -0
  7. data/docs/AddressApi.md +520 -0
  8. data/docs/AddressAssignment.md +12 -0
  9. data/docs/AdminAddressApi.md +324 -0
  10. data/docs/AdminCompany.md +10 -0
  11. data/docs/AdminModelOnView.md +7 -0
  12. data/docs/AdminUserApi.md +323 -0
  13. data/docs/ApprovalRule.md +20 -0
  14. data/docs/ApprovalRuleApi.md +342 -0
  15. data/docs/BaseSpec.md +15 -0
  16. data/docs/Buyer.md +11 -0
  17. data/docs/BuyerAddress.md +11 -0
  18. data/docs/BuyerApi.md +324 -0
  19. data/docs/BuyerCreditCard.md +9 -0
  20. data/docs/BuyerProduct.md +9 -0
  21. data/docs/BuyerSpec.md +9 -0
  22. data/docs/Category.md +15 -0
  23. data/docs/CategoryApi.md +684 -0
  24. data/docs/CategoryAssignment.md +10 -0
  25. data/docs/CategoryProductAssignment.md +10 -0
  26. data/docs/CostCenter.md +11 -0
  27. data/docs/CostCenterApi.md +516 -0
  28. data/docs/CostCenterAssignment.md +10 -0
  29. data/docs/CreditCard.md +15 -0
  30. data/docs/CreditCardApi.md +516 -0
  31. data/docs/CreditCardAssignment.md +10 -0
  32. data/docs/EmailTemplate.md +12 -0
  33. data/docs/EmailTemplateApi.md +223 -0
  34. data/docs/File.md +10 -0
  35. data/docs/FileApi.md +162 -0
  36. data/docs/ImpersonateTokenRequest.md +9 -0
  37. data/docs/Inventory.md +12 -0
  38. data/docs/LineItem.md +23 -0
  39. data/docs/LineItemApi.md +478 -0
  40. data/docs/LineItemSpec.md +11 -0
  41. data/docs/ListAddress.md +9 -0
  42. data/docs/ListAddressAssignment.md +9 -0
  43. data/docs/ListAdminCompany.md +9 -0
  44. data/docs/ListApiClient.md +9 -0
  45. data/docs/ListApprovalRule.md +9 -0
  46. data/docs/ListBuyer.md +9 -0
  47. data/docs/ListBuyerAddress.md +9 -0
  48. data/docs/ListBuyerCreditCard.md +9 -0
  49. data/docs/ListBuyerProduct.md +9 -0
  50. data/docs/ListBuyerSpec.md +9 -0
  51. data/docs/ListCategory.md +9 -0
  52. data/docs/ListCategoryAssignment.md +9 -0
  53. data/docs/ListCategoryProductAssignment.md +9 -0
  54. data/docs/ListCostCenter.md +9 -0
  55. data/docs/ListCostCenterAssignment.md +9 -0
  56. data/docs/ListCreditCard.md +9 -0
  57. data/docs/ListCreditCardAssignment.md +9 -0
  58. data/docs/ListDevAccessibleCompany.md +9 -0
  59. data/docs/ListFile.md +9 -0
  60. data/docs/ListInventory.md +9 -0
  61. data/docs/ListLineItem.md +9 -0
  62. data/docs/ListOrder.md +9 -0
  63. data/docs/ListOrderApproval.md +9 -0
  64. data/docs/ListOrderPromotion.md +9 -0
  65. data/docs/ListPayment.md +9 -0
  66. data/docs/ListPriceSchedule.md +9 -0
  67. data/docs/ListProduct.md +9 -0
  68. data/docs/ListProductAssignment.md +9 -0
  69. data/docs/ListPromotion.md +9 -0
  70. data/docs/ListPromotionAssignment.md +9 -0
  71. data/docs/ListSecurityProfile.md +9 -0
  72. data/docs/ListSecurityProfileAssignment.md +9 -0
  73. data/docs/ListShipment.md +9 -0
  74. data/docs/ListSpec.md +9 -0
  75. data/docs/ListSpecOption.md +9 -0
  76. data/docs/ListSpecProductAssignment.md +9 -0
  77. data/docs/ListSpendingAccount.md +9 -0
  78. data/docs/ListSpendingAccountAssignment.md +9 -0
  79. data/docs/ListUser.md +9 -0
  80. data/docs/ListUserGroup.md +9 -0
  81. data/docs/ListUserGroupAssignment.md +9 -0
  82. data/docs/ListVariant.md +9 -0
  83. data/docs/ListWebHook.md +9 -0
  84. data/docs/ListWebHookRoute.md +9 -0
  85. data/docs/ListXpIndex.md +9 -0
  86. data/docs/MeApi.md +1488 -0
  87. data/docs/Meta.md +12 -0
  88. data/docs/Order.md +31 -0
  89. data/docs/OrderApi.md +1277 -0
  90. data/docs/OrderApproval.md +16 -0
  91. data/docs/OrderPromotion.md +8 -0
  92. data/docs/PasswordReset.md +10 -0
  93. data/docs/PasswordResetApi.md +109 -0
  94. data/docs/PasswordResetRequest.md +11 -0
  95. data/docs/Payment.md +16 -0
  96. data/docs/PaymentApi.md +601 -0
  97. data/docs/PaymentTransaction.md +15 -0
  98. data/docs/PingResponse.md +8 -0
  99. data/docs/PriceBreak.md +9 -0
  100. data/docs/PriceSchedule.md +18 -0
  101. data/docs/PriceScheduleApi.md +429 -0
  102. data/docs/Product.md +22 -0
  103. data/docs/ProductApi.md +1115 -0
  104. data/docs/ProductAssignment.md +13 -0
  105. data/docs/Promotion.md +21 -0
  106. data/docs/PromotionApi.md +495 -0
  107. data/docs/PromotionAssignment.md +11 -0
  108. data/docs/SecurityProfile.md +11 -0
  109. data/docs/SecurityProfileApi.md +290 -0
  110. data/docs/SecurityProfileAssignment.md +11 -0
  111. data/docs/Shipment.md +14 -0
  112. data/docs/ShipmentApi.md +459 -0
  113. data/docs/ShipmentItem.md +10 -0
  114. data/docs/Spec.md +8 -0
  115. data/docs/SpecApi.md +816 -0
  116. data/docs/SpecOption.md +14 -0
  117. data/docs/SpecProductAssignment.md +10 -0
  118. data/docs/SpendingAccount.md +15 -0
  119. data/docs/SpendingAccountApi.md +516 -0
  120. data/docs/SpendingAccountAssignment.md +11 -0
  121. data/docs/User.md +17 -0
  122. data/docs/UserApi.md +399 -0
  123. data/docs/UserGroup.md +11 -0
  124. data/docs/UserGroupApi.md +508 -0
  125. data/docs/UserGroupAssignment.md +9 -0
  126. data/docs/Variant.md +12 -0
  127. data/docs/WebHook.md +18 -0
  128. data/docs/WebHookRoute.md +10 -0
  129. data/docs/XpIndex.md +9 -0
  130. data/git_push.sh +67 -0
  131. data/lib/order_cloud.rb +176 -0
  132. data/lib/order_cloud/api/address_api.rb +628 -0
  133. data/lib/order_cloud/api/admin_address_api.rb +397 -0
  134. data/lib/order_cloud/api/admin_user_api.rb +396 -0
  135. data/lib/order_cloud/api/approval_rule_api.rb +421 -0
  136. data/lib/order_cloud/api/buyer_api.rb +397 -0
  137. data/lib/order_cloud/api/category_api.rb +817 -0
  138. data/lib/order_cloud/api/cost_center_api.rb +622 -0
  139. data/lib/order_cloud/api/credit_card_api.rb +622 -0
  140. data/lib/order_cloud/api/email_template_api.rb +283 -0
  141. data/lib/order_cloud/api/file_api.rb +206 -0
  142. data/lib/order_cloud/api/line_item_api.rb +583 -0
  143. data/lib/order_cloud/api/me_api.rb +1747 -0
  144. data/lib/order_cloud/api/order_api.rb +1509 -0
  145. data/lib/order_cloud/api/password_reset_api.rb +150 -0
  146. data/lib/order_cloud/api/payment_api.rb +728 -0
  147. data/lib/order_cloud/api/price_schedule_api.rb +519 -0
  148. data/lib/order_cloud/api/product_api.rb +1311 -0
  149. data/lib/order_cloud/api/promotion_api.rb +596 -0
  150. data/lib/order_cloud/api/security_profile_api.rb +361 -0
  151. data/lib/order_cloud/api/shipment_api.rb +558 -0
  152. data/lib/order_cloud/api/spec_api.rb +965 -0
  153. data/lib/order_cloud/api/spending_account_api.rb +622 -0
  154. data/lib/order_cloud/api/user_api.rb +488 -0
  155. data/lib/order_cloud/api/user_group_api.rb +613 -0
  156. data/lib/order_cloud/api_auth.rb +99 -0
  157. data/lib/order_cloud/api_client.rb +385 -0
  158. data/lib/order_cloud/api_error.rb +47 -0
  159. data/lib/order_cloud/configuration.rb +244 -0
  160. data/lib/order_cloud/models/access_token.rb +217 -0
  161. data/lib/order_cloud/models/address.rb +307 -0
  162. data/lib/order_cloud/models/address_assignment.rb +235 -0
  163. data/lib/order_cloud/models/admin_company.rb +217 -0
  164. data/lib/order_cloud/models/admin_model_on_view.rb +190 -0
  165. data/lib/order_cloud/models/approval_rule.rb +307 -0
  166. data/lib/order_cloud/models/base_spec.rb +262 -0
  167. data/lib/order_cloud/models/buyer.rb +226 -0
  168. data/lib/order_cloud/models/buyer_address.rb +226 -0
  169. data/lib/order_cloud/models/buyer_credit_card.rb +208 -0
  170. data/lib/order_cloud/models/buyer_product.rb +208 -0
  171. data/lib/order_cloud/models/buyer_spec.rb +210 -0
  172. data/lib/order_cloud/models/category.rb +262 -0
  173. data/lib/order_cloud/models/category_assignment.rb +217 -0
  174. data/lib/order_cloud/models/category_product_assignment.rb +217 -0
  175. data/lib/order_cloud/models/cost_center.rb +226 -0
  176. data/lib/order_cloud/models/cost_center_assignment.rb +217 -0
  177. data/lib/order_cloud/models/credit_card.rb +262 -0
  178. data/lib/order_cloud/models/credit_card_assignment.rb +217 -0
  179. data/lib/order_cloud/models/email_template.rb +235 -0
  180. data/lib/order_cloud/models/file.rb +217 -0
  181. data/lib/order_cloud/models/impersonate_token_request.rb +208 -0
  182. data/lib/order_cloud/models/inventory.rb +235 -0
  183. data/lib/order_cloud/models/line_item.rb +336 -0
  184. data/lib/order_cloud/models/line_item_spec.rb +226 -0
  185. data/lib/order_cloud/models/list_address.rb +210 -0
  186. data/lib/order_cloud/models/list_address_assignment.rb +210 -0
  187. data/lib/order_cloud/models/list_admin_company.rb +210 -0
  188. data/lib/order_cloud/models/list_api_client.rb +210 -0
  189. data/lib/order_cloud/models/list_approval_rule.rb +210 -0
  190. data/lib/order_cloud/models/list_buyer.rb +210 -0
  191. data/lib/order_cloud/models/list_buyer_address.rb +210 -0
  192. data/lib/order_cloud/models/list_buyer_credit_card.rb +210 -0
  193. data/lib/order_cloud/models/list_buyer_product.rb +210 -0
  194. data/lib/order_cloud/models/list_buyer_spec.rb +210 -0
  195. data/lib/order_cloud/models/list_category.rb +210 -0
  196. data/lib/order_cloud/models/list_category_assignment.rb +210 -0
  197. data/lib/order_cloud/models/list_category_product_assignment.rb +210 -0
  198. data/lib/order_cloud/models/list_cost_center.rb +210 -0
  199. data/lib/order_cloud/models/list_cost_center_assignment.rb +210 -0
  200. data/lib/order_cloud/models/list_credit_card.rb +210 -0
  201. data/lib/order_cloud/models/list_credit_card_assignment.rb +210 -0
  202. data/lib/order_cloud/models/list_dev_accessible_company.rb +210 -0
  203. data/lib/order_cloud/models/list_file.rb +210 -0
  204. data/lib/order_cloud/models/list_inventory.rb +210 -0
  205. data/lib/order_cloud/models/list_line_item.rb +210 -0
  206. data/lib/order_cloud/models/list_order.rb +210 -0
  207. data/lib/order_cloud/models/list_order_approval.rb +210 -0
  208. data/lib/order_cloud/models/list_order_promotion.rb +210 -0
  209. data/lib/order_cloud/models/list_payment.rb +210 -0
  210. data/lib/order_cloud/models/list_price_schedule.rb +210 -0
  211. data/lib/order_cloud/models/list_product.rb +210 -0
  212. data/lib/order_cloud/models/list_product_assignment.rb +210 -0
  213. data/lib/order_cloud/models/list_promotion.rb +210 -0
  214. data/lib/order_cloud/models/list_promotion_assignment.rb +210 -0
  215. data/lib/order_cloud/models/list_security_profile.rb +210 -0
  216. data/lib/order_cloud/models/list_security_profile_assignment.rb +210 -0
  217. data/lib/order_cloud/models/list_shipment.rb +210 -0
  218. data/lib/order_cloud/models/list_spec.rb +210 -0
  219. data/lib/order_cloud/models/list_spec_option.rb +210 -0
  220. data/lib/order_cloud/models/list_spec_product_assignment.rb +210 -0
  221. data/lib/order_cloud/models/list_spending_account.rb +210 -0
  222. data/lib/order_cloud/models/list_spending_account_assignment.rb +210 -0
  223. data/lib/order_cloud/models/list_user.rb +210 -0
  224. data/lib/order_cloud/models/list_user_group.rb +210 -0
  225. data/lib/order_cloud/models/list_user_group_assignment.rb +210 -0
  226. data/lib/order_cloud/models/list_variant.rb +210 -0
  227. data/lib/order_cloud/models/list_web_hook.rb +210 -0
  228. data/lib/order_cloud/models/list_web_hook_route.rb +210 -0
  229. data/lib/order_cloud/models/list_xp_index.rb +210 -0
  230. data/lib/order_cloud/models/meta.rb +237 -0
  231. data/lib/order_cloud/models/order.rb +406 -0
  232. data/lib/order_cloud/models/order_approval.rb +271 -0
  233. data/lib/order_cloud/models/order_promotion.rb +199 -0
  234. data/lib/order_cloud/models/password_reset.rb +217 -0
  235. data/lib/order_cloud/models/password_reset_request.rb +226 -0
  236. data/lib/order_cloud/models/payment.rb +273 -0
  237. data/lib/order_cloud/models/payment_transaction.rb +262 -0
  238. data/lib/order_cloud/models/ping_response.rb +199 -0
  239. data/lib/order_cloud/models/price_break.rb +208 -0
  240. data/lib/order_cloud/models/price_schedule.rb +291 -0
  241. data/lib/order_cloud/models/product.rb +325 -0
  242. data/lib/order_cloud/models/product_assignment.rb +244 -0
  243. data/lib/order_cloud/models/promotion.rb +316 -0
  244. data/lib/order_cloud/models/promotion_assignment.rb +226 -0
  245. data/lib/order_cloud/models/security_profile.rb +228 -0
  246. data/lib/order_cloud/models/security_profile_assignment.rb +226 -0
  247. data/lib/order_cloud/models/shipment.rb +255 -0
  248. data/lib/order_cloud/models/shipment_item.rb +217 -0
  249. data/lib/order_cloud/models/spec.rb +199 -0
  250. data/lib/order_cloud/models/spec_option.rb +253 -0
  251. data/lib/order_cloud/models/spec_product_assignment.rb +217 -0
  252. data/lib/order_cloud/models/spending_account.rb +262 -0
  253. data/lib/order_cloud/models/spending_account_assignment.rb +226 -0
  254. data/lib/order_cloud/models/user.rb +280 -0
  255. data/lib/order_cloud/models/user_group.rb +226 -0
  256. data/lib/order_cloud/models/user_group_assignment.rb +208 -0
  257. data/lib/order_cloud/models/variant.rb +235 -0
  258. data/lib/order_cloud/models/web_hook.rb +289 -0
  259. data/lib/order_cloud/models/web_hook_route.rb +217 -0
  260. data/lib/order_cloud/models/xp_index.rb +208 -0
  261. data/lib/order_cloud/version.rb +26 -0
  262. data/order_cloud.gemspec +56 -0
  263. data/spec/api/address_api_spec.rb +179 -0
  264. data/spec/api/admin_address_api_spec.rb +125 -0
  265. data/spec/api/admin_user_api_spec.rb +125 -0
  266. data/spec/api/approval_rule_api_spec.rb +131 -0
  267. data/spec/api/buyer_api_spec.rb +125 -0
  268. data/spec/api/category_api_spec.rb +221 -0
  269. data/spec/api/cost_center_api_spec.rb +177 -0
  270. data/spec/api/credit_card_api_spec.rb +177 -0
  271. data/spec/api/email_template_api_spec.rb +100 -0
  272. data/spec/api/file_api_spec.rb +83 -0
  273. data/spec/api/line_item_api_spec.rb +167 -0
  274. data/spec/api/me_api_spec.rb +431 -0
  275. data/spec/api/order_api_spec.rb +375 -0
  276. data/spec/api/password_reset_api_spec.rb +71 -0
  277. data/spec/api/payment_api_spec.rb +199 -0
  278. data/spec/api/price_schedule_api_spec.rb +151 -0
  279. data/spec/api/product_api_spec.rb +330 -0
  280. data/spec/api/promotion_api_spec.rb +170 -0
  281. data/spec/api/security_profile_api_spec.rb +120 -0
  282. data/spec/api/shipment_api_spec.rb +161 -0
  283. data/spec/api/spec_api_spec.rb +250 -0
  284. data/spec/api/spending_account_api_spec.rb +177 -0
  285. data/spec/api/user_api_spec.rb +146 -0
  286. data/spec/api/user_group_api_spec.rb +174 -0
  287. data/spec/api_auth_spec.rb +165 -0
  288. data/spec/api_client_spec.rb +237 -0
  289. data/spec/configuration_spec.rb +80 -0
  290. data/spec/models/access_token_spec.rb +65 -0
  291. data/spec/models/address_assignment_spec.rb +77 -0
  292. data/spec/models/address_spec.rb +125 -0
  293. data/spec/models/admin_company_spec.rb +65 -0
  294. data/spec/models/admin_model_on_view_spec.rb +47 -0
  295. data/spec/models/approval_rule_spec.rb +125 -0
  296. data/spec/models/base_spec_spec.rb +95 -0
  297. data/spec/models/buyer_address_spec.rb +71 -0
  298. data/spec/models/buyer_credit_card_spec.rb +59 -0
  299. data/spec/models/buyer_product_spec.rb +59 -0
  300. data/spec/models/buyer_spec.rb +71 -0
  301. data/spec/models/buyer_spec_spec.rb +59 -0
  302. data/spec/models/category_assignment_spec.rb +65 -0
  303. data/spec/models/category_product_assignment_spec.rb +65 -0
  304. data/spec/models/category_spec.rb +95 -0
  305. data/spec/models/cost_center_assignment_spec.rb +65 -0
  306. data/spec/models/cost_center_spec.rb +71 -0
  307. data/spec/models/credit_card_assignment_spec.rb +65 -0
  308. data/spec/models/credit_card_spec.rb +95 -0
  309. data/spec/models/email_template_spec.rb +77 -0
  310. data/spec/models/file_spec.rb +65 -0
  311. data/spec/models/impersonate_token_request_spec.rb +59 -0
  312. data/spec/models/inventory_spec.rb +77 -0
  313. data/spec/models/line_item_spec.rb +143 -0
  314. data/spec/models/line_item_spec_spec.rb +71 -0
  315. data/spec/models/list_address_assignment_spec.rb +59 -0
  316. data/spec/models/list_address_spec.rb +59 -0
  317. data/spec/models/list_admin_company_spec.rb +59 -0
  318. data/spec/models/list_api_client_spec.rb +59 -0
  319. data/spec/models/list_approval_rule_spec.rb +59 -0
  320. data/spec/models/list_buyer_address_spec.rb +59 -0
  321. data/spec/models/list_buyer_credit_card_spec.rb +59 -0
  322. data/spec/models/list_buyer_product_spec.rb +59 -0
  323. data/spec/models/list_buyer_spec.rb +59 -0
  324. data/spec/models/list_buyer_spec_spec.rb +59 -0
  325. data/spec/models/list_category_assignment_spec.rb +59 -0
  326. data/spec/models/list_category_product_assignment_spec.rb +59 -0
  327. data/spec/models/list_category_spec.rb +59 -0
  328. data/spec/models/list_cost_center_assignment_spec.rb +59 -0
  329. data/spec/models/list_cost_center_spec.rb +59 -0
  330. data/spec/models/list_credit_card_assignment_spec.rb +59 -0
  331. data/spec/models/list_credit_card_spec.rb +59 -0
  332. data/spec/models/list_dev_accessible_company_spec.rb +59 -0
  333. data/spec/models/list_file_spec.rb +59 -0
  334. data/spec/models/list_inventory_spec.rb +59 -0
  335. data/spec/models/list_line_item_spec.rb +59 -0
  336. data/spec/models/list_order_approval_spec.rb +59 -0
  337. data/spec/models/list_order_promotion_spec.rb +59 -0
  338. data/spec/models/list_order_spec.rb +59 -0
  339. data/spec/models/list_payment_spec.rb +59 -0
  340. data/spec/models/list_price_schedule_spec.rb +59 -0
  341. data/spec/models/list_product_assignment_spec.rb +59 -0
  342. data/spec/models/list_product_spec.rb +59 -0
  343. data/spec/models/list_promotion_assignment_spec.rb +59 -0
  344. data/spec/models/list_promotion_spec.rb +59 -0
  345. data/spec/models/list_security_profile_assignment_spec.rb +59 -0
  346. data/spec/models/list_security_profile_spec.rb +59 -0
  347. data/spec/models/list_shipment_spec.rb +59 -0
  348. data/spec/models/list_spec_option_spec.rb +59 -0
  349. data/spec/models/list_spec_product_assignment_spec.rb +59 -0
  350. data/spec/models/list_spec_spec.rb +59 -0
  351. data/spec/models/list_spending_account_assignment_spec.rb +59 -0
  352. data/spec/models/list_spending_account_spec.rb +59 -0
  353. data/spec/models/list_user_group_assignment_spec.rb +59 -0
  354. data/spec/models/list_user_group_spec.rb +59 -0
  355. data/spec/models/list_user_spec.rb +59 -0
  356. data/spec/models/list_variant_spec.rb +59 -0
  357. data/spec/models/list_web_hook_route_spec.rb +59 -0
  358. data/spec/models/list_web_hook_spec.rb +59 -0
  359. data/spec/models/list_xp_index_spec.rb +59 -0
  360. data/spec/models/meta_spec.rb +77 -0
  361. data/spec/models/order_approval_spec.rb +101 -0
  362. data/spec/models/order_promotion_spec.rb +53 -0
  363. data/spec/models/order_spec.rb +191 -0
  364. data/spec/models/password_reset_request_spec.rb +71 -0
  365. data/spec/models/password_reset_spec.rb +65 -0
  366. data/spec/models/payment_spec.rb +101 -0
  367. data/spec/models/payment_transaction_spec.rb +95 -0
  368. data/spec/models/ping_response_spec.rb +53 -0
  369. data/spec/models/price_break_spec.rb +59 -0
  370. data/spec/models/price_schedule_spec.rb +113 -0
  371. data/spec/models/product_assignment_spec.rb +83 -0
  372. data/spec/models/product_spec.rb +137 -0
  373. data/spec/models/promotion_assignment_spec.rb +71 -0
  374. data/spec/models/promotion_spec.rb +131 -0
  375. data/spec/models/security_profile_assignment_spec.rb +71 -0
  376. data/spec/models/security_profile_spec.rb +71 -0
  377. data/spec/models/shipment_item_spec.rb +65 -0
  378. data/spec/models/shipment_spec.rb +89 -0
  379. data/spec/models/spec_option_spec.rb +89 -0
  380. data/spec/models/spec_product_assignment_spec.rb +65 -0
  381. data/spec/models/spec_spec.rb +53 -0
  382. data/spec/models/spending_account_assignment_spec.rb +71 -0
  383. data/spec/models/spending_account_spec.rb +95 -0
  384. data/spec/models/user_group_assignment_spec.rb +59 -0
  385. data/spec/models/user_group_spec.rb +71 -0
  386. data/spec/models/user_spec.rb +107 -0
  387. data/spec/models/variant_spec.rb +77 -0
  388. data/spec/models/web_hook_route_spec.rb +65 -0
  389. data/spec/models/web_hook_spec.rb +113 -0
  390. data/spec/models/xp_index_spec.rb +59 -0
  391. data/spec/spec_helper.rb +122 -0
  392. metadata +757 -0
@@ -0,0 +1,596 @@
1
+ =begin
2
+ #OrderCloud
3
+
4
+ #A full ecommerce backend as a service.
5
+
6
+ OpenAPI spec version: 1.0
7
+ Contact: ordercloud@four51.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ Licensed under the Apache License, Version 2.0 (the "License");
11
+ you may not use this file except in compliance with the License.
12
+ You may obtain a copy of the License at
13
+
14
+ http://www.apache.org/licenses/LICENSE-2.0
15
+
16
+ Unless required by applicable law or agreed to in writing, software
17
+ distributed under the License is distributed on an "AS IS" BASIS,
18
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ See the License for the specific language governing permissions and
20
+ limitations under the License.
21
+
22
+ =end
23
+
24
+ require "uri"
25
+
26
+ module OrderCloud
27
+ class PromotionApi
28
+ attr_accessor :api_client
29
+
30
+ def initialize(api_client = ApiClient.default)
31
+ @api_client = api_client
32
+ end
33
+
34
+ #
35
+ #
36
+ # @param promo
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Promotion]
39
+ def create(promo, opts = {})
40
+ data, _status_code, _headers = create_with_http_info(promo, opts)
41
+ return data
42
+ end
43
+
44
+ #
45
+ #
46
+ # @param promo
47
+ # @param [Hash] opts the optional parameters
48
+ # @return [Array<(Promotion, Fixnum, Hash)>] Promotion data, response status code and response headers
49
+ def create_with_http_info(promo, opts = {})
50
+ if @api_client.config.debugging
51
+ @api_client.config.logger.debug "Calling API: PromotionApi.create ..."
52
+ end
53
+ # verify the required parameter 'promo' is set
54
+ fail ArgumentError, "Missing the required parameter 'promo' when calling PromotionApi.create" if promo.nil?
55
+ # resource path
56
+ local_var_path = "/promotions".sub('{format}','json')
57
+
58
+ # query parameters
59
+ query_params = {}
60
+
61
+ # header parameters
62
+ header_params = {}
63
+
64
+ # HTTP header 'Accept' (if needed)
65
+ local_header_accept = ['application/json']
66
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
67
+
68
+ # HTTP header 'Content-Type'
69
+ local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
70
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
71
+
72
+ # form parameters
73
+ form_params = {}
74
+
75
+ # http body (model)
76
+ post_body = @api_client.object_to_http_body(promo)
77
+ auth_names = ['oauth2']
78
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
79
+ :header_params => header_params,
80
+ :query_params => query_params,
81
+ :form_params => form_params,
82
+ :body => post_body,
83
+ :auth_names => auth_names,
84
+ :return_type => 'Promotion')
85
+ if @api_client.config.debugging
86
+ @api_client.config.logger.debug "API called: PromotionApi#create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
87
+ end
88
+ return data, status_code, headers
89
+ end
90
+
91
+ #
92
+ #
93
+ # @param promotion_id ID of the promotion.
94
+ # @param [Hash] opts the optional parameters
95
+ # @return [nil]
96
+ def delete(promotion_id, opts = {})
97
+ delete_with_http_info(promotion_id, opts)
98
+ return nil
99
+ end
100
+
101
+ #
102
+ #
103
+ # @param promotion_id ID of the promotion.
104
+ # @param [Hash] opts the optional parameters
105
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
106
+ def delete_with_http_info(promotion_id, opts = {})
107
+ if @api_client.config.debugging
108
+ @api_client.config.logger.debug "Calling API: PromotionApi.delete ..."
109
+ end
110
+ # verify the required parameter 'promotion_id' is set
111
+ fail ArgumentError, "Missing the required parameter 'promotion_id' when calling PromotionApi.delete" if promotion_id.nil?
112
+ # resource path
113
+ local_var_path = "/promotions/{promotionID}".sub('{format}','json').sub('{' + 'promotionID' + '}', promotion_id.to_s)
114
+
115
+ # query parameters
116
+ query_params = {}
117
+
118
+ # header parameters
119
+ header_params = {}
120
+
121
+ # HTTP header 'Accept' (if needed)
122
+ local_header_accept = ['application/json']
123
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
124
+
125
+ # HTTP header 'Content-Type'
126
+ local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
127
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
128
+
129
+ # form parameters
130
+ form_params = {}
131
+
132
+ # http body (model)
133
+ post_body = nil
134
+ auth_names = ['oauth2']
135
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
136
+ :header_params => header_params,
137
+ :query_params => query_params,
138
+ :form_params => form_params,
139
+ :body => post_body,
140
+ :auth_names => auth_names)
141
+ if @api_client.config.debugging
142
+ @api_client.config.logger.debug "API called: PromotionApi#delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
143
+ end
144
+ return data, status_code, headers
145
+ end
146
+
147
+ #
148
+ #
149
+ # @param promotion_id ID of the promotion.
150
+ # @param buyer_id ID of the buyer.
151
+ # @param [Hash] opts the optional parameters
152
+ # @option opts [String] :user_id ID of the user.
153
+ # @option opts [String] :user_group_id ID of the user group.
154
+ # @return [nil]
155
+ def delete_assignment(promotion_id, buyer_id, opts = {})
156
+ delete_assignment_with_http_info(promotion_id, buyer_id, opts)
157
+ return nil
158
+ end
159
+
160
+ #
161
+ #
162
+ # @param promotion_id ID of the promotion.
163
+ # @param buyer_id ID of the buyer.
164
+ # @param [Hash] opts the optional parameters
165
+ # @option opts [String] :user_id ID of the user.
166
+ # @option opts [String] :user_group_id ID of the user group.
167
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
168
+ def delete_assignment_with_http_info(promotion_id, buyer_id, opts = {})
169
+ if @api_client.config.debugging
170
+ @api_client.config.logger.debug "Calling API: PromotionApi.delete_assignment ..."
171
+ end
172
+ # verify the required parameter 'promotion_id' is set
173
+ fail ArgumentError, "Missing the required parameter 'promotion_id' when calling PromotionApi.delete_assignment" if promotion_id.nil?
174
+ # verify the required parameter 'buyer_id' is set
175
+ fail ArgumentError, "Missing the required parameter 'buyer_id' when calling PromotionApi.delete_assignment" if buyer_id.nil?
176
+ # resource path
177
+ local_var_path = "/promotions/{promotionID}/assignments".sub('{format}','json').sub('{' + 'promotionID' + '}', promotion_id.to_s)
178
+
179
+ # query parameters
180
+ query_params = {}
181
+ query_params[:'buyerID'] = buyer_id
182
+ query_params[:'userID'] = opts[:'user_id'] if !opts[:'user_id'].nil?
183
+ query_params[:'userGroupID'] = opts[:'user_group_id'] if !opts[:'user_group_id'].nil?
184
+
185
+ # header parameters
186
+ header_params = {}
187
+
188
+ # HTTP header 'Accept' (if needed)
189
+ local_header_accept = ['application/json']
190
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
191
+
192
+ # HTTP header 'Content-Type'
193
+ local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
194
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
195
+
196
+ # form parameters
197
+ form_params = {}
198
+
199
+ # http body (model)
200
+ post_body = nil
201
+ auth_names = ['oauth2']
202
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
203
+ :header_params => header_params,
204
+ :query_params => query_params,
205
+ :form_params => form_params,
206
+ :body => post_body,
207
+ :auth_names => auth_names)
208
+ if @api_client.config.debugging
209
+ @api_client.config.logger.debug "API called: PromotionApi#delete_assignment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
210
+ end
211
+ return data, status_code, headers
212
+ end
213
+
214
+ #
215
+ #
216
+ # @param promotion_id ID of the promotion.
217
+ # @param [Hash] opts the optional parameters
218
+ # @return [Promotion]
219
+ def get(promotion_id, opts = {})
220
+ data, _status_code, _headers = get_with_http_info(promotion_id, opts)
221
+ return data
222
+ end
223
+
224
+ #
225
+ #
226
+ # @param promotion_id ID of the promotion.
227
+ # @param [Hash] opts the optional parameters
228
+ # @return [Array<(Promotion, Fixnum, Hash)>] Promotion data, response status code and response headers
229
+ def get_with_http_info(promotion_id, opts = {})
230
+ if @api_client.config.debugging
231
+ @api_client.config.logger.debug "Calling API: PromotionApi.get ..."
232
+ end
233
+ # verify the required parameter 'promotion_id' is set
234
+ fail ArgumentError, "Missing the required parameter 'promotion_id' when calling PromotionApi.get" if promotion_id.nil?
235
+ # resource path
236
+ local_var_path = "/promotions/{promotionID}".sub('{format}','json').sub('{' + 'promotionID' + '}', promotion_id.to_s)
237
+
238
+ # query parameters
239
+ query_params = {}
240
+
241
+ # header parameters
242
+ header_params = {}
243
+
244
+ # HTTP header 'Accept' (if needed)
245
+ local_header_accept = ['application/json']
246
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
247
+
248
+ # HTTP header 'Content-Type'
249
+ local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
250
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
251
+
252
+ # form parameters
253
+ form_params = {}
254
+
255
+ # http body (model)
256
+ post_body = nil
257
+ auth_names = ['oauth2']
258
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
259
+ :header_params => header_params,
260
+ :query_params => query_params,
261
+ :form_params => form_params,
262
+ :body => post_body,
263
+ :auth_names => auth_names,
264
+ :return_type => 'Promotion')
265
+ if @api_client.config.debugging
266
+ @api_client.config.logger.debug "API called: PromotionApi#get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
267
+ end
268
+ return data, status_code, headers
269
+ end
270
+
271
+ #
272
+ #
273
+ # @param [Hash] opts the optional parameters
274
+ # @option opts [String] :search Word or phrase to search for.
275
+ # @option opts [String] :search_on Comma-delimited list of fields to search on.
276
+ # @option opts [String] :sort_by Comma-delimited list of fields to sort by.
277
+ # @option opts [Integer] :page Page of results to return. Default: 1
278
+ # @option opts [Integer] :page_size Number of results to return per page. Default: 20, max: 100.
279
+ # @option opts [Hash<String, String>] :filters Any additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or &#39;xp.???&#39;
280
+ # @return [ListPromotion]
281
+ def list(opts = {})
282
+ data, _status_code, _headers = list_with_http_info(opts)
283
+ return data
284
+ end
285
+
286
+ #
287
+ #
288
+ # @param [Hash] opts the optional parameters
289
+ # @option opts [String] :search Word or phrase to search for.
290
+ # @option opts [String] :search_on Comma-delimited list of fields to search on.
291
+ # @option opts [String] :sort_by Comma-delimited list of fields to sort by.
292
+ # @option opts [Integer] :page Page of results to return. Default: 1
293
+ # @option opts [Integer] :page_size Number of results to return per page. Default: 20, max: 100.
294
+ # @option opts [Hash<String, String>] :filters Any additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or &#39;xp.???&#39;
295
+ # @return [Array<(ListPromotion, Fixnum, Hash)>] ListPromotion data, response status code and response headers
296
+ def list_with_http_info(opts = {})
297
+ if @api_client.config.debugging
298
+ @api_client.config.logger.debug "Calling API: PromotionApi.list ..."
299
+ end
300
+ # resource path
301
+ local_var_path = "/promotions".sub('{format}','json')
302
+
303
+ # query parameters
304
+ query_params = {}
305
+ query_params[:'search'] = opts[:'search'] if !opts[:'search'].nil?
306
+ query_params[:'searchOn'] = opts[:'search_on'] if !opts[:'search_on'].nil?
307
+ query_params[:'sortBy'] = opts[:'sort_by'] if !opts[:'sort_by'].nil?
308
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
309
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
310
+ query_params[:'filters'] = opts[:'filters'] if !opts[:'filters'].nil?
311
+
312
+ # header parameters
313
+ header_params = {}
314
+
315
+ # HTTP header 'Accept' (if needed)
316
+ local_header_accept = ['application/json']
317
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
318
+
319
+ # HTTP header 'Content-Type'
320
+ local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
321
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
322
+
323
+ # form parameters
324
+ form_params = {}
325
+
326
+ # http body (model)
327
+ post_body = nil
328
+ auth_names = ['oauth2']
329
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
330
+ :header_params => header_params,
331
+ :query_params => query_params,
332
+ :form_params => form_params,
333
+ :body => post_body,
334
+ :auth_names => auth_names,
335
+ :return_type => 'ListPromotion')
336
+ if @api_client.config.debugging
337
+ @api_client.config.logger.debug "API called: PromotionApi#list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
338
+ end
339
+ return data, status_code, headers
340
+ end
341
+
342
+ #
343
+ #
344
+ # @param buyer_id ID of the buyer.
345
+ # @param [Hash] opts the optional parameters
346
+ # @option opts [String] :promotion_id ID of the promotion.
347
+ # @option opts [String] :user_id ID of the user.
348
+ # @option opts [String] :user_group_id ID of the user group.
349
+ # @option opts [String] :level Level of the promotion.
350
+ # @option opts [Integer] :page Page of results to return. Default: 1
351
+ # @option opts [Integer] :page_size Number of results to return per page. Default: 20, max: 100.
352
+ # @return [ListPromotionAssignment]
353
+ def list_assignments(buyer_id, opts = {})
354
+ data, _status_code, _headers = list_assignments_with_http_info(buyer_id, opts)
355
+ return data
356
+ end
357
+
358
+ #
359
+ #
360
+ # @param buyer_id ID of the buyer.
361
+ # @param [Hash] opts the optional parameters
362
+ # @option opts [String] :promotion_id ID of the promotion.
363
+ # @option opts [String] :user_id ID of the user.
364
+ # @option opts [String] :user_group_id ID of the user group.
365
+ # @option opts [String] :level Level of the promotion.
366
+ # @option opts [Integer] :page Page of results to return. Default: 1
367
+ # @option opts [Integer] :page_size Number of results to return per page. Default: 20, max: 100.
368
+ # @return [Array<(ListPromotionAssignment, Fixnum, Hash)>] ListPromotionAssignment data, response status code and response headers
369
+ def list_assignments_with_http_info(buyer_id, opts = {})
370
+ if @api_client.config.debugging
371
+ @api_client.config.logger.debug "Calling API: PromotionApi.list_assignments ..."
372
+ end
373
+ # verify the required parameter 'buyer_id' is set
374
+ fail ArgumentError, "Missing the required parameter 'buyer_id' when calling PromotionApi.list_assignments" if buyer_id.nil?
375
+ # resource path
376
+ local_var_path = "/promotions/assignments".sub('{format}','json')
377
+
378
+ # query parameters
379
+ query_params = {}
380
+ query_params[:'buyerID'] = buyer_id
381
+ query_params[:'promotionID'] = opts[:'promotion_id'] if !opts[:'promotion_id'].nil?
382
+ query_params[:'userID'] = opts[:'user_id'] if !opts[:'user_id'].nil?
383
+ query_params[:'userGroupID'] = opts[:'user_group_id'] if !opts[:'user_group_id'].nil?
384
+ query_params[:'level'] = opts[:'level'] if !opts[:'level'].nil?
385
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
386
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
387
+
388
+ # header parameters
389
+ header_params = {}
390
+
391
+ # HTTP header 'Accept' (if needed)
392
+ local_header_accept = ['application/json']
393
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
394
+
395
+ # HTTP header 'Content-Type'
396
+ local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
397
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
398
+
399
+ # form parameters
400
+ form_params = {}
401
+
402
+ # http body (model)
403
+ post_body = nil
404
+ auth_names = ['oauth2']
405
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
406
+ :header_params => header_params,
407
+ :query_params => query_params,
408
+ :form_params => form_params,
409
+ :body => post_body,
410
+ :auth_names => auth_names,
411
+ :return_type => 'ListPromotionAssignment')
412
+ if @api_client.config.debugging
413
+ @api_client.config.logger.debug "API called: PromotionApi#list_assignments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
414
+ end
415
+ return data, status_code, headers
416
+ end
417
+
418
+ #
419
+ #
420
+ # @param promotion_id ID of the promotion.
421
+ # @param partial_promotion
422
+ # @param [Hash] opts the optional parameters
423
+ # @return [Promotion]
424
+ def patch(promotion_id, partial_promotion, opts = {})
425
+ data, _status_code, _headers = patch_with_http_info(promotion_id, partial_promotion, opts)
426
+ return data
427
+ end
428
+
429
+ #
430
+ #
431
+ # @param promotion_id ID of the promotion.
432
+ # @param partial_promotion
433
+ # @param [Hash] opts the optional parameters
434
+ # @return [Array<(Promotion, Fixnum, Hash)>] Promotion data, response status code and response headers
435
+ def patch_with_http_info(promotion_id, partial_promotion, opts = {})
436
+ if @api_client.config.debugging
437
+ @api_client.config.logger.debug "Calling API: PromotionApi.patch ..."
438
+ end
439
+ # verify the required parameter 'promotion_id' is set
440
+ fail ArgumentError, "Missing the required parameter 'promotion_id' when calling PromotionApi.patch" if promotion_id.nil?
441
+ # verify the required parameter 'partial_promotion' is set
442
+ fail ArgumentError, "Missing the required parameter 'partial_promotion' when calling PromotionApi.patch" if partial_promotion.nil?
443
+ # resource path
444
+ local_var_path = "/promotions/{promotionID}".sub('{format}','json').sub('{' + 'promotionID' + '}', promotion_id.to_s)
445
+
446
+ # query parameters
447
+ query_params = {}
448
+
449
+ # header parameters
450
+ header_params = {}
451
+
452
+ # HTTP header 'Accept' (if needed)
453
+ local_header_accept = ['application/json']
454
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
455
+
456
+ # HTTP header 'Content-Type'
457
+ local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
458
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
459
+
460
+ # form parameters
461
+ form_params = {}
462
+
463
+ # http body (model)
464
+ post_body = @api_client.object_to_http_body(partial_promotion)
465
+ auth_names = ['oauth2']
466
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
467
+ :header_params => header_params,
468
+ :query_params => query_params,
469
+ :form_params => form_params,
470
+ :body => post_body,
471
+ :auth_names => auth_names,
472
+ :return_type => 'Promotion')
473
+ if @api_client.config.debugging
474
+ @api_client.config.logger.debug "API called: PromotionApi#patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
475
+ end
476
+ return data, status_code, headers
477
+ end
478
+
479
+ #
480
+ #
481
+ # @param assignment
482
+ # @param [Hash] opts the optional parameters
483
+ # @return [nil]
484
+ def save_assignment(assignment, opts = {})
485
+ save_assignment_with_http_info(assignment, opts)
486
+ return nil
487
+ end
488
+
489
+ #
490
+ #
491
+ # @param assignment
492
+ # @param [Hash] opts the optional parameters
493
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
494
+ def save_assignment_with_http_info(assignment, opts = {})
495
+ if @api_client.config.debugging
496
+ @api_client.config.logger.debug "Calling API: PromotionApi.save_assignment ..."
497
+ end
498
+ # verify the required parameter 'assignment' is set
499
+ fail ArgumentError, "Missing the required parameter 'assignment' when calling PromotionApi.save_assignment" if assignment.nil?
500
+ # resource path
501
+ local_var_path = "/promotions/assignments".sub('{format}','json')
502
+
503
+ # query parameters
504
+ query_params = {}
505
+
506
+ # header parameters
507
+ header_params = {}
508
+
509
+ # HTTP header 'Accept' (if needed)
510
+ local_header_accept = ['application/json']
511
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
512
+
513
+ # HTTP header 'Content-Type'
514
+ local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
515
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
516
+
517
+ # form parameters
518
+ form_params = {}
519
+
520
+ # http body (model)
521
+ post_body = @api_client.object_to_http_body(assignment)
522
+ auth_names = ['oauth2']
523
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
524
+ :header_params => header_params,
525
+ :query_params => query_params,
526
+ :form_params => form_params,
527
+ :body => post_body,
528
+ :auth_names => auth_names)
529
+ if @api_client.config.debugging
530
+ @api_client.config.logger.debug "API called: PromotionApi#save_assignment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
531
+ end
532
+ return data, status_code, headers
533
+ end
534
+
535
+ #
536
+ #
537
+ # @param promotion_id ID of the promotion.
538
+ # @param promo
539
+ # @param [Hash] opts the optional parameters
540
+ # @return [Promotion]
541
+ def update(promotion_id, promo, opts = {})
542
+ data, _status_code, _headers = update_with_http_info(promotion_id, promo, opts)
543
+ return data
544
+ end
545
+
546
+ #
547
+ #
548
+ # @param promotion_id ID of the promotion.
549
+ # @param promo
550
+ # @param [Hash] opts the optional parameters
551
+ # @return [Array<(Promotion, Fixnum, Hash)>] Promotion data, response status code and response headers
552
+ def update_with_http_info(promotion_id, promo, opts = {})
553
+ if @api_client.config.debugging
554
+ @api_client.config.logger.debug "Calling API: PromotionApi.update ..."
555
+ end
556
+ # verify the required parameter 'promotion_id' is set
557
+ fail ArgumentError, "Missing the required parameter 'promotion_id' when calling PromotionApi.update" if promotion_id.nil?
558
+ # verify the required parameter 'promo' is set
559
+ fail ArgumentError, "Missing the required parameter 'promo' when calling PromotionApi.update" if promo.nil?
560
+ # resource path
561
+ local_var_path = "/promotions/{promotionID}".sub('{format}','json').sub('{' + 'promotionID' + '}', promotion_id.to_s)
562
+
563
+ # query parameters
564
+ query_params = {}
565
+
566
+ # header parameters
567
+ header_params = {}
568
+
569
+ # HTTP header 'Accept' (if needed)
570
+ local_header_accept = ['application/json']
571
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
572
+
573
+ # HTTP header 'Content-Type'
574
+ local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
575
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
576
+
577
+ # form parameters
578
+ form_params = {}
579
+
580
+ # http body (model)
581
+ post_body = @api_client.object_to_http_body(promo)
582
+ auth_names = ['oauth2']
583
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
584
+ :header_params => header_params,
585
+ :query_params => query_params,
586
+ :form_params => form_params,
587
+ :body => post_body,
588
+ :auth_names => auth_names,
589
+ :return_type => 'Promotion')
590
+ if @api_client.config.debugging
591
+ @api_client.config.logger.debug "API called: PromotionApi#update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
592
+ end
593
+ return data, status_code, headers
594
+ end
595
+ end
596
+ end