printful_client 1.0.1

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 (549) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +72 -0
  4. data/LICENSE +21 -0
  5. data/README.md +43 -0
  6. data/docs/AddFile200Response.md +20 -0
  7. data/docs/Address.md +42 -0
  8. data/docs/AddressInfo.md +28 -0
  9. data/docs/ApprovalSheet.md +18 -0
  10. data/docs/ApprovalSheetChanges.md +20 -0
  11. data/docs/ApprovalSheetChangesFilesInner.md +18 -0
  12. data/docs/ApprovalSheetWebhookFile.md +24 -0
  13. data/docs/ApprovalSheetsAPIClient.md +216 -0
  14. data/docs/ApproveDesign200Response.md +20 -0
  15. data/docs/ApproveDesign200ResponseAllOfResult.md +18 -0
  16. data/docs/AvailabilityStatus.md +20 -0
  17. data/docs/AvailableTechnique.md +22 -0
  18. data/docs/AverageFulfillmentTime.md +20 -0
  19. data/docs/CalculateShippingRates.md +24 -0
  20. data/docs/CalculateShippingRates200Response.md +20 -0
  21. data/docs/CalculateTaxRates200Response.md +20 -0
  22. data/docs/CatalogAPIClient.md +400 -0
  23. data/docs/CatalogFileOption.md +24 -0
  24. data/docs/Category.md +26 -0
  25. data/docs/ChangePackingSlip200Response.md +20 -0
  26. data/docs/ChangePackingSlip200ResponseResult.md +18 -0
  27. data/docs/Costs.md +38 -0
  28. data/docs/CostsByAmountInner.md +34 -0
  29. data/docs/CostsByProductInner.md +26 -0
  30. data/docs/CostsByVariantInner.md +28 -0
  31. data/docs/Country.md +24 -0
  32. data/docs/CountryStateCodeAPIClient.md +69 -0
  33. data/docs/CreateGenerationTask.md +32 -0
  34. data/docs/CreateGeneratorTask200Response.md +20 -0
  35. data/docs/CreateOrder200Response.md +20 -0
  36. data/docs/CreateSyncProduct200Response.md +20 -0
  37. data/docs/CreateSyncProduct400Response.md +22 -0
  38. data/docs/CreateSyncProduct400ResponseError.md +20 -0
  39. data/docs/CreateWebhookRequest.md +22 -0
  40. data/docs/DeleteProductTemplate200Response.md +20 -0
  41. data/docs/DeleteProductTemplate200ResponseAllOfResult.md +18 -0
  42. data/docs/DeleteSyncVariant200Response.md +20 -0
  43. data/docs/EcommercePlatformSyncAPIClient.md +459 -0
  44. data/docs/EstimateOrderCosts200Response.md +20 -0
  45. data/docs/EstimateOrderCosts200ResponseAllOfResult.md +20 -0
  46. data/docs/File.md +50 -0
  47. data/docs/FileLibraryAPIClient.md +220 -0
  48. data/docs/FileOption.md +20 -0
  49. data/docs/FileType.md +26 -0
  50. data/docs/GenerationTask.md +26 -0
  51. data/docs/GenerationTaskExtraMockup.md +24 -0
  52. data/docs/GenerationTaskFile.md +24 -0
  53. data/docs/GenerationTaskFilePosition.md +28 -0
  54. data/docs/GenerationTaskMockup.md +24 -0
  55. data/docs/GenerationTaskTemplateFile.md +22 -0
  56. data/docs/GetApprovalSheets200Response.md +20 -0
  57. data/docs/GetCategories200Response.md +20 -0
  58. data/docs/GetCategoryById200Response.md +20 -0
  59. data/docs/GetCountries200Response.md +20 -0
  60. data/docs/GetOrderByIdIdParameter.md +49 -0
  61. data/docs/GetOrders200Response.md +22 -0
  62. data/docs/GetPrintfiles200Response.md +20 -0
  63. data/docs/GetProductById200Response.md +20 -0
  64. data/docs/GetProductSizeGuideById200Response.md +20 -0
  65. data/docs/GetProductSizeGuideById404Response.md +22 -0
  66. data/docs/GetProductSizeGuideById404ResponseError.md +20 -0
  67. data/docs/GetProductTemplateById200Response.md +20 -0
  68. data/docs/GetProductTemplates200Response.md +22 -0
  69. data/docs/GetProducts200Response.md +20 -0
  70. data/docs/GetProducts401Response.md +22 -0
  71. data/docs/GetProducts401ResponseError.md +20 -0
  72. data/docs/GetScopes200Response.md +20 -0
  73. data/docs/GetScopes200ResponseAllOfResult.md +18 -0
  74. data/docs/GetScopes200ResponseAllOfResultScopesInner.md +20 -0
  75. data/docs/GetStatistics200Response.md +20 -0
  76. data/docs/GetStore200Response.md +20 -0
  77. data/docs/GetStoreSyncVariantById200Response.md +20 -0
  78. data/docs/GetStores200Response.md +22 -0
  79. data/docs/GetStores403Response.md +22 -0
  80. data/docs/GetStores403ResponseError.md +20 -0
  81. data/docs/GetSyncProductById200Response.md +20 -0
  82. data/docs/GetSyncProductByIdIdParameter.md +49 -0
  83. data/docs/GetSyncProducts200Response.md +22 -0
  84. data/docs/GetSyncVariantById200Response.md +20 -0
  85. data/docs/GetTaxCountries200Response.md +20 -0
  86. data/docs/GetTaxCountries200ResponseResultInner.md +24 -0
  87. data/docs/GetTaxCountries200ResponseResultInnerAllOfStatesInner.md +18 -0
  88. data/docs/GetTemplates200Response.md +20 -0
  89. data/docs/GetVariantById200Response.md +20 -0
  90. data/docs/GetWarehouseProduct200Response.md +20 -0
  91. data/docs/GetWarehouseProducts200Response.md +22 -0
  92. data/docs/GetWebhooks200Response.md +20 -0
  93. data/docs/Gift.md +20 -0
  94. data/docs/IncompleteItem.md +26 -0
  95. data/docs/Item.md +52 -0
  96. data/docs/ItemFilesInner.md +52 -0
  97. data/docs/ItemFilesInnerAllOfPosition.md +30 -0
  98. data/docs/ItemInfo.md +26 -0
  99. data/docs/ItemOption.md +20 -0
  100. data/docs/Material.md +20 -0
  101. data/docs/Measurement.md +22 -0
  102. data/docs/MeasurementValue.md +24 -0
  103. data/docs/MockupGeneratorAPIClient.md +313 -0
  104. data/docs/OAuthAPIClient.md +74 -0
  105. data/docs/Option.md +20 -0
  106. data/docs/OptionType.md +28 -0
  107. data/docs/Order.md +52 -0
  108. data/docs/OrderCosts.md +38 -0
  109. data/docs/OrderEstimateCosts.md +36 -0
  110. data/docs/OrderEstimateRetailCosts.md +30 -0
  111. data/docs/OrderEvent.md +52 -0
  112. data/docs/OrderShipmentItem.md +24 -0
  113. data/docs/OrdersAPIClient.md +535 -0
  114. data/docs/PackingSlip.md +28 -0
  115. data/docs/Paging.md +22 -0
  116. data/docs/PricingBreakdown.md +24 -0
  117. data/docs/Printfile.md +28 -0
  118. data/docs/PrintfileInfo.md +28 -0
  119. data/docs/PrintfulCosts.md +20 -0
  120. data/docs/Product.md +50 -0
  121. data/docs/Product1.md +20 -0
  122. data/docs/Product1SyncVariantsInner.md +46 -0
  123. data/docs/ProductInfo.md +20 -0
  124. data/docs/ProductSizeGuide.md +22 -0
  125. data/docs/ProductTemplate.md +26 -0
  126. data/docs/ProductTemplatesAPIClient.md +221 -0
  127. data/docs/ProductVariant.md +24 -0
  128. data/docs/ProductsAPIClient.md +679 -0
  129. data/docs/Profit.md +20 -0
  130. data/docs/README.md +410 -0
  131. data/docs/ReportsAPIClient.md +87 -0
  132. data/docs/Response200.md +18 -0
  133. data/docs/Response200Paginated.md +20 -0
  134. data/docs/RetailCosts.md +30 -0
  135. data/docs/SalesAndCostsInner.md +32 -0
  136. data/docs/SalesAndCostsSummaryInner.md +24 -0
  137. data/docs/Shipment.md +36 -0
  138. data/docs/ShippingInfo.md +32 -0
  139. data/docs/ShippingRateAPIClient.md +81 -0
  140. data/docs/SizeTable.md +28 -0
  141. data/docs/State.md +20 -0
  142. data/docs/Statistics.md +18 -0
  143. data/docs/Store.md +22 -0
  144. data/docs/StoreInformationAPIClient.md +218 -0
  145. data/docs/StoreStatistics.md +38 -0
  146. data/docs/SubmitApprovalSheetChanges200Response.md +20 -0
  147. data/docs/SyncProduct.md +32 -0
  148. data/docs/SyncProductDeleted.md +22 -0
  149. data/docs/SyncProductEvent.md +32 -0
  150. data/docs/SyncProductInfo.md +20 -0
  151. data/docs/SyncVariant.md +46 -0
  152. data/docs/SyncVariantInfo.md +20 -0
  153. data/docs/SyncVariantProduct.md +24 -0
  154. data/docs/TaxAddressInfo.md +24 -0
  155. data/docs/TaxInfo.md +22 -0
  156. data/docs/TaxRateAPIClient.md +134 -0
  157. data/docs/TaxRequest.md +18 -0
  158. data/docs/Template.md +42 -0
  159. data/docs/TemplateById.md +42 -0
  160. data/docs/TemplateByIdColorsInner.md +20 -0
  161. data/docs/TemplateByIdOptionDataInner.md +20 -0
  162. data/docs/TemplateByIdPlacementOptionDataInner.md +20 -0
  163. data/docs/TemplateByIdPlacementOptionDataInnerOptionsInner.md +20 -0
  164. data/docs/TemplateByIdPlacementsInner.md +24 -0
  165. data/docs/TemplatePlacementConflict.md +20 -0
  166. data/docs/TemplateVariantMapping.md +20 -0
  167. data/docs/TemplateVariantMappingItem.md +20 -0
  168. data/docs/Templates.md +18 -0
  169. data/docs/ThreadColors200Response.md +20 -0
  170. data/docs/ThreadColorsRequest.md +18 -0
  171. data/docs/TotalPaidOrders.md +20 -0
  172. data/docs/UpdateSyncProductRequest.md +20 -0
  173. data/docs/UpdateSyncProductRequestSyncVariantsInner.md +46 -0
  174. data/docs/UpdateSyncVariantRequest.md +46 -0
  175. data/docs/Variant.md +42 -0
  176. data/docs/VariantInfo.md +20 -0
  177. data/docs/VariantPrintfile.md +20 -0
  178. data/docs/WarehouseProduct.md +30 -0
  179. data/docs/WarehouseProductVariant.md +36 -0
  180. data/docs/WarehouseProductsAPIClient.md +159 -0
  181. data/docs/Webhook.md +24 -0
  182. data/docs/WebhookAPIClient.md +225 -0
  183. data/docs/WebhookInfo.md +22 -0
  184. data/generate.sh +53 -0
  185. data/lib/printful_client/api/approval_sheets_api_client.rb +238 -0
  186. data/lib/printful_client/api/catalog_api_client.rb +394 -0
  187. data/lib/printful_client/api/country_state_code_api_client.rb +79 -0
  188. data/lib/printful_client/api/ecommerce_platform_sync_api_client.rb +435 -0
  189. data/lib/printful_client/api/file_library_api_client.rb +227 -0
  190. data/lib/printful_client/api/mockup_generator_api_client.rb +318 -0
  191. data/lib/printful_client/api/o_auth_api_client.rb +79 -0
  192. data/lib/printful_client/api/orders_api_client.rb +514 -0
  193. data/lib/printful_client/api/product_templates_api_client.rb +211 -0
  194. data/lib/printful_client/api/products_api_client.rb +651 -0
  195. data/lib/printful_client/api/reports_api_client.rb +106 -0
  196. data/lib/printful_client/api/shipping_rate_api_client.rb +93 -0
  197. data/lib/printful_client/api/store_information_api_client.rb +209 -0
  198. data/lib/printful_client/api/tax_rate_api_client.rb +147 -0
  199. data/lib/printful_client/api/warehouse_products_api_client.rb +157 -0
  200. data/lib/printful_client/api/webhook_api_client.rb +213 -0
  201. data/lib/printful_client/api_client.rb +392 -0
  202. data/lib/printful_client/api_error.rb +58 -0
  203. data/lib/printful_client/configuration.rb +297 -0
  204. data/lib/printful_client/models/add_file200_response.rb +231 -0
  205. data/lib/printful_client/models/address.rb +336 -0
  206. data/lib/printful_client/models/address_info.rb +287 -0
  207. data/lib/printful_client/models/approval_sheet.rb +256 -0
  208. data/lib/printful_client/models/approval_sheet_changes.rb +242 -0
  209. data/lib/printful_client/models/approval_sheet_changes_files_inner.rb +222 -0
  210. data/lib/printful_client/models/approval_sheet_webhook_file.rb +241 -0
  211. data/lib/printful_client/models/approve_design200_response.rb +231 -0
  212. data/lib/printful_client/models/approve_design200_response_all_of_result.rb +214 -0
  213. data/lib/printful_client/models/availability_status.rb +225 -0
  214. data/lib/printful_client/models/available_technique.rb +235 -0
  215. data/lib/printful_client/models/average_fulfillment_time.rb +226 -0
  216. data/lib/printful_client/models/calculate_shipping_rates.rb +261 -0
  217. data/lib/printful_client/models/calculate_shipping_rates200_response.rb +226 -0
  218. data/lib/printful_client/models/calculate_tax_rates200_response.rb +224 -0
  219. data/lib/printful_client/models/catalog_file_option.rb +244 -0
  220. data/lib/printful_client/models/category.rb +290 -0
  221. data/lib/printful_client/models/change_packing_slip200_response.rb +224 -0
  222. data/lib/printful_client/models/change_packing_slip200_response_result.rb +215 -0
  223. data/lib/printful_client/models/costs.rb +316 -0
  224. data/lib/printful_client/models/costs_by_amount_inner.rb +295 -0
  225. data/lib/printful_client/models/costs_by_product_inner.rb +255 -0
  226. data/lib/printful_client/models/costs_by_variant_inner.rb +265 -0
  227. data/lib/printful_client/models/country.rb +246 -0
  228. data/lib/printful_client/models/create_generation_task.rb +329 -0
  229. data/lib/printful_client/models/create_generator_task200_response.rb +231 -0
  230. data/lib/printful_client/models/create_order200_response.rb +231 -0
  231. data/lib/printful_client/models/create_sync_product200_response.rb +231 -0
  232. data/lib/printful_client/models/create_sync_product400_response.rb +234 -0
  233. data/lib/printful_client/models/create_sync_product400_response_error.rb +223 -0
  234. data/lib/printful_client/models/create_webhook_request.rb +259 -0
  235. data/lib/printful_client/models/delete_product_template200_response.rb +231 -0
  236. data/lib/printful_client/models/delete_product_template200_response_all_of_result.rb +215 -0
  237. data/lib/printful_client/models/delete_sync_variant200_response.rb +234 -0
  238. data/lib/printful_client/models/estimate_order_costs200_response.rb +231 -0
  239. data/lib/printful_client/models/estimate_order_costs200_response_all_of_result.rb +223 -0
  240. data/lib/printful_client/models/file.rb +385 -0
  241. data/lib/printful_client/models/file_option.rb +240 -0
  242. data/lib/printful_client/models/file_type.rb +257 -0
  243. data/lib/printful_client/models/generation_task.rb +294 -0
  244. data/lib/printful_client/models/generation_task_extra_mockup.rb +246 -0
  245. data/lib/printful_client/models/generation_task_file.rb +247 -0
  246. data/lib/printful_client/models/generation_task_file_position.rb +268 -0
  247. data/lib/printful_client/models/generation_task_mockup.rb +250 -0
  248. data/lib/printful_client/models/generation_task_template_file.rb +238 -0
  249. data/lib/printful_client/models/get_approval_sheets200_response.rb +233 -0
  250. data/lib/printful_client/models/get_categories200_response.rb +233 -0
  251. data/lib/printful_client/models/get_category_by_id200_response.rb +231 -0
  252. data/lib/printful_client/models/get_countries200_response.rb +233 -0
  253. data/lib/printful_client/models/get_order_by_id_id_parameter.rb +105 -0
  254. data/lib/printful_client/models/get_orders200_response.rb +242 -0
  255. data/lib/printful_client/models/get_printfiles200_response.rb +231 -0
  256. data/lib/printful_client/models/get_product_by_id200_response.rb +231 -0
  257. data/lib/printful_client/models/get_product_size_guide_by_id200_response.rb +231 -0
  258. data/lib/printful_client/models/get_product_size_guide_by_id404_response.rb +234 -0
  259. data/lib/printful_client/models/get_product_size_guide_by_id404_response_error.rb +223 -0
  260. data/lib/printful_client/models/get_product_template_by_id200_response.rb +231 -0
  261. data/lib/printful_client/models/get_product_templates200_response.rb +240 -0
  262. data/lib/printful_client/models/get_products200_response.rb +233 -0
  263. data/lib/printful_client/models/get_products401_response.rb +234 -0
  264. data/lib/printful_client/models/get_products401_response_error.rb +223 -0
  265. data/lib/printful_client/models/get_scopes200_response.rb +231 -0
  266. data/lib/printful_client/models/get_scopes200_response_all_of_result.rb +216 -0
  267. data/lib/printful_client/models/get_scopes200_response_all_of_result_scopes_inner.rb +223 -0
  268. data/lib/printful_client/models/get_statistics200_response.rb +224 -0
  269. data/lib/printful_client/models/get_store200_response.rb +231 -0
  270. data/lib/printful_client/models/get_store_sync_variant_by_id200_response.rb +231 -0
  271. data/lib/printful_client/models/get_stores200_response.rb +242 -0
  272. data/lib/printful_client/models/get_stores403_response.rb +234 -0
  273. data/lib/printful_client/models/get_stores403_response_error.rb +223 -0
  274. data/lib/printful_client/models/get_sync_product_by_id200_response.rb +231 -0
  275. data/lib/printful_client/models/get_sync_product_by_id_id_parameter.rb +105 -0
  276. data/lib/printful_client/models/get_sync_products200_response.rb +243 -0
  277. data/lib/printful_client/models/get_sync_variant_by_id200_response.rb +224 -0
  278. data/lib/printful_client/models/get_tax_countries200_response.rb +226 -0
  279. data/lib/printful_client/models/get_tax_countries200_response_result_inner.rb +252 -0
  280. data/lib/printful_client/models/get_tax_countries200_response_result_inner_all_of_states_inner.rb +215 -0
  281. data/lib/printful_client/models/get_templates200_response.rb +231 -0
  282. data/lib/printful_client/models/get_variant_by_id200_response.rb +231 -0
  283. data/lib/printful_client/models/get_warehouse_product200_response.rb +231 -0
  284. data/lib/printful_client/models/get_warehouse_products200_response.rb +243 -0
  285. data/lib/printful_client/models/get_webhooks200_response.rb +231 -0
  286. data/lib/printful_client/models/gift.rb +264 -0
  287. data/lib/printful_client/models/incomplete_item.rb +256 -0
  288. data/lib/printful_client/models/item.rb +389 -0
  289. data/lib/printful_client/models/item_files_inner.rb +400 -0
  290. data/lib/printful_client/models/item_files_inner_all_of_position.rb +286 -0
  291. data/lib/printful_client/models/item_info.rb +263 -0
  292. data/lib/printful_client/models/item_option.rb +240 -0
  293. data/lib/printful_client/models/material.rb +225 -0
  294. data/lib/printful_client/models/measurement.rb +245 -0
  295. data/lib/printful_client/models/measurement_value.rb +253 -0
  296. data/lib/printful_client/models/option.rb +226 -0
  297. data/lib/printful_client/models/option_type.rb +269 -0
  298. data/lib/printful_client/models/order.rb +406 -0
  299. data/lib/printful_client/models/order_costs.rb +322 -0
  300. data/lib/printful_client/models/order_estimate_costs.rb +306 -0
  301. data/lib/printful_client/models/order_estimate_retail_costs.rb +282 -0
  302. data/lib/printful_client/models/order_event.rb +396 -0
  303. data/lib/printful_client/models/order_shipment_item.rb +292 -0
  304. data/lib/printful_client/models/packing_slip.rb +266 -0
  305. data/lib/printful_client/models/paging.rb +236 -0
  306. data/lib/printful_client/models/pricing_breakdown.rb +246 -0
  307. data/lib/printful_client/models/printfile.rb +300 -0
  308. data/lib/printful_client/models/printfile_info.rb +270 -0
  309. data/lib/printful_client/models/printful_costs.rb +226 -0
  310. data/lib/printful_client/models/product.rb +383 -0
  311. data/lib/printful_client/models/product1.rb +241 -0
  312. data/lib/printful_client/models/product1_sync_variants_inner.rb +379 -0
  313. data/lib/printful_client/models/product_info.rb +225 -0
  314. data/lib/printful_client/models/product_size_guide.rb +261 -0
  315. data/lib/printful_client/models/product_template.rb +262 -0
  316. data/lib/printful_client/models/product_variant.rb +246 -0
  317. data/lib/printful_client/models/profit.rb +226 -0
  318. data/lib/printful_client/models/response200.rb +215 -0
  319. data/lib/printful_client/models/response200_paginated.rb +231 -0
  320. data/lib/printful_client/models/retail_costs.rb +282 -0
  321. data/lib/printful_client/models/sales_and_costs_inner.rb +285 -0
  322. data/lib/printful_client/models/sales_and_costs_summary_inner.rb +245 -0
  323. data/lib/printful_client/models/shipment.rb +308 -0
  324. data/lib/printful_client/models/shipping_info.rb +286 -0
  325. data/lib/printful_client/models/size_table.rb +328 -0
  326. data/lib/printful_client/models/state.rb +225 -0
  327. data/lib/printful_client/models/statistics.rb +218 -0
  328. data/lib/printful_client/models/store.rb +236 -0
  329. data/lib/printful_client/models/store_statistics.rb +322 -0
  330. data/lib/printful_client/models/submit_approval_sheet_changes200_response.rb +231 -0
  331. data/lib/printful_client/models/sync_product.rb +312 -0
  332. data/lib/printful_client/models/sync_product_deleted.rb +257 -0
  333. data/lib/printful_client/models/sync_product_event.rb +293 -0
  334. data/lib/printful_client/models/sync_product_info.rb +226 -0
  335. data/lib/printful_client/models/sync_variant.rb +359 -0
  336. data/lib/printful_client/models/sync_variant_info.rb +223 -0
  337. data/lib/printful_client/models/sync_variant_product.rb +252 -0
  338. data/lib/printful_client/models/tax_address_info.rb +274 -0
  339. data/lib/printful_client/models/tax_info.rb +236 -0
  340. data/lib/printful_client/models/tax_request.rb +222 -0
  341. data/lib/printful_client/models/template.rb +372 -0
  342. data/lib/printful_client/models/template_by_id.rb +335 -0
  343. data/lib/printful_client/models/template_by_id_colors_inner.rb +223 -0
  344. data/lib/printful_client/models/template_by_id_option_data_inner.rb +225 -0
  345. data/lib/printful_client/models/template_by_id_placement_option_data_inner.rb +225 -0
  346. data/lib/printful_client/models/template_by_id_placement_option_data_inner_options_inner.rb +224 -0
  347. data/lib/printful_client/models/template_by_id_placements_inner.rb +241 -0
  348. data/lib/printful_client/models/template_placement_conflict.rb +228 -0
  349. data/lib/printful_client/models/template_variant_mapping.rb +228 -0
  350. data/lib/printful_client/models/template_variant_mapping_item.rb +226 -0
  351. data/lib/printful_client/models/templates.rb +217 -0
  352. data/lib/printful_client/models/thread_colors200_response.rb +233 -0
  353. data/lib/printful_client/models/thread_colors_request.rb +215 -0
  354. data/lib/printful_client/models/total_paid_orders.rb +226 -0
  355. data/lib/printful_client/models/update_sync_product_request.rb +226 -0
  356. data/lib/printful_client/models/update_sync_product_request_sync_variants_inner.rb +365 -0
  357. data/lib/printful_client/models/update_sync_variant_request.rb +365 -0
  358. data/lib/printful_client/models/variant.rb +341 -0
  359. data/lib/printful_client/models/variant_info.rb +223 -0
  360. data/lib/printful_client/models/variant_printfile.rb +224 -0
  361. data/lib/printful_client/models/warehouse_product.rb +312 -0
  362. data/lib/printful_client/models/warehouse_product_variant.rb +306 -0
  363. data/lib/printful_client/models/webhook.rb +245 -0
  364. data/lib/printful_client/models/webhook_info.rb +238 -0
  365. data/lib/printful_client/version.rb +15 -0
  366. data/lib/printful_client.rb +216 -0
  367. data/printful_client.gemspec +38 -0
  368. data/spec/api/approval_sheets_api_client_spec.rb +75 -0
  369. data/spec/api/catalog_api_client_spec.rb +107 -0
  370. data/spec/api/country_state_code_api_client_spec.rb +46 -0
  371. data/spec/api/ecommerce_platform_sync_api_client_spec.rb +117 -0
  372. data/spec/api/file_library_api_client_spec.rb +73 -0
  373. data/spec/api/mockup_generator_api_client_spec.rb +92 -0
  374. data/spec/api/o_auth_api_client_spec.rb +46 -0
  375. data/spec/api/orders_api_client_spec.rb +131 -0
  376. data/spec/api/product_templates_api_client_spec.rb +72 -0
  377. data/spec/api/products_api_client_spec.rb +155 -0
  378. data/spec/api/reports_api_client_spec.rb +51 -0
  379. data/spec/api/shipping_rate_api_client_spec.rb +48 -0
  380. data/spec/api/store_information_api_client_spec.rb +71 -0
  381. data/spec/api/tax_rate_api_client_spec.rb +58 -0
  382. data/spec/api/warehouse_products_api_client_spec.rb +63 -0
  383. data/spec/api/webhook_api_client_spec.rb +72 -0
  384. data/spec/api_client_spec.rb +228 -0
  385. data/spec/configuration_spec.rb +42 -0
  386. data/spec/models/add_file200_response_spec.rb +40 -0
  387. data/spec/models/address_info_spec.rb +64 -0
  388. data/spec/models/address_spec.rb +106 -0
  389. data/spec/models/approval_sheet_changes_files_inner_spec.rb +34 -0
  390. data/spec/models/approval_sheet_changes_spec.rb +40 -0
  391. data/spec/models/approval_sheet_spec.rb +38 -0
  392. data/spec/models/approval_sheet_webhook_file_spec.rb +52 -0
  393. data/spec/models/approve_design200_response_all_of_result_spec.rb +34 -0
  394. data/spec/models/approve_design200_response_spec.rb +40 -0
  395. data/spec/models/availability_status_spec.rb +40 -0
  396. data/spec/models/available_technique_spec.rb +46 -0
  397. data/spec/models/average_fulfillment_time_spec.rb +40 -0
  398. data/spec/models/calculate_shipping_rates200_response_spec.rb +40 -0
  399. data/spec/models/calculate_shipping_rates_spec.rb +52 -0
  400. data/spec/models/calculate_tax_rates200_response_spec.rb +40 -0
  401. data/spec/models/catalog_file_option_spec.rb +52 -0
  402. data/spec/models/category_spec.rb +62 -0
  403. data/spec/models/change_packing_slip200_response_result_spec.rb +34 -0
  404. data/spec/models/change_packing_slip200_response_spec.rb +40 -0
  405. data/spec/models/costs_by_amount_inner_spec.rb +82 -0
  406. data/spec/models/costs_by_product_inner_spec.rb +58 -0
  407. data/spec/models/costs_by_variant_inner_spec.rb +64 -0
  408. data/spec/models/costs_spec.rb +94 -0
  409. data/spec/models/country_spec.rb +52 -0
  410. data/spec/models/create_generation_task_spec.rb +80 -0
  411. data/spec/models/create_generator_task200_response_spec.rb +40 -0
  412. data/spec/models/create_order200_response_spec.rb +40 -0
  413. data/spec/models/create_sync_product200_response_spec.rb +40 -0
  414. data/spec/models/create_sync_product400_response_error_spec.rb +40 -0
  415. data/spec/models/create_sync_product400_response_spec.rb +46 -0
  416. data/spec/models/create_webhook_request_spec.rb +46 -0
  417. data/spec/models/delete_product_template200_response_all_of_result_spec.rb +34 -0
  418. data/spec/models/delete_product_template200_response_spec.rb +40 -0
  419. data/spec/models/delete_sync_variant200_response_spec.rb +40 -0
  420. data/spec/models/estimate_order_costs200_response_all_of_result_spec.rb +40 -0
  421. data/spec/models/estimate_order_costs200_response_spec.rb +40 -0
  422. data/spec/models/file_option_spec.rb +40 -0
  423. data/spec/models/file_spec.rb +130 -0
  424. data/spec/models/file_type_spec.rb +58 -0
  425. data/spec/models/generation_task_extra_mockup_spec.rb +52 -0
  426. data/spec/models/generation_task_file_position_spec.rb +64 -0
  427. data/spec/models/generation_task_file_spec.rb +52 -0
  428. data/spec/models/generation_task_mockup_spec.rb +52 -0
  429. data/spec/models/generation_task_spec.rb +62 -0
  430. data/spec/models/generation_task_template_file_spec.rb +46 -0
  431. data/spec/models/get_approval_sheets200_response_spec.rb +40 -0
  432. data/spec/models/get_categories200_response_spec.rb +40 -0
  433. data/spec/models/get_category_by_id200_response_spec.rb +40 -0
  434. data/spec/models/get_countries200_response_spec.rb +40 -0
  435. data/spec/models/get_order_by_id_id_parameter_spec.rb +31 -0
  436. data/spec/models/get_orders200_response_spec.rb +46 -0
  437. data/spec/models/get_printfiles200_response_spec.rb +40 -0
  438. data/spec/models/get_product_by_id200_response_spec.rb +40 -0
  439. data/spec/models/get_product_size_guide_by_id200_response_spec.rb +40 -0
  440. data/spec/models/get_product_size_guide_by_id404_response_error_spec.rb +40 -0
  441. data/spec/models/get_product_size_guide_by_id404_response_spec.rb +46 -0
  442. data/spec/models/get_product_template_by_id200_response_spec.rb +40 -0
  443. data/spec/models/get_product_templates200_response_spec.rb +46 -0
  444. data/spec/models/get_products200_response_spec.rb +40 -0
  445. data/spec/models/get_products401_response_error_spec.rb +40 -0
  446. data/spec/models/get_products401_response_spec.rb +46 -0
  447. data/spec/models/get_scopes200_response_all_of_result_scopes_inner_spec.rb +40 -0
  448. data/spec/models/get_scopes200_response_all_of_result_spec.rb +34 -0
  449. data/spec/models/get_scopes200_response_spec.rb +40 -0
  450. data/spec/models/get_statistics200_response_spec.rb +40 -0
  451. data/spec/models/get_store200_response_spec.rb +40 -0
  452. data/spec/models/get_store_sync_variant_by_id200_response_spec.rb +40 -0
  453. data/spec/models/get_stores200_response_spec.rb +46 -0
  454. data/spec/models/get_stores403_response_error_spec.rb +40 -0
  455. data/spec/models/get_stores403_response_spec.rb +46 -0
  456. data/spec/models/get_sync_product_by_id200_response_spec.rb +40 -0
  457. data/spec/models/get_sync_product_by_id_id_parameter_spec.rb +31 -0
  458. data/spec/models/get_sync_products200_response_spec.rb +46 -0
  459. data/spec/models/get_sync_variant_by_id200_response_spec.rb +40 -0
  460. data/spec/models/get_tax_countries200_response_result_inner_all_of_states_inner_spec.rb +34 -0
  461. data/spec/models/get_tax_countries200_response_result_inner_spec.rb +52 -0
  462. data/spec/models/get_tax_countries200_response_spec.rb +40 -0
  463. data/spec/models/get_templates200_response_spec.rb +40 -0
  464. data/spec/models/get_variant_by_id200_response_spec.rb +40 -0
  465. data/spec/models/get_warehouse_product200_response_spec.rb +40 -0
  466. data/spec/models/get_warehouse_products200_response_spec.rb +46 -0
  467. data/spec/models/get_webhooks200_response_spec.rb +40 -0
  468. data/spec/models/gift_spec.rb +40 -0
  469. data/spec/models/incomplete_item_spec.rb +58 -0
  470. data/spec/models/item_files_inner_all_of_position_spec.rb +70 -0
  471. data/spec/models/item_files_inner_spec.rb +136 -0
  472. data/spec/models/item_info_spec.rb +58 -0
  473. data/spec/models/item_option_spec.rb +40 -0
  474. data/spec/models/item_spec.rb +136 -0
  475. data/spec/models/material_spec.rb +40 -0
  476. data/spec/models/measurement_spec.rb +46 -0
  477. data/spec/models/measurement_value_spec.rb +52 -0
  478. data/spec/models/option_spec.rb +40 -0
  479. data/spec/models/option_type_spec.rb +64 -0
  480. data/spec/models/order_costs_spec.rb +94 -0
  481. data/spec/models/order_estimate_costs_spec.rb +88 -0
  482. data/spec/models/order_estimate_retail_costs_spec.rb +70 -0
  483. data/spec/models/order_event_spec.rb +136 -0
  484. data/spec/models/order_shipment_item_spec.rb +60 -0
  485. data/spec/models/order_spec.rb +136 -0
  486. data/spec/models/packing_slip_spec.rb +64 -0
  487. data/spec/models/paging_spec.rb +46 -0
  488. data/spec/models/pricing_breakdown_spec.rb +52 -0
  489. data/spec/models/printfile_info_spec.rb +64 -0
  490. data/spec/models/printfile_spec.rb +68 -0
  491. data/spec/models/printful_costs_spec.rb +40 -0
  492. data/spec/models/product1_spec.rb +40 -0
  493. data/spec/models/product1_sync_variants_inner_spec.rb +118 -0
  494. data/spec/models/product_info_spec.rb +40 -0
  495. data/spec/models/product_size_guide_spec.rb +46 -0
  496. data/spec/models/product_spec.rb +130 -0
  497. data/spec/models/product_template_spec.rb +58 -0
  498. data/spec/models/product_variant_spec.rb +52 -0
  499. data/spec/models/profit_spec.rb +40 -0
  500. data/spec/models/response200_paginated_spec.rb +40 -0
  501. data/spec/models/response200_spec.rb +34 -0
  502. data/spec/models/retail_costs_spec.rb +70 -0
  503. data/spec/models/sales_and_costs_inner_spec.rb +76 -0
  504. data/spec/models/sales_and_costs_summary_inner_spec.rb +52 -0
  505. data/spec/models/shipment_spec.rb +88 -0
  506. data/spec/models/shipping_info_spec.rb +76 -0
  507. data/spec/models/size_table_spec.rb +72 -0
  508. data/spec/models/state_spec.rb +40 -0
  509. data/spec/models/statistics_spec.rb +34 -0
  510. data/spec/models/store_spec.rb +46 -0
  511. data/spec/models/store_statistics_spec.rb +94 -0
  512. data/spec/models/submit_approval_sheet_changes200_response_spec.rb +40 -0
  513. data/spec/models/sync_product_deleted_spec.rb +46 -0
  514. data/spec/models/sync_product_event_spec.rb +76 -0
  515. data/spec/models/sync_product_info_spec.rb +40 -0
  516. data/spec/models/sync_product_spec.rb +76 -0
  517. data/spec/models/sync_variant_info_spec.rb +40 -0
  518. data/spec/models/sync_variant_product_spec.rb +52 -0
  519. data/spec/models/sync_variant_spec.rb +118 -0
  520. data/spec/models/tax_address_info_spec.rb +52 -0
  521. data/spec/models/tax_info_spec.rb +46 -0
  522. data/spec/models/tax_request_spec.rb +34 -0
  523. data/spec/models/template_by_id_colors_inner_spec.rb +40 -0
  524. data/spec/models/template_by_id_option_data_inner_spec.rb +40 -0
  525. data/spec/models/template_by_id_placement_option_data_inner_options_inner_spec.rb +40 -0
  526. data/spec/models/template_by_id_placement_option_data_inner_spec.rb +40 -0
  527. data/spec/models/template_by_id_placements_inner_spec.rb +52 -0
  528. data/spec/models/template_by_id_spec.rb +106 -0
  529. data/spec/models/template_placement_conflict_spec.rb +40 -0
  530. data/spec/models/template_spec.rb +110 -0
  531. data/spec/models/template_variant_mapping_item_spec.rb +40 -0
  532. data/spec/models/template_variant_mapping_spec.rb +40 -0
  533. data/spec/models/templates_spec.rb +34 -0
  534. data/spec/models/thread_colors200_response_spec.rb +40 -0
  535. data/spec/models/thread_colors_request_spec.rb +34 -0
  536. data/spec/models/total_paid_orders_spec.rb +40 -0
  537. data/spec/models/update_sync_product_request_spec.rb +40 -0
  538. data/spec/models/update_sync_product_request_sync_variants_inner_spec.rb +118 -0
  539. data/spec/models/update_sync_variant_request_spec.rb +118 -0
  540. data/spec/models/variant_info_spec.rb +40 -0
  541. data/spec/models/variant_printfile_spec.rb +40 -0
  542. data/spec/models/variant_spec.rb +106 -0
  543. data/spec/models/warehouse_product_spec.rb +74 -0
  544. data/spec/models/warehouse_product_variant_spec.rb +88 -0
  545. data/spec/models/webhook_info_spec.rb +46 -0
  546. data/spec/models/webhook_spec.rb +52 -0
  547. data/spec/spec_helper.rb +111 -0
  548. data/swagger.json +8318 -0
  549. metadata +812 -0
