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,731 @@
1
+ # Growwer::CatalogueApi
2
+
3
+ All URIs are relative to *https://tool.growwer.com*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**discard_media**](CatalogueApi.md#discard_media) | **PUT** /api/v1/projects/{id}/discards/{mediaId} | Discard a media for a project |
8
+ | [**favourite_media**](CatalogueApi.md#favourite_media) | **PUT** /api/v1/projects/{id}/favourites/{mediaId} | Add a media to the favourites of a project |
9
+ | [**get_catalogue_media**](CatalogueApi.md#get_catalogue_media) | **GET** /api/v1/medias/{id} | Get a media |
10
+ | [**list_flash_offers**](CatalogueApi.md#list_flash_offers) | **GET** /api/v1/flash-offers | List flash offers |
11
+ | [**request_medias**](CatalogueApi.md#request_medias) | **POST** /api/v1/projects/{id}/media-requests | Request specific medias for a project |
12
+ | [**search_project_medias**](CatalogueApi.md#search_project_medias) | **GET** /api/v1/projects/{id}/medias | Search the catalogue for a project |
13
+ | [**undiscard_media**](CatalogueApi.md#undiscard_media) | **DELETE** /api/v1/projects/{id}/discards/{mediaId} | Restore a discarded media for a project |
14
+ | [**unfavourite_media**](CatalogueApi.md#unfavourite_media) | **DELETE** /api/v1/projects/{id}/favourites/{mediaId} | Remove a media from the favourites of a project |
15
+
16
+
17
+ ## discard_media
18
+
19
+ > discard_media(id, media_id, idempotency_key)
20
+
21
+ Discard a media for a project
22
+
23
+ Discards a media for one of your projects, as the web does. Discarding it again changes nothing. The media must be one the catalogue shows for the project: another media, including one of your own as a seller, is answered as not found.
24
+
25
+ ### Examples
26
+
27
+ ```ruby
28
+ require 'time'
29
+ require 'growwer'
30
+ # setup authorization
31
+ Growwer.configure do |config|
32
+ # Configure Bearer authorization: apiKey
33
+ config.access_token = 'YOUR_BEARER_TOKEN'
34
+ end
35
+
36
+ api_instance = Growwer::CatalogueApi.new
37
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The project.
38
+ media_id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The media.
39
+ idempotency_key = 'idempotency_key_example' # String | A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (`!` to `~`); any other value answers 400 `invalid_idempotency_key`.
40
+
41
+ begin
42
+ # Discard a media for a project
43
+ api_instance.discard_media(id, media_id, idempotency_key)
44
+ rescue Growwer::ApiError => e
45
+ puts "Error when calling CatalogueApi->discard_media: #{e}"
46
+ end
47
+ ```
48
+
49
+ #### Using the discard_media_with_http_info variant
50
+
51
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
52
+
53
+ > <Array(nil, Integer, Hash)> discard_media_with_http_info(id, media_id, idempotency_key)
54
+
55
+ ```ruby
56
+ begin
57
+ # Discard a media for a project
58
+ data, status_code, headers = api_instance.discard_media_with_http_info(id, media_id, idempotency_key)
59
+ p status_code # => 2xx
60
+ p headers # => { ... }
61
+ p data # => nil
62
+ rescue Growwer::ApiError => e
63
+ puts "Error when calling CatalogueApi->discard_media_with_http_info: #{e}"
64
+ end
65
+ ```
66
+
67
+ ### Parameters
68
+
69
+ | Name | Type | Description | Notes |
70
+ | ---- | ---- | ----------- | ----- |
71
+ | **id** | **String** | The project. | |
72
+ | **media_id** | **String** | The media. | |
73
+ | **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;. | |
74
+
75
+ ### Return type
76
+
77
+ nil (empty response body)
78
+
79
+ ### Authorization
80
+
81
+ [apiKey](../README.md#apiKey)
82
+
83
+ ### HTTP request headers
84
+
85
+ - **Content-Type**: Not defined
86
+ - **Accept**: application/json
87
+
88
+
89
+ ## favourite_media
90
+
91
+ > favourite_media(id, media_id, idempotency_key)
92
+
93
+ Add a media to the favourites of a project
94
+
95
+ Marks a media as a favourite of one of your projects, as the heart on the web does. Adding a favourite again changes nothing. The media must be one the catalogue shows for the project: another media, including one of your own as a seller, is answered as not found.
96
+
97
+ ### Examples
98
+
99
+ ```ruby
100
+ require 'time'
101
+ require 'growwer'
102
+ # setup authorization
103
+ Growwer.configure do |config|
104
+ # Configure Bearer authorization: apiKey
105
+ config.access_token = 'YOUR_BEARER_TOKEN'
106
+ end
107
+
108
+ api_instance = Growwer::CatalogueApi.new
109
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The project.
110
+ media_id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The media.
111
+ idempotency_key = 'idempotency_key_example' # String | A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (`!` to `~`); any other value answers 400 `invalid_idempotency_key`.
112
+
113
+ begin
114
+ # Add a media to the favourites of a project
115
+ api_instance.favourite_media(id, media_id, idempotency_key)
116
+ rescue Growwer::ApiError => e
117
+ puts "Error when calling CatalogueApi->favourite_media: #{e}"
118
+ end
119
+ ```
120
+
121
+ #### Using the favourite_media_with_http_info variant
122
+
123
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
124
+
125
+ > <Array(nil, Integer, Hash)> favourite_media_with_http_info(id, media_id, idempotency_key)
126
+
127
+ ```ruby
128
+ begin
129
+ # Add a media to the favourites of a project
130
+ data, status_code, headers = api_instance.favourite_media_with_http_info(id, media_id, idempotency_key)
131
+ p status_code # => 2xx
132
+ p headers # => { ... }
133
+ p data # => nil
134
+ rescue Growwer::ApiError => e
135
+ puts "Error when calling CatalogueApi->favourite_media_with_http_info: #{e}"
136
+ end
137
+ ```
138
+
139
+ ### Parameters
140
+
141
+ | Name | Type | Description | Notes |
142
+ | ---- | ---- | ----------- | ----- |
143
+ | **id** | **String** | The project. | |
144
+ | **media_id** | **String** | The media. | |
145
+ | **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;. | |
146
+
147
+ ### Return type
148
+
149
+ nil (empty response body)
150
+
151
+ ### Authorization
152
+
153
+ [apiKey](../README.md#apiKey)
154
+
155
+ ### HTTP request headers
156
+
157
+ - **Content-Type**: Not defined
158
+ - **Accept**: application/json
159
+
160
+
161
+ ## get_catalogue_media
162
+
163
+ > <CatalogueMedia> get_catalogue_media(id)
164
+
165
+ Get a media
166
+
167
+ One media of the catalogue: an active, public media. A media you have ordered is always readable, even if it has since left the catalogue, and is open to every account. Otherwise the catalogue is open to accounts with recent completed orders (see `catalogue.eligible` on GET /me), and the media counts towards the distinct medias the account may see per day (UTC). For the media's state in one of your projects, search the project with GET /projects/{id}/medias.
168
+
169
+ ### Examples
170
+
171
+ ```ruby
172
+ require 'time'
173
+ require 'growwer'
174
+ # setup authorization
175
+ Growwer.configure do |config|
176
+ # Configure Bearer authorization: apiKey
177
+ config.access_token = 'YOUR_BEARER_TOKEN'
178
+ end
179
+
180
+ api_instance = Growwer::CatalogueApi.new
181
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The media.
182
+
183
+ begin
184
+ # Get a media
185
+ result = api_instance.get_catalogue_media(id)
186
+ p result
187
+ rescue Growwer::ApiError => e
188
+ puts "Error when calling CatalogueApi->get_catalogue_media: #{e}"
189
+ end
190
+ ```
191
+
192
+ #### Using the get_catalogue_media_with_http_info variant
193
+
194
+ This returns an Array which contains the response data, status code and headers.
195
+
196
+ > <Array(<CatalogueMedia>, Integer, Hash)> get_catalogue_media_with_http_info(id)
197
+
198
+ ```ruby
199
+ begin
200
+ # Get a media
201
+ data, status_code, headers = api_instance.get_catalogue_media_with_http_info(id)
202
+ p status_code # => 2xx
203
+ p headers # => { ... }
204
+ p data # => <CatalogueMedia>
205
+ rescue Growwer::ApiError => e
206
+ puts "Error when calling CatalogueApi->get_catalogue_media_with_http_info: #{e}"
207
+ end
208
+ ```
209
+
210
+ ### Parameters
211
+
212
+ | Name | Type | Description | Notes |
213
+ | ---- | ---- | ----------- | ----- |
214
+ | **id** | **String** | The media. | |
215
+
216
+ ### Return type
217
+
218
+ [**CatalogueMedia**](CatalogueMedia.md)
219
+
220
+ ### Authorization
221
+
222
+ [apiKey](../README.md#apiKey)
223
+
224
+ ### HTTP request headers
225
+
226
+ - **Content-Type**: Not defined
227
+ - **Accept**: application/json
228
+
229
+
230
+ ## list_flash_offers
231
+
232
+ > <ListFlashOffers200Response> list_flash_offers(project_id, opts)
233
+
234
+ List flash offers
235
+
236
+ The medias on a flash offer, a time-limited discount, in the catalogue of one of your projects. It is GET /projects/{id}/medias with `flashOffer=true`, and takes the same parameters except `flashOffer` and `savedFilterId`. The catalogue access and the daily distinct-media limit of that operation apply.
237
+
238
+ ### Examples
239
+
240
+ ```ruby
241
+ require 'time'
242
+ require 'growwer'
243
+ # setup authorization
244
+ Growwer.configure do |config|
245
+ # Configure Bearer authorization: apiKey
246
+ config.access_token = 'YOUR_BEARER_TOKEN'
247
+ end
248
+
249
+ api_instance = Growwer::CatalogueApi.new
250
+ project_id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The project to search flash offers for.
251
+ opts = {
252
+ source: 'all', # String | Which of the project's medias to search: `all` (the default), `recommended` (those Growwer recommends for the project), or those you marked `favourite`, `discarded` or `requested`, or `bought` for the project. Do not combine it with the parameter of the same state.
253
+ sort: '-growwerRank', # String | The order. Without it, the web's default order: medias on the project's topic and language first, then best sellers and medias with more published orders. Ties are always broken by media id, so pages never overlap. `-growwerRank`: best match first; `postPrice`, `linkAdditionPrice`: cheapest first; `matchedAt`, `-matchedAt`: when Growwer matched the media with the project; `-traffic`, `-domainRating`, `-referringDomains`: highest first; `linkedToReferringRatio`: lowest first.
254
+ domain: 'domain_example', # String | Medias whose domain contains this text, 1 to 255 characters.
255
+ website_type: 'website_type_example', # String | A comma-separated list of website types: `blog`, `press`.
256
+ language: 'language_example', # String | A comma-separated list of language codes, as in GET /vocabulary.
257
+ country: 'country_example', # String | A comma-separated list of country codes, as in GET /vocabulary.
258
+ topics: 'topics_example', # String | A comma-separated list of topic ids, as in GET /vocabulary: medias on any of them.
259
+ not_banned_topics: true, # Boolean | Leave out medias that refuse the topic of the project. Only `true` applies it; omit it otherwise.
260
+ min_traffic: 56, # Integer | Minimum monthly organic traffic.
261
+ max_traffic: 56, # Integer | Maximum monthly organic traffic.
262
+ traffic_trend_upward: true, # Boolean | Medias whose traffic is growing. Only `true` applies it; omit it otherwise.
263
+ min_domain_rating: 56, # Integer | Minimum domain rating, 0 to 100.
264
+ max_domain_rating: 56, # Integer | Maximum domain rating, 0 to 100.
265
+ min_linked_to_referring_ratio: 8.14, # Float | Minimum ratio of linked domains to referring domains, such as 0.5.
266
+ max_linked_to_referring_ratio: 8.14, # Float | Maximum ratio of linked domains to referring domains, such as 1.5.
267
+ min_post_price: 56, # Integer | Minimum post price, in cents.
268
+ max_post_price: 56, # Integer | Maximum post price, in cents.
269
+ post_link_type: 'post_link_type_example', # String | A comma-separated list of link types the post offer gives: `dofollow`, `nofollow`, `citation`.
270
+ promoted_social_network: 'promoted_social_network_example', # String | A comma-separated list of social networks the media promotes posts on: `twitter`, `instagram`, `facebook`, `pinterest`, `tumblr`, `newsletter`.
271
+ without_advertising_label: true, # Boolean | Medias that never label posts as advertising. Only `true` applies it; omit it otherwise.
272
+ homepage_listing: true, # Boolean | Medias that offer listing the post on their homepage. Only `true` applies it; omit it otherwise.
273
+ has_link_addition: true, # Boolean | Medias that offer adding a link to an existing article. Only `true` applies it; omit it otherwise.
274
+ min_link_addition_price: 56, # Integer | Minimum link addition price, in cents.
275
+ max_link_addition_price: 56, # Integer | Maximum link addition price, in cents.
276
+ link_addition_link_type: 'link_addition_link_type_example', # String | A comma-separated list of link types the link addition offer gives: `dofollow`, `nofollow`, `citation`.
277
+ recommended: true, # Boolean | `true`: only the medias Growwer recommends for the project; `false`: only the others.
278
+ favourite: true, # Boolean | `true`: only your favourites for the project; `false`: leave them out.
279
+ requested: true, # Boolean | `true`: only the medias you requested for the project; `false`: leave them out.
280
+ bought: true, # Boolean | `true`: only medias you bought for the project; `false`: leave them out.
281
+ discarded: true, # Boolean | `true`: only the medias you discarded for the project; `false`: leave them out.
282
+ new: true, # Boolean | Medias Growwer matched with the project recently. Only `true` applies it; omit it otherwise.
283
+ ranks_goal_keyword: 'ranks_goal_keyword_example', # String | A comma-separated list of keyword origins: medias that rank for a keyword of the project from any of them. `user`: your keywords; `publicGenerated`: keywords Growwer found for the project.
284
+ ranks_ai_keyword: 'ranks_ai_keyword_example', # String | A comma-separated list of AI answer engines: medias cited for a keyword of the project by any of them. `googleAiOverview`, `chatgpt`, `googleAiMode`.
285
+ limit: 56, # Integer | Medias per page, 1 to 100.
286
+ offset: 56 # Integer | Medias to skip, at most 99900.
287
+ }
288
+
289
+ begin
290
+ # List flash offers
291
+ result = api_instance.list_flash_offers(project_id, opts)
292
+ p result
293
+ rescue Growwer::ApiError => e
294
+ puts "Error when calling CatalogueApi->list_flash_offers: #{e}"
295
+ end
296
+ ```
297
+
298
+ #### Using the list_flash_offers_with_http_info variant
299
+
300
+ This returns an Array which contains the response data, status code and headers.
301
+
302
+ > <Array(<ListFlashOffers200Response>, Integer, Hash)> list_flash_offers_with_http_info(project_id, opts)
303
+
304
+ ```ruby
305
+ begin
306
+ # List flash offers
307
+ data, status_code, headers = api_instance.list_flash_offers_with_http_info(project_id, opts)
308
+ p status_code # => 2xx
309
+ p headers # => { ... }
310
+ p data # => <ListFlashOffers200Response>
311
+ rescue Growwer::ApiError => e
312
+ puts "Error when calling CatalogueApi->list_flash_offers_with_http_info: #{e}"
313
+ end
314
+ ```
315
+
316
+ ### Parameters
317
+
318
+ | Name | Type | Description | Notes |
319
+ | ---- | ---- | ----------- | ----- |
320
+ | **project_id** | **String** | The project to search flash offers for. | |
321
+ | **source** | **String** | Which of the project&#39;s medias to search: &#x60;all&#x60; (the default), &#x60;recommended&#x60; (those Growwer recommends for the project), or those you marked &#x60;favourite&#x60;, &#x60;discarded&#x60; or &#x60;requested&#x60;, or &#x60;bought&#x60; for the project. Do not combine it with the parameter of the same state. | [optional] |
322
+ | **sort** | **String** | The order. Without it, the web&#39;s default order: medias on the project&#39;s topic and language first, then best sellers and medias with more published orders. Ties are always broken by media id, so pages never overlap. &#x60;-growwerRank&#x60;: best match first; &#x60;postPrice&#x60;, &#x60;linkAdditionPrice&#x60;: cheapest first; &#x60;matchedAt&#x60;, &#x60;-matchedAt&#x60;: when Growwer matched the media with the project; &#x60;-traffic&#x60;, &#x60;-domainRating&#x60;, &#x60;-referringDomains&#x60;: highest first; &#x60;linkedToReferringRatio&#x60;: lowest first. | [optional] |
323
+ | **domain** | **String** | Medias whose domain contains this text, 1 to 255 characters. | [optional] |
324
+ | **website_type** | **String** | A comma-separated list of website types: &#x60;blog&#x60;, &#x60;press&#x60;. | [optional] |
325
+ | **language** | **String** | A comma-separated list of language codes, as in GET /vocabulary. | [optional] |
326
+ | **country** | **String** | A comma-separated list of country codes, as in GET /vocabulary. | [optional] |
327
+ | **topics** | **String** | A comma-separated list of topic ids, as in GET /vocabulary: medias on any of them. | [optional] |
328
+ | **not_banned_topics** | **Boolean** | Leave out medias that refuse the topic of the project. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
329
+ | **min_traffic** | **Integer** | Minimum monthly organic traffic. | [optional] |
330
+ | **max_traffic** | **Integer** | Maximum monthly organic traffic. | [optional] |
331
+ | **traffic_trend_upward** | **Boolean** | Medias whose traffic is growing. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
332
+ | **min_domain_rating** | **Integer** | Minimum domain rating, 0 to 100. | [optional] |
333
+ | **max_domain_rating** | **Integer** | Maximum domain rating, 0 to 100. | [optional] |
334
+ | **min_linked_to_referring_ratio** | **Float** | Minimum ratio of linked domains to referring domains, such as 0.5. | [optional] |
335
+ | **max_linked_to_referring_ratio** | **Float** | Maximum ratio of linked domains to referring domains, such as 1.5. | [optional] |
336
+ | **min_post_price** | **Integer** | Minimum post price, in cents. | [optional] |
337
+ | **max_post_price** | **Integer** | Maximum post price, in cents. | [optional] |
338
+ | **post_link_type** | **String** | A comma-separated list of link types the post offer gives: &#x60;dofollow&#x60;, &#x60;nofollow&#x60;, &#x60;citation&#x60;. | [optional] |
339
+ | **promoted_social_network** | **String** | A comma-separated list of social networks the media promotes posts on: &#x60;twitter&#x60;, &#x60;instagram&#x60;, &#x60;facebook&#x60;, &#x60;pinterest&#x60;, &#x60;tumblr&#x60;, &#x60;newsletter&#x60;. | [optional] |
340
+ | **without_advertising_label** | **Boolean** | Medias that never label posts as advertising. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
341
+ | **homepage_listing** | **Boolean** | Medias that offer listing the post on their homepage. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
342
+ | **has_link_addition** | **Boolean** | Medias that offer adding a link to an existing article. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
343
+ | **min_link_addition_price** | **Integer** | Minimum link addition price, in cents. | [optional] |
344
+ | **max_link_addition_price** | **Integer** | Maximum link addition price, in cents. | [optional] |
345
+ | **link_addition_link_type** | **String** | A comma-separated list of link types the link addition offer gives: &#x60;dofollow&#x60;, &#x60;nofollow&#x60;, &#x60;citation&#x60;. | [optional] |
346
+ | **recommended** | **Boolean** | &#x60;true&#x60;: only the medias Growwer recommends for the project; &#x60;false&#x60;: only the others. | [optional] |
347
+ | **favourite** | **Boolean** | &#x60;true&#x60;: only your favourites for the project; &#x60;false&#x60;: leave them out. | [optional] |
348
+ | **requested** | **Boolean** | &#x60;true&#x60;: only the medias you requested for the project; &#x60;false&#x60;: leave them out. | [optional] |
349
+ | **bought** | **Boolean** | &#x60;true&#x60;: only medias you bought for the project; &#x60;false&#x60;: leave them out. | [optional] |
350
+ | **discarded** | **Boolean** | &#x60;true&#x60;: only the medias you discarded for the project; &#x60;false&#x60;: leave them out. | [optional] |
351
+ | **new** | **Boolean** | Medias Growwer matched with the project recently. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
352
+ | **ranks_goal_keyword** | **String** | A comma-separated list of keyword origins: medias that rank for a keyword of the project from any of them. &#x60;user&#x60;: your keywords; &#x60;publicGenerated&#x60;: keywords Growwer found for the project. | [optional] |
353
+ | **ranks_ai_keyword** | **String** | A comma-separated list of AI answer engines: medias cited for a keyword of the project by any of them. &#x60;googleAiOverview&#x60;, &#x60;chatgpt&#x60;, &#x60;googleAiMode&#x60;. | [optional] |
354
+ | **limit** | **Integer** | Medias per page, 1 to 100. | [optional][default to 20] |
355
+ | **offset** | **Integer** | Medias to skip, at most 99900. | [optional][default to 0] |
356
+
357
+ ### Return type
358
+
359
+ [**ListFlashOffers200Response**](ListFlashOffers200Response.md)
360
+
361
+ ### Authorization
362
+
363
+ [apiKey](../README.md#apiKey)
364
+
365
+ ### HTTP request headers
366
+
367
+ - **Content-Type**: Not defined
368
+ - **Accept**: application/json
369
+
370
+
371
+ ## request_medias
372
+
373
+ > <RequestMedias201Response> request_medias(id, idempotency_key, request_medias_request)
374
+
375
+ Request specific medias for a project
376
+
377
+ Asks Growwer to find the medias of these domains for one of your projects, as the \"request specific domains\" form on the web does. Each entry may be a domain or a URL; it is read as its full domain, lowercased. Repeated domains are requested once, and a domain already requested changes nothing. Up to 200 distinct domains per call. They then appear in the project's catalogue with `project.requested` true (`requested=true` on GET /projects/{id}/medias) once Growwer lists them.
378
+
379
+ ### Examples
380
+
381
+ ```ruby
382
+ require 'time'
383
+ require 'growwer'
384
+ # setup authorization
385
+ Growwer.configure do |config|
386
+ # Configure Bearer authorization: apiKey
387
+ config.access_token = 'YOUR_BEARER_TOKEN'
388
+ end
389
+
390
+ api_instance = Growwer::CatalogueApi.new
391
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The project.
392
+ idempotency_key = 'idempotency_key_example' # String | A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (`!` to `~`); any other value answers 400 `invalid_idempotency_key`.
393
+ request_medias_request = Growwer::RequestMediasRequest.new({domains: ['example.com']}) # RequestMediasRequest |
394
+
395
+ begin
396
+ # Request specific medias for a project
397
+ result = api_instance.request_medias(id, idempotency_key, request_medias_request)
398
+ p result
399
+ rescue Growwer::ApiError => e
400
+ puts "Error when calling CatalogueApi->request_medias: #{e}"
401
+ end
402
+ ```
403
+
404
+ #### Using the request_medias_with_http_info variant
405
+
406
+ This returns an Array which contains the response data, status code and headers.
407
+
408
+ > <Array(<RequestMedias201Response>, Integer, Hash)> request_medias_with_http_info(id, idempotency_key, request_medias_request)
409
+
410
+ ```ruby
411
+ begin
412
+ # Request specific medias for a project
413
+ data, status_code, headers = api_instance.request_medias_with_http_info(id, idempotency_key, request_medias_request)
414
+ p status_code # => 2xx
415
+ p headers # => { ... }
416
+ p data # => <RequestMedias201Response>
417
+ rescue Growwer::ApiError => e
418
+ puts "Error when calling CatalogueApi->request_medias_with_http_info: #{e}"
419
+ end
420
+ ```
421
+
422
+ ### Parameters
423
+
424
+ | Name | Type | Description | Notes |
425
+ | ---- | ---- | ----------- | ----- |
426
+ | **id** | **String** | The project. | |
427
+ | **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;. | |
428
+ | **request_medias_request** | [**RequestMediasRequest**](RequestMediasRequest.md) | | |
429
+
430
+ ### Return type
431
+
432
+ [**RequestMedias201Response**](RequestMedias201Response.md)
433
+
434
+ ### Authorization
435
+
436
+ [apiKey](../README.md#apiKey)
437
+
438
+ ### HTTP request headers
439
+
440
+ - **Content-Type**: application/json
441
+ - **Accept**: application/json
442
+
443
+
444
+ ## search_project_medias
445
+
446
+ > <ListFlashOffers200Response> search_project_medias(id, opts)
447
+
448
+ Search the catalogue for a project
449
+
450
+ The medias the catalogue offers for one of your projects, as the web lists them, with each media's state in the project. Filter with the parameters below, which all combine, or apply one of your saved filters with `savedFilterId` alone. The catalogue is open to accounts with recent completed orders (see `catalogue.eligible` on GET /me), and each account can see a limited number of distinct medias per day (UTC) across the catalogue operations; medias seen again the same day are free.
451
+
452
+ ### Examples
453
+
454
+ ```ruby
455
+ require 'time'
456
+ require 'growwer'
457
+ # setup authorization
458
+ Growwer.configure do |config|
459
+ # Configure Bearer authorization: apiKey
460
+ config.access_token = 'YOUR_BEARER_TOKEN'
461
+ end
462
+
463
+ api_instance = Growwer::CatalogueApi.new
464
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The project.
465
+ opts = {
466
+ source: 'all', # String | Which of the project's medias to search: `all` (the default), `recommended` (those Growwer recommends for the project), or those you marked `favourite`, `discarded` or `requested`, or `bought` for the project. Do not combine it with the parameter of the same state.
467
+ sort: '-growwerRank', # String | The order. Without it, the web's default order: medias on the project's topic and language first, then best sellers and medias with more published orders. Ties are always broken by media id, so pages never overlap. `-growwerRank`: best match first; `postPrice`, `linkAdditionPrice`: cheapest first; `matchedAt`, `-matchedAt`: when Growwer matched the media with the project; `-traffic`, `-domainRating`, `-referringDomains`: highest first; `linkedToReferringRatio`: lowest first.
468
+ saved_filter_id: '38400000-8cf0-11bd-b23e-10b96e4ef00d', # String | Apply one of your saved filters of this project, including one saved on the web, instead of the other parameters. Do not combine it with any filter, `source` or `sort`. A filter saved on the web that uses a filter the API does not support is refused with 422 `saved_filter_unsupported`.
469
+ domain: 'domain_example', # String | Medias whose domain contains this text, 1 to 255 characters.
470
+ website_type: 'website_type_example', # String | A comma-separated list of website types: `blog`, `press`.
471
+ language: 'language_example', # String | A comma-separated list of language codes, as in GET /vocabulary.
472
+ country: 'country_example', # String | A comma-separated list of country codes, as in GET /vocabulary.
473
+ topics: 'topics_example', # String | A comma-separated list of topic ids, as in GET /vocabulary: medias on any of them.
474
+ not_banned_topics: true, # Boolean | Leave out medias that refuse the topic of the project. Only `true` applies it; omit it otherwise.
475
+ min_traffic: 56, # Integer | Minimum monthly organic traffic.
476
+ max_traffic: 56, # Integer | Maximum monthly organic traffic.
477
+ traffic_trend_upward: true, # Boolean | Medias whose traffic is growing. Only `true` applies it; omit it otherwise.
478
+ min_domain_rating: 56, # Integer | Minimum domain rating, 0 to 100.
479
+ max_domain_rating: 56, # Integer | Maximum domain rating, 0 to 100.
480
+ min_linked_to_referring_ratio: 8.14, # Float | Minimum ratio of linked domains to referring domains, such as 0.5.
481
+ max_linked_to_referring_ratio: 8.14, # Float | Maximum ratio of linked domains to referring domains, such as 1.5.
482
+ min_post_price: 56, # Integer | Minimum post price, in cents.
483
+ max_post_price: 56, # Integer | Maximum post price, in cents.
484
+ post_link_type: 'post_link_type_example', # String | A comma-separated list of link types the post offer gives: `dofollow`, `nofollow`, `citation`.
485
+ promoted_social_network: 'promoted_social_network_example', # String | A comma-separated list of social networks the media promotes posts on: `twitter`, `instagram`, `facebook`, `pinterest`, `tumblr`, `newsletter`.
486
+ without_advertising_label: true, # Boolean | Medias that never label posts as advertising. Only `true` applies it; omit it otherwise.
487
+ homepage_listing: true, # Boolean | Medias that offer listing the post on their homepage. Only `true` applies it; omit it otherwise.
488
+ has_link_addition: true, # Boolean | Medias that offer adding a link to an existing article. Only `true` applies it; omit it otherwise.
489
+ min_link_addition_price: 56, # Integer | Minimum link addition price, in cents.
490
+ max_link_addition_price: 56, # Integer | Maximum link addition price, in cents.
491
+ link_addition_link_type: 'link_addition_link_type_example', # String | A comma-separated list of link types the link addition offer gives: `dofollow`, `nofollow`, `citation`.
492
+ recommended: true, # Boolean | `true`: only the medias Growwer recommends for the project; `false`: only the others.
493
+ favourite: true, # Boolean | `true`: only your favourites for the project; `false`: leave them out.
494
+ requested: true, # Boolean | `true`: only the medias you requested for the project; `false`: leave them out.
495
+ flash_offer: true, # Boolean | `true`: only medias with a flash offer running; `false`: leave them out.
496
+ bought: true, # Boolean | `true`: only medias you bought for the project; `false`: leave them out.
497
+ discarded: true, # Boolean | `true`: only the medias you discarded for the project; `false`: leave them out.
498
+ new: true, # Boolean | Medias Growwer matched with the project recently. Only `true` applies it; omit it otherwise.
499
+ ranks_goal_keyword: 'ranks_goal_keyword_example', # String | A comma-separated list of keyword origins: medias that rank for a keyword of the project from any of them. `user`: your keywords; `publicGenerated`: keywords Growwer found for the project.
500
+ ranks_ai_keyword: 'ranks_ai_keyword_example', # String | A comma-separated list of AI answer engines: medias cited for a keyword of the project by any of them. `googleAiOverview`, `chatgpt`, `googleAiMode`.
501
+ limit: 56, # Integer | Medias per page, 1 to 100.
502
+ offset: 56 # Integer | Medias to skip, at most 99900.
503
+ }
504
+
505
+ begin
506
+ # Search the catalogue for a project
507
+ result = api_instance.search_project_medias(id, opts)
508
+ p result
509
+ rescue Growwer::ApiError => e
510
+ puts "Error when calling CatalogueApi->search_project_medias: #{e}"
511
+ end
512
+ ```
513
+
514
+ #### Using the search_project_medias_with_http_info variant
515
+
516
+ This returns an Array which contains the response data, status code and headers.
517
+
518
+ > <Array(<ListFlashOffers200Response>, Integer, Hash)> search_project_medias_with_http_info(id, opts)
519
+
520
+ ```ruby
521
+ begin
522
+ # Search the catalogue for a project
523
+ data, status_code, headers = api_instance.search_project_medias_with_http_info(id, opts)
524
+ p status_code # => 2xx
525
+ p headers # => { ... }
526
+ p data # => <ListFlashOffers200Response>
527
+ rescue Growwer::ApiError => e
528
+ puts "Error when calling CatalogueApi->search_project_medias_with_http_info: #{e}"
529
+ end
530
+ ```
531
+
532
+ ### Parameters
533
+
534
+ | Name | Type | Description | Notes |
535
+ | ---- | ---- | ----------- | ----- |
536
+ | **id** | **String** | The project. | |
537
+ | **source** | **String** | Which of the project&#39;s medias to search: &#x60;all&#x60; (the default), &#x60;recommended&#x60; (those Growwer recommends for the project), or those you marked &#x60;favourite&#x60;, &#x60;discarded&#x60; or &#x60;requested&#x60;, or &#x60;bought&#x60; for the project. Do not combine it with the parameter of the same state. | [optional] |
538
+ | **sort** | **String** | The order. Without it, the web&#39;s default order: medias on the project&#39;s topic and language first, then best sellers and medias with more published orders. Ties are always broken by media id, so pages never overlap. &#x60;-growwerRank&#x60;: best match first; &#x60;postPrice&#x60;, &#x60;linkAdditionPrice&#x60;: cheapest first; &#x60;matchedAt&#x60;, &#x60;-matchedAt&#x60;: when Growwer matched the media with the project; &#x60;-traffic&#x60;, &#x60;-domainRating&#x60;, &#x60;-referringDomains&#x60;: highest first; &#x60;linkedToReferringRatio&#x60;: lowest first. | [optional] |
539
+ | **saved_filter_id** | **String** | Apply one of your saved filters of this project, including one saved on the web, instead of the other parameters. Do not combine it with any filter, &#x60;source&#x60; or &#x60;sort&#x60;. A filter saved on the web that uses a filter the API does not support is refused with 422 &#x60;saved_filter_unsupported&#x60;. | [optional] |
540
+ | **domain** | **String** | Medias whose domain contains this text, 1 to 255 characters. | [optional] |
541
+ | **website_type** | **String** | A comma-separated list of website types: &#x60;blog&#x60;, &#x60;press&#x60;. | [optional] |
542
+ | **language** | **String** | A comma-separated list of language codes, as in GET /vocabulary. | [optional] |
543
+ | **country** | **String** | A comma-separated list of country codes, as in GET /vocabulary. | [optional] |
544
+ | **topics** | **String** | A comma-separated list of topic ids, as in GET /vocabulary: medias on any of them. | [optional] |
545
+ | **not_banned_topics** | **Boolean** | Leave out medias that refuse the topic of the project. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
546
+ | **min_traffic** | **Integer** | Minimum monthly organic traffic. | [optional] |
547
+ | **max_traffic** | **Integer** | Maximum monthly organic traffic. | [optional] |
548
+ | **traffic_trend_upward** | **Boolean** | Medias whose traffic is growing. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
549
+ | **min_domain_rating** | **Integer** | Minimum domain rating, 0 to 100. | [optional] |
550
+ | **max_domain_rating** | **Integer** | Maximum domain rating, 0 to 100. | [optional] |
551
+ | **min_linked_to_referring_ratio** | **Float** | Minimum ratio of linked domains to referring domains, such as 0.5. | [optional] |
552
+ | **max_linked_to_referring_ratio** | **Float** | Maximum ratio of linked domains to referring domains, such as 1.5. | [optional] |
553
+ | **min_post_price** | **Integer** | Minimum post price, in cents. | [optional] |
554
+ | **max_post_price** | **Integer** | Maximum post price, in cents. | [optional] |
555
+ | **post_link_type** | **String** | A comma-separated list of link types the post offer gives: &#x60;dofollow&#x60;, &#x60;nofollow&#x60;, &#x60;citation&#x60;. | [optional] |
556
+ | **promoted_social_network** | **String** | A comma-separated list of social networks the media promotes posts on: &#x60;twitter&#x60;, &#x60;instagram&#x60;, &#x60;facebook&#x60;, &#x60;pinterest&#x60;, &#x60;tumblr&#x60;, &#x60;newsletter&#x60;. | [optional] |
557
+ | **without_advertising_label** | **Boolean** | Medias that never label posts as advertising. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
558
+ | **homepage_listing** | **Boolean** | Medias that offer listing the post on their homepage. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
559
+ | **has_link_addition** | **Boolean** | Medias that offer adding a link to an existing article. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
560
+ | **min_link_addition_price** | **Integer** | Minimum link addition price, in cents. | [optional] |
561
+ | **max_link_addition_price** | **Integer** | Maximum link addition price, in cents. | [optional] |
562
+ | **link_addition_link_type** | **String** | A comma-separated list of link types the link addition offer gives: &#x60;dofollow&#x60;, &#x60;nofollow&#x60;, &#x60;citation&#x60;. | [optional] |
563
+ | **recommended** | **Boolean** | &#x60;true&#x60;: only the medias Growwer recommends for the project; &#x60;false&#x60;: only the others. | [optional] |
564
+ | **favourite** | **Boolean** | &#x60;true&#x60;: only your favourites for the project; &#x60;false&#x60;: leave them out. | [optional] |
565
+ | **requested** | **Boolean** | &#x60;true&#x60;: only the medias you requested for the project; &#x60;false&#x60;: leave them out. | [optional] |
566
+ | **flash_offer** | **Boolean** | &#x60;true&#x60;: only medias with a flash offer running; &#x60;false&#x60;: leave them out. | [optional] |
567
+ | **bought** | **Boolean** | &#x60;true&#x60;: only medias you bought for the project; &#x60;false&#x60;: leave them out. | [optional] |
568
+ | **discarded** | **Boolean** | &#x60;true&#x60;: only the medias you discarded for the project; &#x60;false&#x60;: leave them out. | [optional] |
569
+ | **new** | **Boolean** | Medias Growwer matched with the project recently. Only &#x60;true&#x60; applies it; omit it otherwise. | [optional] |
570
+ | **ranks_goal_keyword** | **String** | A comma-separated list of keyword origins: medias that rank for a keyword of the project from any of them. &#x60;user&#x60;: your keywords; &#x60;publicGenerated&#x60;: keywords Growwer found for the project. | [optional] |
571
+ | **ranks_ai_keyword** | **String** | A comma-separated list of AI answer engines: medias cited for a keyword of the project by any of them. &#x60;googleAiOverview&#x60;, &#x60;chatgpt&#x60;, &#x60;googleAiMode&#x60;. | [optional] |
572
+ | **limit** | **Integer** | Medias per page, 1 to 100. | [optional][default to 20] |
573
+ | **offset** | **Integer** | Medias to skip, at most 99900. | [optional][default to 0] |
574
+
575
+ ### Return type
576
+
577
+ [**ListFlashOffers200Response**](ListFlashOffers200Response.md)
578
+
579
+ ### Authorization
580
+
581
+ [apiKey](../README.md#apiKey)
582
+
583
+ ### HTTP request headers
584
+
585
+ - **Content-Type**: Not defined
586
+ - **Accept**: application/json
587
+
588
+
589
+ ## undiscard_media
590
+
591
+ > undiscard_media(id, media_id, idempotency_key)
592
+
593
+ Restore a discarded media for a project
594
+
595
+ Restores a media you discarded for one of your projects. Restoring one that is not discarded changes nothing. It works for any media, even one the catalogue no longer shows.
596
+
597
+ ### Examples
598
+
599
+ ```ruby
600
+ require 'time'
601
+ require 'growwer'
602
+ # setup authorization
603
+ Growwer.configure do |config|
604
+ # Configure Bearer authorization: apiKey
605
+ config.access_token = 'YOUR_BEARER_TOKEN'
606
+ end
607
+
608
+ api_instance = Growwer::CatalogueApi.new
609
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The project.
610
+ media_id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The media.
611
+ idempotency_key = 'idempotency_key_example' # String | A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (`!` to `~`); any other value answers 400 `invalid_idempotency_key`.
612
+
613
+ begin
614
+ # Restore a discarded media for a project
615
+ api_instance.undiscard_media(id, media_id, idempotency_key)
616
+ rescue Growwer::ApiError => e
617
+ puts "Error when calling CatalogueApi->undiscard_media: #{e}"
618
+ end
619
+ ```
620
+
621
+ #### Using the undiscard_media_with_http_info variant
622
+
623
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
624
+
625
+ > <Array(nil, Integer, Hash)> undiscard_media_with_http_info(id, media_id, idempotency_key)
626
+
627
+ ```ruby
628
+ begin
629
+ # Restore a discarded media for a project
630
+ data, status_code, headers = api_instance.undiscard_media_with_http_info(id, media_id, idempotency_key)
631
+ p status_code # => 2xx
632
+ p headers # => { ... }
633
+ p data # => nil
634
+ rescue Growwer::ApiError => e
635
+ puts "Error when calling CatalogueApi->undiscard_media_with_http_info: #{e}"
636
+ end
637
+ ```
638
+
639
+ ### Parameters
640
+
641
+ | Name | Type | Description | Notes |
642
+ | ---- | ---- | ----------- | ----- |
643
+ | **id** | **String** | The project. | |
644
+ | **media_id** | **String** | The media. | |
645
+ | **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;. | |
646
+
647
+ ### Return type
648
+
649
+ nil (empty response body)
650
+
651
+ ### Authorization
652
+
653
+ [apiKey](../README.md#apiKey)
654
+
655
+ ### HTTP request headers
656
+
657
+ - **Content-Type**: Not defined
658
+ - **Accept**: application/json
659
+
660
+
661
+ ## unfavourite_media
662
+
663
+ > unfavourite_media(id, media_id, idempotency_key)
664
+
665
+ Remove a media from the favourites of a project
666
+
667
+ Removes a media from the favourites of one of your projects. Removing one that is not a favourite changes nothing. It works for any media, even one the catalogue no longer shows.
668
+
669
+ ### Examples
670
+
671
+ ```ruby
672
+ require 'time'
673
+ require 'growwer'
674
+ # setup authorization
675
+ Growwer.configure do |config|
676
+ # Configure Bearer authorization: apiKey
677
+ config.access_token = 'YOUR_BEARER_TOKEN'
678
+ end
679
+
680
+ api_instance = Growwer::CatalogueApi.new
681
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The project.
682
+ media_id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The media.
683
+ idempotency_key = 'idempotency_key_example' # String | A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (`!` to `~`); any other value answers 400 `invalid_idempotency_key`.
684
+
685
+ begin
686
+ # Remove a media from the favourites of a project
687
+ api_instance.unfavourite_media(id, media_id, idempotency_key)
688
+ rescue Growwer::ApiError => e
689
+ puts "Error when calling CatalogueApi->unfavourite_media: #{e}"
690
+ end
691
+ ```
692
+
693
+ #### Using the unfavourite_media_with_http_info variant
694
+
695
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
696
+
697
+ > <Array(nil, Integer, Hash)> unfavourite_media_with_http_info(id, media_id, idempotency_key)
698
+
699
+ ```ruby
700
+ begin
701
+ # Remove a media from the favourites of a project
702
+ data, status_code, headers = api_instance.unfavourite_media_with_http_info(id, media_id, idempotency_key)
703
+ p status_code # => 2xx
704
+ p headers # => { ... }
705
+ p data # => nil
706
+ rescue Growwer::ApiError => e
707
+ puts "Error when calling CatalogueApi->unfavourite_media_with_http_info: #{e}"
708
+ end
709
+ ```
710
+
711
+ ### Parameters
712
+
713
+ | Name | Type | Description | Notes |
714
+ | ---- | ---- | ----------- | ----- |
715
+ | **id** | **String** | The project. | |
716
+ | **media_id** | **String** | The media. | |
717
+ | **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;. | |
718
+
719
+ ### Return type
720
+
721
+ nil (empty response body)
722
+
723
+ ### Authorization
724
+
725
+ [apiKey](../README.md#apiKey)
726
+
727
+ ### HTTP request headers
728
+
729
+ - **Content-Type**: Not defined
730
+ - **Accept**: application/json
731
+