ship_engine 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (733) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +431 -0
  4. data/Rakefile +10 -0
  5. data/docs/AddFundsToCarrierRequestBody.md +16 -0
  6. data/docs/AddFundsToCarrierResponseBody.md +17 -0
  7. data/docs/AddFundsToInsuranceRequestBody.md +16 -0
  8. data/docs/AddFundsToInsuranceResponseBody.md +16 -0
  9. data/docs/AddToBatchRequestBody.md +16 -0
  10. data/docs/Address.md +16 -0
  11. data/docs/AddressResidentialIndicator.md +16 -0
  12. data/docs/AddressToValidate.md +16 -0
  13. data/docs/AddressValidatingShipment.md +61 -0
  14. data/docs/AddressValidationCode.md +16 -0
  15. data/docs/AddressValidationDetailCode.md +16 -0
  16. data/docs/AddressValidationMessageType.md +16 -0
  17. data/docs/AddressValidationResult.md +23 -0
  18. data/docs/AddressValidationStatus.md +16 -0
  19. data/docs/AddressesApi.md +118 -0
  20. data/docs/AdvancedShipmentOptions.md +47 -0
  21. data/docs/AncillaryServiceEndorsement.md +16 -0
  22. data/docs/Batch.md +51 -0
  23. data/docs/BatchResponseError.md +19 -0
  24. data/docs/BatchStatus.md +16 -0
  25. data/docs/BatchesApi.md +580 -0
  26. data/docs/BatchesSortBy.md +16 -0
  27. data/docs/BillToParty.md +16 -0
  28. data/docs/BulkRate.md +25 -0
  29. data/docs/CalculateRatesRequestBody.md +16 -0
  30. data/docs/CalculateRatesResponseBody.md +61 -0
  31. data/docs/Carrier.md +41 -0
  32. data/docs/CarrierAccountsApi.md +238 -0
  33. data/docs/CarrierAdvancedOption.md +21 -0
  34. data/docs/CarrierName.md +16 -0
  35. data/docs/CarrierNameWithSettings.md +16 -0
  36. data/docs/CarriersApi.md +336 -0
  37. data/docs/CollectOnDelivery.md +19 -0
  38. data/docs/CollectOnDeliveryPaymentType.md +16 -0
  39. data/docs/CompareBulkRatesRequestBody.md +16 -0
  40. data/docs/ConnectAccessWorldwideRequestBody.md +21 -0
  41. data/docs/ConnectAmazonBuyShippingRequestBody.md +23 -0
  42. data/docs/ConnectApcRequestBody.md +21 -0
  43. data/docs/ConnectAsendiaRequestBody.md +23 -0
  44. data/docs/ConnectAustraliaPostRequestBody.md +23 -0
  45. data/docs/ConnectCanadaPostRequestBody.md +25 -0
  46. data/docs/ConnectCarrierRequestBody.md +113 -0
  47. data/docs/ConnectCarrierResponseBody.md +17 -0
  48. data/docs/ConnectDhlEcommerceRequestBody.md +39 -0
  49. data/docs/ConnectDhlExpressAuRequestBody.md +19 -0
  50. data/docs/ConnectDhlExpressCaRequestBody.md +19 -0
  51. data/docs/ConnectDhlExpressRequestBody.md +19 -0
  52. data/docs/ConnectDhlExpressUkRequestBody.md +23 -0
  53. data/docs/ConnectDpdRequestBody.md +21 -0
  54. data/docs/ConnectEndiciaRequestBody.md +21 -0
  55. data/docs/ConnectFedexRequestBody.md +45 -0
  56. data/docs/ConnectFedexUkRequestBody.md +45 -0
  57. data/docs/ConnectFirstmileRequestBody.md +23 -0
  58. data/docs/ConnectGlobegisticsRequestBody.md +21 -0
  59. data/docs/ConnectImexRequestBody.md +21 -0
  60. data/docs/ConnectInsurerRequestBody.md +19 -0
  61. data/docs/ConnectNewgisticsRequestBody.md +23 -0
  62. data/docs/ConnectOntracRequestBody.md +21 -0
  63. data/docs/ConnectPurolatorRequestBody.md +21 -0
  64. data/docs/ConnectRoyalMailRequestBody.md +39 -0
  65. data/docs/ConnectRrDonnelleyRequestBody.md +21 -0
  66. data/docs/ConnectSekoRequestBody.md +19 -0
  67. data/docs/ConnectSendleRequestBody.md +21 -0
  68. data/docs/ConnectStampsRequestBody.md +21 -0
  69. data/docs/ConnectUpsRequestBody.md +51 -0
  70. data/docs/CreateAndValidateShipment.md +63 -0
  71. data/docs/CreateBatchRequestBody.md +23 -0
  72. data/docs/CreateBatchResponseBody.md +16 -0
  73. data/docs/CreateLabelFromRateRequestBody.md +16 -0
  74. data/docs/CreateLabelFromRateResponseBody.md +16 -0
  75. data/docs/CreateLabelFromShipmentRequestBody.md +23 -0
  76. data/docs/CreateLabelFromShipmentResponseBody.md +16 -0
  77. data/docs/CreateLabelRequestBody.md +16 -0
  78. data/docs/CreateLabelResponseBody.md +16 -0
  79. data/docs/CreateManifestByObjectRequestBody.md +25 -0
  80. data/docs/CreateManifestLabelIdsRequestBody.md +17 -0
  81. data/docs/CreateManifestRequestBody.md +25 -0
  82. data/docs/CreateManifestResponseBody.md +35 -0
  83. data/docs/CreatePackageTypeRequestBody.md +16 -0
  84. data/docs/CreatePackageTypeResponseBody.md +16 -0
  85. data/docs/CreateReturnLabelRequestBody.md +25 -0
  86. data/docs/CreateReturnLabelResponseBody.md +16 -0
  87. data/docs/CreateShipmentResponseBodyFields.md +19 -0
  88. data/docs/CreateShipmentsRequestBody.md +17 -0
  89. data/docs/CreateShipmentsResponseBody.md +19 -0
  90. data/docs/CreateTagResponseBody.md +16 -0
  91. data/docs/CreateWarehouseRequestBody.md +16 -0
  92. data/docs/CreateWarehouseResponseBody.md +16 -0
  93. data/docs/CreateWebhookRequestBody.md +19 -0
  94. data/docs/CreateWebhookResponseBody.md +16 -0
  95. data/docs/Currency.md +16 -0
  96. data/docs/CustomsItem.md +33 -0
  97. data/docs/DeliveryConfirmation.md +16 -0
  98. data/docs/DeprecatedManifest.md +33 -0
  99. data/docs/DhlExpressAccountSettings.md +21 -0
  100. data/docs/DhlExpressSettingsResponseBody.md +16 -0
  101. data/docs/DimensionUnit.md +16 -0
  102. data/docs/Dimensions.md +23 -0
  103. data/docs/DownloadsApi.md +71 -0
  104. data/docs/Error.md +23 -0
  105. data/docs/ErrorCode.md +16 -0
  106. data/docs/ErrorResponseBody.md +19 -0
  107. data/docs/ErrorSource.md +16 -0
  108. data/docs/ErrorType.md +16 -0
  109. data/docs/EstimateRatesRequestBody.md +16 -0
  110. data/docs/FedexAccountSettings.md +25 -0
  111. data/docs/FedexAccountSettingsRequestBody.md +16 -0
  112. data/docs/FedexPickupType.md +16 -0
  113. data/docs/FedexSettingsResponseBody.md +16 -0
  114. data/docs/GetBatchByExternalIdResponseBody.md +16 -0
  115. data/docs/GetBatchByIdResponseBody.md +16 -0
  116. data/docs/GetCarrierByIdResponseBody.md +16 -0
  117. data/docs/GetCarrierOptionsResponseBody.md +17 -0
  118. data/docs/GetCarrierSettingsResponseBody.md +45 -0
  119. data/docs/GetCarriersResponseBody.md +21 -0
  120. data/docs/GetInsuranceBalanceResponseBody.md +16 -0
  121. data/docs/GetLabelByExternalShipmentIdResponseBody.md +16 -0
  122. data/docs/GetLabelByIdResponseBody.md +16 -0
  123. data/docs/GetManifestByIdResponseBody.md +16 -0
  124. data/docs/GetPackageTypeByIdResponseBody.md +16 -0
  125. data/docs/GetRateByIdResponseBody.md +16 -0
  126. data/docs/GetShipmentByExternalIdResponseBody.md +16 -0
  127. data/docs/GetShipmentByIdResponseBody.md +16 -0
  128. data/docs/GetTrackingLogFromLabelResponseBody.md +16 -0
  129. data/docs/GetTrackingLogResponseBody.md +16 -0
  130. data/docs/GetWarehouseByIdResponseBody.md +16 -0
  131. data/docs/GetWebhookByIdResponseBody.md +16 -0
  132. data/docs/InsuranceApi.md +220 -0
  133. data/docs/InsuranceProvider.md +16 -0
  134. data/docs/InternationalShipmentOptions.md +21 -0
  135. data/docs/Label.md +81 -0
  136. data/docs/LabelChargeEvent.md +16 -0
  137. data/docs/LabelDownload.md +23 -0
  138. data/docs/LabelDownloadType.md +16 -0
  139. data/docs/LabelFormat.md +16 -0
  140. data/docs/LabelLayout.md +16 -0
  141. data/docs/LabelMessages.md +21 -0
  142. data/docs/LabelStatus.md +16 -0
  143. data/docs/LabelsApi.md +545 -0
  144. data/docs/Link.md +16 -0
  145. data/docs/ListBatchErrorsResponseBody.md +19 -0
  146. data/docs/ListBatchesResponseBody.md +25 -0
  147. data/docs/ListCarrierPackageTypesResponseBody.md +17 -0
  148. data/docs/ListCarrierServicesResponseBody.md +17 -0
  149. data/docs/ListCarriersResponseBody.md +17 -0
  150. data/docs/ListLabelsResponseBody.md +17 -0
  151. data/docs/ListManifestsResponseBody.md +25 -0
  152. data/docs/ListPackageTypesResponseBody.md +17 -0
  153. data/docs/ListShipmentErrorsResponseBody.md +19 -0
  154. data/docs/ListShipmentRatesResponseBody.md +16 -0
  155. data/docs/ListShipmentsResponseBody.md +25 -0
  156. data/docs/ListTagsResponseBody.md +17 -0
  157. data/docs/ListWarehousesResponseBody.md +17 -0
  158. data/docs/Manifest.md +33 -0
  159. data/docs/ManifestDownload.md +17 -0
  160. data/docs/Manifests.md +17 -0
  161. data/docs/ManifestsApi.md +191 -0
  162. data/docs/ModifyBatch.md +19 -0
  163. data/docs/MonetaryValue.md +19 -0
  164. data/docs/NonDelivery.md +16 -0
  165. data/docs/OptionalLink.md +19 -0
  166. data/docs/OrderSourceName.md +16 -0
  167. data/docs/Package.md +29 -0
  168. data/docs/PackageContents.md +16 -0
  169. data/docs/PackageType.md +25 -0
  170. data/docs/PackageTypesApi.md +281 -0
  171. data/docs/PagedListResponseBody.md +23 -0
  172. data/docs/PaginationLink.md +23 -0
  173. data/docs/ParseAddressRequestBody.md +19 -0
  174. data/docs/ParseAddressResponseBody.md +21 -0
  175. data/docs/ParseShipmentRequestBody.md +20 -0
  176. data/docs/ParseShipmentResponseBody.md +21 -0
  177. data/docs/PartialAddress.md +37 -0
  178. data/docs/PartialShipment.md +59 -0
  179. data/docs/PaymentAmount.md +19 -0
  180. data/docs/ProcessBatchRequestBody.md +21 -0
  181. data/docs/PurchaseLabelWithoutShipment.md +23 -0
  182. data/docs/Rate.md +65 -0
  183. data/docs/RateEstimateByCarrierId.md +17 -0
  184. data/docs/RateEstimateByCarrierIds.md +17 -0
  185. data/docs/RateEstimateOptions.md +41 -0
  186. data/docs/RateRequestBody.md +25 -0
  187. data/docs/RateRequestByShipmentIds.md +17 -0
  188. data/docs/RateRequestByShipments.md +17 -0
  189. data/docs/RateRequestOptions.md +17 -0
  190. data/docs/RateRequestRateOptions.md +17 -0
  191. data/docs/RateResponse.md +17 -0
  192. data/docs/RateResponseStatus.md +16 -0
  193. data/docs/RateType.md +16 -0
  194. data/docs/RatesApi.md +228 -0
  195. data/docs/RatesInformation.md +29 -0
  196. data/docs/RecognizedEntity.md +27 -0
  197. data/docs/RemoveFromBatchRequestBody.md +16 -0
  198. data/docs/ResponseMessage.md +23 -0
  199. data/docs/Service.md +29 -0
  200. data/docs/Shipment.md +16 -0
  201. data/docs/ShipmentIdRequest.md +17 -0
  202. data/docs/ShipmentItem.md +33 -0
  203. data/docs/ShipmentRequest.md +17 -0
  204. data/docs/ShipmentResponseError.md +21 -0
  205. data/docs/ShipmentStatus.md +16 -0
  206. data/docs/ShipmentsApi.md +653 -0
  207. data/docs/ShipmentsSortBy.md +16 -0
  208. data/docs/SmartPostHub.md +16 -0
  209. data/docs/SortDir.md +16 -0
  210. data/docs/Tag.md +17 -0
  211. data/docs/TagShipmentResponseBody.md +19 -0
  212. data/docs/TagsApi.md +226 -0
  213. data/docs/TrackEvent.md +39 -0
  214. data/docs/TrackingApi.md +185 -0
  215. data/docs/TrackingInformation.md +35 -0
  216. data/docs/TrackingStatus.md +16 -0
  217. data/docs/UpdateAmazonBuyShippingRequestBody.md +17 -0
  218. data/docs/UpdateCarrierSettingsRequestBody.md +51 -0
  219. data/docs/UpdateDhlExpressSettingsRequestBody.md +16 -0
  220. data/docs/UpdateFedexSettingsRequestBody.md +16 -0
  221. data/docs/UpdateNewgisticsSettingsRequestBody.md +19 -0
  222. data/docs/UpdatePackageTypeRequestBody.md +16 -0
  223. data/docs/UpdateShipmentFields.md +17 -0
  224. data/docs/UpdateShipmentRequestBody.md +61 -0
  225. data/docs/UpdateShipmentResponseBody.md +16 -0
  226. data/docs/UpdateUpsSettingsRequestBody.md +16 -0
  227. data/docs/UpdateWarehouseRequestBody.md +16 -0
  228. data/docs/UpdateWebhookRequestBody.md +17 -0
  229. data/docs/UpsAccountSettings.md +39 -0
  230. data/docs/UpsInvoice.md +23 -0
  231. data/docs/UpsPickupType.md +16 -0
  232. data/docs/UpsSettingsResponseBody.md +16 -0
  233. data/docs/ValidateAddress.md +16 -0
  234. data/docs/ValidateShipmentFields.md +17 -0
  235. data/docs/ValidationStatus.md +16 -0
  236. data/docs/VoidLabelResponseBody.md +19 -0
  237. data/docs/Warehouse.md +25 -0
  238. data/docs/WarehousesApi.md +281 -0
  239. data/docs/Webhook.md +21 -0
  240. data/docs/WebhookEvent.md +16 -0
  241. data/docs/WebhooksApi.md +281 -0
  242. data/docs/Weight.md +19 -0
  243. data/docs/WeightUnit.md +16 -0
  244. data/git_push.sh +58 -0
  245. data/lib/openapi_client.rb +278 -0
  246. data/lib/openapi_client/api/addresses_api.rb +150 -0
  247. data/lib/openapi_client/api/batches_api.rb +790 -0
  248. data/lib/openapi_client/api/carrier_accounts_api.rb +343 -0
  249. data/lib/openapi_client/api/carriers_api.rb +461 -0
  250. data/lib/openapi_client/api/downloads_api.rb +99 -0
  251. data/lib/openapi_client/api/insurance_api.rb +262 -0
  252. data/lib/openapi_client/api/labels_api.rb +812 -0
  253. data/lib/openapi_client/api/manifests_api.rb +278 -0
  254. data/lib/openapi_client/api/package_types_api.rb +375 -0
  255. data/lib/openapi_client/api/rates_api.rb +289 -0
  256. data/lib/openapi_client/api/shipments_api.rb +899 -0
  257. data/lib/openapi_client/api/tags_api.rb +286 -0
  258. data/lib/openapi_client/api/tracking_api.rb +232 -0
  259. data/lib/openapi_client/api/warehouses_api.rb +375 -0
  260. data/lib/openapi_client/api/webhooks_api.rb +375 -0
  261. data/lib/openapi_client/api_client.rb +388 -0
  262. data/lib/openapi_client/api_error.rb +57 -0
  263. data/lib/openapi_client/configuration.rb +248 -0
  264. data/lib/openapi_client/models/add_funds_to_carrier_request_body.rb +209 -0
  265. data/lib/openapi_client/models/add_funds_to_carrier_response_body.rb +213 -0
  266. data/lib/openapi_client/models/add_funds_to_insurance_request_body.rb +209 -0
  267. data/lib/openapi_client/models/add_funds_to_insurance_response_body.rb +209 -0
  268. data/lib/openapi_client/models/add_to_batch_request_body.rb +209 -0
  269. data/lib/openapi_client/models/address.rb +209 -0
  270. data/lib/openapi_client/models/address_residential_indicator.rb +37 -0
  271. data/lib/openapi_client/models/address_to_validate.rb +209 -0
  272. data/lib/openapi_client/models/address_validating_shipment.rb +484 -0
  273. data/lib/openapi_client/models/address_validation_code.rb +47 -0
  274. data/lib/openapi_client/models/address_validation_detail_code.rb +92 -0
  275. data/lib/openapi_client/models/address_validation_message_type.rb +37 -0
  276. data/lib/openapi_client/models/address_validation_result.rb +259 -0
  277. data/lib/openapi_client/models/address_validation_status.rb +38 -0
  278. data/lib/openapi_client/models/advanced_shipment_options.rb +434 -0
  279. data/lib/openapi_client/models/ancillary_service_endorsement.rb +40 -0
  280. data/lib/openapi_client/models/batch.rb +566 -0
  281. data/lib/openapi_client/models/batch_response_error.rb +233 -0
  282. data/lib/openapi_client/models/batch_status.rb +42 -0
  283. data/lib/openapi_client/models/batches_sort_by.rb +36 -0
  284. data/lib/openapi_client/models/bill_to_party.rb +36 -0
  285. data/lib/openapi_client/models/bulk_rate.rb +273 -0
  286. data/lib/openapi_client/models/calculate_rates_request_body.rb +225 -0
  287. data/lib/openapi_client/models/calculate_rates_response_body.rb +525 -0
  288. data/lib/openapi_client/models/carrier.rb +394 -0
  289. data/lib/openapi_client/models/carrier_advanced_option.rb +273 -0
  290. data/lib/openapi_client/models/carrier_name.rb +61 -0
  291. data/lib/openapi_client/models/carrier_name_with_settings.rb +38 -0
  292. data/lib/openapi_client/models/collect_on_delivery.rb +216 -0
  293. data/lib/openapi_client/models/collect_on_delivery_payment_type.rb +38 -0
  294. data/lib/openapi_client/models/compare_bulk_rates_request_body.rb +225 -0
  295. data/lib/openapi_client/models/connect_access_worldwide_request_body.rb +300 -0
  296. data/lib/openapi_client/models/connect_amazon_buy_shipping_request_body.rb +312 -0
  297. data/lib/openapi_client/models/connect_apc_request_body.rb +300 -0
  298. data/lib/openapi_client/models/connect_asendia_request_body.rb +334 -0
  299. data/lib/openapi_client/models/connect_australia_post_request_body.rb +334 -0
  300. data/lib/openapi_client/models/connect_canada_post_request_body.rb +368 -0
  301. data/lib/openapi_client/models/connect_carrier_request_body.rb +1661 -0
  302. data/lib/openapi_client/models/connect_carrier_response_body.rb +213 -0
  303. data/lib/openapi_client/models/connect_dhl_ecommerce_request_body.rb +536 -0
  304. data/lib/openapi_client/models/connect_dhl_express_au_request_body.rb +266 -0
  305. data/lib/openapi_client/models/connect_dhl_express_ca_request_body.rb +266 -0
  306. data/lib/openapi_client/models/connect_dhl_express_request_body.rb +266 -0
  307. data/lib/openapi_client/models/connect_dhl_express_uk_request_body.rb +315 -0
  308. data/lib/openapi_client/models/connect_dpd_request_body.rb +300 -0
  309. data/lib/openapi_client/models/connect_endicia_request_body.rb +300 -0
  310. data/lib/openapi_client/models/connect_fedex_request_body.rb +643 -0
  311. data/lib/openapi_client/models/connect_fedex_uk_request_body.rb +643 -0
  312. data/lib/openapi_client/models/connect_firstmile_request_body.rb +306 -0
  313. data/lib/openapi_client/models/connect_globegistics_request_body.rb +300 -0
  314. data/lib/openapi_client/models/connect_imex_request_body.rb +300 -0
  315. data/lib/openapi_client/models/connect_insurer_request_body.rb +245 -0
  316. data/lib/openapi_client/models/connect_newgistics_request_body.rb +316 -0
  317. data/lib/openapi_client/models/connect_ontrac_request_body.rb +300 -0
  318. data/lib/openapi_client/models/connect_purolator_request_body.rb +300 -0
  319. data/lib/openapi_client/models/connect_royal_mail_request_body.rb +513 -0
  320. data/lib/openapi_client/models/connect_rr_donnelley_request_body.rb +300 -0
  321. data/lib/openapi_client/models/connect_seko_request_body.rb +266 -0
  322. data/lib/openapi_client/models/connect_sendle_request_body.rb +281 -0
  323. data/lib/openapi_client/models/connect_stamps_request_body.rb +300 -0
  324. data/lib/openapi_client/models/connect_ups_request_body.rb +730 -0
  325. data/lib/openapi_client/models/create_and_validate_shipment.rb +472 -0
  326. data/lib/openapi_client/models/create_batch_request_body.rb +257 -0
  327. data/lib/openapi_client/models/create_batch_response_body.rb +209 -0
  328. data/lib/openapi_client/models/create_label_from_rate_request_body.rb +209 -0
  329. data/lib/openapi_client/models/create_label_from_rate_response_body.rb +209 -0
  330. data/lib/openapi_client/models/create_label_from_shipment_request_body.rb +234 -0
  331. data/lib/openapi_client/models/create_label_from_shipment_response_body.rb +209 -0
  332. data/lib/openapi_client/models/create_label_request_body.rb +209 -0
  333. data/lib/openapi_client/models/create_label_response_body.rb +209 -0
  334. data/lib/openapi_client/models/create_manifest_by_object_request_body.rb +267 -0
  335. data/lib/openapi_client/models/create_manifest_label_ids_request_body.rb +215 -0
  336. data/lib/openapi_client/models/create_manifest_request_body.rb +295 -0
  337. data/lib/openapi_client/models/create_manifest_response_body.rb +389 -0
  338. data/lib/openapi_client/models/create_package_type_request_body.rb +209 -0
  339. data/lib/openapi_client/models/create_package_type_response_body.rb +209 -0
  340. data/lib/openapi_client/models/create_return_label_request_body.rb +248 -0
  341. data/lib/openapi_client/models/create_return_label_response_body.rb +209 -0
  342. data/lib/openapi_client/models/create_shipment_response_body_fields.rb +219 -0
  343. data/lib/openapi_client/models/create_shipments_request_body.rb +215 -0
  344. data/lib/openapi_client/models/create_shipments_response_body.rb +232 -0
  345. data/lib/openapi_client/models/create_tag_response_body.rb +209 -0
  346. data/lib/openapi_client/models/create_warehouse_request_body.rb +209 -0
  347. data/lib/openapi_client/models/create_warehouse_response_body.rb +209 -0
  348. data/lib/openapi_client/models/create_webhook_request_body.rb +227 -0
  349. data/lib/openapi_client/models/create_webhook_response_body.rb +209 -0
  350. data/lib/openapi_client/models/currency.rb +40 -0
  351. data/lib/openapi_client/models/customs_item.rb +334 -0
  352. data/lib/openapi_client/models/delivery_confirmation.rb +40 -0
  353. data/lib/openapi_client/models/deprecated_manifest.rb +317 -0
  354. data/lib/openapi_client/models/dhl_express_account_settings.rb +243 -0
  355. data/lib/openapi_client/models/dhl_express_settings_response_body.rb +209 -0
  356. data/lib/openapi_client/models/dimension_unit.rb +36 -0
  357. data/lib/openapi_client/models/dimensions.rb +320 -0
  358. data/lib/openapi_client/models/error.rb +274 -0
  359. data/lib/openapi_client/models/error_code.rb +71 -0
  360. data/lib/openapi_client/models/error_response_body.rb +230 -0
  361. data/lib/openapi_client/models/error_source.rb +37 -0
  362. data/lib/openapi_client/models/error_type.rb +40 -0
  363. data/lib/openapi_client/models/estimate_rates_request_body.rb +225 -0
  364. data/lib/openapi_client/models/fedex_account_settings.rb +259 -0
  365. data/lib/openapi_client/models/fedex_account_settings_request_body.rb +209 -0
  366. data/lib/openapi_client/models/fedex_pickup_type.rb +40 -0
  367. data/lib/openapi_client/models/fedex_settings_response_body.rb +209 -0
  368. data/lib/openapi_client/models/get_batch_by_external_id_response_body.rb +209 -0
  369. data/lib/openapi_client/models/get_batch_by_id_response_body.rb +209 -0
  370. data/lib/openapi_client/models/get_carrier_by_id_response_body.rb +209 -0
  371. data/lib/openapi_client/models/get_carrier_options_response_body.rb +210 -0
  372. data/lib/openapi_client/models/get_carrier_settings_response_body.rb +413 -0
  373. data/lib/openapi_client/models/get_carriers_response_body.rb +254 -0
  374. data/lib/openapi_client/models/get_insurance_balance_response_body.rb +209 -0
  375. data/lib/openapi_client/models/get_label_by_external_shipment_id_response_body.rb +209 -0
  376. data/lib/openapi_client/models/get_label_by_id_response_body.rb +209 -0
  377. data/lib/openapi_client/models/get_manifest_by_id_response_body.rb +209 -0
  378. data/lib/openapi_client/models/get_package_type_by_id_response_body.rb +209 -0
  379. data/lib/openapi_client/models/get_rate_by_id_response_body.rb +209 -0
  380. data/lib/openapi_client/models/get_shipment_by_external_id_response_body.rb +209 -0
  381. data/lib/openapi_client/models/get_shipment_by_id_response_body.rb +209 -0
  382. data/lib/openapi_client/models/get_tracking_log_from_label_response_body.rb +209 -0
  383. data/lib/openapi_client/models/get_tracking_log_response_body.rb +209 -0
  384. data/lib/openapi_client/models/get_warehouse_by_id_response_body.rb +209 -0
  385. data/lib/openapi_client/models/get_webhook_by_id_response_body.rb +209 -0
  386. data/lib/openapi_client/models/insurance_provider.rb +38 -0
  387. data/lib/openapi_client/models/international_shipment_options.rb +240 -0
  388. data/lib/openapi_client/models/label.rb +548 -0
  389. data/lib/openapi_client/models/label_charge_event.rb +37 -0
  390. data/lib/openapi_client/models/label_download.rb +238 -0
  391. data/lib/openapi_client/models/label_download_type.rb +36 -0
  392. data/lib/openapi_client/models/label_format.rb +37 -0
  393. data/lib/openapi_client/models/label_layout.rb +36 -0
  394. data/lib/openapi_client/models/label_messages.rb +237 -0
  395. data/lib/openapi_client/models/label_status.rb +38 -0
  396. data/lib/openapi_client/models/link.rb +209 -0
  397. data/lib/openapi_client/models/list_batch_errors_response_body.rb +229 -0
  398. data/lib/openapi_client/models/list_batches_response_body.rb +331 -0
  399. data/lib/openapi_client/models/list_carrier_package_types_response_body.rb +210 -0
  400. data/lib/openapi_client/models/list_carrier_services_response_body.rb +210 -0
  401. data/lib/openapi_client/models/list_carriers_response_body.rb +215 -0
  402. data/lib/openapi_client/models/list_labels_response_body.rb +226 -0
  403. data/lib/openapi_client/models/list_manifests_response_body.rb +332 -0
  404. data/lib/openapi_client/models/list_package_types_response_body.rb +210 -0
  405. data/lib/openapi_client/models/list_shipment_errors_response_body.rb +229 -0
  406. data/lib/openapi_client/models/list_shipment_rates_response_body.rb +209 -0
  407. data/lib/openapi_client/models/list_shipments_response_body.rb +329 -0
  408. data/lib/openapi_client/models/list_tags_response_body.rb +210 -0
  409. data/lib/openapi_client/models/list_warehouses_response_body.rb +215 -0
  410. data/lib/openapi_client/models/manifest.rb +317 -0
  411. data/lib/openapi_client/models/manifest_download.rb +208 -0
  412. data/lib/openapi_client/models/manifests.rb +209 -0
  413. data/lib/openapi_client/models/modify_batch.rb +222 -0
  414. data/lib/openapi_client/models/monetary_value.rb +246 -0
  415. data/lib/openapi_client/models/non_delivery.rb +36 -0
  416. data/lib/openapi_client/models/optional_link.rb +233 -0
  417. data/lib/openapi_client/models/order_source_name.rb +54 -0
  418. data/lib/openapi_client/models/package.rb +287 -0
  419. data/lib/openapi_client/models/package_contents.rb +39 -0
  420. data/lib/openapi_client/models/package_type.rb +276 -0
  421. data/lib/openapi_client/models/paged_list_response_body.rb +314 -0
  422. data/lib/openapi_client/models/pagination_link.rb +258 -0
  423. data/lib/openapi_client/models/parse_address_request_body.rb +242 -0
  424. data/lib/openapi_client/models/parse_address_response_body.rb +273 -0
  425. data/lib/openapi_client/models/parse_shipment_request_body.rb +242 -0
  426. data/lib/openapi_client/models/parse_shipment_response_body.rb +273 -0
  427. data/lib/openapi_client/models/partial_address.rb +432 -0
  428. data/lib/openapi_client/models/partial_shipment.rb +442 -0
  429. data/lib/openapi_client/models/payment_amount.rb +230 -0
  430. data/lib/openapi_client/models/process_batch_request_body.rb +228 -0
  431. data/lib/openapi_client/models/purchase_label_without_shipment.rb +234 -0
  432. data/lib/openapi_client/models/rate.rb +696 -0
  433. data/lib/openapi_client/models/rate_estimate_by_carrier_id.rb +207 -0
  434. data/lib/openapi_client/models/rate_estimate_by_carrier_ids.rb +209 -0
  435. data/lib/openapi_client/models/rate_estimate_options.rb +381 -0
  436. data/lib/openapi_client/models/rate_request_body.rb +256 -0
  437. data/lib/openapi_client/models/rate_request_by_shipment_ids.rb +214 -0
  438. data/lib/openapi_client/models/rate_request_by_shipments.rb +214 -0
  439. data/lib/openapi_client/models/rate_request_options.rb +207 -0
  440. data/lib/openapi_client/models/rate_request_rate_options.rb +207 -0
  441. data/lib/openapi_client/models/rate_response.rb +207 -0
  442. data/lib/openapi_client/models/rate_response_status.rb +38 -0
  443. data/lib/openapi_client/models/rate_type.rb +36 -0
  444. data/lib/openapi_client/models/rates_information.rb +272 -0
  445. data/lib/openapi_client/models/recognized_entity.rb +389 -0
  446. data/lib/openapi_client/models/remove_from_batch_request_body.rb +209 -0
  447. data/lib/openapi_client/models/response_message.rb +251 -0
  448. data/lib/openapi_client/models/service.rb +297 -0
  449. data/lib/openapi_client/models/shipment.rb +209 -0
  450. data/lib/openapi_client/models/shipment_id_request.rb +207 -0
  451. data/lib/openapi_client/models/shipment_item.rb +347 -0
  452. data/lib/openapi_client/models/shipment_request.rb +207 -0
  453. data/lib/openapi_client/models/shipment_response_error.rb +257 -0
  454. data/lib/openapi_client/models/shipment_status.rb +38 -0
  455. data/lib/openapi_client/models/shipments_sort_by.rb +36 -0
  456. data/lib/openapi_client/models/smart_post_hub.rb +68 -0
  457. data/lib/openapi_client/models/sort_dir.rb +36 -0
  458. data/lib/openapi_client/models/tag.rb +232 -0
  459. data/lib/openapi_client/models/tag_shipment_response_body.rb +228 -0
  460. data/lib/openapi_client/models/track_event.rb +502 -0
  461. data/lib/openapi_client/models/tracking_information.rb +371 -0
  462. data/lib/openapi_client/models/tracking_status.rb +38 -0
  463. data/lib/openapi_client/models/update_amazon_buy_shipping_request_body.rb +223 -0
  464. data/lib/openapi_client/models/update_carrier_settings_request_body.rb +458 -0
  465. data/lib/openapi_client/models/update_dhl_express_settings_request_body.rb +209 -0
  466. data/lib/openapi_client/models/update_fedex_settings_request_body.rb +209 -0
  467. data/lib/openapi_client/models/update_newgistics_settings_request_body.rb +216 -0
  468. data/lib/openapi_client/models/update_package_type_request_body.rb +209 -0
  469. data/lib/openapi_client/models/update_shipment_fields.rb +206 -0
  470. data/lib/openapi_client/models/update_shipment_request_body.rb +469 -0
  471. data/lib/openapi_client/models/update_shipment_response_body.rb +209 -0
  472. data/lib/openapi_client/models/update_ups_settings_request_body.rb +209 -0
  473. data/lib/openapi_client/models/update_warehouse_request_body.rb +209 -0
  474. data/lib/openapi_client/models/update_webhook_request_body.rb +208 -0
  475. data/lib/openapi_client/models/ups_account_settings.rb +361 -0
  476. data/lib/openapi_client/models/ups_invoice.rb +267 -0
  477. data/lib/openapi_client/models/ups_pickup_type.rb +37 -0
  478. data/lib/openapi_client/models/ups_settings_response_body.rb +209 -0
  479. data/lib/openapi_client/models/validate_address.rb +37 -0
  480. data/lib/openapi_client/models/validate_shipment_fields.rb +206 -0
  481. data/lib/openapi_client/models/validation_status.rb +38 -0
  482. data/lib/openapi_client/models/void_label_response_body.rb +246 -0
  483. data/lib/openapi_client/models/warehouse.rb +263 -0
  484. data/lib/openapi_client/models/webhook.rb +227 -0
  485. data/lib/openapi_client/models/webhook_event.rb +41 -0
  486. data/lib/openapi_client/models/weight.rb +246 -0
  487. data/lib/openapi_client/models/weight_unit.rb +38 -0
  488. data/lib/openapi_client/version.rb +15 -0
  489. data/openapi_client-1.0.0.gem +0 -0
  490. data/ship_engine.gemspec +39 -0
  491. data/spec/api/addresses_api_spec.rb +59 -0
  492. data/spec/api/batches_api_spec.rb +164 -0
  493. data/spec/api/carrier_accounts_api_spec.rb +88 -0
  494. data/spec/api/carriers_api_spec.rb +107 -0
  495. data/spec/api/downloads_api_spec.rb +50 -0
  496. data/spec/api/insurance_api_spec.rb +81 -0
  497. data/spec/api/labels_api_spec.rb +161 -0
  498. data/spec/api/manifests_api_spec.rb +79 -0
  499. data/spec/api/package_types_api_spec.rb +95 -0
  500. data/spec/api/rates_api_spec.rb +83 -0
  501. data/spec/api/shipments_api_spec.rb +184 -0
  502. data/spec/api/tags_api_spec.rb +83 -0
  503. data/spec/api/tracking_api_spec.rb +74 -0
  504. data/spec/api/warehouses_api_spec.rb +95 -0
  505. data/spec/api/webhooks_api_spec.rb +95 -0
  506. data/spec/api_client_spec.rb +226 -0
  507. data/spec/configuration_spec.rb +42 -0
  508. data/spec/models/add_funds_to_carrier_request_body_spec.rb +35 -0
  509. data/spec/models/add_funds_to_carrier_response_body_spec.rb +41 -0
  510. data/spec/models/add_funds_to_insurance_request_body_spec.rb +35 -0
  511. data/spec/models/add_funds_to_insurance_response_body_spec.rb +35 -0
  512. data/spec/models/add_to_batch_request_body_spec.rb +35 -0
  513. data/spec/models/address_residential_indicator_spec.rb +35 -0
  514. data/spec/models/address_spec.rb +35 -0
  515. data/spec/models/address_to_validate_spec.rb +35 -0
  516. data/spec/models/address_validating_shipment_spec.rb +173 -0
  517. data/spec/models/address_validation_code_spec.rb +35 -0
  518. data/spec/models/address_validation_detail_code_spec.rb +35 -0
  519. data/spec/models/address_validation_message_type_spec.rb +35 -0
  520. data/spec/models/address_validation_result_spec.rb +59 -0
  521. data/spec/models/address_validation_status_spec.rb +35 -0
  522. data/spec/models/advanced_shipment_options_spec.rb +131 -0
  523. data/spec/models/ancillary_service_endorsement_spec.rb +35 -0
  524. data/spec/models/batch_response_error_spec.rb +47 -0
  525. data/spec/models/batch_spec.rb +143 -0
  526. data/spec/models/batch_status_spec.rb +35 -0
  527. data/spec/models/batches_sort_by_spec.rb +35 -0
  528. data/spec/models/bill_to_party_spec.rb +35 -0
  529. data/spec/models/bulk_rate_spec.rb +65 -0
  530. data/spec/models/calculate_rates_request_body_spec.rb +35 -0
  531. data/spec/models/calculate_rates_response_body_spec.rb +173 -0
  532. data/spec/models/carrier_advanced_option_spec.rb +53 -0
  533. data/spec/models/carrier_name_spec.rb +35 -0
  534. data/spec/models/carrier_name_with_settings_spec.rb +35 -0
  535. data/spec/models/carrier_spec.rb +113 -0
  536. data/spec/models/collect_on_delivery_payment_type_spec.rb +35 -0
  537. data/spec/models/collect_on_delivery_spec.rb +47 -0
  538. data/spec/models/compare_bulk_rates_request_body_spec.rb +35 -0
  539. data/spec/models/connect_access_worldwide_request_body_spec.rb +53 -0
  540. data/spec/models/connect_amazon_buy_shipping_request_body_spec.rb +59 -0
  541. data/spec/models/connect_apc_request_body_spec.rb +53 -0
  542. data/spec/models/connect_asendia_request_body_spec.rb +59 -0
  543. data/spec/models/connect_australia_post_request_body_spec.rb +59 -0
  544. data/spec/models/connect_canada_post_request_body_spec.rb +65 -0
  545. data/spec/models/connect_carrier_request_body_spec.rb +329 -0
  546. data/spec/models/connect_carrier_response_body_spec.rb +41 -0
  547. data/spec/models/connect_dhl_ecommerce_request_body_spec.rb +107 -0
  548. data/spec/models/connect_dhl_express_au_request_body_spec.rb +47 -0
  549. data/spec/models/connect_dhl_express_ca_request_body_spec.rb +47 -0
  550. data/spec/models/connect_dhl_express_request_body_spec.rb +47 -0
  551. data/spec/models/connect_dhl_express_uk_request_body_spec.rb +59 -0
  552. data/spec/models/connect_dpd_request_body_spec.rb +53 -0
  553. data/spec/models/connect_endicia_request_body_spec.rb +53 -0
  554. data/spec/models/connect_fedex_request_body_spec.rb +125 -0
  555. data/spec/models/connect_fedex_uk_request_body_spec.rb +125 -0
  556. data/spec/models/connect_firstmile_request_body_spec.rb +59 -0
  557. data/spec/models/connect_globegistics_request_body_spec.rb +53 -0
  558. data/spec/models/connect_imex_request_body_spec.rb +53 -0
  559. data/spec/models/connect_insurer_request_body_spec.rb +47 -0
  560. data/spec/models/connect_newgistics_request_body_spec.rb +59 -0
  561. data/spec/models/connect_ontrac_request_body_spec.rb +53 -0
  562. data/spec/models/connect_purolator_request_body_spec.rb +53 -0
  563. data/spec/models/connect_royal_mail_request_body_spec.rb +107 -0
  564. data/spec/models/connect_rr_donnelley_request_body_spec.rb +53 -0
  565. data/spec/models/connect_seko_request_body_spec.rb +47 -0
  566. data/spec/models/connect_sendle_request_body_spec.rb +53 -0
  567. data/spec/models/connect_stamps_request_body_spec.rb +53 -0
  568. data/spec/models/connect_ups_request_body_spec.rb +143 -0
  569. data/spec/models/create_and_validate_shipment_spec.rb +179 -0
  570. data/spec/models/create_batch_request_body_spec.rb +59 -0
  571. data/spec/models/create_batch_response_body_spec.rb +35 -0
  572. data/spec/models/create_label_from_rate_request_body_spec.rb +35 -0
  573. data/spec/models/create_label_from_rate_response_body_spec.rb +35 -0
  574. data/spec/models/create_label_from_shipment_request_body_spec.rb +59 -0
  575. data/spec/models/create_label_from_shipment_response_body_spec.rb +35 -0
  576. data/spec/models/create_label_request_body_spec.rb +35 -0
  577. data/spec/models/create_label_response_body_spec.rb +35 -0
  578. data/spec/models/create_manifest_by_object_request_body_spec.rb +65 -0
  579. data/spec/models/create_manifest_label_ids_request_body_spec.rb +41 -0
  580. data/spec/models/create_manifest_request_body_spec.rb +65 -0
  581. data/spec/models/create_manifest_response_body_spec.rb +95 -0
  582. data/spec/models/create_package_type_request_body_spec.rb +35 -0
  583. data/spec/models/create_package_type_response_body_spec.rb +35 -0
  584. data/spec/models/create_return_label_request_body_spec.rb +65 -0
  585. data/spec/models/create_return_label_response_body_spec.rb +35 -0
  586. data/spec/models/create_shipment_response_body_fields_spec.rb +47 -0
  587. data/spec/models/create_shipments_request_body_spec.rb +41 -0
  588. data/spec/models/create_shipments_response_body_spec.rb +47 -0
  589. data/spec/models/create_tag_response_body_spec.rb +35 -0
  590. data/spec/models/create_warehouse_request_body_spec.rb +35 -0
  591. data/spec/models/create_warehouse_response_body_spec.rb +35 -0
  592. data/spec/models/create_webhook_request_body_spec.rb +47 -0
  593. data/spec/models/create_webhook_response_body_spec.rb +35 -0
  594. data/spec/models/currency_spec.rb +35 -0
  595. data/spec/models/customs_item_spec.rb +89 -0
  596. data/spec/models/delivery_confirmation_spec.rb +35 -0
  597. data/spec/models/deprecated_manifest_spec.rb +89 -0
  598. data/spec/models/dhl_express_account_settings_spec.rb +53 -0
  599. data/spec/models/dhl_express_settings_response_body_spec.rb +35 -0
  600. data/spec/models/dimension_unit_spec.rb +35 -0
  601. data/spec/models/dimensions_spec.rb +59 -0
  602. data/spec/models/error_code_spec.rb +35 -0
  603. data/spec/models/error_response_body_spec.rb +47 -0
  604. data/spec/models/error_source_spec.rb +35 -0
  605. data/spec/models/error_spec.rb +59 -0
  606. data/spec/models/error_type_spec.rb +35 -0
  607. data/spec/models/estimate_rates_request_body_spec.rb +35 -0
  608. data/spec/models/fedex_account_settings_request_body_spec.rb +35 -0
  609. data/spec/models/fedex_account_settings_spec.rb +65 -0
  610. data/spec/models/fedex_pickup_type_spec.rb +35 -0
  611. data/spec/models/fedex_settings_response_body_spec.rb +35 -0
  612. data/spec/models/get_batch_by_external_id_response_body_spec.rb +35 -0
  613. data/spec/models/get_batch_by_id_response_body_spec.rb +35 -0
  614. data/spec/models/get_carrier_by_id_response_body_spec.rb +35 -0
  615. data/spec/models/get_carrier_options_response_body_spec.rb +41 -0
  616. data/spec/models/get_carrier_settings_response_body_spec.rb +125 -0
  617. data/spec/models/get_carriers_response_body_spec.rb +53 -0
  618. data/spec/models/get_insurance_balance_response_body_spec.rb +35 -0
  619. data/spec/models/get_label_by_external_shipment_id_response_body_spec.rb +35 -0
  620. data/spec/models/get_label_by_id_response_body_spec.rb +35 -0
  621. data/spec/models/get_manifest_by_id_response_body_spec.rb +35 -0
  622. data/spec/models/get_package_type_by_id_response_body_spec.rb +35 -0
  623. data/spec/models/get_rate_by_id_response_body_spec.rb +35 -0
  624. data/spec/models/get_shipment_by_external_id_response_body_spec.rb +35 -0
  625. data/spec/models/get_shipment_by_id_response_body_spec.rb +35 -0
  626. data/spec/models/get_tracking_log_from_label_response_body_spec.rb +35 -0
  627. data/spec/models/get_tracking_log_response_body_spec.rb +35 -0
  628. data/spec/models/get_warehouse_by_id_response_body_spec.rb +35 -0
  629. data/spec/models/get_webhook_by_id_response_body_spec.rb +35 -0
  630. data/spec/models/insurance_provider_spec.rb +35 -0
  631. data/spec/models/international_shipment_options_spec.rb +53 -0
  632. data/spec/models/label_charge_event_spec.rb +35 -0
  633. data/spec/models/label_download_spec.rb +59 -0
  634. data/spec/models/label_download_type_spec.rb +35 -0
  635. data/spec/models/label_format_spec.rb +35 -0
  636. data/spec/models/label_layout_spec.rb +35 -0
  637. data/spec/models/label_messages_spec.rb +53 -0
  638. data/spec/models/label_spec.rb +233 -0
  639. data/spec/models/label_status_spec.rb +35 -0
  640. data/spec/models/link_spec.rb +35 -0
  641. data/spec/models/list_batch_errors_response_body_spec.rb +47 -0
  642. data/spec/models/list_batches_response_body_spec.rb +65 -0
  643. data/spec/models/list_carrier_package_types_response_body_spec.rb +41 -0
  644. data/spec/models/list_carrier_services_response_body_spec.rb +41 -0
  645. data/spec/models/list_carriers_response_body_spec.rb +41 -0
  646. data/spec/models/list_labels_response_body_spec.rb +41 -0
  647. data/spec/models/list_manifests_response_body_spec.rb +65 -0
  648. data/spec/models/list_package_types_response_body_spec.rb +41 -0
  649. data/spec/models/list_shipment_errors_response_body_spec.rb +47 -0
  650. data/spec/models/list_shipment_rates_response_body_spec.rb +35 -0
  651. data/spec/models/list_shipments_response_body_spec.rb +65 -0
  652. data/spec/models/list_tags_response_body_spec.rb +41 -0
  653. data/spec/models/list_warehouses_response_body_spec.rb +41 -0
  654. data/spec/models/manifest_download_spec.rb +41 -0
  655. data/spec/models/manifest_spec.rb +89 -0
  656. data/spec/models/manifests_spec.rb +41 -0
  657. data/spec/models/modify_batch_spec.rb +47 -0
  658. data/spec/models/monetary_value_spec.rb +47 -0
  659. data/spec/models/non_delivery_spec.rb +35 -0
  660. data/spec/models/optional_link_spec.rb +47 -0
  661. data/spec/models/order_source_name_spec.rb +35 -0
  662. data/spec/models/package_contents_spec.rb +35 -0
  663. data/spec/models/package_spec.rb +77 -0
  664. data/spec/models/package_type_spec.rb +65 -0
  665. data/spec/models/paged_list_response_body_spec.rb +59 -0
  666. data/spec/models/pagination_link_spec.rb +59 -0
  667. data/spec/models/parse_address_request_body_spec.rb +47 -0
  668. data/spec/models/parse_address_response_body_spec.rb +53 -0
  669. data/spec/models/parse_shipment_request_body_spec.rb +47 -0
  670. data/spec/models/parse_shipment_response_body_spec.rb +53 -0
  671. data/spec/models/partial_address_spec.rb +101 -0
  672. data/spec/models/partial_shipment_spec.rb +167 -0
  673. data/spec/models/payment_amount_spec.rb +47 -0
  674. data/spec/models/process_batch_request_body_spec.rb +53 -0
  675. data/spec/models/purchase_label_without_shipment_spec.rb +59 -0
  676. data/spec/models/rate_estimate_by_carrier_id_spec.rb +41 -0
  677. data/spec/models/rate_estimate_by_carrier_ids_spec.rb +41 -0
  678. data/spec/models/rate_estimate_options_spec.rb +113 -0
  679. data/spec/models/rate_request_body_spec.rb +65 -0
  680. data/spec/models/rate_request_by_shipment_ids_spec.rb +41 -0
  681. data/spec/models/rate_request_by_shipments_spec.rb +41 -0
  682. data/spec/models/rate_request_options_spec.rb +41 -0
  683. data/spec/models/rate_request_rate_options_spec.rb +41 -0
  684. data/spec/models/rate_response_spec.rb +41 -0
  685. data/spec/models/rate_response_status_spec.rb +35 -0
  686. data/spec/models/rate_spec.rb +185 -0
  687. data/spec/models/rate_type_spec.rb +35 -0
  688. data/spec/models/rates_information_spec.rb +77 -0
  689. data/spec/models/recognized_entity_spec.rb +71 -0
  690. data/spec/models/remove_from_batch_request_body_spec.rb +35 -0
  691. data/spec/models/response_message_spec.rb +59 -0
  692. data/spec/models/service_spec.rb +77 -0
  693. data/spec/models/shipment_id_request_spec.rb +41 -0
  694. data/spec/models/shipment_item_spec.rb +89 -0
  695. data/spec/models/shipment_request_spec.rb +41 -0
  696. data/spec/models/shipment_response_error_spec.rb +53 -0
  697. data/spec/models/shipment_spec.rb +35 -0
  698. data/spec/models/shipment_status_spec.rb +35 -0
  699. data/spec/models/shipments_sort_by_spec.rb +35 -0
  700. data/spec/models/smart_post_hub_spec.rb +35 -0
  701. data/spec/models/sort_dir_spec.rb +35 -0
  702. data/spec/models/tag_shipment_response_body_spec.rb +47 -0
  703. data/spec/models/tag_spec.rb +41 -0
  704. data/spec/models/track_event_spec.rb +107 -0
  705. data/spec/models/tracking_information_spec.rb +95 -0
  706. data/spec/models/tracking_status_spec.rb +35 -0
  707. data/spec/models/update_amazon_buy_shipping_request_body_spec.rb +41 -0
  708. data/spec/models/update_carrier_settings_request_body_spec.rb +143 -0
  709. data/spec/models/update_dhl_express_settings_request_body_spec.rb +35 -0
  710. data/spec/models/update_fedex_settings_request_body_spec.rb +35 -0
  711. data/spec/models/update_newgistics_settings_request_body_spec.rb +47 -0
  712. data/spec/models/update_package_type_request_body_spec.rb +35 -0
  713. data/spec/models/update_shipment_fields_spec.rb +41 -0
  714. data/spec/models/update_shipment_request_body_spec.rb +173 -0
  715. data/spec/models/update_shipment_response_body_spec.rb +35 -0
  716. data/spec/models/update_ups_settings_request_body_spec.rb +35 -0
  717. data/spec/models/update_warehouse_request_body_spec.rb +35 -0
  718. data/spec/models/update_webhook_request_body_spec.rb +41 -0
  719. data/spec/models/ups_account_settings_spec.rb +107 -0
  720. data/spec/models/ups_invoice_spec.rb +59 -0
  721. data/spec/models/ups_pickup_type_spec.rb +35 -0
  722. data/spec/models/ups_settings_response_body_spec.rb +35 -0
  723. data/spec/models/validate_address_spec.rb +35 -0
  724. data/spec/models/validate_shipment_fields_spec.rb +41 -0
  725. data/spec/models/validation_status_spec.rb +35 -0
  726. data/spec/models/void_label_response_body_spec.rb +47 -0
  727. data/spec/models/warehouse_spec.rb +65 -0
  728. data/spec/models/webhook_event_spec.rb +35 -0
  729. data/spec/models/webhook_spec.rb +53 -0
  730. data/spec/models/weight_spec.rb +47 -0
  731. data/spec/models/weight_unit_spec.rb +35 -0
  732. data/spec/spec_helper.rb +111 -0
  733. metadata +1110 -0
