growwer 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +306 -0
  4. data/Rakefile +10 -0
  5. data/docs/AccountApi.md +213 -0
  6. data/docs/Balance.md +20 -0
  7. data/docs/BuyerMoneyApi.md +362 -0
  8. data/docs/CatalogueApi.md +731 -0
  9. data/docs/CatalogueMedia.md +46 -0
  10. data/docs/CatalogueMediaFlashOffer.md +20 -0
  11. data/docs/CatalogueMediaMetrics.md +26 -0
  12. data/docs/CatalogueOffer.md +24 -0
  13. data/docs/CatalogueOfferOrNull.md +24 -0
  14. data/docs/CataloguePostOffer.md +30 -0
  15. data/docs/CataloguePostOfferAllOfExtras.md +20 -0
  16. data/docs/CataloguePostOfferAllOfExtrasSensitiveTopic.md +20 -0
  17. data/docs/CodeName.md +20 -0
  18. data/docs/CountSavedFilterMedias200Response.md +18 -0
  19. data/docs/CreateProjectRequest.md +32 -0
  20. data/docs/CreateSavedFilterRequest.md +22 -0
  21. data/docs/Error.md +24 -0
  22. data/docs/FilesApi.md +79 -0
  23. data/docs/GetBuyerWallet200Response.md +20 -0
  24. data/docs/GetMe200Response.md +34 -0
  25. data/docs/GetMe200ResponseBuyer.md +18 -0
  26. data/docs/GetMe200ResponseCatalogue.md +18 -0
  27. data/docs/GetMe200ResponseManagedService.md +18 -0
  28. data/docs/GetMe200ResponseSeller.md +24 -0
  29. data/docs/GetSellerWallet200Response.md +20 -0
  30. data/docs/GetVocabulary200Response.md +28 -0
  31. data/docs/GetVocabulary200ResponseTopicsInner.md +20 -0
  32. data/docs/Invoice.md +24 -0
  33. data/docs/LinkAdditionOrderBriefing.md +22 -0
  34. data/docs/LinkAdditionOrderBriefingRequest.md +22 -0
  35. data/docs/ListBuyerTransactions200Response.md +20 -0
  36. data/docs/ListFlashOffers200Response.md +20 -0
  37. data/docs/ListInvoices200Response.md +20 -0
  38. data/docs/ListManagedServiceCampaigns200Response.md +20 -0
  39. data/docs/ListManagedServiceProposals200Response.md +20 -0
  40. data/docs/ListOrders200Response.md +20 -0
  41. data/docs/ListProjects200Response.md +20 -0
  42. data/docs/ListSavedFilters200Response.md +20 -0
  43. data/docs/ListSellerMedias200Response.md +20 -0
  44. data/docs/ListSellerOrders200Response.md +20 -0
  45. data/docs/ListSellerTransactions200Response.md +20 -0
  46. data/docs/ListWithdrawals200Response.md +20 -0
  47. data/docs/ManagedServiceCampaign.md +40 -0
  48. data/docs/ManagedServiceCampaignProject.md +20 -0
  49. data/docs/ManagedServiceCampaignProposalCounts.md +26 -0
  50. data/docs/ManagedServiceCampaignStrategy.md +26 -0
  51. data/docs/ManagedServiceProposal.md +40 -0
  52. data/docs/ManagedServiceProposalBriefing.md +24 -0
  53. data/docs/ManagedServiceProposalBriefingLinksInner.md +22 -0
  54. data/docs/ManagedServiceProposalMedia.md +24 -0
  55. data/docs/ManagedServiceProposalReview.md +20 -0
  56. data/docs/ManagedServiceProposalReviewRequest.md +18 -0
  57. data/docs/ManagedServiceProposalReviewRequestReviewsInner.md +22 -0
  58. data/docs/ManagedServiceProposalsEstimate.md +28 -0
  59. data/docs/ManagedServiceProposalsEstimateRequest.md +18 -0
  60. data/docs/ManagedServiceRequest.md +28 -0
  61. data/docs/ManagedServiceRequestSent.md +18 -0
  62. data/docs/ManagedServicesApi.md +593 -0
  63. data/docs/Money.md +20 -0
  64. data/docs/MoneyOrNull.md +20 -0
  65. data/docs/Order.md +48 -0
  66. data/docs/OrderActionReason.md +18 -0
  67. data/docs/OrderBriefing.md +49 -0
  68. data/docs/OrderChannel.md +18 -0
  69. data/docs/OrderCreateRequest.md +32 -0
  70. data/docs/OrderDelivery.md +20 -0
  71. data/docs/OrderDraft.md +22 -0
  72. data/docs/OrderEstimate.md +24 -0
  73. data/docs/OrderEstimateRequest.md +30 -0
  74. data/docs/OrderEstimateRequestBriefing.md +49 -0
  75. data/docs/OrderLink.md +22 -0
  76. data/docs/OrderLinkRequest.md +22 -0
  77. data/docs/OrderMedia.md +20 -0
  78. data/docs/OrderProject.md +20 -0
  79. data/docs/OrderStateHistoryInner.md +22 -0
  80. data/docs/OrderStateHistoryInnerReason.md +20 -0
  81. data/docs/OrdersApi.md +809 -0
  82. data/docs/PostOrderBriefing.md +28 -0
  83. data/docs/PostOrderBriefingRequest.md +24 -0
  84. data/docs/Project.md +38 -0
  85. data/docs/ProjectCatalogueMedia.md +48 -0
  86. data/docs/ProjectCatalogueMediaAllOfProject.md +28 -0
  87. data/docs/ProjectsApi.md +368 -0
  88. data/docs/PutSellerHoliday200Response.md +20 -0
  89. data/docs/PutSellerHolidayRequest.md +20 -0
  90. data/docs/RequestMedias201Response.md +18 -0
  91. data/docs/RequestMediasRequest.md +18 -0
  92. data/docs/SavedFilter.md +26 -0
  93. data/docs/SavedFilterNotifications.md +20 -0
  94. data/docs/SavedFiltersApi.md +296 -0
  95. data/docs/SellerFees.md +20 -0
  96. data/docs/SellerFeesOrNull.md +20 -0
  97. data/docs/SellerMedia.md +54 -0
  98. data/docs/SellerMediaFlashOffer.md +20 -0
  99. data/docs/SellerMediaLinkAdditionOffer.md +18 -0
  100. data/docs/SellerMediaLinkAdditionOfferPricingOptionsInner.md +22 -0
  101. data/docs/SellerMediaPostOffer.md +20 -0
  102. data/docs/SellerMediaPostOfferPricingOptionsInner.md +24 -0
  103. data/docs/SellerMediasApi.md +301 -0
  104. data/docs/SellerMoneyApi.md +364 -0
  105. data/docs/SellerOrder.md +50 -0
  106. data/docs/SellerOrderBriefing.md +49 -0
  107. data/docs/SellerOrderChannel.md +20 -0
  108. data/docs/SellerOrderDraft.md +20 -0
  109. data/docs/SellerOrderDraftFile.md +18 -0
  110. data/docs/SellerOrderPostDelivery.md +20 -0
  111. data/docs/SellerOrderProject.md +18 -0
  112. data/docs/SellerOrderRefutation.md +18 -0
  113. data/docs/SellerOrderRejection.md +18 -0
  114. data/docs/SellerOrderRejectionReason.md +20 -0
  115. data/docs/SellerOrdersApi.md +893 -0
  116. data/docs/SellerPostOrderBriefing.md +30 -0
  117. data/docs/SellerTransaction.md +38 -0
  118. data/docs/Transaction.md +40 -0
  119. data/docs/UpdateProjectRequest.md +30 -0
  120. data/docs/UpdateSellerMediaRequest.md +22 -0
  121. data/docs/UpdateSellerMediaRequestExtraServicesInner.md +20 -0
  122. data/docs/UpdateSellerMediaRequestLinkAdditionOffer.md +18 -0
  123. data/docs/UpdateSellerMediaRequestLinkAdditionOfferPricingOptionsInner.md +20 -0
  124. data/docs/UpdateSellerMediaRequestPostOffer.md +18 -0
  125. data/docs/UpdateSellerMediaRequestPostOfferPricingOptionsInner.md +22 -0
  126. data/docs/UploadFile201Response.md +24 -0
  127. data/docs/Withdrawal.md +28 -0
  128. data/git_push.sh +57 -0
  129. data/growwer.gemspec +41 -0
  130. data/lib/growwer/api/account_api.rb +215 -0
  131. data/lib/growwer/api/buyer_money_api.rb +355 -0
  132. data/lib/growwer/api/catalogue_api.rb +881 -0
  133. data/lib/growwer/api/files_api.rb +102 -0
  134. data/lib/growwer/api/managed_services_api.rb +625 -0
  135. data/lib/growwer/api/orders_api.rb +855 -0
  136. data/lib/growwer/api/projects_api.rb +398 -0
  137. data/lib/growwer/api/saved_filters_api.rb +319 -0
  138. data/lib/growwer/api/seller_medias_api.rb +329 -0
  139. data/lib/growwer/api/seller_money_api.rb +358 -0
  140. data/lib/growwer/api/seller_orders_api.rb +963 -0
  141. data/lib/growwer/api_client.rb +441 -0
  142. data/lib/growwer/api_error.rb +58 -0
  143. data/lib/growwer/api_model_base.rb +88 -0
  144. data/lib/growwer/configuration.rb +392 -0
  145. data/lib/growwer/models/balance.rb +192 -0
  146. data/lib/growwer/models/catalogue_media.rb +491 -0
  147. data/lib/growwer/models/catalogue_media_flash_offer.rb +191 -0
  148. data/lib/growwer/models/catalogue_media_metrics.rb +200 -0
  149. data/lib/growwer/models/catalogue_offer.rb +254 -0
  150. data/lib/growwer/models/catalogue_offer_or_null.rb +254 -0
  151. data/lib/growwer/models/catalogue_post_offer.rb +333 -0
  152. data/lib/growwer/models/catalogue_post_offer_all_of_extras.rb +177 -0
  153. data/lib/growwer/models/catalogue_post_offer_all_of_extras_sensitive_topic.rb +178 -0
  154. data/lib/growwer/models/code_name.rb +190 -0
  155. data/lib/growwer/models/count_saved_filter_medias200_response.rb +173 -0
  156. data/lib/growwer/models/create_project_request.rb +402 -0
  157. data/lib/growwer/models/create_saved_filter_request.rb +247 -0
  158. data/lib/growwer/models/error.rb +231 -0
  159. data/lib/growwer/models/get_buyer_wallet200_response.rb +191 -0
  160. data/lib/growwer/models/get_me200_response.rb +373 -0
  161. data/lib/growwer/models/get_me200_response_buyer.rb +164 -0
  162. data/lib/growwer/models/get_me200_response_catalogue.rb +165 -0
  163. data/lib/growwer/models/get_me200_response_managed_service.rb +165 -0
  164. data/lib/growwer/models/get_me200_response_seller.rb +231 -0
  165. data/lib/growwer/models/get_seller_wallet200_response.rb +191 -0
  166. data/lib/growwer/models/get_vocabulary200_response.rb +311 -0
  167. data/lib/growwer/models/get_vocabulary200_response_topics_inner.rb +190 -0
  168. data/lib/growwer/models/invoice.rb +243 -0
  169. data/lib/growwer/models/link_addition_order_briefing.rb +204 -0
  170. data/lib/growwer/models/link_addition_order_briefing_request.rb +201 -0
  171. data/lib/growwer/models/list_buyer_transactions200_response.rb +192 -0
  172. data/lib/growwer/models/list_flash_offers200_response.rb +192 -0
  173. data/lib/growwer/models/list_invoices200_response.rb +192 -0
  174. data/lib/growwer/models/list_managed_service_campaigns200_response.rb +192 -0
  175. data/lib/growwer/models/list_managed_service_proposals200_response.rb +192 -0
  176. data/lib/growwer/models/list_orders200_response.rb +192 -0
  177. data/lib/growwer/models/list_projects200_response.rb +192 -0
  178. data/lib/growwer/models/list_saved_filters200_response.rb +192 -0
  179. data/lib/growwer/models/list_seller_medias200_response.rb +192 -0
  180. data/lib/growwer/models/list_seller_orders200_response.rb +192 -0
  181. data/lib/growwer/models/list_seller_transactions200_response.rb +192 -0
  182. data/lib/growwer/models/list_withdrawals200_response.rb +192 -0
  183. data/lib/growwer/models/managed_service_campaign.rb +451 -0
  184. data/lib/growwer/models/managed_service_campaign_project.rb +190 -0
  185. data/lib/growwer/models/managed_service_campaign_proposal_counts.rb +269 -0
  186. data/lib/growwer/models/managed_service_campaign_strategy.rb +300 -0
  187. data/lib/growwer/models/managed_service_proposal.rb +428 -0
  188. data/lib/growwer/models/managed_service_proposal_briefing.rb +244 -0
  189. data/lib/growwer/models/managed_service_proposal_briefing_links_inner.rb +226 -0
  190. data/lib/growwer/models/managed_service_proposal_media.rb +214 -0
  191. data/lib/growwer/models/managed_service_proposal_review.rb +193 -0
  192. data/lib/growwer/models/managed_service_proposal_review_request.rb +176 -0
  193. data/lib/growwer/models/managed_service_proposal_review_request_reviews_inner.rb +240 -0
  194. data/lib/growwer/models/managed_service_proposals_estimate.rb +300 -0
  195. data/lib/growwer/models/managed_service_proposals_estimate_request.rb +150 -0
  196. data/lib/growwer/models/managed_service_request.rb +331 -0
  197. data/lib/growwer/models/managed_service_request_sent.rb +188 -0
  198. data/lib/growwer/models/money.rb +192 -0
  199. data/lib/growwer/models/money_or_null.rb +192 -0
  200. data/lib/growwer/models/order.rb +541 -0
  201. data/lib/growwer/models/order_action_reason.rb +183 -0
  202. data/lib/growwer/models/order_briefing.rb +102 -0
  203. data/lib/growwer/models/order_channel.rb +189 -0
  204. data/lib/growwer/models/order_create_request.rb +333 -0
  205. data/lib/growwer/models/order_delivery.rb +179 -0
  206. data/lib/growwer/models/order_draft.rb +220 -0
  207. data/lib/growwer/models/order_estimate.rb +246 -0
  208. data/lib/growwer/models/order_estimate_request.rb +299 -0
  209. data/lib/growwer/models/order_estimate_request_briefing.rb +102 -0
  210. data/lib/growwer/models/order_link.rb +214 -0
  211. data/lib/growwer/models/order_link_request.rb +209 -0
  212. data/lib/growwer/models/order_media.rb +178 -0
  213. data/lib/growwer/models/order_project.rb +178 -0
  214. data/lib/growwer/models/order_state_history_inner.rb +202 -0
  215. data/lib/growwer/models/order_state_history_inner_reason.rb +200 -0
  216. data/lib/growwer/models/post_order_briefing.rb +285 -0
  217. data/lib/growwer/models/post_order_briefing_request.rb +220 -0
  218. data/lib/growwer/models/project.rb +437 -0
  219. data/lib/growwer/models/project_catalogue_media.rb +524 -0
  220. data/lib/growwer/models/project_catalogue_media_all_of_project.rb +298 -0
  221. data/lib/growwer/models/put_seller_holiday200_response.rb +177 -0
  222. data/lib/growwer/models/put_seller_holiday_request.rb +174 -0
  223. data/lib/growwer/models/request_medias201_response.rb +166 -0
  224. data/lib/growwer/models/request_medias_request.rb +167 -0
  225. data/lib/growwer/models/saved_filter.rb +269 -0
  226. data/lib/growwer/models/saved_filter_notifications.rb +211 -0
  227. data/lib/growwer/models/seller_fees.rb +164 -0
  228. data/lib/growwer/models/seller_fees_or_null.rb +164 -0
  229. data/lib/growwer/models/seller_media.rb +573 -0
  230. data/lib/growwer/models/seller_media_flash_offer.rb +191 -0
  231. data/lib/growwer/models/seller_media_link_addition_offer.rb +167 -0
  232. data/lib/growwer/models/seller_media_link_addition_offer_pricing_options_inner.rb +228 -0
  233. data/lib/growwer/models/seller_media_post_offer.rb +195 -0
  234. data/lib/growwer/models/seller_media_post_offer_pricing_options_inner.rb +234 -0
  235. data/lib/growwer/models/seller_order.rb +563 -0
  236. data/lib/growwer/models/seller_order_briefing.rb +102 -0
  237. data/lib/growwer/models/seller_order_channel.rb +214 -0
  238. data/lib/growwer/models/seller_order_draft.rb +193 -0
  239. data/lib/growwer/models/seller_order_draft_file.rb +165 -0
  240. data/lib/growwer/models/seller_order_post_delivery.rb +193 -0
  241. data/lib/growwer/models/seller_order_project.rb +165 -0
  242. data/lib/growwer/models/seller_order_refutation.rb +183 -0
  243. data/lib/growwer/models/seller_order_rejection.rb +164 -0
  244. data/lib/growwer/models/seller_order_rejection_reason.rb +224 -0
  245. data/lib/growwer/models/seller_post_order_briefing.rb +314 -0
  246. data/lib/growwer/models/seller_transaction.rb +415 -0
  247. data/lib/growwer/models/transaction.rb +427 -0
  248. data/lib/growwer/models/update_project_request.rb +339 -0
  249. data/lib/growwer/models/update_seller_media_request.rb +168 -0
  250. data/lib/growwer/models/update_seller_media_request_extra_services_inner.rb +215 -0
  251. data/lib/growwer/models/update_seller_media_request_link_addition_offer.rb +166 -0
  252. data/lib/growwer/models/update_seller_media_request_link_addition_offer_pricing_options_inner.rb +215 -0
  253. data/lib/growwer/models/update_seller_media_request_post_offer.rb +175 -0
  254. data/lib/growwer/models/update_seller_media_request_post_offer_pricing_options_inner.rb +210 -0
  255. data/lib/growwer/models/upload_file201_response.rb +244 -0
  256. data/lib/growwer/models/withdrawal.rb +322 -0
  257. data/lib/growwer/version.rb +15 -0
  258. data/lib/growwer.rb +163 -0
  259. data/spec/api/account_api_spec.rb +70 -0
  260. data/spec/api/buyer_money_api_spec.rb +96 -0
  261. data/spec/api/catalogue_api_spec.rb +213 -0
  262. data/spec/api/files_api_spec.rb +48 -0
  263. data/spec/api/managed_services_api_spec.rb +140 -0
  264. data/spec/api/orders_api_spec.rb +182 -0
  265. data/spec/api/projects_api_spec.rb +100 -0
  266. data/spec/api/saved_filters_api_spec.rb +88 -0
  267. data/spec/api/seller_medias_api_spec.rb +89 -0
  268. data/spec/api/seller_money_api_spec.rb +97 -0
  269. data/spec/api/seller_orders_api_spec.rb +199 -0
  270. data/spec/models/balance_spec.rb +42 -0
  271. data/spec/models/catalogue_media_flash_offer_spec.rb +42 -0
  272. data/spec/models/catalogue_media_metrics_spec.rb +60 -0
  273. data/spec/models/catalogue_media_spec.rb +124 -0
  274. data/spec/models/catalogue_offer_or_null_spec.rb +58 -0
  275. data/spec/models/catalogue_offer_spec.rb +58 -0
  276. data/spec/models/catalogue_post_offer_all_of_extras_sensitive_topic_spec.rb +42 -0
  277. data/spec/models/catalogue_post_offer_all_of_extras_spec.rb +42 -0
  278. data/spec/models/catalogue_post_offer_spec.rb +80 -0
  279. data/spec/models/code_name_spec.rb +42 -0
  280. data/spec/models/count_saved_filter_medias200_response_spec.rb +36 -0
  281. data/spec/models/create_project_request_spec.rb +82 -0
  282. data/spec/models/create_saved_filter_request_spec.rb +52 -0
  283. data/spec/models/error_spec.rb +54 -0
  284. data/spec/models/get_buyer_wallet200_response_spec.rb +42 -0
  285. data/spec/models/get_me200_response_buyer_spec.rb +36 -0
  286. data/spec/models/get_me200_response_catalogue_spec.rb +36 -0
  287. data/spec/models/get_me200_response_managed_service_spec.rb +36 -0
  288. data/spec/models/get_me200_response_seller_spec.rb +54 -0
  289. data/spec/models/get_me200_response_spec.rb +84 -0
  290. data/spec/models/get_seller_wallet200_response_spec.rb +42 -0
  291. data/spec/models/get_vocabulary200_response_spec.rb +74 -0
  292. data/spec/models/get_vocabulary200_response_topics_inner_spec.rb +42 -0
  293. data/spec/models/invoice_spec.rb +54 -0
  294. data/spec/models/link_addition_order_briefing_request_spec.rb +48 -0
  295. data/spec/models/link_addition_order_briefing_spec.rb +48 -0
  296. data/spec/models/list_buyer_transactions200_response_spec.rb +42 -0
  297. data/spec/models/list_flash_offers200_response_spec.rb +42 -0
  298. data/spec/models/list_invoices200_response_spec.rb +42 -0
  299. data/spec/models/list_managed_service_campaigns200_response_spec.rb +42 -0
  300. data/spec/models/list_managed_service_proposals200_response_spec.rb +42 -0
  301. data/spec/models/list_orders200_response_spec.rb +42 -0
  302. data/spec/models/list_projects200_response_spec.rb +42 -0
  303. data/spec/models/list_saved_filters200_response_spec.rb +42 -0
  304. data/spec/models/list_seller_medias200_response_spec.rb +42 -0
  305. data/spec/models/list_seller_orders200_response_spec.rb +42 -0
  306. data/spec/models/list_seller_transactions200_response_spec.rb +42 -0
  307. data/spec/models/list_withdrawals200_response_spec.rb +42 -0
  308. data/spec/models/managed_service_campaign_project_spec.rb +42 -0
  309. data/spec/models/managed_service_campaign_proposal_counts_spec.rb +60 -0
  310. data/spec/models/managed_service_campaign_spec.rb +106 -0
  311. data/spec/models/managed_service_campaign_strategy_spec.rb +64 -0
  312. data/spec/models/managed_service_proposal_briefing_links_inner_spec.rb +52 -0
  313. data/spec/models/managed_service_proposal_briefing_spec.rb +54 -0
  314. data/spec/models/managed_service_proposal_media_spec.rb +54 -0
  315. data/spec/models/managed_service_proposal_review_request_reviews_inner_spec.rb +52 -0
  316. data/spec/models/managed_service_proposal_review_request_spec.rb +36 -0
  317. data/spec/models/managed_service_proposal_review_spec.rb +42 -0
  318. data/spec/models/managed_service_proposal_spec.rb +110 -0
  319. data/spec/models/managed_service_proposals_estimate_request_spec.rb +36 -0
  320. data/spec/models/managed_service_proposals_estimate_spec.rb +66 -0
  321. data/spec/models/managed_service_request_sent_spec.rb +40 -0
  322. data/spec/models/managed_service_request_spec.rb +74 -0
  323. data/spec/models/money_or_null_spec.rb +42 -0
  324. data/spec/models/money_spec.rb +42 -0
  325. data/spec/models/order_action_reason_spec.rb +36 -0
  326. data/spec/models/order_briefing_spec.rb +32 -0
  327. data/spec/models/order_channel_spec.rb +40 -0
  328. data/spec/models/order_create_request_spec.rb +82 -0
  329. data/spec/models/order_delivery_spec.rb +42 -0
  330. data/spec/models/order_draft_spec.rb +48 -0
  331. data/spec/models/order_estimate_request_briefing_spec.rb +32 -0
  332. data/spec/models/order_estimate_request_spec.rb +76 -0
  333. data/spec/models/order_estimate_spec.rb +54 -0
  334. data/spec/models/order_link_request_spec.rb +52 -0
  335. data/spec/models/order_link_spec.rb +52 -0
  336. data/spec/models/order_media_spec.rb +42 -0
  337. data/spec/models/order_project_spec.rb +42 -0
  338. data/spec/models/order_spec.rb +134 -0
  339. data/spec/models/order_state_history_inner_reason_spec.rb +46 -0
  340. data/spec/models/order_state_history_inner_spec.rb +48 -0
  341. data/spec/models/post_order_briefing_request_spec.rb +58 -0
  342. data/spec/models/post_order_briefing_spec.rb +70 -0
  343. data/spec/models/project_catalogue_media_all_of_project_spec.rb +66 -0
  344. data/spec/models/project_catalogue_media_spec.rb +130 -0
  345. data/spec/models/project_spec.rb +104 -0
  346. data/spec/models/put_seller_holiday200_response_spec.rb +42 -0
  347. data/spec/models/put_seller_holiday_request_spec.rb +42 -0
  348. data/spec/models/request_medias201_response_spec.rb +36 -0
  349. data/spec/models/request_medias_request_spec.rb +36 -0
  350. data/spec/models/saved_filter_notifications_spec.rb +46 -0
  351. data/spec/models/saved_filter_spec.rb +60 -0
  352. data/spec/models/seller_fees_or_null_spec.rb +42 -0
  353. data/spec/models/seller_fees_spec.rb +42 -0
  354. data/spec/models/seller_media_flash_offer_spec.rb +42 -0
  355. data/spec/models/seller_media_link_addition_offer_pricing_options_inner_spec.rb +52 -0
  356. data/spec/models/seller_media_link_addition_offer_spec.rb +36 -0
  357. data/spec/models/seller_media_post_offer_pricing_options_inner_spec.rb +58 -0
  358. data/spec/models/seller_media_post_offer_spec.rb +42 -0
  359. data/spec/models/seller_media_spec.rb +148 -0
  360. data/spec/models/seller_order_briefing_spec.rb +32 -0
  361. data/spec/models/seller_order_channel_spec.rb +50 -0
  362. data/spec/models/seller_order_draft_file_spec.rb +36 -0
  363. data/spec/models/seller_order_draft_spec.rb +42 -0
  364. data/spec/models/seller_order_post_delivery_spec.rb +42 -0
  365. data/spec/models/seller_order_project_spec.rb +36 -0
  366. data/spec/models/seller_order_refutation_spec.rb +36 -0
  367. data/spec/models/seller_order_rejection_reason_spec.rb +46 -0
  368. data/spec/models/seller_order_rejection_spec.rb +36 -0
  369. data/spec/models/seller_order_spec.rb +140 -0
  370. data/spec/models/seller_post_order_briefing_spec.rb +80 -0
  371. data/spec/models/seller_transaction_spec.rb +104 -0
  372. data/spec/models/transaction_spec.rb +110 -0
  373. data/spec/models/update_project_request_spec.rb +76 -0
  374. data/spec/models/update_seller_media_request_extra_services_inner_spec.rb +46 -0
  375. data/spec/models/update_seller_media_request_link_addition_offer_pricing_options_inner_spec.rb +46 -0
  376. data/spec/models/update_seller_media_request_link_addition_offer_spec.rb +36 -0
  377. data/spec/models/update_seller_media_request_post_offer_pricing_options_inner_spec.rb +52 -0
  378. data/spec/models/update_seller_media_request_post_offer_spec.rb +36 -0
  379. data/spec/models/update_seller_media_request_spec.rb +48 -0
  380. data/spec/models/upload_file201_response_spec.rb +54 -0
  381. data/spec/models/withdrawal_spec.rb +74 -0
  382. data/spec/spec_helper.rb +111 -0
  383. metadata +618 -0