@@ -0,0 +1,215 @@
1
+ =begin
2
+ #API Documentation | Printful
3
+
4
+ ## About the Printful API The Printful API is a RESTful API, that uses an HTTP protocol for communication. HTTP GET, POST, PUT and DELETE methods are used to access the API resources. ## Requests and responses ### Request endpoint All API requests have to be sent to this URL: ``` https://api.printful.com/ ``` If you are using a proxy, make sure that all requests have host header set to **api.printful.com**. ### Request parameters Some mandatory parameters (like object identifiers) must be included in the request URL path ``` GET /orders/123 ``` Additional parameters can be passed as GET variables: ``` GET /orders?offset=10&limit=5 ``` For POST and PUT requests, a more complex data structure can be passed as JSON encoded data in the request body: ``` POST /orders {\"recipient\":{...},\"items\":[...]} ``` ### Response body The response body is always a JSON object that contains a response status code (identical to the HTTP status code) and the result of the action. If the status code is 200, then the action was successful. ``` { \"code\": 200, //Response status code \"result\":{ //API method return data //... } } ``` Sometimes the response includes paging information to allow to browse larger result sets by adding offset and limit GET parameters to the request URL. ``` { \"code\": 200, //Response status code \"result\":[ { //Item 11 }, { //Item 12 } ] \"paging\": { \"total\": 12, //Total items available \"offset\": 10, //Items skipped from the beginning \"limit\": 20 //Number of items per page } } ``` ## Error response If the API call is not successful, then the response code is not in the 2xx range and the `result` attribute contains an error description. ``` { \"code\": 404, \"result\": \"Not Found\", \"error\": { \"reason\": \"NotFound\", \"message\": \"Not Found\" } } ``` In general, response codes in the 4xx range indicate an error that resulted from the provided information (e.g. a required parameter was missing, etc.), and codes in the 5xx range indicate an error with Printful's servers. ### Timestamps All timestamps from the API are returned as integers in UNIX timestamp format. ### Rate Limits Printful API has a general rate limit of 120 API calls per minute. Additionally, endpoints that perform resource intensive operations (such as mockup generator) have a lower allowed request limit. # Authentication <!-- ReDoc-Inject: <security-definitions> -->
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: devsupport@printful.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.0.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Printful
17
+ class ChangePackingSlip200ResponseResult
18
+ attr_accessor :packing_slip
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'packing_slip' => :'packing_slip'
24
+ }
25
+ end
26
+
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.openapi_types
34
+ {
35
+ :'packing_slip' => :'PackingSlip'
36
+ }
37
+ end
38
+
39
+ # List of attributes with nullable: true
40
+ def self.openapi_nullable
41
+ Set.new([
42
+ :'packing_slip'
43
+ ])
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Printful::ChangePackingSlip200ResponseResult` initialize method"
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Printful::ChangePackingSlip200ResponseResult`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
+ end
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:'packing_slip')
62
+ self.packing_slip = attributes[:'packing_slip']
63
+ end
64
+ end
65
+
66
+ # Show invalid properties with the reasons. Usually used together with valid?
67
+ # @return Array for valid properties with the reasons
68
+ def list_invalid_properties
69
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
70
+ invalid_properties = Array.new
71
+ invalid_properties
72
+ end
73
+
74
+ # Check to see if the all the properties in the model are valid
75
+ # @return true if the model is valid
76
+ def valid?
77
+ warn '[DEPRECATED] the `valid?` method is obsolete'
78
+ true
79
+ end
80
+
81
+ # Checks equality by comparing each attribute.
82
+ # @param [Object] Object to be compared
83
+ def ==(o)
84
+ return true if self.equal?(o)
85
+ self.class == o.class &&
86
+ packing_slip == o.packing_slip
87
+ end
88
+
89
+ # @see the `==` method
90
+ # @param [Object] Object to be compared
91
+ def eql?(o)
92
+ self == o
93
+ end
94
+
95
+ # Calculates hash code according to all attributes.
96
+ # @return [Integer] Hash code
97
+ def hash
98
+ [packing_slip].hash
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def self.build_from_hash(attributes)
105
+ return nil unless attributes.is_a?(Hash)
106
+ attributes = attributes.transform_keys(&:to_sym)
107
+ transformed_hash = {}
108
+ openapi_types.each_pair do |key, type|
109
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
110
+ transformed_hash["#{key}"] = nil
111
+ elsif type =~ /\AArray<(.*)>/i
112
+ # check to ensure the input is an array given that the attribute
113
+ # is documented as an array but the input is not
114
+ if attributes[attribute_map[key]].is_a?(Array)
115
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
116
+ end
117
+ elsif !attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
119
+ end
120
+ end
121
+ new(transformed_hash)
122
+ end
123
+
124
+ # Deserializes the data based on type
125
+ # @param string type Data type
126
+ # @param string value Value to be deserialized
127
+ # @return [Object] Deserialized data
128
+ def self._deserialize(type, value)
129
+ case type.to_sym
130
+ when :Time
131
+ Time.parse(value)
132
+ when :Date
133
+ Date.parse(value)
134
+ when :String
135
+ value.to_s
136
+ when :Integer
137
+ value.to_i
138
+ when :Float
139
+ value.to_f
140
+ when :Boolean
141
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
142
+ true
143
+ else
144
+ false
145
+ end
146
+ when :Object
147
+ # generic object (usually a Hash), return directly
148
+ value
149
+ when /\AArray<(?<inner_type>.+)>\z/
150
+ inner_type = Regexp.last_match[:inner_type]
151
+ value.map { |v| _deserialize(inner_type, v) }
152
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
153
+ k_type = Regexp.last_match[:k_type]
154
+ v_type = Regexp.last_match[:v_type]
155
+ {}.tap do |hash|
156
+ value.each do |k, v|
157
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
158
+ end
159
+ end
160
+ else # model
161
+ # models (e.g. Pet) or oneOf
162
+ klass = Printful.const_get(type)
163
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
164
+ end
165
+ end
166
+
167
+ # Returns the string representation of the object
168
+ # @return [String] String presentation of the object
169
+ def to_s
170
+ to_hash.to_s
171
+ end
172
+
173
+ # to_body is an alias to to_hash (backward compatibility)
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_body
176
+ to_hash
177
+ end
178
+
179
+ # Returns the object in the form of hash
180
+ # @return [Hash] Returns the object in the form of hash
181
+ def to_hash
182
+ hash = {}
183
+ self.class.attribute_map.each_pair do |attr, param|
184
+ value = self.send(attr)
185
+ if value.nil?
186
+ is_nullable = self.class.openapi_nullable.include?(attr)
187
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
188
+ end
189
+
190
+ hash[param] = _to_hash(value)
191
+ end
192
+ hash
193
+ end
194
+
195
+ # Outputs non-array value in the form of hash
196
+ # For object, use to_hash. Otherwise, just return the value
197
+ # @param [Object] value Any valid value
198
+ # @return [Hash] Returns the value in the form of hash
199
+ def _to_hash(value)
200
+ if value.is_a?(Array)
201
+ value.compact.map { |v| _to_hash(v) }
202
+ elsif value.is_a?(Hash)
203
+ {}.tap do |hash|
204
+ value.each { |k, v| hash[k] = _to_hash(v) }
205
+ end
206
+ elsif value.respond_to? :to_hash
207
+ value.to_hash
208
+ else
209
+ value
210
+ end
211
+ end
212
+
213
+ end
214
+
215
+ end
@@ -0,0 +1,316 @@
1
+ =begin
2
+ #API Documentation | Printful
3
+
4
+ ## About the Printful API The Printful API is a RESTful API, that uses an HTTP protocol for communication. HTTP GET, POST, PUT and DELETE methods are used to access the API resources. ## Requests and responses ### Request endpoint All API requests have to be sent to this URL: ``` https://api.printful.com/ ``` If you are using a proxy, make sure that all requests have host header set to **api.printful.com**. ### Request parameters Some mandatory parameters (like object identifiers) must be included in the request URL path ``` GET /orders/123 ``` Additional parameters can be passed as GET variables: ``` GET /orders?offset=10&limit=5 ``` For POST and PUT requests, a more complex data structure can be passed as JSON encoded data in the request body: ``` POST /orders {\"recipient\":{...},\"items\":[...]} ``` ### Response body The response body is always a JSON object that contains a response status code (identical to the HTTP status code) and the result of the action. If the status code is 200, then the action was successful. ``` { \"code\": 200, //Response status code \"result\":{ //API method return data //... } } ``` Sometimes the response includes paging information to allow to browse larger result sets by adding offset and limit GET parameters to the request URL. ``` { \"code\": 200, //Response status code \"result\":[ { //Item 11 }, { //Item 12 } ] \"paging\": { \"total\": 12, //Total items available \"offset\": 10, //Items skipped from the beginning \"limit\": 20 //Number of items per page } } ``` ## Error response If the API call is not successful, then the response code is not in the 2xx range and the `result` attribute contains an error description. ``` { \"code\": 404, \"result\": \"Not Found\", \"error\": { \"reason\": \"NotFound\", \"message\": \"Not Found\" } } ``` In general, response codes in the 4xx range indicate an error that resulted from the provided information (e.g. a required parameter was missing, etc.), and codes in the 5xx range indicate an error with Printful's servers. ### Timestamps All timestamps from the API are returned as integers in UNIX timestamp format. ### Rate Limits Printful API has a general rate limit of 120 API calls per minute. Additionally, endpoints that perform resource intensive operations (such as mockup generator) have a lower allowed request limit. # Authentication <!-- ReDoc-Inject: <security-definitions> -->
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: devsupport@printful.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.0.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Printful
17
+ # Order costs (Printful prices)
18
+ class Costs
19
+ # 3 letter currency code
20
+ attr_accessor :currency
21
+
22
+ # Total cost of all items
23
+ attr_accessor :subtotal
24
+
25
+ # Discount sum
26
+ attr_accessor :discount
27
+
28
+ # Shipping costs
29
+ attr_accessor :shipping
30
+
31
+ # Digitization costs
32
+ attr_accessor :digitization
33
+
34
+ # Additional fee for custom product
35
+ attr_accessor :additional_fee
36
+
37
+ # Custom product fulfillment fee
38
+ attr_accessor :fulfillment_fee
39
+
40
+ # Retail delivery fee
41
+ attr_accessor :retail_delivery_fee
42
+
43
+ # Sum of taxes (not included in the item price)
44
+ attr_accessor :tax
45
+
46
+ # Sum of vat (not included in the item price)
47
+ attr_accessor :vat
48
+
49
+ # Grand Total (subtotal-discount+tax+vat+shipping)
50
+ attr_accessor :total
51
+
52
+ # Attribute mapping from ruby-style variable name to JSON key.
53
+ def self.attribute_map
54
+ {
55
+ :'currency' => :'currency',
56
+ :'subtotal' => :'subtotal',
57
+ :'discount' => :'discount',
58
+ :'shipping' => :'shipping',
59
+ :'digitization' => :'digitization',
60
+ :'additional_fee' => :'additional_fee',
61
+ :'fulfillment_fee' => :'fulfillment_fee',
62
+ :'retail_delivery_fee' => :'retail_delivery_fee',
63
+ :'tax' => :'tax',
64
+ :'vat' => :'vat',
65
+ :'total' => :'total'
66
+ }
67
+ end
68
+
69
+ # Returns all the JSON keys this model knows about
70
+ def self.acceptable_attributes
71
+ attribute_map.values
72
+ end
73
+
74
+ # Attribute type mapping.
75
+ def self.openapi_types
76
+ {
77
+ :'currency' => :'String',
78
+ :'subtotal' => :'String',
79
+ :'discount' => :'String',
80
+ :'shipping' => :'String',
81
+ :'digitization' => :'String',
82
+ :'additional_fee' => :'String',
83
+ :'fulfillment_fee' => :'String',
84
+ :'retail_delivery_fee' => :'String',
85
+ :'tax' => :'String',
86
+ :'vat' => :'String',
87
+ :'total' => :'String'
88
+ }
89
+ end
90
+
91
+ # List of attributes with nullable: true
92
+ def self.openapi_nullable
93
+ Set.new([
94
+ ])
95
+ end
96
+
97
+ # Initializes the object
98
+ # @param [Hash] attributes Model attributes in the form of hash
99
+ def initialize(attributes = {})
100
+ if (!attributes.is_a?(Hash))
101
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Printful::Costs` initialize method"
102
+ end
103
+
104
+ # check to see if the attribute exists and convert string to symbol for hash key
105
+ attributes = attributes.each_with_object({}) { |(k, v), h|
106
+ if (!self.class.attribute_map.key?(k.to_sym))
107
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Printful::Costs`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
108
+ end
109
+ h[k.to_sym] = v
110
+ }
111
+
112
+ if attributes.key?(:'currency')
113
+ self.currency = attributes[:'currency']
114
+ end
115
+
116
+ if attributes.key?(:'subtotal')
117
+ self.subtotal = attributes[:'subtotal']
118
+ end
119
+
120
+ if attributes.key?(:'discount')
121
+ self.discount = attributes[:'discount']
122
+ end
123
+
124
+ if attributes.key?(:'shipping')
125
+ self.shipping = attributes[:'shipping']
126
+ end
127
+
128
+ if attributes.key?(:'digitization')
129
+ self.digitization = attributes[:'digitization']
130
+ end
131
+
132
+ if attributes.key?(:'additional_fee')
133
+ self.additional_fee = attributes[:'additional_fee']
134
+ end
135
+
136
+ if attributes.key?(:'fulfillment_fee')
137
+ self.fulfillment_fee = attributes[:'fulfillment_fee']
138
+ end
139
+
140
+ if attributes.key?(:'retail_delivery_fee')
141
+ self.retail_delivery_fee = attributes[:'retail_delivery_fee']
142
+ end
143
+
144
+ if attributes.key?(:'tax')
145
+ self.tax = attributes[:'tax']
146
+ end
147
+
148
+ if attributes.key?(:'vat')
149
+ self.vat = attributes[:'vat']
150
+ end
151
+
152
+ if attributes.key?(:'total')
153
+ self.total = attributes[:'total']
154
+ end
155
+ end
156
+
157
+ # Show invalid properties with the reasons. Usually used together with valid?
158
+ # @return Array for valid properties with the reasons
159
+ def list_invalid_properties
160
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
161
+ invalid_properties = Array.new
162
+ invalid_properties
163
+ end
164
+
165
+ # Check to see if the all the properties in the model are valid
166
+ # @return true if the model is valid
167
+ def valid?
168
+ warn '[DEPRECATED] the `valid?` method is obsolete'
169
+ true
170
+ end
171
+
172
+ # Checks equality by comparing each attribute.
173
+ # @param [Object] Object to be compared
174
+ def ==(o)
175
+ return true if self.equal?(o)
176
+ self.class == o.class &&
177
+ currency == o.currency &&
178
+ subtotal == o.subtotal &&
179
+ discount == o.discount &&
180
+ shipping == o.shipping &&
181
+ digitization == o.digitization &&
182
+ additional_fee == o.additional_fee &&
183
+ fulfillment_fee == o.fulfillment_fee &&
184
+ retail_delivery_fee == o.retail_delivery_fee &&
185
+ tax == o.tax &&
186
+ vat == o.vat &&
187
+ total == o.total
188
+ end
189
+
190
+ # @see the `==` method
191
+ # @param [Object] Object to be compared
192
+ def eql?(o)
193
+ self == o
194
+ end
195
+
196
+ # Calculates hash code according to all attributes.
197
+ # @return [Integer] Hash code
198
+ def hash
199
+ [currency, subtotal, discount, shipping, digitization, additional_fee, fulfillment_fee, retail_delivery_fee, tax, vat, total].hash
200
+ end
201
+
202
+ # Builds the object from hash
203
+ # @param [Hash] attributes Model attributes in the form of hash
204
+ # @return [Object] Returns the model itself
205
+ def self.build_from_hash(attributes)
206
+ return nil unless attributes.is_a?(Hash)
207
+ attributes = attributes.transform_keys(&:to_sym)
208
+ transformed_hash = {}
209
+ openapi_types.each_pair do |key, type|
210
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
211
+ transformed_hash["#{key}"] = nil
212
+ elsif type =~ /\AArray<(.*)>/i
213
+ # check to ensure the input is an array given that the attribute
214
+ # is documented as an array but the input is not
215
+ if attributes[attribute_map[key]].is_a?(Array)
216
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
217
+ end
218
+ elsif !attributes[attribute_map[key]].nil?
219
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
220
+ end
221
+ end
222
+ new(transformed_hash)
223
+ end
224
+
225
+ # Deserializes the data based on type
226
+ # @param string type Data type
227
+ # @param string value Value to be deserialized
228
+ # @return [Object] Deserialized data
229
+ def self._deserialize(type, value)
230
+ case type.to_sym
231
+ when :Time
232
+ Time.parse(value)
233
+ when :Date
234
+ Date.parse(value)
235
+ when :String
236
+ value.to_s
237
+ when :Integer
238
+ value.to_i
239
+ when :Float
240
+ value.to_f
241
+ when :Boolean
242
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
243
+ true
244
+ else
245
+ false
246
+ end
247
+ when :Object
248
+ # generic object (usually a Hash), return directly
249
+ value
250
+ when /\AArray<(?<inner_type>.+)>\z/
251
+ inner_type = Regexp.last_match[:inner_type]
252
+ value.map { |v| _deserialize(inner_type, v) }
253
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
254
+ k_type = Regexp.last_match[:k_type]
255
+ v_type = Regexp.last_match[:v_type]
256
+ {}.tap do |hash|
257
+ value.each do |k, v|
258
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
259
+ end
260
+ end
261
+ else # model
262
+ # models (e.g. Pet) or oneOf
263
+ klass = Printful.const_get(type)
264
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
265
+ end
266
+ end
267
+
268
+ # Returns the string representation of the object
269
+ # @return [String] String presentation of the object
270
+ def to_s
271
+ to_hash.to_s
272
+ end
273
+
274
+ # to_body is an alias to to_hash (backward compatibility)
275
+ # @return [Hash] Returns the object in the form of hash
276
+ def to_body
277
+ to_hash
278
+ end
279
+
280
+ # Returns the object in the form of hash
281
+ # @return [Hash] Returns the object in the form of hash
282
+ def to_hash
283
+ hash = {}
284
+ self.class.attribute_map.each_pair do |attr, param|
285
+ value = self.send(attr)
286
+ if value.nil?
287
+ is_nullable = self.class.openapi_nullable.include?(attr)
288
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
289
+ end
290
+
291
+ hash[param] = _to_hash(value)
292
+ end
293
+ hash
294
+ end
295
+
296
+ # Outputs non-array value in the form of hash
297
+ # For object, use to_hash. Otherwise, just return the value
298
+ # @param [Object] value Any valid value
299
+ # @return [Hash] Returns the value in the form of hash
300
+ def _to_hash(value)
301
+ if value.is_a?(Array)
302
+ value.compact.map { |v| _to_hash(v) }
303
+ elsif value.is_a?(Hash)
304
+ {}.tap do |hash|
305
+ value.each { |k, v| hash[k] = _to_hash(v) }
306
+ end
307
+ elsif value.respond_to? :to_hash
308
+ value.to_hash
309
+ else
310
+ value
311
+ end
312
+ end
313
+
314
+ end
315
+
316
+ end