@@ -0,0 +1,289 @@
1
+ =begin
2
+ #ShipEngine API
3
+
4
+ #ShipEngine's easy-to-use REST API lets you manage all of your shipping needs without worrying about the complexities of different carrier APIs and protocols. We handle all the heavy lifting so you can focus on providing a first-class shipping experience for your customers at the best possible prices. Each of ShipEngine's features can be used by itself or in conjunction with each other to build powerful shipping functionality into your application or service. ## Getting Started If you're new to REST APIs then be sure to read our [introduction to REST](https://www.shipengine.com/docs/rest/) to understand the basics. Learn how to [authenticate yourself to ShipEngine](https://www.shipengine.com/docs/auth/), and then use our [sandbox environment](https://www.shipengine.com/docs/sandbox/) to kick the tires and get familiar with our API. If you run into any problems, then be sure to check the [error handling guide](https://www.shipengine.com/docs/errors/) for tips. Here are some step-by-step **tutorials** to get you started: - [Learn how to create your first shipping label](https://www.shipengine.com/docs/labels/create-a-label/) - [Calculate shipping costs and compare rates across carriers](https://www.shipengine.com/docs/rates/) - [Track packages on-demand or in real time](https://www.shipengine.com/docs/tracking/) - [Validate mailing addresses anywhere on Earth](https://www.shipengine.com/docs/addresses/validation/) ## Shipping Labels for Every Major Carrier ShipEngine makes it easy to [create shipping labels for any carrier](https://www.shipengine.com/docs/labels/create-a-label/) and [download them](https://www.shipengine.com/docs/labels/downloading/) in a [variety of file formats](https://www.shipengine.com/docs/labels/formats/). You can even customize labels with your own [messages](https://www.shipengine.com/docs/labels/messages/) and [images](https://www.shipengine.com/docs/labels/branding/). ## Real-Time Package Tracking With ShipEngine you can [get the current status of a package](https://www.shipengine.com/docs/tracking/) or [subscribe to real-time tracking updates](https://www.shipengine.com/docs/tracking/webhooks/) via webhooks. You can also create [custimized tracking pages](https://www.shipengine.com/docs/tracking/branded-tracking-page/) with your own branding so your customers will always know where their package is. ## Compare Shipping Costs Across Carriers Make sure you ship as cost-effectively as possible by [comparing rates across carriers](https://www.shipengine.com/docs/rates/get-shipment-rates/) using the ShipEngine Rates API. Or if you don't know the full shipment details yet, then you can [get rate estimates](https://www.shipengine.com/docs/rates/estimate/) with limited address info. ## Worldwide Address Validation ShipEngine supports [address validation](https://www.shipengine.com/docs/addresses/validation/) for virtually [every country on Earth](https://www.shipengine.com/docs/addresses/validation/countries/), including the United States, Canada, Great Britain, Australia, Germany, France, Norway, Spain, Sweden, Israel, Italy, and over 160 others.
5
+
6
+ The version of the OpenAPI document: 1.1.202006302006
7
+ Contact: sales@shipengine.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module OpenapiClient
16
+ class RatesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get Shipping Rates
23
+ # It's not uncommon that you want to give your customer the choice between whether they want to ship the fastest, cheapest, or the most trusted route. Most companies don't solely ship things using a single shipping option; so we provide functionality to show you all your options!
24
+ # @param calculate_rates_request_body [CalculateRatesRequestBody]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [CalculateRatesResponseBody]
27
+ def calculate_rates(calculate_rates_request_body, opts = {})
28
+ data, _status_code, _headers = calculate_rates_with_http_info(calculate_rates_request_body, opts)
29
+ data
30
+ end
31
+
32
+ # Get Shipping Rates
33
+ # It's not uncommon that you want to give your customer the choice between whether they want to ship the fastest, cheapest, or the most trusted route. Most companies don't solely ship things using a single shipping option; so we provide functionality to show you all your options!
34
+ # @param calculate_rates_request_body [CalculateRatesRequestBody]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(CalculateRatesResponseBody, Integer, Hash)>] CalculateRatesResponseBody data, response status code and response headers
37
+ def calculate_rates_with_http_info(calculate_rates_request_body, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: RatesApi.calculate_rates ...'
40
+ end
41
+ # verify the required parameter 'calculate_rates_request_body' is set
42
+ if @api_client.config.client_side_validation && calculate_rates_request_body.nil?
43
+ fail ArgumentError, "Missing the required parameter 'calculate_rates_request_body' when calling RatesApi.calculate_rates"
44
+ end
45
+ # resource path
46
+ local_var_path = '/v1/rates'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
55
+ # HTTP header 'Content-Type'
56
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
57
+
58
+ # form parameters
59
+ form_params = opts[:form_params] || {}
60
+
61
+ # http body (model)
62
+ post_body = opts[:body] || @api_client.object_to_http_body(calculate_rates_request_body)
63
+
64
+ # return_type
65
+ return_type = opts[:return_type] || 'CalculateRatesResponseBody'
66
+
67
+ # auth_names
68
+ auth_names = opts[:auth_names] || ['api_key']
69
+
70
+ new_options = opts.merge(
71
+ :header_params => header_params,
72
+ :query_params => query_params,
73
+ :form_params => form_params,
74
+ :body => post_body,
75
+ :auth_names => auth_names,
76
+ :return_type => return_type
77
+ )
78
+
79
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
80
+ if @api_client.config.debugging
81
+ @api_client.config.logger.debug "API called: RatesApi#calculate_rates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
82
+ end
83
+ return data, status_code, headers
84
+ end
85
+
86
+ # Get Bulk Rates
87
+ # Get Bulk Shipment Rates
88
+ # @param compare_bulk_rates_request_body [CompareBulkRatesRequestBody]
89
+ # @param [Hash] opts the optional parameters
90
+ # @return [Array<BulkRate>]
91
+ def compare_bulk_rates(compare_bulk_rates_request_body, opts = {})
92
+ data, _status_code, _headers = compare_bulk_rates_with_http_info(compare_bulk_rates_request_body, opts)
93
+ data
94
+ end
95
+
96
+ # Get Bulk Rates
97
+ # Get Bulk Shipment Rates
98
+ # @param compare_bulk_rates_request_body [CompareBulkRatesRequestBody]
99
+ # @param [Hash] opts the optional parameters
100
+ # @return [Array<(Array<BulkRate>, Integer, Hash)>] Array<BulkRate> data, response status code and response headers
101
+ def compare_bulk_rates_with_http_info(compare_bulk_rates_request_body, opts = {})
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug 'Calling API: RatesApi.compare_bulk_rates ...'
104
+ end
105
+ # verify the required parameter 'compare_bulk_rates_request_body' is set
106
+ if @api_client.config.client_side_validation && compare_bulk_rates_request_body.nil?
107
+ fail ArgumentError, "Missing the required parameter 'compare_bulk_rates_request_body' when calling RatesApi.compare_bulk_rates"
108
+ end
109
+ # resource path
110
+ local_var_path = '/v1/rates/bulk'
111
+
112
+ # query parameters
113
+ query_params = opts[:query_params] || {}
114
+
115
+ # header parameters
116
+ header_params = opts[:header_params] || {}
117
+ # HTTP header 'Accept' (if needed)
118
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
119
+ # HTTP header 'Content-Type'
120
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
121
+
122
+ # form parameters
123
+ form_params = opts[:form_params] || {}
124
+
125
+ # http body (model)
126
+ post_body = opts[:body] || @api_client.object_to_http_body(compare_bulk_rates_request_body)
127
+
128
+ # return_type
129
+ return_type = opts[:return_type] || 'Array<BulkRate>'
130
+
131
+ # auth_names
132
+ auth_names = opts[:auth_names] || ['api_key']
133
+
134
+ new_options = opts.merge(
135
+ :header_params => header_params,
136
+ :query_params => query_params,
137
+ :form_params => form_params,
138
+ :body => post_body,
139
+ :auth_names => auth_names,
140
+ :return_type => return_type
141
+ )
142
+
143
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
144
+ if @api_client.config.debugging
145
+ @api_client.config.logger.debug "API called: RatesApi#compare_bulk_rates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
146
+ end
147
+ return data, status_code, headers
148
+ end
149
+
150
+ # Estimate Rates
151
+ # Get Rate Estimates
152
+ # @param estimate_rates_request_body [EstimateRatesRequestBody]
153
+ # @param [Hash] opts the optional parameters
154
+ # @return [Array<Rate>]
155
+ def estimate_rates(estimate_rates_request_body, opts = {})
156
+ data, _status_code, _headers = estimate_rates_with_http_info(estimate_rates_request_body, opts)
157
+ data
158
+ end
159
+
160
+ # Estimate Rates
161
+ # Get Rate Estimates
162
+ # @param estimate_rates_request_body [EstimateRatesRequestBody]
163
+ # @param [Hash] opts the optional parameters
164
+ # @return [Array<(Array<Rate>, Integer, Hash)>] Array<Rate> data, response status code and response headers
165
+ def estimate_rates_with_http_info(estimate_rates_request_body, opts = {})
166
+ if @api_client.config.debugging
167
+ @api_client.config.logger.debug 'Calling API: RatesApi.estimate_rates ...'
168
+ end
169
+ # verify the required parameter 'estimate_rates_request_body' is set
170
+ if @api_client.config.client_side_validation && estimate_rates_request_body.nil?
171
+ fail ArgumentError, "Missing the required parameter 'estimate_rates_request_body' when calling RatesApi.estimate_rates"
172
+ end
173
+ # resource path
174
+ local_var_path = '/v1/rates/estimate'
175
+
176
+ # query parameters
177
+ query_params = opts[:query_params] || {}
178
+
179
+ # header parameters
180
+ header_params = opts[:header_params] || {}
181
+ # HTTP header 'Accept' (if needed)
182
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
183
+ # HTTP header 'Content-Type'
184
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
185
+
186
+ # form parameters
187
+ form_params = opts[:form_params] || {}
188
+
189
+ # http body (model)
190
+ post_body = opts[:body] || @api_client.object_to_http_body(estimate_rates_request_body)
191
+
192
+ # return_type
193
+ return_type = opts[:return_type] || 'Array<Rate>'
194
+
195
+ # auth_names
196
+ auth_names = opts[:auth_names] || ['api_key']
197
+
198
+ new_options = opts.merge(
199
+ :header_params => header_params,
200
+ :query_params => query_params,
201
+ :form_params => form_params,
202
+ :body => post_body,
203
+ :auth_names => auth_names,
204
+ :return_type => return_type
205
+ )
206
+
207
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
208
+ if @api_client.config.debugging
209
+ @api_client.config.logger.debug "API called: RatesApi#estimate_rates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
210
+ end
211
+ return data, status_code, headers
212
+ end
213
+
214
+ # Get Rate By ID
215
+ # Retrieve a previously queried rate by its ID
216
+ # @param rate_id [String] Rate ID
217
+ # @param [Hash] opts the optional parameters
218
+ # @return [GetRateByIdResponseBody]
219
+ def get_rate_by_id(rate_id, opts = {})
220
+ data, _status_code, _headers = get_rate_by_id_with_http_info(rate_id, opts)
221
+ data
222
+ end
223
+
224
+ # Get Rate By ID
225
+ # Retrieve a previously queried rate by its ID
226
+ # @param rate_id [String] Rate ID
227
+ # @param [Hash] opts the optional parameters
228
+ # @return [Array<(GetRateByIdResponseBody, Integer, Hash)>] GetRateByIdResponseBody data, response status code and response headers
229
+ def get_rate_by_id_with_http_info(rate_id, opts = {})
230
+ if @api_client.config.debugging
231
+ @api_client.config.logger.debug 'Calling API: RatesApi.get_rate_by_id ...'
232
+ end
233
+ # verify the required parameter 'rate_id' is set
234
+ if @api_client.config.client_side_validation && rate_id.nil?
235
+ fail ArgumentError, "Missing the required parameter 'rate_id' when calling RatesApi.get_rate_by_id"
236
+ end
237
+ if @api_client.config.client_side_validation && rate_id.to_s.length > 25
238
+ fail ArgumentError, 'invalid value for "rate_id" when calling RatesApi.get_rate_by_id, the character length must be smaller than or equal to 25.'
239
+ end
240
+
241
+ if @api_client.config.client_side_validation && rate_id.to_s.length < 1
242
+ fail ArgumentError, 'invalid value for "rate_id" when calling RatesApi.get_rate_by_id, the character length must be great than or equal to 1.'
243
+ end
244
+
245
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
246
+ if @api_client.config.client_side_validation && rate_id !~ pattern
247
+ fail ArgumentError, "invalid value for 'rate_id' when calling RatesApi.get_rate_by_id, must conform to the pattern #{pattern}."
248
+ end
249
+
250
+ # resource path
251
+ local_var_path = '/v1/rates/{rate_id}'.sub('{' + 'rate_id' + '}', CGI.escape(rate_id.to_s))
252
+
253
+ # query parameters
254
+ query_params = opts[:query_params] || {}
255
+
256
+ # header parameters
257
+ header_params = opts[:header_params] || {}
258
+ # HTTP header 'Accept' (if needed)
259
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
260
+
261
+ # form parameters
262
+ form_params = opts[:form_params] || {}
263
+
264
+ # http body (model)
265
+ post_body = opts[:body]
266
+
267
+ # return_type
268
+ return_type = opts[:return_type] || 'GetRateByIdResponseBody'
269
+
270
+ # auth_names
271
+ auth_names = opts[:auth_names] || ['api_key']
272
+
273
+ new_options = opts.merge(
274
+ :header_params => header_params,
275
+ :query_params => query_params,
276
+ :form_params => form_params,
277
+ :body => post_body,
278
+ :auth_names => auth_names,
279
+ :return_type => return_type
280
+ )
281
+
282
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
283
+ if @api_client.config.debugging
284
+ @api_client.config.logger.debug "API called: RatesApi#get_rate_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
285
+ end
286
+ return data, status_code, headers
287
+ end
288
+ end
289
+ end
@@ -0,0 +1,899 @@
1
+ =begin
2
+ #ShipEngine API
3
+
4
+ #ShipEngine's easy-to-use REST API lets you manage all of your shipping needs without worrying about the complexities of different carrier APIs and protocols. We handle all the heavy lifting so you can focus on providing a first-class shipping experience for your customers at the best possible prices. Each of ShipEngine's features can be used by itself or in conjunction with each other to build powerful shipping functionality into your application or service. ## Getting Started If you're new to REST APIs then be sure to read our [introduction to REST](https://www.shipengine.com/docs/rest/) to understand the basics. Learn how to [authenticate yourself to ShipEngine](https://www.shipengine.com/docs/auth/), and then use our [sandbox environment](https://www.shipengine.com/docs/sandbox/) to kick the tires and get familiar with our API. If you run into any problems, then be sure to check the [error handling guide](https://www.shipengine.com/docs/errors/) for tips. Here are some step-by-step **tutorials** to get you started: - [Learn how to create your first shipping label](https://www.shipengine.com/docs/labels/create-a-label/) - [Calculate shipping costs and compare rates across carriers](https://www.shipengine.com/docs/rates/) - [Track packages on-demand or in real time](https://www.shipengine.com/docs/tracking/) - [Validate mailing addresses anywhere on Earth](https://www.shipengine.com/docs/addresses/validation/) ## Shipping Labels for Every Major Carrier ShipEngine makes it easy to [create shipping labels for any carrier](https://www.shipengine.com/docs/labels/create-a-label/) and [download them](https://www.shipengine.com/docs/labels/downloading/) in a [variety of file formats](https://www.shipengine.com/docs/labels/formats/). You can even customize labels with your own [messages](https://www.shipengine.com/docs/labels/messages/) and [images](https://www.shipengine.com/docs/labels/branding/). ## Real-Time Package Tracking With ShipEngine you can [get the current status of a package](https://www.shipengine.com/docs/tracking/) or [subscribe to real-time tracking updates](https://www.shipengine.com/docs/tracking/webhooks/) via webhooks. You can also create [custimized tracking pages](https://www.shipengine.com/docs/tracking/branded-tracking-page/) with your own branding so your customers will always know where their package is. ## Compare Shipping Costs Across Carriers Make sure you ship as cost-effectively as possible by [comparing rates across carriers](https://www.shipengine.com/docs/rates/get-shipment-rates/) using the ShipEngine Rates API. Or if you don't know the full shipment details yet, then you can [get rate estimates](https://www.shipengine.com/docs/rates/estimate/) with limited address info. ## Worldwide Address Validation ShipEngine supports [address validation](https://www.shipengine.com/docs/addresses/validation/) for virtually [every country on Earth](https://www.shipengine.com/docs/addresses/validation/countries/), including the United States, Canada, Great Britain, Australia, Germany, France, Norway, Spain, Sweden, Israel, Italy, and over 160 others.
5
+
6
+ The version of the OpenAPI document: 1.1.202006302006
7
+ Contact: sales@shipengine.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module OpenapiClient
16
+ class ShipmentsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Cancel a Shipment
23
+ # Mark a shipment cancelled, if it is no longer needed or being used by your organized. Any label associated with the shipment needs to be voided first An example use case would be if a batch label creation job is going to run at a set time and only queries `pending` shipments. Marking a shipment as cancelled would remove it from this process
24
+ # @param shipment_id [String] Shipment ID
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [String]
27
+ def cancel_shipments(shipment_id, opts = {})
28
+ data, _status_code, _headers = cancel_shipments_with_http_info(shipment_id, opts)
29
+ data
30
+ end
31
+
32
+ # Cancel a Shipment
33
+ # Mark a shipment cancelled, if it is no longer needed or being used by your organized. Any label associated with the shipment needs to be voided first An example use case would be if a batch label creation job is going to run at a set time and only queries &#x60;pending&#x60; shipments. Marking a shipment as cancelled would remove it from this process
34
+ # @param shipment_id [String] Shipment ID
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
37
+ def cancel_shipments_with_http_info(shipment_id, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: ShipmentsApi.cancel_shipments ...'
40
+ end
41
+ # verify the required parameter 'shipment_id' is set
42
+ if @api_client.config.client_side_validation && shipment_id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'shipment_id' when calling ShipmentsApi.cancel_shipments"
44
+ end
45
+ if @api_client.config.client_side_validation && shipment_id.to_s.length > 25
46
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.cancel_shipments, the character length must be smaller than or equal to 25.'
47
+ end
48
+
49
+ if @api_client.config.client_side_validation && shipment_id.to_s.length < 1
50
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.cancel_shipments, the character length must be great than or equal to 1.'
51
+ end
52
+
53
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
54
+ if @api_client.config.client_side_validation && shipment_id !~ pattern
55
+ fail ArgumentError, "invalid value for 'shipment_id' when calling ShipmentsApi.cancel_shipments, must conform to the pattern #{pattern}."
56
+ end
57
+
58
+ # resource path
59
+ local_var_path = '/v1/shipments/{shipment_id}/cancel'.sub('{' + 'shipment_id' + '}', CGI.escape(shipment_id.to_s))
60
+
61
+ # query parameters
62
+ query_params = opts[:query_params] || {}
63
+
64
+ # header parameters
65
+ header_params = opts[:header_params] || {}
66
+ # HTTP header 'Accept' (if needed)
67
+ header_params['Accept'] = @api_client.select_header_accept(['text/plain', 'application/json'])
68
+
69
+ # form parameters
70
+ form_params = opts[:form_params] || {}
71
+
72
+ # http body (model)
73
+ post_body = opts[:body]
74
+
75
+ # return_type
76
+ return_type = opts[:return_type] || 'String'
77
+
78
+ # auth_names
79
+ auth_names = opts[:auth_names] || ['api_key']
80
+
81
+ new_options = opts.merge(
82
+ :header_params => header_params,
83
+ :query_params => query_params,
84
+ :form_params => form_params,
85
+ :body => post_body,
86
+ :auth_names => auth_names,
87
+ :return_type => return_type
88
+ )
89
+
90
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
91
+ if @api_client.config.debugging
92
+ @api_client.config.logger.debug "API called: ShipmentsApi#cancel_shipments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
93
+ end
94
+ return data, status_code, headers
95
+ end
96
+
97
+ # Create Shipments
98
+ # Create one or multiple shipments.
99
+ # @param create_shipments_request_body [CreateShipmentsRequestBody]
100
+ # @param [Hash] opts the optional parameters
101
+ # @return [CreateShipmentsResponseBody]
102
+ def create_shipments(create_shipments_request_body, opts = {})
103
+ data, _status_code, _headers = create_shipments_with_http_info(create_shipments_request_body, opts)
104
+ data
105
+ end
106
+
107
+ # Create Shipments
108
+ # Create one or multiple shipments.
109
+ # @param create_shipments_request_body [CreateShipmentsRequestBody]
110
+ # @param [Hash] opts the optional parameters
111
+ # @return [Array<(CreateShipmentsResponseBody, Integer, Hash)>] CreateShipmentsResponseBody data, response status code and response headers
112
+ def create_shipments_with_http_info(create_shipments_request_body, opts = {})
113
+ if @api_client.config.debugging
114
+ @api_client.config.logger.debug 'Calling API: ShipmentsApi.create_shipments ...'
115
+ end
116
+ # verify the required parameter 'create_shipments_request_body' is set
117
+ if @api_client.config.client_side_validation && create_shipments_request_body.nil?
118
+ fail ArgumentError, "Missing the required parameter 'create_shipments_request_body' when calling ShipmentsApi.create_shipments"
119
+ end
120
+ # resource path
121
+ local_var_path = '/v1/shipments'
122
+
123
+ # query parameters
124
+ query_params = opts[:query_params] || {}
125
+
126
+ # header parameters
127
+ header_params = opts[:header_params] || {}
128
+ # HTTP header 'Accept' (if needed)
129
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
130
+ # HTTP header 'Content-Type'
131
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
132
+
133
+ # form parameters
134
+ form_params = opts[:form_params] || {}
135
+
136
+ # http body (model)
137
+ post_body = opts[:body] || @api_client.object_to_http_body(create_shipments_request_body)
138
+
139
+ # return_type
140
+ return_type = opts[:return_type] || 'CreateShipmentsResponseBody'
141
+
142
+ # auth_names
143
+ auth_names = opts[:auth_names] || ['api_key']
144
+
145
+ new_options = opts.merge(
146
+ :header_params => header_params,
147
+ :query_params => query_params,
148
+ :form_params => form_params,
149
+ :body => post_body,
150
+ :auth_names => auth_names,
151
+ :return_type => return_type
152
+ )
153
+
154
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
155
+ if @api_client.config.debugging
156
+ @api_client.config.logger.debug "API called: ShipmentsApi#create_shipments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
157
+ end
158
+ return data, status_code, headers
159
+ end
160
+
161
+ # Get Shipment By External ID
162
+ # Query Shipments created using your own custom ID convention using this endpint
163
+ # @param external_shipment_id [String]
164
+ # @param [Hash] opts the optional parameters
165
+ # @return [GetShipmentByExternalIdResponseBody]
166
+ def get_shipment_by_external_id(external_shipment_id, opts = {})
167
+ data, _status_code, _headers = get_shipment_by_external_id_with_http_info(external_shipment_id, opts)
168
+ data
169
+ end
170
+
171
+ # Get Shipment By External ID
172
+ # Query Shipments created using your own custom ID convention using this endpint
173
+ # @param external_shipment_id [String]
174
+ # @param [Hash] opts the optional parameters
175
+ # @return [Array<(GetShipmentByExternalIdResponseBody, Integer, Hash)>] GetShipmentByExternalIdResponseBody data, response status code and response headers
176
+ def get_shipment_by_external_id_with_http_info(external_shipment_id, opts = {})
177
+ if @api_client.config.debugging
178
+ @api_client.config.logger.debug 'Calling API: ShipmentsApi.get_shipment_by_external_id ...'
179
+ end
180
+ # verify the required parameter 'external_shipment_id' is set
181
+ if @api_client.config.client_side_validation && external_shipment_id.nil?
182
+ fail ArgumentError, "Missing the required parameter 'external_shipment_id' when calling ShipmentsApi.get_shipment_by_external_id"
183
+ end
184
+ # resource path
185
+ local_var_path = '/v1/shipments/external_shipment_id/{external_shipment_id}'.sub('{' + 'external_shipment_id' + '}', CGI.escape(external_shipment_id.to_s))
186
+
187
+ # query parameters
188
+ query_params = opts[:query_params] || {}
189
+
190
+ # header parameters
191
+ header_params = opts[:header_params] || {}
192
+ # HTTP header 'Accept' (if needed)
193
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
194
+
195
+ # form parameters
196
+ form_params = opts[:form_params] || {}
197
+
198
+ # http body (model)
199
+ post_body = opts[:body]
200
+
201
+ # return_type
202
+ return_type = opts[:return_type] || 'GetShipmentByExternalIdResponseBody'
203
+
204
+ # auth_names
205
+ auth_names = opts[:auth_names] || ['api_key']
206
+
207
+ new_options = opts.merge(
208
+ :header_params => header_params,
209
+ :query_params => query_params,
210
+ :form_params => form_params,
211
+ :body => post_body,
212
+ :auth_names => auth_names,
213
+ :return_type => return_type
214
+ )
215
+
216
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
217
+ if @api_client.config.debugging
218
+ @api_client.config.logger.debug "API called: ShipmentsApi#get_shipment_by_external_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
219
+ end
220
+ return data, status_code, headers
221
+ end
222
+
223
+ # Get Shipment By ID
224
+ # Get an individual shipment based on its ID
225
+ # @param shipment_id [String] Shipment ID
226
+ # @param [Hash] opts the optional parameters
227
+ # @return [GetShipmentByIdResponseBody]
228
+ def get_shipment_by_id(shipment_id, opts = {})
229
+ data, _status_code, _headers = get_shipment_by_id_with_http_info(shipment_id, opts)
230
+ data
231
+ end
232
+
233
+ # Get Shipment By ID
234
+ # Get an individual shipment based on its ID
235
+ # @param shipment_id [String] Shipment ID
236
+ # @param [Hash] opts the optional parameters
237
+ # @return [Array<(GetShipmentByIdResponseBody, Integer, Hash)>] GetShipmentByIdResponseBody data, response status code and response headers
238
+ def get_shipment_by_id_with_http_info(shipment_id, opts = {})
239
+ if @api_client.config.debugging
240
+ @api_client.config.logger.debug 'Calling API: ShipmentsApi.get_shipment_by_id ...'
241
+ end
242
+ # verify the required parameter 'shipment_id' is set
243
+ if @api_client.config.client_side_validation && shipment_id.nil?
244
+ fail ArgumentError, "Missing the required parameter 'shipment_id' when calling ShipmentsApi.get_shipment_by_id"
245
+ end
246
+ if @api_client.config.client_side_validation && shipment_id.to_s.length > 25
247
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.get_shipment_by_id, the character length must be smaller than or equal to 25.'
248
+ end
249
+
250
+ if @api_client.config.client_side_validation && shipment_id.to_s.length < 1
251
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.get_shipment_by_id, the character length must be great than or equal to 1.'
252
+ end
253
+
254
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
255
+ if @api_client.config.client_side_validation && shipment_id !~ pattern
256
+ fail ArgumentError, "invalid value for 'shipment_id' when calling ShipmentsApi.get_shipment_by_id, must conform to the pattern #{pattern}."
257
+ end
258
+
259
+ # resource path
260
+ local_var_path = '/v1/shipments/{shipment_id}'.sub('{' + 'shipment_id' + '}', CGI.escape(shipment_id.to_s))
261
+
262
+ # query parameters
263
+ query_params = opts[:query_params] || {}
264
+
265
+ # header parameters
266
+ header_params = opts[:header_params] || {}
267
+ # HTTP header 'Accept' (if needed)
268
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
269
+
270
+ # form parameters
271
+ form_params = opts[:form_params] || {}
272
+
273
+ # http body (model)
274
+ post_body = opts[:body]
275
+
276
+ # return_type
277
+ return_type = opts[:return_type] || 'GetShipmentByIdResponseBody'
278
+
279
+ # auth_names
280
+ auth_names = opts[:auth_names] || ['api_key']
281
+
282
+ new_options = opts.merge(
283
+ :header_params => header_params,
284
+ :query_params => query_params,
285
+ :form_params => form_params,
286
+ :body => post_body,
287
+ :auth_names => auth_names,
288
+ :return_type => return_type
289
+ )
290
+
291
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
292
+ if @api_client.config.debugging
293
+ @api_client.config.logger.debug "API called: ShipmentsApi#get_shipment_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
294
+ end
295
+ return data, status_code, headers
296
+ end
297
+
298
+ # Get Shipment Errors
299
+ # If there are no errors associated with this shipment then the API will return a 404 Not Found response to indicate that no errors are associated with the request
300
+ # @param shipment_id [String] Shipment ID
301
+ # @param [Hash] opts the optional parameters
302
+ # @option opts [Integer] :page Return a specific page of results. Defaults to the first page. If set to a number that&#39;s greater than the number of pages of results, an empty page is returned. (default to 1)
303
+ # @option opts [Integer] :pagesize
304
+ # @return [ListShipmentErrorsResponseBody]
305
+ def list_shipment_errors(shipment_id, opts = {})
306
+ data, _status_code, _headers = list_shipment_errors_with_http_info(shipment_id, opts)
307
+ data
308
+ end
309
+
310
+ # Get Shipment Errors
311
+ # If there are no errors associated with this shipment then the API will return a 404 Not Found response to indicate that no errors are associated with the request
312
+ # @param shipment_id [String] Shipment ID
313
+ # @param [Hash] opts the optional parameters
314
+ # @option opts [Integer] :page Return a specific page of results. Defaults to the first page. If set to a number that&#39;s greater than the number of pages of results, an empty page is returned.
315
+ # @option opts [Integer] :pagesize
316
+ # @return [Array<(ListShipmentErrorsResponseBody, Integer, Hash)>] ListShipmentErrorsResponseBody data, response status code and response headers
317
+ def list_shipment_errors_with_http_info(shipment_id, opts = {})
318
+ if @api_client.config.debugging
319
+ @api_client.config.logger.debug 'Calling API: ShipmentsApi.list_shipment_errors ...'
320
+ end
321
+ # verify the required parameter 'shipment_id' is set
322
+ if @api_client.config.client_side_validation && shipment_id.nil?
323
+ fail ArgumentError, "Missing the required parameter 'shipment_id' when calling ShipmentsApi.list_shipment_errors"
324
+ end
325
+ if @api_client.config.client_side_validation && shipment_id.to_s.length > 25
326
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.list_shipment_errors, the character length must be smaller than or equal to 25.'
327
+ end
328
+
329
+ if @api_client.config.client_side_validation && shipment_id.to_s.length < 1
330
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.list_shipment_errors, the character length must be great than or equal to 1.'
331
+ end
332
+
333
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
334
+ if @api_client.config.client_side_validation && shipment_id !~ pattern
335
+ fail ArgumentError, "invalid value for 'shipment_id' when calling ShipmentsApi.list_shipment_errors, must conform to the pattern #{pattern}."
336
+ end
337
+
338
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
339
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ShipmentsApi.list_shipment_errors, must be greater than or equal to 1.'
340
+ end
341
+
342
+ if @api_client.config.client_side_validation && !opts[:'pagesize'].nil? && opts[:'pagesize'] < 1
343
+ fail ArgumentError, 'invalid value for "opts[:"pagesize"]" when calling ShipmentsApi.list_shipment_errors, must be greater than or equal to 1.'
344
+ end
345
+
346
+ # resource path
347
+ local_var_path = '/v1/shipments/{shipment_id}/errors'.sub('{' + 'shipment_id' + '}', CGI.escape(shipment_id.to_s))
348
+
349
+ # query parameters
350
+ query_params = opts[:query_params] || {}
351
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
352
+ query_params[:'pagesize'] = opts[:'pagesize'] if !opts[:'pagesize'].nil?
353
+
354
+ # header parameters
355
+ header_params = opts[:header_params] || {}
356
+ # HTTP header 'Accept' (if needed)
357
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
358
+
359
+ # form parameters
360
+ form_params = opts[:form_params] || {}
361
+
362
+ # http body (model)
363
+ post_body = opts[:body]
364
+
365
+ # return_type
366
+ return_type = opts[:return_type] || 'ListShipmentErrorsResponseBody'
367
+
368
+ # auth_names
369
+ auth_names = opts[:auth_names] || ['api_key']
370
+
371
+ new_options = opts.merge(
372
+ :header_params => header_params,
373
+ :query_params => query_params,
374
+ :form_params => form_params,
375
+ :body => post_body,
376
+ :auth_names => auth_names,
377
+ :return_type => return_type
378
+ )
379
+
380
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
381
+ if @api_client.config.debugging
382
+ @api_client.config.logger.debug "API called: ShipmentsApi#list_shipment_errors\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
383
+ end
384
+ return data, status_code, headers
385
+ end
386
+
387
+ # Get Shipment Rates
388
+ # Get Rates for the shipment information associated with the shipment ID
389
+ # @param shipment_id [String] Shipment ID
390
+ # @param [Hash] opts the optional parameters
391
+ # @option opts [DateTime] :created_at_start Used to create a filter for when a resource was created (ex. A shipment that was created after a certain time)
392
+ # @return [ListShipmentRatesResponseBody]
393
+ def list_shipment_rates(shipment_id, opts = {})
394
+ data, _status_code, _headers = list_shipment_rates_with_http_info(shipment_id, opts)
395
+ data
396
+ end
397
+
398
+ # Get Shipment Rates
399
+ # Get Rates for the shipment information associated with the shipment ID
400
+ # @param shipment_id [String] Shipment ID
401
+ # @param [Hash] opts the optional parameters
402
+ # @option opts [DateTime] :created_at_start Used to create a filter for when a resource was created (ex. A shipment that was created after a certain time)
403
+ # @return [Array<(ListShipmentRatesResponseBody, Integer, Hash)>] ListShipmentRatesResponseBody data, response status code and response headers
404
+ def list_shipment_rates_with_http_info(shipment_id, opts = {})
405
+ if @api_client.config.debugging
406
+ @api_client.config.logger.debug 'Calling API: ShipmentsApi.list_shipment_rates ...'
407
+ end
408
+ # verify the required parameter 'shipment_id' is set
409
+ if @api_client.config.client_side_validation && shipment_id.nil?
410
+ fail ArgumentError, "Missing the required parameter 'shipment_id' when calling ShipmentsApi.list_shipment_rates"
411
+ end
412
+ if @api_client.config.client_side_validation && shipment_id.to_s.length > 25
413
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.list_shipment_rates, the character length must be smaller than or equal to 25.'
414
+ end
415
+
416
+ if @api_client.config.client_side_validation && shipment_id.to_s.length < 1
417
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.list_shipment_rates, the character length must be great than or equal to 1.'
418
+ end
419
+
420
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
421
+ if @api_client.config.client_side_validation && shipment_id !~ pattern
422
+ fail ArgumentError, "invalid value for 'shipment_id' when calling ShipmentsApi.list_shipment_rates, must conform to the pattern #{pattern}."
423
+ end
424
+
425
+ # resource path
426
+ local_var_path = '/v1/shipments/{shipment_id}/rates'.sub('{' + 'shipment_id' + '}', CGI.escape(shipment_id.to_s))
427
+
428
+ # query parameters
429
+ query_params = opts[:query_params] || {}
430
+ query_params[:'created_at_start'] = opts[:'created_at_start'] if !opts[:'created_at_start'].nil?
431
+
432
+ # header parameters
433
+ header_params = opts[:header_params] || {}
434
+ # HTTP header 'Accept' (if needed)
435
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
436
+
437
+ # form parameters
438
+ form_params = opts[:form_params] || {}
439
+
440
+ # http body (model)
441
+ post_body = opts[:body]
442
+
443
+ # return_type
444
+ return_type = opts[:return_type] || 'ListShipmentRatesResponseBody'
445
+
446
+ # auth_names
447
+ auth_names = opts[:auth_names] || ['api_key']
448
+
449
+ new_options = opts.merge(
450
+ :header_params => header_params,
451
+ :query_params => query_params,
452
+ :form_params => form_params,
453
+ :body => post_body,
454
+ :auth_names => auth_names,
455
+ :return_type => return_type
456
+ )
457
+
458
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
459
+ if @api_client.config.debugging
460
+ @api_client.config.logger.debug "API called: ShipmentsApi#list_shipment_rates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
461
+ end
462
+ return data, status_code, headers
463
+ end
464
+
465
+ # List Shipments
466
+ # Get list of Shipments
467
+ # @param [Hash] opts the optional parameters
468
+ # @option opts [ShipmentStatus] :shipment_status
469
+ # @option opts [String] :batch_id Batch ID
470
+ # @option opts [String] :tag Search for shipments based on the custom tag added to the shipment object
471
+ # @option opts [DateTime] :created_at_start Used to create a filter for when a resource was created (ex. A shipment that was created after a certain time)
472
+ # @option opts [DateTime] :created_at_end Used to create a filter for when a resource was created, (ex. A shipment that was created before a certain time)
473
+ # @option opts [DateTime] :modified_at_start Used to create a filter for when a resource was modified (ex. A shipment that was modified after a certain time)
474
+ # @option opts [DateTime] :modified_at_end Used to create a filter for when a resource was modified (ex. A shipment that was modified before a certain time)
475
+ # @option opts [Integer] :page Return a specific page of results. Defaults to the first page. If set to a number that&#39;s greater than the number of pages of results, an empty page is returned. (default to 1)
476
+ # @option opts [Integer] :page_size The number of results to return per response. (default to 25)
477
+ # @option opts [String] :sales_order_id Sales Order ID
478
+ # @option opts [SortDir] :sort_dir Controls the sort order of the query.
479
+ # @option opts [ShipmentsSortBy] :sort_by
480
+ # @return [ListShipmentsResponseBody]
481
+ def list_shipments(opts = {})
482
+ data, _status_code, _headers = list_shipments_with_http_info(opts)
483
+ data
484
+ end
485
+
486
+ # List Shipments
487
+ # Get list of Shipments
488
+ # @param [Hash] opts the optional parameters
489
+ # @option opts [ShipmentStatus] :shipment_status
490
+ # @option opts [String] :batch_id Batch ID
491
+ # @option opts [String] :tag Search for shipments based on the custom tag added to the shipment object
492
+ # @option opts [DateTime] :created_at_start Used to create a filter for when a resource was created (ex. A shipment that was created after a certain time)
493
+ # @option opts [DateTime] :created_at_end Used to create a filter for when a resource was created, (ex. A shipment that was created before a certain time)
494
+ # @option opts [DateTime] :modified_at_start Used to create a filter for when a resource was modified (ex. A shipment that was modified after a certain time)
495
+ # @option opts [DateTime] :modified_at_end Used to create a filter for when a resource was modified (ex. A shipment that was modified before a certain time)
496
+ # @option opts [Integer] :page Return a specific page of results. Defaults to the first page. If set to a number that&#39;s greater than the number of pages of results, an empty page is returned.
497
+ # @option opts [Integer] :page_size The number of results to return per response.
498
+ # @option opts [String] :sales_order_id Sales Order ID
499
+ # @option opts [SortDir] :sort_dir Controls the sort order of the query.
500
+ # @option opts [ShipmentsSortBy] :sort_by
501
+ # @return [Array<(ListShipmentsResponseBody, Integer, Hash)>] ListShipmentsResponseBody data, response status code and response headers
502
+ def list_shipments_with_http_info(opts = {})
503
+ if @api_client.config.debugging
504
+ @api_client.config.logger.debug 'Calling API: ShipmentsApi.list_shipments ...'
505
+ end
506
+ if @api_client.config.client_side_validation && !opts[:'batch_id'].nil? && opts[:'batch_id'].to_s.length > 25
507
+ fail ArgumentError, 'invalid value for "opts[:"batch_id"]" when calling ShipmentsApi.list_shipments, the character length must be smaller than or equal to 25.'
508
+ end
509
+
510
+ if @api_client.config.client_side_validation && !opts[:'batch_id'].nil? && opts[:'batch_id'].to_s.length < 1
511
+ fail ArgumentError, 'invalid value for "opts[:"batch_id"]" when calling ShipmentsApi.list_shipments, the character length must be great than or equal to 1.'
512
+ end
513
+
514
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
515
+ if @api_client.config.client_side_validation && !opts[:'batch_id'].nil? && opts[:'batch_id'] !~ pattern
516
+ fail ArgumentError, "invalid value for 'opts[:\"batch_id\"]' when calling ShipmentsApi.list_shipments, must conform to the pattern #{pattern}."
517
+ end
518
+
519
+ if @api_client.config.client_side_validation && !opts[:'tag'].nil? && opts[:'tag'].to_s.length < 1
520
+ fail ArgumentError, 'invalid value for "opts[:"tag"]" when calling ShipmentsApi.list_shipments, the character length must be great than or equal to 1.'
521
+ end
522
+
523
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
524
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ShipmentsApi.list_shipments, must be greater than or equal to 1.'
525
+ end
526
+
527
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
528
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ShipmentsApi.list_shipments, must be greater than or equal to 1.'
529
+ end
530
+
531
+ # resource path
532
+ local_var_path = '/v1/shipments'
533
+
534
+ # query parameters
535
+ query_params = opts[:query_params] || {}
536
+ query_params[:'shipment_status'] = opts[:'shipment_status'] if !opts[:'shipment_status'].nil?
537
+ query_params[:'batch_id'] = opts[:'batch_id'] if !opts[:'batch_id'].nil?
538
+ query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
539
+ query_params[:'created_at_start'] = opts[:'created_at_start'] if !opts[:'created_at_start'].nil?
540
+ query_params[:'created_at_end'] = opts[:'created_at_end'] if !opts[:'created_at_end'].nil?
541
+ query_params[:'modified_at_start'] = opts[:'modified_at_start'] if !opts[:'modified_at_start'].nil?
542
+ query_params[:'modified_at_end'] = opts[:'modified_at_end'] if !opts[:'modified_at_end'].nil?
543
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
544
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
545
+ query_params[:'sales_order_id'] = opts[:'sales_order_id'] if !opts[:'sales_order_id'].nil?
546
+ query_params[:'sort_dir'] = opts[:'sort_dir'] if !opts[:'sort_dir'].nil?
547
+ query_params[:'sort_by'] = opts[:'sort_by'] if !opts[:'sort_by'].nil?
548
+
549
+ # header parameters
550
+ header_params = opts[:header_params] || {}
551
+ # HTTP header 'Accept' (if needed)
552
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
553
+
554
+ # form parameters
555
+ form_params = opts[:form_params] || {}
556
+
557
+ # http body (model)
558
+ post_body = opts[:body]
559
+
560
+ # return_type
561
+ return_type = opts[:return_type] || 'ListShipmentsResponseBody'
562
+
563
+ # auth_names
564
+ auth_names = opts[:auth_names] || ['api_key']
565
+
566
+ new_options = opts.merge(
567
+ :header_params => header_params,
568
+ :query_params => query_params,
569
+ :form_params => form_params,
570
+ :body => post_body,
571
+ :auth_names => auth_names,
572
+ :return_type => return_type
573
+ )
574
+
575
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
576
+ if @api_client.config.debugging
577
+ @api_client.config.logger.debug "API called: ShipmentsApi#list_shipments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
578
+ end
579
+ return data, status_code, headers
580
+ end
581
+
582
+ # Parse shipping info
583
+ # The shipment-recognition API makes it easy for you to extract shipping data from unstructured text, including people's names, addresses, package weights and dimensions, insurance and delivery requirements, and more. Data often enters your system as unstructured text (for example: emails, SMS messages, support tickets, or other documents). ShipEngine's shipment-recognition API helps you extract meaningful, structured data from this unstructured text. The parsed shipment data is returned in the same structure that's used for other ShipEngine APIs, so you can easily use the parsed data to create a shipping label. > **Note:** Shipment recognition is currently supported for the United States, Canada, Australia, New Zealand, the United Kingdom, and Ireland.
584
+ # @param parse_shipment_request_body [ParseShipmentRequestBody] The only required field is &#x60;text&#x60;, which is the text to be parsed. You can optionally also provide a &#x60;shipment&#x60; containing any already-known values. For example, you probably already know the &#x60;ship_from&#x60; address, and you may also already know what carrier and service you want to use.
585
+ # @param [Hash] opts the optional parameters
586
+ # @return [ParseShipmentResponseBody]
587
+ def parse_shipment(parse_shipment_request_body, opts = {})
588
+ data, _status_code, _headers = parse_shipment_with_http_info(parse_shipment_request_body, opts)
589
+ data
590
+ end
591
+
592
+ # Parse shipping info
593
+ # The shipment-recognition API makes it easy for you to extract shipping data from unstructured text, including people&#39;s names, addresses, package weights and dimensions, insurance and delivery requirements, and more. Data often enters your system as unstructured text (for example: emails, SMS messages, support tickets, or other documents). ShipEngine&#39;s shipment-recognition API helps you extract meaningful, structured data from this unstructured text. The parsed shipment data is returned in the same structure that&#39;s used for other ShipEngine APIs, so you can easily use the parsed data to create a shipping label. &gt; **Note:** Shipment recognition is currently supported for the United States, Canada, Australia, New Zealand, the United Kingdom, and Ireland.
594
+ # @param parse_shipment_request_body [ParseShipmentRequestBody] The only required field is &#x60;text&#x60;, which is the text to be parsed. You can optionally also provide a &#x60;shipment&#x60; containing any already-known values. For example, you probably already know the &#x60;ship_from&#x60; address, and you may also already know what carrier and service you want to use.
595
+ # @param [Hash] opts the optional parameters
596
+ # @return [Array<(ParseShipmentResponseBody, Integer, Hash)>] ParseShipmentResponseBody data, response status code and response headers
597
+ def parse_shipment_with_http_info(parse_shipment_request_body, opts = {})
598
+ if @api_client.config.debugging
599
+ @api_client.config.logger.debug 'Calling API: ShipmentsApi.parse_shipment ...'
600
+ end
601
+ # verify the required parameter 'parse_shipment_request_body' is set
602
+ if @api_client.config.client_side_validation && parse_shipment_request_body.nil?
603
+ fail ArgumentError, "Missing the required parameter 'parse_shipment_request_body' when calling ShipmentsApi.parse_shipment"
604
+ end
605
+ # resource path
606
+ local_var_path = '/v1/shipments/recognize'
607
+
608
+ # query parameters
609
+ query_params = opts[:query_params] || {}
610
+
611
+ # header parameters
612
+ header_params = opts[:header_params] || {}
613
+ # HTTP header 'Accept' (if needed)
614
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
615
+ # HTTP header 'Content-Type'
616
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
617
+
618
+ # form parameters
619
+ form_params = opts[:form_params] || {}
620
+
621
+ # http body (model)
622
+ post_body = opts[:body] || @api_client.object_to_http_body(parse_shipment_request_body)
623
+
624
+ # return_type
625
+ return_type = opts[:return_type] || 'ParseShipmentResponseBody'
626
+
627
+ # auth_names
628
+ auth_names = opts[:auth_names] || ['api_key']
629
+
630
+ new_options = opts.merge(
631
+ :header_params => header_params,
632
+ :query_params => query_params,
633
+ :form_params => form_params,
634
+ :body => post_body,
635
+ :auth_names => auth_names,
636
+ :return_type => return_type
637
+ )
638
+
639
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
640
+ if @api_client.config.debugging
641
+ @api_client.config.logger.debug "API called: ShipmentsApi#parse_shipment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
642
+ end
643
+ return data, status_code, headers
644
+ end
645
+
646
+ # Add Tag to Shipment
647
+ # Add a tag to the shipment object
648
+ # @param shipment_id [String] Shipment ID
649
+ # @param tag_name [String]
650
+ # @param [Hash] opts the optional parameters
651
+ # @return [TagShipmentResponseBody]
652
+ def tag_shipment(shipment_id, tag_name, opts = {})
653
+ data, _status_code, _headers = tag_shipment_with_http_info(shipment_id, tag_name, opts)
654
+ data
655
+ end
656
+
657
+ # Add Tag to Shipment
658
+ # Add a tag to the shipment object
659
+ # @param shipment_id [String] Shipment ID
660
+ # @param tag_name [String]
661
+ # @param [Hash] opts the optional parameters
662
+ # @return [Array<(TagShipmentResponseBody, Integer, Hash)>] TagShipmentResponseBody data, response status code and response headers
663
+ def tag_shipment_with_http_info(shipment_id, tag_name, opts = {})
664
+ if @api_client.config.debugging
665
+ @api_client.config.logger.debug 'Calling API: ShipmentsApi.tag_shipment ...'
666
+ end
667
+ # verify the required parameter 'shipment_id' is set
668
+ if @api_client.config.client_side_validation && shipment_id.nil?
669
+ fail ArgumentError, "Missing the required parameter 'shipment_id' when calling ShipmentsApi.tag_shipment"
670
+ end
671
+ if @api_client.config.client_side_validation && shipment_id.to_s.length > 25
672
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.tag_shipment, the character length must be smaller than or equal to 25.'
673
+ end
674
+
675
+ if @api_client.config.client_side_validation && shipment_id.to_s.length < 1
676
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.tag_shipment, the character length must be great than or equal to 1.'
677
+ end
678
+
679
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
680
+ if @api_client.config.client_side_validation && shipment_id !~ pattern
681
+ fail ArgumentError, "invalid value for 'shipment_id' when calling ShipmentsApi.tag_shipment, must conform to the pattern #{pattern}."
682
+ end
683
+
684
+ # verify the required parameter 'tag_name' is set
685
+ if @api_client.config.client_side_validation && tag_name.nil?
686
+ fail ArgumentError, "Missing the required parameter 'tag_name' when calling ShipmentsApi.tag_shipment"
687
+ end
688
+ if @api_client.config.client_side_validation && tag_name.to_s.length < 1
689
+ fail ArgumentError, 'invalid value for "tag_name" when calling ShipmentsApi.tag_shipment, the character length must be great than or equal to 1.'
690
+ end
691
+
692
+ # resource path
693
+ local_var_path = '/v1/shipments/{shipment_id}/tags/{tag_name}'.sub('{' + 'shipment_id' + '}', CGI.escape(shipment_id.to_s)).sub('{' + 'tag_name' + '}', CGI.escape(tag_name.to_s))
694
+
695
+ # query parameters
696
+ query_params = opts[:query_params] || {}
697
+
698
+ # header parameters
699
+ header_params = opts[:header_params] || {}
700
+ # HTTP header 'Accept' (if needed)
701
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
702
+
703
+ # form parameters
704
+ form_params = opts[:form_params] || {}
705
+
706
+ # http body (model)
707
+ post_body = opts[:body]
708
+
709
+ # return_type
710
+ return_type = opts[:return_type] || 'TagShipmentResponseBody'
711
+
712
+ # auth_names
713
+ auth_names = opts[:auth_names] || ['api_key']
714
+
715
+ new_options = opts.merge(
716
+ :header_params => header_params,
717
+ :query_params => query_params,
718
+ :form_params => form_params,
719
+ :body => post_body,
720
+ :auth_names => auth_names,
721
+ :return_type => return_type
722
+ )
723
+
724
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
725
+ if @api_client.config.debugging
726
+ @api_client.config.logger.debug "API called: ShipmentsApi#tag_shipment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
727
+ end
728
+ return data, status_code, headers
729
+ end
730
+
731
+ # Remove Tag from Shipment
732
+ # Remove an existing tag from the Shipment object
733
+ # @param shipment_id [String] Shipment ID
734
+ # @param tag_name [String]
735
+ # @param [Hash] opts the optional parameters
736
+ # @return [String]
737
+ def untag_shipment(shipment_id, tag_name, opts = {})
738
+ data, _status_code, _headers = untag_shipment_with_http_info(shipment_id, tag_name, opts)
739
+ data
740
+ end
741
+
742
+ # Remove Tag from Shipment
743
+ # Remove an existing tag from the Shipment object
744
+ # @param shipment_id [String] Shipment ID
745
+ # @param tag_name [String]
746
+ # @param [Hash] opts the optional parameters
747
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
748
+ def untag_shipment_with_http_info(shipment_id, tag_name, opts = {})
749
+ if @api_client.config.debugging
750
+ @api_client.config.logger.debug 'Calling API: ShipmentsApi.untag_shipment ...'
751
+ end
752
+ # verify the required parameter 'shipment_id' is set
753
+ if @api_client.config.client_side_validation && shipment_id.nil?
754
+ fail ArgumentError, "Missing the required parameter 'shipment_id' when calling ShipmentsApi.untag_shipment"
755
+ end
756
+ if @api_client.config.client_side_validation && shipment_id.to_s.length > 25
757
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.untag_shipment, the character length must be smaller than or equal to 25.'
758
+ end
759
+
760
+ if @api_client.config.client_side_validation && shipment_id.to_s.length < 1
761
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.untag_shipment, the character length must be great than or equal to 1.'
762
+ end
763
+
764
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
765
+ if @api_client.config.client_side_validation && shipment_id !~ pattern
766
+ fail ArgumentError, "invalid value for 'shipment_id' when calling ShipmentsApi.untag_shipment, must conform to the pattern #{pattern}."
767
+ end
768
+
769
+ # verify the required parameter 'tag_name' is set
770
+ if @api_client.config.client_side_validation && tag_name.nil?
771
+ fail ArgumentError, "Missing the required parameter 'tag_name' when calling ShipmentsApi.untag_shipment"
772
+ end
773
+ if @api_client.config.client_side_validation && tag_name.to_s.length < 1
774
+ fail ArgumentError, 'invalid value for "tag_name" when calling ShipmentsApi.untag_shipment, the character length must be great than or equal to 1.'
775
+ end
776
+
777
+ # resource path
778
+ local_var_path = '/v1/shipments/{shipment_id}/tags/{tag_name}'.sub('{' + 'shipment_id' + '}', CGI.escape(shipment_id.to_s)).sub('{' + 'tag_name' + '}', CGI.escape(tag_name.to_s))
779
+
780
+ # query parameters
781
+ query_params = opts[:query_params] || {}
782
+
783
+ # header parameters
784
+ header_params = opts[:header_params] || {}
785
+ # HTTP header 'Accept' (if needed)
786
+ header_params['Accept'] = @api_client.select_header_accept(['text/plain', 'application/json'])
787
+
788
+ # form parameters
789
+ form_params = opts[:form_params] || {}
790
+
791
+ # http body (model)
792
+ post_body = opts[:body]
793
+
794
+ # return_type
795
+ return_type = opts[:return_type] || 'String'
796
+
797
+ # auth_names
798
+ auth_names = opts[:auth_names] || ['api_key']
799
+
800
+ new_options = opts.merge(
801
+ :header_params => header_params,
802
+ :query_params => query_params,
803
+ :form_params => form_params,
804
+ :body => post_body,
805
+ :auth_names => auth_names,
806
+ :return_type => return_type
807
+ )
808
+
809
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
810
+ if @api_client.config.debugging
811
+ @api_client.config.logger.debug "API called: ShipmentsApi#untag_shipment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
812
+ end
813
+ return data, status_code, headers
814
+ end
815
+
816
+ # Update Shipment By ID
817
+ # Update a shipment object based on its ID
818
+ # @param shipment_id [String] Shipment ID
819
+ # @param update_shipment_request_body [UpdateShipmentRequestBody]
820
+ # @param [Hash] opts the optional parameters
821
+ # @return [UpdateShipmentResponseBody]
822
+ def update_shipment(shipment_id, update_shipment_request_body, opts = {})
823
+ data, _status_code, _headers = update_shipment_with_http_info(shipment_id, update_shipment_request_body, opts)
824
+ data
825
+ end
826
+
827
+ # Update Shipment By ID
828
+ # Update a shipment object based on its ID
829
+ # @param shipment_id [String] Shipment ID
830
+ # @param update_shipment_request_body [UpdateShipmentRequestBody]
831
+ # @param [Hash] opts the optional parameters
832
+ # @return [Array<(UpdateShipmentResponseBody, Integer, Hash)>] UpdateShipmentResponseBody data, response status code and response headers
833
+ def update_shipment_with_http_info(shipment_id, update_shipment_request_body, opts = {})
834
+ if @api_client.config.debugging
835
+ @api_client.config.logger.debug 'Calling API: ShipmentsApi.update_shipment ...'
836
+ end
837
+ # verify the required parameter 'shipment_id' is set
838
+ if @api_client.config.client_side_validation && shipment_id.nil?
839
+ fail ArgumentError, "Missing the required parameter 'shipment_id' when calling ShipmentsApi.update_shipment"
840
+ end
841
+ if @api_client.config.client_side_validation && shipment_id.to_s.length > 25
842
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.update_shipment, the character length must be smaller than or equal to 25.'
843
+ end
844
+
845
+ if @api_client.config.client_side_validation && shipment_id.to_s.length < 1
846
+ fail ArgumentError, 'invalid value for "shipment_id" when calling ShipmentsApi.update_shipment, the character length must be great than or equal to 1.'
847
+ end
848
+
849
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
850
+ if @api_client.config.client_side_validation && shipment_id !~ pattern
851
+ fail ArgumentError, "invalid value for 'shipment_id' when calling ShipmentsApi.update_shipment, must conform to the pattern #{pattern}."
852
+ end
853
+
854
+ # verify the required parameter 'update_shipment_request_body' is set
855
+ if @api_client.config.client_side_validation && update_shipment_request_body.nil?
856
+ fail ArgumentError, "Missing the required parameter 'update_shipment_request_body' when calling ShipmentsApi.update_shipment"
857
+ end
858
+ # resource path
859
+ local_var_path = '/v1/shipments/{shipment_id}'.sub('{' + 'shipment_id' + '}', CGI.escape(shipment_id.to_s))
860
+
861
+ # query parameters
862
+ query_params = opts[:query_params] || {}
863
+
864
+ # header parameters
865
+ header_params = opts[:header_params] || {}
866
+ # HTTP header 'Accept' (if needed)
867
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
868
+ # HTTP header 'Content-Type'
869
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
870
+
871
+ # form parameters
872
+ form_params = opts[:form_params] || {}
873
+
874
+ # http body (model)
875
+ post_body = opts[:body] || @api_client.object_to_http_body(update_shipment_request_body)
876
+
877
+ # return_type
878
+ return_type = opts[:return_type] || 'UpdateShipmentResponseBody'
879
+
880
+ # auth_names
881
+ auth_names = opts[:auth_names] || ['api_key']
882
+
883
+ new_options = opts.merge(
884
+ :header_params => header_params,
885
+ :query_params => query_params,
886
+ :form_params => form_params,
887
+ :body => post_body,
888
+ :auth_names => auth_names,
889
+ :return_type => return_type
890
+ )
891
+
892
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
893
+ if @api_client.config.debugging
894
+ @api_client.config.logger.debug "API called: ShipmentsApi#update_shipment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
895
+ end
896
+ return data, status_code, headers
897
+ end
898
+ end
899
+ end