@@ -0,0 +1,625 @@
1
+ =begin
2
+ #Growwer API
3
+
4
+ #The Growwer customer API. Authenticate every call with an API key created on your profile page, sent as `Authorization: Bearer <key>`. A read key can call every GET operation; writes need a read and write key and an `Idempotency-Key` header. Idempotency: use a new `Idempotency-Key` (1 to 255 printable ASCII characters without spaces) for each operation and reuse it only to retry that same operation. Keys belong to your account, not to one API key. - A successful write is stored for 30 days: a retry with the same key and the same request replays its response with `Idempotent-Replayed: true` and does nothing again. - A refused write (4xx) has no effect and releases its key: once you fix the cause, retry with the same key and the write runs. - A failed write (5xx) may have taken effect, so it is never run again under its key: a retry gets 409 `idempotency_outcome_unknown`. Check whether it took effect before retrying with a new key. - A retry while the first request is still running gets 409 `idempotency_request_in_progress`. A request still running after 5 minutes is treated as failed: a retry gets 409 `idempotency_outcome_unknown`. - The same key with a different request (method, path, query or body) gets 409 `idempotency_key_reused`. A write without the header gets 400 `idempotency_key_required`. Every response carries `X-Request-Id`. Errors share one shape, `{code, message, requestId, details?}`. Money is integer cents plus a currency code and dates are ISO-8601.
5
+
6
+ The version of the OpenAPI document: 1
7
+ Contact: support@growwer.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Growwer
16
+ class ManagedServicesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Estimate accepting proposals
23
+ # Totals the campaign's accepted proposals that still await their order and the `proposed` ones you name in `accept`, and compares the total with your wallet's available balance. Each proposal counts at its `currentPrice`, or at its `proposedPrice` when the media no longer offers the service. Nothing is accepted, charged or reserved, so a read-only key may call it and it takes no Idempotency-Key. The estimate is advisory: accepting a proposal charges nothing. The team charges your wallet when it places the order for an accepted proposal, and the same balance pays for the orders you place yourself.
24
+ # @param id [String]
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [ManagedServiceProposalsEstimateRequest] :managed_service_proposals_estimate_request
27
+ # @return [ManagedServiceProposalsEstimate]
28
+ def estimate_managed_service_proposals(id, opts = {})
29
+ data, _status_code, _headers = estimate_managed_service_proposals_with_http_info(id, opts)
30
+ data
31
+ end
32
+
33
+ # Estimate accepting proposals
34
+ # Totals the campaign&#39;s accepted proposals that still await their order and the &#x60;proposed&#x60; ones you name in &#x60;accept&#x60;, and compares the total with your wallet&#39;s available balance. Each proposal counts at its &#x60;currentPrice&#x60;, or at its &#x60;proposedPrice&#x60; when the media no longer offers the service. Nothing is accepted, charged or reserved, so a read-only key may call it and it takes no Idempotency-Key. The estimate is advisory: accepting a proposal charges nothing. The team charges your wallet when it places the order for an accepted proposal, and the same balance pays for the orders you place yourself.
35
+ # @param id [String]
36
+ # @param [Hash] opts the optional parameters
37
+ # @option opts [ManagedServiceProposalsEstimateRequest] :managed_service_proposals_estimate_request
38
+ # @return [Array<(ManagedServiceProposalsEstimate, Integer, Hash)>] ManagedServiceProposalsEstimate data, response status code and response headers
39
+ def estimate_managed_service_proposals_with_http_info(id, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: ManagedServicesApi.estimate_managed_service_proposals ...'
42
+ end
43
+ # verify the required parameter 'id' is set
44
+ if @api_client.config.client_side_validation && id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'id' when calling ManagedServicesApi.estimate_managed_service_proposals"
46
+ end
47
+ # resource path
48
+ local_var_path = '/api/v1/managed-service/campaigns/{id}/proposals/estimate'.sub('{id}', CGI.escape(id.to_s))
49
+
50
+ # query parameters
51
+ query_params = opts[:query_params] || {}
52
+
53
+ # header parameters
54
+ header_params = opts[:header_params] || {}
55
+ # HTTP header 'Accept' (if needed)
56
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
57
+ # HTTP header 'Content-Type'
58
+ content_type = @api_client.select_header_content_type(['application/json'])
59
+ if !content_type.nil?
60
+ header_params['Content-Type'] = content_type
61
+ end
62
+
63
+ # form parameters
64
+ form_params = opts[:form_params] || {}
65
+
66
+ # http body (model)
67
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'managed_service_proposals_estimate_request'])
68
+
69
+ # return_type
70
+ return_type = opts[:debug_return_type] || 'ManagedServiceProposalsEstimate'
71
+
72
+ # auth_names
73
+ auth_names = opts[:debug_auth_names] || ['apiKey']
74
+
75
+ new_options = opts.merge(
76
+ :operation => :"ManagedServicesApi.estimate_managed_service_proposals",
77
+ :header_params => header_params,
78
+ :query_params => query_params,
79
+ :form_params => form_params,
80
+ :body => post_body,
81
+ :auth_names => auth_names,
82
+ :return_type => return_type
83
+ )
84
+
85
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
86
+ if @api_client.config.debugging
87
+ @api_client.config.logger.debug "API called: ManagedServicesApi#estimate_managed_service_proposals\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
88
+ end
89
+ return data, status_code, headers
90
+ end
91
+
92
+ # Get a managed service campaign
93
+ # @param id [String]
94
+ # @param [Hash] opts the optional parameters
95
+ # @return [ManagedServiceCampaign]
96
+ def get_managed_service_campaign(id, opts = {})
97
+ data, _status_code, _headers = get_managed_service_campaign_with_http_info(id, opts)
98
+ data
99
+ end
100
+
101
+ # Get a managed service campaign
102
+ # @param id [String]
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(ManagedServiceCampaign, Integer, Hash)>] ManagedServiceCampaign data, response status code and response headers
105
+ def get_managed_service_campaign_with_http_info(id, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: ManagedServicesApi.get_managed_service_campaign ...'
108
+ end
109
+ # verify the required parameter 'id' is set
110
+ if @api_client.config.client_side_validation && id.nil?
111
+ fail ArgumentError, "Missing the required parameter 'id' when calling ManagedServicesApi.get_managed_service_campaign"
112
+ end
113
+ # resource path
114
+ local_var_path = '/api/v1/managed-service/campaigns/{id}'.sub('{id}', CGI.escape(id.to_s))
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+ # HTTP header 'Accept' (if needed)
122
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
123
+
124
+ # form parameters
125
+ form_params = opts[:form_params] || {}
126
+
127
+ # http body (model)
128
+ post_body = opts[:debug_body]
129
+
130
+ # return_type
131
+ return_type = opts[:debug_return_type] || 'ManagedServiceCampaign'
132
+
133
+ # auth_names
134
+ auth_names = opts[:debug_auth_names] || ['apiKey']
135
+
136
+ new_options = opts.merge(
137
+ :operation => :"ManagedServicesApi.get_managed_service_campaign",
138
+ :header_params => header_params,
139
+ :query_params => query_params,
140
+ :form_params => form_params,
141
+ :body => post_body,
142
+ :auth_names => auth_names,
143
+ :return_type => return_type
144
+ )
145
+
146
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
147
+ if @api_client.config.debugging
148
+ @api_client.config.logger.debug "API called: ManagedServicesApi#get_managed_service_campaign\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
149
+ end
150
+ return data, status_code, headers
151
+ end
152
+
153
+ # Download the summary of a campaign's proposals
154
+ # The PDF the campaign page offers: the proposals awaiting your review, accepted or being published, newest first, in your language. With `extended=true` it also shows each proposal's price, the price it was proposed at (`proposedPrice`).
155
+ # @param id [String]
156
+ # @param [Hash] opts the optional parameters
157
+ # @option opts [String] :extended Whether to show the prices. (default to 'false')
158
+ # @return [File]
159
+ def get_managed_service_proposals_summary(id, opts = {})
160
+ data, _status_code, _headers = get_managed_service_proposals_summary_with_http_info(id, opts)
161
+ data
162
+ end
163
+
164
+ # Download the summary of a campaign&#39;s proposals
165
+ # The PDF the campaign page offers: the proposals awaiting your review, accepted or being published, newest first, in your language. With &#x60;extended&#x3D;true&#x60; it also shows each proposal&#39;s price, the price it was proposed at (&#x60;proposedPrice&#x60;).
166
+ # @param id [String]
167
+ # @param [Hash] opts the optional parameters
168
+ # @option opts [String] :extended Whether to show the prices. (default to 'false')
169
+ # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
170
+ def get_managed_service_proposals_summary_with_http_info(id, opts = {})
171
+ if @api_client.config.debugging
172
+ @api_client.config.logger.debug 'Calling API: ManagedServicesApi.get_managed_service_proposals_summary ...'
173
+ end
174
+ # verify the required parameter 'id' is set
175
+ if @api_client.config.client_side_validation && id.nil?
176
+ fail ArgumentError, "Missing the required parameter 'id' when calling ManagedServicesApi.get_managed_service_proposals_summary"
177
+ end
178
+ allowable_values = ["true", "false"]
179
+ if @api_client.config.client_side_validation && opts[:'extended'] && !allowable_values.include?(opts[:'extended'])
180
+ fail ArgumentError, "invalid value for \"extended\", must be one of #{allowable_values}"
181
+ end
182
+ # resource path
183
+ local_var_path = '/api/v1/managed-service/campaigns/{id}/proposals-summary'.sub('{id}', CGI.escape(id.to_s))
184
+
185
+ # query parameters
186
+ query_params = opts[:query_params] || {}
187
+ query_params[:'extended'] = opts[:'extended'] if !opts[:'extended'].nil?
188
+
189
+ # header parameters
190
+ header_params = opts[:header_params] || {}
191
+ # HTTP header 'Accept' (if needed)
192
+ header_params['Accept'] = @api_client.select_header_accept(['application/pdf', 'application/json']) unless header_params['Accept']
193
+
194
+ # form parameters
195
+ form_params = opts[:form_params] || {}
196
+
197
+ # http body (model)
198
+ post_body = opts[:debug_body]
199
+
200
+ # return_type
201
+ return_type = opts[:debug_return_type] || 'File'
202
+
203
+ # auth_names
204
+ auth_names = opts[:debug_auth_names] || ['apiKey']
205
+
206
+ new_options = opts.merge(
207
+ :operation => :"ManagedServicesApi.get_managed_service_proposals_summary",
208
+ :header_params => header_params,
209
+ :query_params => query_params,
210
+ :form_params => form_params,
211
+ :body => post_body,
212
+ :auth_names => auth_names,
213
+ :return_type => return_type
214
+ )
215
+
216
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
217
+ if @api_client.config.debugging
218
+ @api_client.config.logger.debug "API called: ManagedServicesApi#get_managed_service_proposals_summary\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
219
+ end
220
+ return data, status_code, headers
221
+ end
222
+
223
+ # List your managed service campaigns
224
+ # The campaigns your managed service runs for you, newest first. Without a managed service the list is empty: GET /me says whether you have one.
225
+ # @param [Hash] opts the optional parameters
226
+ # @option opts [Integer] :limit Campaigns per page, 1 to 100. (default to 20)
227
+ # @option opts [Integer] :offset Campaigns to skip. (default to 0)
228
+ # @return [ListManagedServiceCampaigns200Response]
229
+ def list_managed_service_campaigns(opts = {})
230
+ data, _status_code, _headers = list_managed_service_campaigns_with_http_info(opts)
231
+ data
232
+ end
233
+
234
+ # List your managed service campaigns
235
+ # The campaigns your managed service runs for you, newest first. Without a managed service the list is empty: GET /me says whether you have one.
236
+ # @param [Hash] opts the optional parameters
237
+ # @option opts [Integer] :limit Campaigns per page, 1 to 100. (default to 20)
238
+ # @option opts [Integer] :offset Campaigns to skip. (default to 0)
239
+ # @return [Array<(ListManagedServiceCampaigns200Response, Integer, Hash)>] ListManagedServiceCampaigns200Response data, response status code and response headers
240
+ def list_managed_service_campaigns_with_http_info(opts = {})
241
+ if @api_client.config.debugging
242
+ @api_client.config.logger.debug 'Calling API: ManagedServicesApi.list_managed_service_campaigns ...'
243
+ end
244
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
245
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ManagedServicesApi.list_managed_service_campaigns, must be smaller than or equal to 100.'
246
+ end
247
+
248
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
249
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ManagedServicesApi.list_managed_service_campaigns, must be greater than or equal to 1.'
250
+ end
251
+
252
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
253
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling ManagedServicesApi.list_managed_service_campaigns, must be greater than or equal to 0.'
254
+ end
255
+
256
+ # resource path
257
+ local_var_path = '/api/v1/managed-service/campaigns'
258
+
259
+ # query parameters
260
+ query_params = opts[:query_params] || {}
261
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
262
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
263
+
264
+ # header parameters
265
+ header_params = opts[:header_params] || {}
266
+ # HTTP header 'Accept' (if needed)
267
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
268
+
269
+ # form parameters
270
+ form_params = opts[:form_params] || {}
271
+
272
+ # http body (model)
273
+ post_body = opts[:debug_body]
274
+
275
+ # return_type
276
+ return_type = opts[:debug_return_type] || 'ListManagedServiceCampaigns200Response'
277
+
278
+ # auth_names
279
+ auth_names = opts[:debug_auth_names] || ['apiKey']
280
+
281
+ new_options = opts.merge(
282
+ :operation => :"ManagedServicesApi.list_managed_service_campaigns",
283
+ :header_params => header_params,
284
+ :query_params => query_params,
285
+ :form_params => form_params,
286
+ :body => post_body,
287
+ :auth_names => auth_names,
288
+ :return_type => return_type
289
+ )
290
+
291
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
292
+ if @api_client.config.debugging
293
+ @api_client.config.logger.debug "API called: ManagedServicesApi#list_managed_service_campaigns\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
294
+ end
295
+ return data, status_code, headers
296
+ end
297
+
298
+ # List the proposals of a campaign
299
+ # The medias the team proposes for the campaign, newest first. Those `proposed` await your review (POST /managed-service/campaigns/{id}/proposals/review).
300
+ # @param id [String]
301
+ # @param [Hash] opts the optional parameters
302
+ # @option opts [String] :state Only proposals in these states, comma-separated: &#x60;proposed&#x60;, &#x60;accepted&#x60;, &#x60;cancelled&#x60;, &#x60;purchase_started&#x60;, &#x60;purchase_finished&#x60;.
303
+ # @option opts [Integer] :limit Proposals per page, 1 to 100. (default to 20)
304
+ # @option opts [Integer] :offset Proposals to skip. (default to 0)
305
+ # @return [ListManagedServiceProposals200Response]
306
+ def list_managed_service_proposals(id, opts = {})
307
+ data, _status_code, _headers = list_managed_service_proposals_with_http_info(id, opts)
308
+ data
309
+ end
310
+
311
+ # List the proposals of a campaign
312
+ # The medias the team proposes for the campaign, newest first. Those &#x60;proposed&#x60; await your review (POST /managed-service/campaigns/{id}/proposals/review).
313
+ # @param id [String]
314
+ # @param [Hash] opts the optional parameters
315
+ # @option opts [String] :state Only proposals in these states, comma-separated: &#x60;proposed&#x60;, &#x60;accepted&#x60;, &#x60;cancelled&#x60;, &#x60;purchase_started&#x60;, &#x60;purchase_finished&#x60;.
316
+ # @option opts [Integer] :limit Proposals per page, 1 to 100. (default to 20)
317
+ # @option opts [Integer] :offset Proposals to skip. (default to 0)
318
+ # @return [Array<(ListManagedServiceProposals200Response, Integer, Hash)>] ListManagedServiceProposals200Response data, response status code and response headers
319
+ def list_managed_service_proposals_with_http_info(id, opts = {})
320
+ if @api_client.config.debugging
321
+ @api_client.config.logger.debug 'Calling API: ManagedServicesApi.list_managed_service_proposals ...'
322
+ end
323
+ # verify the required parameter 'id' is set
324
+ if @api_client.config.client_side_validation && id.nil?
325
+ fail ArgumentError, "Missing the required parameter 'id' when calling ManagedServicesApi.list_managed_service_proposals"
326
+ end
327
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
328
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ManagedServicesApi.list_managed_service_proposals, must be smaller than or equal to 100.'
329
+ end
330
+
331
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
332
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ManagedServicesApi.list_managed_service_proposals, must be greater than or equal to 1.'
333
+ end
334
+
335
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
336
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling ManagedServicesApi.list_managed_service_proposals, must be greater than or equal to 0.'
337
+ end
338
+
339
+ # resource path
340
+ local_var_path = '/api/v1/managed-service/campaigns/{id}/proposals'.sub('{id}', CGI.escape(id.to_s))
341
+
342
+ # query parameters
343
+ query_params = opts[:query_params] || {}
344
+ query_params[:'state'] = opts[:'state'] if !opts[:'state'].nil?
345
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
346
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
347
+
348
+ # header parameters
349
+ header_params = opts[:header_params] || {}
350
+ # HTTP header 'Accept' (if needed)
351
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
352
+
353
+ # form parameters
354
+ form_params = opts[:form_params] || {}
355
+
356
+ # http body (model)
357
+ post_body = opts[:debug_body]
358
+
359
+ # return_type
360
+ return_type = opts[:debug_return_type] || 'ListManagedServiceProposals200Response'
361
+
362
+ # auth_names
363
+ auth_names = opts[:debug_auth_names] || ['apiKey']
364
+
365
+ new_options = opts.merge(
366
+ :operation => :"ManagedServicesApi.list_managed_service_proposals",
367
+ :header_params => header_params,
368
+ :query_params => query_params,
369
+ :form_params => form_params,
370
+ :body => post_body,
371
+ :auth_names => auth_names,
372
+ :return_type => return_type
373
+ )
374
+
375
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
376
+ if @api_client.config.debugging
377
+ @api_client.config.logger.debug "API called: ManagedServicesApi#list_managed_service_proposals\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
378
+ end
379
+ return data, status_code, headers
380
+ end
381
+
382
+ # Request a new campaign
383
+ # Asks your account manager for a new campaign, as the managed service page does: the team emails you to agree on it. For accounts with a managed service (GET /me `managedService.active`); without one, POST /managed-service/info-requests asks about the service. You may send 5 such requests per UTC day through the API. Past them it answers 429 `managed_service_request_limit_reached`, with `Retry-After` the time to the next UTC midnight. A request that is refused (4xx) does not count; one that fails on the server (5xx) does, as it may have been sent.
384
+ # @param idempotency_key [String] A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (&#x60;!&#x60; to &#x60;~&#x60;); any other value answers 400 &#x60;invalid_idempotency_key&#x60;.
385
+ # @param managed_service_request [ManagedServiceRequest]
386
+ # @param [Hash] opts the optional parameters
387
+ # @return [ManagedServiceRequestSent]
388
+ def request_managed_service_campaign(idempotency_key, managed_service_request, opts = {})
389
+ data, _status_code, _headers = request_managed_service_campaign_with_http_info(idempotency_key, managed_service_request, opts)
390
+ data
391
+ end
392
+
393
+ # Request a new campaign
394
+ # Asks your account manager for a new campaign, as the managed service page does: the team emails you to agree on it. For accounts with a managed service (GET /me &#x60;managedService.active&#x60;); without one, POST /managed-service/info-requests asks about the service. You may send 5 such requests per UTC day through the API. Past them it answers 429 &#x60;managed_service_request_limit_reached&#x60;, with &#x60;Retry-After&#x60; the time to the next UTC midnight. A request that is refused (4xx) does not count; one that fails on the server (5xx) does, as it may have been sent.
395
+ # @param idempotency_key [String] A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (&#x60;!&#x60; to &#x60;~&#x60;); any other value answers 400 &#x60;invalid_idempotency_key&#x60;.
396
+ # @param managed_service_request [ManagedServiceRequest]
397
+ # @param [Hash] opts the optional parameters
398
+ # @return [Array<(ManagedServiceRequestSent, Integer, Hash)>] ManagedServiceRequestSent data, response status code and response headers
399
+ def request_managed_service_campaign_with_http_info(idempotency_key, managed_service_request, opts = {})
400
+ if @api_client.config.debugging
401
+ @api_client.config.logger.debug 'Calling API: ManagedServicesApi.request_managed_service_campaign ...'
402
+ end
403
+ # verify the required parameter 'idempotency_key' is set
404
+ if @api_client.config.client_side_validation && idempotency_key.nil?
405
+ fail ArgumentError, "Missing the required parameter 'idempotency_key' when calling ManagedServicesApi.request_managed_service_campaign"
406
+ end
407
+ if @api_client.config.client_side_validation && idempotency_key.to_s.length > 255
408
+ fail ArgumentError, 'invalid value for "idempotency_key" when calling ManagedServicesApi.request_managed_service_campaign, the character length must be smaller than or equal to 255.'
409
+ end
410
+
411
+ # verify the required parameter 'managed_service_request' is set
412
+ if @api_client.config.client_side_validation && managed_service_request.nil?
413
+ fail ArgumentError, "Missing the required parameter 'managed_service_request' when calling ManagedServicesApi.request_managed_service_campaign"
414
+ end
415
+ # resource path
416
+ local_var_path = '/api/v1/managed-service/campaign-requests'
417
+
418
+ # query parameters
419
+ query_params = opts[:query_params] || {}
420
+
421
+ # header parameters
422
+ header_params = opts[:header_params] || {}
423
+ # HTTP header 'Accept' (if needed)
424
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
425
+ # HTTP header 'Content-Type'
426
+ content_type = @api_client.select_header_content_type(['application/json'])
427
+ if !content_type.nil?
428
+ header_params['Content-Type'] = content_type
429
+ end
430
+ header_params[:'Idempotency-Key'] = idempotency_key
431
+
432
+ # form parameters
433
+ form_params = opts[:form_params] || {}
434
+
435
+ # http body (model)
436
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(managed_service_request)
437
+
438
+ # return_type
439
+ return_type = opts[:debug_return_type] || 'ManagedServiceRequestSent'
440
+
441
+ # auth_names
442
+ auth_names = opts[:debug_auth_names] || ['apiKey']
443
+
444
+ new_options = opts.merge(
445
+ :operation => :"ManagedServicesApi.request_managed_service_campaign",
446
+ :header_params => header_params,
447
+ :query_params => query_params,
448
+ :form_params => form_params,
449
+ :body => post_body,
450
+ :auth_names => auth_names,
451
+ :return_type => return_type
452
+ )
453
+
454
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
455
+ if @api_client.config.debugging
456
+ @api_client.config.logger.debug "API called: ManagedServicesApi#request_managed_service_campaign\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
457
+ end
458
+ return data, status_code, headers
459
+ end
460
+
461
+ # Ask about the managed service
462
+ # Asks the team about the managed service for your website, as the managed service landing page does: the team contacts you. For accounts without a managed service (GET /me `managedService.active`); with one, POST /managed-service/campaign-requests requests a new campaign. You may send 5 such requests per UTC day through the API. Past them it answers 429 `managed_service_request_limit_reached`, with `Retry-After` the time to the next UTC midnight. A request that is refused (4xx) does not count; one that fails on the server (5xx) does, as it may have been sent.
463
+ # @param idempotency_key [String] A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (&#x60;!&#x60; to &#x60;~&#x60;); any other value answers 400 &#x60;invalid_idempotency_key&#x60;.
464
+ # @param managed_service_request [ManagedServiceRequest]
465
+ # @param [Hash] opts the optional parameters
466
+ # @return [ManagedServiceRequestSent]
467
+ def request_managed_service_info(idempotency_key, managed_service_request, opts = {})
468
+ data, _status_code, _headers = request_managed_service_info_with_http_info(idempotency_key, managed_service_request, opts)
469
+ data
470
+ end
471
+
472
+ # Ask about the managed service
473
+ # Asks the team about the managed service for your website, as the managed service landing page does: the team contacts you. For accounts without a managed service (GET /me &#x60;managedService.active&#x60;); with one, POST /managed-service/campaign-requests requests a new campaign. You may send 5 such requests per UTC day through the API. Past them it answers 429 &#x60;managed_service_request_limit_reached&#x60;, with &#x60;Retry-After&#x60; the time to the next UTC midnight. A request that is refused (4xx) does not count; one that fails on the server (5xx) does, as it may have been sent.
474
+ # @param idempotency_key [String] A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (&#x60;!&#x60; to &#x60;~&#x60;); any other value answers 400 &#x60;invalid_idempotency_key&#x60;.
475
+ # @param managed_service_request [ManagedServiceRequest]
476
+ # @param [Hash] opts the optional parameters
477
+ # @return [Array<(ManagedServiceRequestSent, Integer, Hash)>] ManagedServiceRequestSent data, response status code and response headers
478
+ def request_managed_service_info_with_http_info(idempotency_key, managed_service_request, opts = {})
479
+ if @api_client.config.debugging
480
+ @api_client.config.logger.debug 'Calling API: ManagedServicesApi.request_managed_service_info ...'
481
+ end
482
+ # verify the required parameter 'idempotency_key' is set
483
+ if @api_client.config.client_side_validation && idempotency_key.nil?
484
+ fail ArgumentError, "Missing the required parameter 'idempotency_key' when calling ManagedServicesApi.request_managed_service_info"
485
+ end
486
+ if @api_client.config.client_side_validation && idempotency_key.to_s.length > 255
487
+ fail ArgumentError, 'invalid value for "idempotency_key" when calling ManagedServicesApi.request_managed_service_info, the character length must be smaller than or equal to 255.'
488
+ end
489
+
490
+ # verify the required parameter 'managed_service_request' is set
491
+ if @api_client.config.client_side_validation && managed_service_request.nil?
492
+ fail ArgumentError, "Missing the required parameter 'managed_service_request' when calling ManagedServicesApi.request_managed_service_info"
493
+ end
494
+ # resource path
495
+ local_var_path = '/api/v1/managed-service/info-requests'
496
+
497
+ # query parameters
498
+ query_params = opts[:query_params] || {}
499
+
500
+ # header parameters
501
+ header_params = opts[:header_params] || {}
502
+ # HTTP header 'Accept' (if needed)
503
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
504
+ # HTTP header 'Content-Type'
505
+ content_type = @api_client.select_header_content_type(['application/json'])
506
+ if !content_type.nil?
507
+ header_params['Content-Type'] = content_type
508
+ end
509
+ header_params[:'Idempotency-Key'] = idempotency_key
510
+
511
+ # form parameters
512
+ form_params = opts[:form_params] || {}
513
+
514
+ # http body (model)
515
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(managed_service_request)
516
+
517
+ # return_type
518
+ return_type = opts[:debug_return_type] || 'ManagedServiceRequestSent'
519
+
520
+ # auth_names
521
+ auth_names = opts[:debug_auth_names] || ['apiKey']
522
+
523
+ new_options = opts.merge(
524
+ :operation => :"ManagedServicesApi.request_managed_service_info",
525
+ :header_params => header_params,
526
+ :query_params => query_params,
527
+ :form_params => form_params,
528
+ :body => post_body,
529
+ :auth_names => auth_names,
530
+ :return_type => return_type
531
+ )
532
+
533
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
534
+ if @api_client.config.debugging
535
+ @api_client.config.logger.debug "API called: ManagedServicesApi#request_managed_service_info\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
536
+ end
537
+ return data, status_code, headers
538
+ end
539
+
540
+ # Accept or reject proposals
541
+ # Decides on every proposal of the campaign that awaits your review (`state` `proposed`), as the campaign page does: name each one once, with `accept` or `reject`, and a comment for the team to reject one. Their order in the body does not matter. Accepting charges nothing: the team places the orders for the accepted proposals and your wallet pays for them then. POST /managed-service/campaigns/{id}/proposals/estimate says what they would cost. When every proposal is accepted the campaign moves to `proposal_accepted`; when one is rejected the team is told and prepares others. A proposal someone else moved on the campaign page while the request ran is answered in the state it reached.
542
+ # @param id [String]
543
+ # @param idempotency_key [String] A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (&#x60;!&#x60; to &#x60;~&#x60;); any other value answers 400 &#x60;invalid_idempotency_key&#x60;.
544
+ # @param managed_service_proposal_review_request [ManagedServiceProposalReviewRequest]
545
+ # @param [Hash] opts the optional parameters
546
+ # @return [ManagedServiceProposalReview]
547
+ def review_managed_service_proposals(id, idempotency_key, managed_service_proposal_review_request, opts = {})
548
+ data, _status_code, _headers = review_managed_service_proposals_with_http_info(id, idempotency_key, managed_service_proposal_review_request, opts)
549
+ data
550
+ end
551
+
552
+ # Accept or reject proposals
553
+ # Decides on every proposal of the campaign that awaits your review (&#x60;state&#x60; &#x60;proposed&#x60;), as the campaign page does: name each one once, with &#x60;accept&#x60; or &#x60;reject&#x60;, and a comment for the team to reject one. Their order in the body does not matter. Accepting charges nothing: the team places the orders for the accepted proposals and your wallet pays for them then. POST /managed-service/campaigns/{id}/proposals/estimate says what they would cost. When every proposal is accepted the campaign moves to &#x60;proposal_accepted&#x60;; when one is rejected the team is told and prepares others. A proposal someone else moved on the campaign page while the request ran is answered in the state it reached.
554
+ # @param id [String]
555
+ # @param idempotency_key [String] A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (&#x60;!&#x60; to &#x60;~&#x60;); any other value answers 400 &#x60;invalid_idempotency_key&#x60;.
556
+ # @param managed_service_proposal_review_request [ManagedServiceProposalReviewRequest]
557
+ # @param [Hash] opts the optional parameters
558
+ # @return [Array<(ManagedServiceProposalReview, Integer, Hash)>] ManagedServiceProposalReview data, response status code and response headers
559
+ def review_managed_service_proposals_with_http_info(id, idempotency_key, managed_service_proposal_review_request, opts = {})
560
+ if @api_client.config.debugging
561
+ @api_client.config.logger.debug 'Calling API: ManagedServicesApi.review_managed_service_proposals ...'
562
+ end
563
+ # verify the required parameter 'id' is set
564
+ if @api_client.config.client_side_validation && id.nil?
565
+ fail ArgumentError, "Missing the required parameter 'id' when calling ManagedServicesApi.review_managed_service_proposals"
566
+ end
567
+ # verify the required parameter 'idempotency_key' is set
568
+ if @api_client.config.client_side_validation && idempotency_key.nil?
569
+ fail ArgumentError, "Missing the required parameter 'idempotency_key' when calling ManagedServicesApi.review_managed_service_proposals"
570
+ end
571
+ if @api_client.config.client_side_validation && idempotency_key.to_s.length > 255
572
+ fail ArgumentError, 'invalid value for "idempotency_key" when calling ManagedServicesApi.review_managed_service_proposals, the character length must be smaller than or equal to 255.'
573
+ end
574
+
575
+ # verify the required parameter 'managed_service_proposal_review_request' is set
576
+ if @api_client.config.client_side_validation && managed_service_proposal_review_request.nil?
577
+ fail ArgumentError, "Missing the required parameter 'managed_service_proposal_review_request' when calling ManagedServicesApi.review_managed_service_proposals"
578
+ end
579
+ # resource path
580
+ local_var_path = '/api/v1/managed-service/campaigns/{id}/proposals/review'.sub('{id}', CGI.escape(id.to_s))
581
+
582
+ # query parameters
583
+ query_params = opts[:query_params] || {}
584
+
585
+ # header parameters
586
+ header_params = opts[:header_params] || {}
587
+ # HTTP header 'Accept' (if needed)
588
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
589
+ # HTTP header 'Content-Type'
590
+ content_type = @api_client.select_header_content_type(['application/json'])
591
+ if !content_type.nil?
592
+ header_params['Content-Type'] = content_type
593
+ end
594
+ header_params[:'Idempotency-Key'] = idempotency_key
595
+
596
+ # form parameters
597
+ form_params = opts[:form_params] || {}
598
+
599
+ # http body (model)
600
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(managed_service_proposal_review_request)
601
+
602
+ # return_type
603
+ return_type = opts[:debug_return_type] || 'ManagedServiceProposalReview'
604
+
605
+ # auth_names
606
+ auth_names = opts[:debug_auth_names] || ['apiKey']
607
+
608
+ new_options = opts.merge(
609
+ :operation => :"ManagedServicesApi.review_managed_service_proposals",
610
+ :header_params => header_params,
611
+ :query_params => query_params,
612
+ :form_params => form_params,
613
+ :body => post_body,
614
+ :auth_names => auth_names,
615
+ :return_type => return_type
616
+ )
617
+
618
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
619
+ if @api_client.config.debugging
620
+ @api_client.config.logger.debug "API called: ManagedServicesApi#review_managed_service_proposals\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
621
+ end
622
+ return data, status_code, headers
623
+ end
624
+ end
625
+ end