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,343 @@
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 CarrierAccountsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Connect a carrier account
23
+ # Connect a carrier account
24
+ # @param carrier_name [CarrierName] The carrier name, such as `stamps_com`, `ups`, `fedex`, or `dhl_express`.
25
+ # @param connect_carrier_request_body [ConnectCarrierRequestBody]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [ConnectCarrierResponseBody]
28
+ def connect_carrier(carrier_name, connect_carrier_request_body, opts = {})
29
+ data, _status_code, _headers = connect_carrier_with_http_info(carrier_name, connect_carrier_request_body, opts)
30
+ data
31
+ end
32
+
33
+ # Connect a carrier account
34
+ # Connect a carrier account
35
+ # @param carrier_name [CarrierName] The carrier name, such as `stamps_com`, `ups`, `fedex`, or `dhl_express`.
36
+ # @param connect_carrier_request_body [ConnectCarrierRequestBody]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(ConnectCarrierResponseBody, Integer, Hash)>] ConnectCarrierResponseBody data, response status code and response headers
39
+ def connect_carrier_with_http_info(carrier_name, connect_carrier_request_body, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: CarrierAccountsApi.connect_carrier ...'
42
+ end
43
+ # verify the required parameter 'carrier_name' is set
44
+ if @api_client.config.client_side_validation && carrier_name.nil?
45
+ fail ArgumentError, "Missing the required parameter 'carrier_name' when calling CarrierAccountsApi.connect_carrier"
46
+ end
47
+ # verify the required parameter 'connect_carrier_request_body' is set
48
+ if @api_client.config.client_side_validation && connect_carrier_request_body.nil?
49
+ fail ArgumentError, "Missing the required parameter 'connect_carrier_request_body' when calling CarrierAccountsApi.connect_carrier"
50
+ end
51
+ # resource path
52
+ local_var_path = '/v1/connections/carriers/{carrier_name}'.sub('{' + 'carrier_name' + '}', CGI.escape(carrier_name.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
61
+ # HTTP header 'Content-Type'
62
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
63
+
64
+ # form parameters
65
+ form_params = opts[:form_params] || {}
66
+
67
+ # http body (model)
68
+ post_body = opts[:body] || @api_client.object_to_http_body(connect_carrier_request_body)
69
+
70
+ # return_type
71
+ return_type = opts[:return_type] || 'ConnectCarrierResponseBody'
72
+
73
+ # auth_names
74
+ auth_names = opts[:auth_names] || ['api_key']
75
+
76
+ new_options = opts.merge(
77
+ :header_params => header_params,
78
+ :query_params => query_params,
79
+ :form_params => form_params,
80
+ :body => post_body,
81
+ :auth_names => auth_names,
82
+ :return_type => return_type
83
+ )
84
+
85
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
86
+ if @api_client.config.debugging
87
+ @api_client.config.logger.debug "API called: CarrierAccountsApi#connect_carrier\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
88
+ end
89
+ return data, status_code, headers
90
+ end
91
+
92
+ # Disconnect a carrier
93
+ # Disconnect a carrier
94
+ # @param carrier_name [CarrierName] The carrier name, such as &#x60;stamps_com&#x60;, &#x60;ups&#x60;, &#x60;fedex&#x60;, or &#x60;dhl_express&#x60;.
95
+ # @param carrier_id [String] Carrier ID
96
+ # @param [Hash] opts the optional parameters
97
+ # @return [String]
98
+ def disconnect_carrier(carrier_name, carrier_id, opts = {})
99
+ data, _status_code, _headers = disconnect_carrier_with_http_info(carrier_name, carrier_id, opts)
100
+ data
101
+ end
102
+
103
+ # Disconnect a carrier
104
+ # Disconnect a carrier
105
+ # @param carrier_name [CarrierName] The carrier name, such as &#x60;stamps_com&#x60;, &#x60;ups&#x60;, &#x60;fedex&#x60;, or &#x60;dhl_express&#x60;.
106
+ # @param carrier_id [String] Carrier ID
107
+ # @param [Hash] opts the optional parameters
108
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
109
+ def disconnect_carrier_with_http_info(carrier_name, carrier_id, opts = {})
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug 'Calling API: CarrierAccountsApi.disconnect_carrier ...'
112
+ end
113
+ # verify the required parameter 'carrier_name' is set
114
+ if @api_client.config.client_side_validation && carrier_name.nil?
115
+ fail ArgumentError, "Missing the required parameter 'carrier_name' when calling CarrierAccountsApi.disconnect_carrier"
116
+ end
117
+ # verify the required parameter 'carrier_id' is set
118
+ if @api_client.config.client_side_validation && carrier_id.nil?
119
+ fail ArgumentError, "Missing the required parameter 'carrier_id' when calling CarrierAccountsApi.disconnect_carrier"
120
+ end
121
+ if @api_client.config.client_side_validation && carrier_id.to_s.length > 25
122
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarrierAccountsApi.disconnect_carrier, the character length must be smaller than or equal to 25.'
123
+ end
124
+
125
+ if @api_client.config.client_side_validation && carrier_id.to_s.length < 1
126
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarrierAccountsApi.disconnect_carrier, the character length must be great than or equal to 1.'
127
+ end
128
+
129
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
130
+ if @api_client.config.client_side_validation && carrier_id !~ pattern
131
+ fail ArgumentError, "invalid value for 'carrier_id' when calling CarrierAccountsApi.disconnect_carrier, must conform to the pattern #{pattern}."
132
+ end
133
+
134
+ # resource path
135
+ local_var_path = '/v1/connections/carriers/{carrier_name}/{carrier_id}'.sub('{' + 'carrier_name' + '}', CGI.escape(carrier_name.to_s)).sub('{' + 'carrier_id' + '}', CGI.escape(carrier_id.to_s))
136
+
137
+ # query parameters
138
+ query_params = opts[:query_params] || {}
139
+
140
+ # header parameters
141
+ header_params = opts[:header_params] || {}
142
+ # HTTP header 'Accept' (if needed)
143
+ header_params['Accept'] = @api_client.select_header_accept(['text/plain', 'application/json'])
144
+
145
+ # form parameters
146
+ form_params = opts[:form_params] || {}
147
+
148
+ # http body (model)
149
+ post_body = opts[:body]
150
+
151
+ # return_type
152
+ return_type = opts[:return_type] || 'String'
153
+
154
+ # auth_names
155
+ auth_names = opts[:auth_names] || ['api_key']
156
+
157
+ new_options = opts.merge(
158
+ :header_params => header_params,
159
+ :query_params => query_params,
160
+ :form_params => form_params,
161
+ :body => post_body,
162
+ :auth_names => auth_names,
163
+ :return_type => return_type
164
+ )
165
+
166
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
167
+ if @api_client.config.debugging
168
+ @api_client.config.logger.debug "API called: CarrierAccountsApi#disconnect_carrier\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
169
+ end
170
+ return data, status_code, headers
171
+ end
172
+
173
+ # Get carrier settings
174
+ # Get carrier settings
175
+ # @param carrier_name [CarrierNameWithSettings] The carrier name, such as &#x60;stamps_com&#x60;, &#x60;ups&#x60;, &#x60;fedex&#x60;, or &#x60;dhl_express&#x60;.
176
+ # @param carrier_id [String] Carrier ID
177
+ # @param [Hash] opts the optional parameters
178
+ # @return [GetCarrierSettingsResponseBody]
179
+ def get_carrier_settings(carrier_name, carrier_id, opts = {})
180
+ data, _status_code, _headers = get_carrier_settings_with_http_info(carrier_name, carrier_id, opts)
181
+ data
182
+ end
183
+
184
+ # Get carrier settings
185
+ # Get carrier settings
186
+ # @param carrier_name [CarrierNameWithSettings] The carrier name, such as &#x60;stamps_com&#x60;, &#x60;ups&#x60;, &#x60;fedex&#x60;, or &#x60;dhl_express&#x60;.
187
+ # @param carrier_id [String] Carrier ID
188
+ # @param [Hash] opts the optional parameters
189
+ # @return [Array<(GetCarrierSettingsResponseBody, Integer, Hash)>] GetCarrierSettingsResponseBody data, response status code and response headers
190
+ def get_carrier_settings_with_http_info(carrier_name, carrier_id, opts = {})
191
+ if @api_client.config.debugging
192
+ @api_client.config.logger.debug 'Calling API: CarrierAccountsApi.get_carrier_settings ...'
193
+ end
194
+ # verify the required parameter 'carrier_name' is set
195
+ if @api_client.config.client_side_validation && carrier_name.nil?
196
+ fail ArgumentError, "Missing the required parameter 'carrier_name' when calling CarrierAccountsApi.get_carrier_settings"
197
+ end
198
+ # verify the required parameter 'carrier_id' is set
199
+ if @api_client.config.client_side_validation && carrier_id.nil?
200
+ fail ArgumentError, "Missing the required parameter 'carrier_id' when calling CarrierAccountsApi.get_carrier_settings"
201
+ end
202
+ if @api_client.config.client_side_validation && carrier_id.to_s.length > 25
203
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarrierAccountsApi.get_carrier_settings, the character length must be smaller than or equal to 25.'
204
+ end
205
+
206
+ if @api_client.config.client_side_validation && carrier_id.to_s.length < 1
207
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarrierAccountsApi.get_carrier_settings, the character length must be great than or equal to 1.'
208
+ end
209
+
210
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
211
+ if @api_client.config.client_side_validation && carrier_id !~ pattern
212
+ fail ArgumentError, "invalid value for 'carrier_id' when calling CarrierAccountsApi.get_carrier_settings, must conform to the pattern #{pattern}."
213
+ end
214
+
215
+ # resource path
216
+ local_var_path = '/v1/connections/carriers/{carrier_name}/{carrier_id}/settings'.sub('{' + 'carrier_name' + '}', CGI.escape(carrier_name.to_s)).sub('{' + 'carrier_id' + '}', CGI.escape(carrier_id.to_s))
217
+
218
+ # query parameters
219
+ query_params = opts[:query_params] || {}
220
+
221
+ # header parameters
222
+ header_params = opts[:header_params] || {}
223
+ # HTTP header 'Accept' (if needed)
224
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
225
+
226
+ # form parameters
227
+ form_params = opts[:form_params] || {}
228
+
229
+ # http body (model)
230
+ post_body = opts[:body]
231
+
232
+ # return_type
233
+ return_type = opts[:return_type] || 'GetCarrierSettingsResponseBody'
234
+
235
+ # auth_names
236
+ auth_names = opts[:auth_names] || ['api_key']
237
+
238
+ new_options = opts.merge(
239
+ :header_params => header_params,
240
+ :query_params => query_params,
241
+ :form_params => form_params,
242
+ :body => post_body,
243
+ :auth_names => auth_names,
244
+ :return_type => return_type
245
+ )
246
+
247
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
248
+ if @api_client.config.debugging
249
+ @api_client.config.logger.debug "API called: CarrierAccountsApi#get_carrier_settings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
250
+ end
251
+ return data, status_code, headers
252
+ end
253
+
254
+ # Update carrier settings
255
+ # Update carrier settings
256
+ # @param carrier_name [CarrierNameWithSettings] The carrier name, such as &#x60;stamps_com&#x60;, &#x60;ups&#x60;, &#x60;fedex&#x60;, or &#x60;dhl_express&#x60;.
257
+ # @param carrier_id [String] Carrier ID
258
+ # @param update_carrier_settings_request_body [UpdateCarrierSettingsRequestBody]
259
+ # @param [Hash] opts the optional parameters
260
+ # @return [String]
261
+ def update_carrier_settings(carrier_name, carrier_id, update_carrier_settings_request_body, opts = {})
262
+ data, _status_code, _headers = update_carrier_settings_with_http_info(carrier_name, carrier_id, update_carrier_settings_request_body, opts)
263
+ data
264
+ end
265
+
266
+ # Update carrier settings
267
+ # Update carrier settings
268
+ # @param carrier_name [CarrierNameWithSettings] The carrier name, such as &#x60;stamps_com&#x60;, &#x60;ups&#x60;, &#x60;fedex&#x60;, or &#x60;dhl_express&#x60;.
269
+ # @param carrier_id [String] Carrier ID
270
+ # @param update_carrier_settings_request_body [UpdateCarrierSettingsRequestBody]
271
+ # @param [Hash] opts the optional parameters
272
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
273
+ def update_carrier_settings_with_http_info(carrier_name, carrier_id, update_carrier_settings_request_body, opts = {})
274
+ if @api_client.config.debugging
275
+ @api_client.config.logger.debug 'Calling API: CarrierAccountsApi.update_carrier_settings ...'
276
+ end
277
+ # verify the required parameter 'carrier_name' is set
278
+ if @api_client.config.client_side_validation && carrier_name.nil?
279
+ fail ArgumentError, "Missing the required parameter 'carrier_name' when calling CarrierAccountsApi.update_carrier_settings"
280
+ end
281
+ # verify the required parameter 'carrier_id' is set
282
+ if @api_client.config.client_side_validation && carrier_id.nil?
283
+ fail ArgumentError, "Missing the required parameter 'carrier_id' when calling CarrierAccountsApi.update_carrier_settings"
284
+ end
285
+ if @api_client.config.client_side_validation && carrier_id.to_s.length > 25
286
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarrierAccountsApi.update_carrier_settings, the character length must be smaller than or equal to 25.'
287
+ end
288
+
289
+ if @api_client.config.client_side_validation && carrier_id.to_s.length < 1
290
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarrierAccountsApi.update_carrier_settings, the character length must be great than or equal to 1.'
291
+ end
292
+
293
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
294
+ if @api_client.config.client_side_validation && carrier_id !~ pattern
295
+ fail ArgumentError, "invalid value for 'carrier_id' when calling CarrierAccountsApi.update_carrier_settings, must conform to the pattern #{pattern}."
296
+ end
297
+
298
+ # verify the required parameter 'update_carrier_settings_request_body' is set
299
+ if @api_client.config.client_side_validation && update_carrier_settings_request_body.nil?
300
+ fail ArgumentError, "Missing the required parameter 'update_carrier_settings_request_body' when calling CarrierAccountsApi.update_carrier_settings"
301
+ end
302
+ # resource path
303
+ local_var_path = '/v1/connections/carriers/{carrier_name}/{carrier_id}/settings'.sub('{' + 'carrier_name' + '}', CGI.escape(carrier_name.to_s)).sub('{' + 'carrier_id' + '}', CGI.escape(carrier_id.to_s))
304
+
305
+ # query parameters
306
+ query_params = opts[:query_params] || {}
307
+
308
+ # header parameters
309
+ header_params = opts[:header_params] || {}
310
+ # HTTP header 'Accept' (if needed)
311
+ header_params['Accept'] = @api_client.select_header_accept(['text/plain', 'application/json'])
312
+ # HTTP header 'Content-Type'
313
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
314
+
315
+ # form parameters
316
+ form_params = opts[:form_params] || {}
317
+
318
+ # http body (model)
319
+ post_body = opts[:body] || @api_client.object_to_http_body(update_carrier_settings_request_body)
320
+
321
+ # return_type
322
+ return_type = opts[:return_type] || 'String'
323
+
324
+ # auth_names
325
+ auth_names = opts[:auth_names] || ['api_key']
326
+
327
+ new_options = opts.merge(
328
+ :header_params => header_params,
329
+ :query_params => query_params,
330
+ :form_params => form_params,
331
+ :body => post_body,
332
+ :auth_names => auth_names,
333
+ :return_type => return_type
334
+ )
335
+
336
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
337
+ if @api_client.config.debugging
338
+ @api_client.config.logger.debug "API called: CarrierAccountsApi#update_carrier_settings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
339
+ end
340
+ return data, status_code, headers
341
+ end
342
+ end
343
+ end
@@ -0,0 +1,461 @@
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 CarriersApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Add Funds To Carrier
23
+ # Add Funds To A Carrier
24
+ # @param carrier_id [String] Carrier ID
25
+ # @param add_funds_to_carrier_request_body [AddFundsToCarrierRequestBody]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [AddFundsToCarrierResponseBody]
28
+ def add_funds_to_carrier(carrier_id, add_funds_to_carrier_request_body, opts = {})
29
+ data, _status_code, _headers = add_funds_to_carrier_with_http_info(carrier_id, add_funds_to_carrier_request_body, opts)
30
+ data
31
+ end
32
+
33
+ # Add Funds To Carrier
34
+ # Add Funds To A Carrier
35
+ # @param carrier_id [String] Carrier ID
36
+ # @param add_funds_to_carrier_request_body [AddFundsToCarrierRequestBody]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(AddFundsToCarrierResponseBody, Integer, Hash)>] AddFundsToCarrierResponseBody data, response status code and response headers
39
+ def add_funds_to_carrier_with_http_info(carrier_id, add_funds_to_carrier_request_body, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: CarriersApi.add_funds_to_carrier ...'
42
+ end
43
+ # verify the required parameter 'carrier_id' is set
44
+ if @api_client.config.client_side_validation && carrier_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'carrier_id' when calling CarriersApi.add_funds_to_carrier"
46
+ end
47
+ if @api_client.config.client_side_validation && carrier_id.to_s.length > 25
48
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarriersApi.add_funds_to_carrier, the character length must be smaller than or equal to 25.'
49
+ end
50
+
51
+ if @api_client.config.client_side_validation && carrier_id.to_s.length < 1
52
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarriersApi.add_funds_to_carrier, the character length must be great than or equal to 1.'
53
+ end
54
+
55
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
56
+ if @api_client.config.client_side_validation && carrier_id !~ pattern
57
+ fail ArgumentError, "invalid value for 'carrier_id' when calling CarriersApi.add_funds_to_carrier, must conform to the pattern #{pattern}."
58
+ end
59
+
60
+ # verify the required parameter 'add_funds_to_carrier_request_body' is set
61
+ if @api_client.config.client_side_validation && add_funds_to_carrier_request_body.nil?
62
+ fail ArgumentError, "Missing the required parameter 'add_funds_to_carrier_request_body' when calling CarriersApi.add_funds_to_carrier"
63
+ end
64
+ # resource path
65
+ local_var_path = '/v1/carriers/{carrier_id}/add_funds'.sub('{' + 'carrier_id' + '}', CGI.escape(carrier_id.to_s))
66
+
67
+ # query parameters
68
+ query_params = opts[:query_params] || {}
69
+
70
+ # header parameters
71
+ header_params = opts[:header_params] || {}
72
+ # HTTP header 'Accept' (if needed)
73
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
74
+ # HTTP header 'Content-Type'
75
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
76
+
77
+ # form parameters
78
+ form_params = opts[:form_params] || {}
79
+
80
+ # http body (model)
81
+ post_body = opts[:body] || @api_client.object_to_http_body(add_funds_to_carrier_request_body)
82
+
83
+ # return_type
84
+ return_type = opts[:return_type] || 'AddFundsToCarrierResponseBody'
85
+
86
+ # auth_names
87
+ auth_names = opts[:auth_names] || ['api_key']
88
+
89
+ new_options = opts.merge(
90
+ :header_params => header_params,
91
+ :query_params => query_params,
92
+ :form_params => form_params,
93
+ :body => post_body,
94
+ :auth_names => auth_names,
95
+ :return_type => return_type
96
+ )
97
+
98
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
99
+ if @api_client.config.debugging
100
+ @api_client.config.logger.debug "API called: CarriersApi#add_funds_to_carrier\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
101
+ end
102
+ return data, status_code, headers
103
+ end
104
+
105
+ # Get Carrier By ID
106
+ # Retrive carrier info by ID
107
+ # @param carrier_id [String] Carrier ID
108
+ # @param [Hash] opts the optional parameters
109
+ # @return [GetCarrierByIdResponseBody]
110
+ def get_carrier_by_id(carrier_id, opts = {})
111
+ data, _status_code, _headers = get_carrier_by_id_with_http_info(carrier_id, opts)
112
+ data
113
+ end
114
+
115
+ # Get Carrier By ID
116
+ # Retrive carrier info by ID
117
+ # @param carrier_id [String] Carrier ID
118
+ # @param [Hash] opts the optional parameters
119
+ # @return [Array<(GetCarrierByIdResponseBody, Integer, Hash)>] GetCarrierByIdResponseBody data, response status code and response headers
120
+ def get_carrier_by_id_with_http_info(carrier_id, opts = {})
121
+ if @api_client.config.debugging
122
+ @api_client.config.logger.debug 'Calling API: CarriersApi.get_carrier_by_id ...'
123
+ end
124
+ # verify the required parameter 'carrier_id' is set
125
+ if @api_client.config.client_side_validation && carrier_id.nil?
126
+ fail ArgumentError, "Missing the required parameter 'carrier_id' when calling CarriersApi.get_carrier_by_id"
127
+ end
128
+ if @api_client.config.client_side_validation && carrier_id.to_s.length > 25
129
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarriersApi.get_carrier_by_id, the character length must be smaller than or equal to 25.'
130
+ end
131
+
132
+ if @api_client.config.client_side_validation && carrier_id.to_s.length < 1
133
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarriersApi.get_carrier_by_id, the character length must be great than or equal to 1.'
134
+ end
135
+
136
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
137
+ if @api_client.config.client_side_validation && carrier_id !~ pattern
138
+ fail ArgumentError, "invalid value for 'carrier_id' when calling CarriersApi.get_carrier_by_id, must conform to the pattern #{pattern}."
139
+ end
140
+
141
+ # resource path
142
+ local_var_path = '/v1/carriers/{carrier_id}'.sub('{' + 'carrier_id' + '}', CGI.escape(carrier_id.to_s))
143
+
144
+ # query parameters
145
+ query_params = opts[:query_params] || {}
146
+
147
+ # header parameters
148
+ header_params = opts[:header_params] || {}
149
+ # HTTP header 'Accept' (if needed)
150
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
151
+
152
+ # form parameters
153
+ form_params = opts[:form_params] || {}
154
+
155
+ # http body (model)
156
+ post_body = opts[:body]
157
+
158
+ # return_type
159
+ return_type = opts[:return_type] || 'GetCarrierByIdResponseBody'
160
+
161
+ # auth_names
162
+ auth_names = opts[:auth_names] || ['api_key']
163
+
164
+ new_options = opts.merge(
165
+ :header_params => header_params,
166
+ :query_params => query_params,
167
+ :form_params => form_params,
168
+ :body => post_body,
169
+ :auth_names => auth_names,
170
+ :return_type => return_type
171
+ )
172
+
173
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
174
+ if @api_client.config.debugging
175
+ @api_client.config.logger.debug "API called: CarriersApi#get_carrier_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
176
+ end
177
+ return data, status_code, headers
178
+ end
179
+
180
+ # Get Carrier Options
181
+ # Get a list of the options available for the carrier
182
+ # @param carrier_id [String] Carrier ID
183
+ # @param [Hash] opts the optional parameters
184
+ # @return [GetCarrierOptionsResponseBody]
185
+ def get_carrier_options(carrier_id, opts = {})
186
+ data, _status_code, _headers = get_carrier_options_with_http_info(carrier_id, opts)
187
+ data
188
+ end
189
+
190
+ # Get Carrier Options
191
+ # Get a list of the options available for the carrier
192
+ # @param carrier_id [String] Carrier ID
193
+ # @param [Hash] opts the optional parameters
194
+ # @return [Array<(GetCarrierOptionsResponseBody, Integer, Hash)>] GetCarrierOptionsResponseBody data, response status code and response headers
195
+ def get_carrier_options_with_http_info(carrier_id, opts = {})
196
+ if @api_client.config.debugging
197
+ @api_client.config.logger.debug 'Calling API: CarriersApi.get_carrier_options ...'
198
+ end
199
+ # verify the required parameter 'carrier_id' is set
200
+ if @api_client.config.client_side_validation && carrier_id.nil?
201
+ fail ArgumentError, "Missing the required parameter 'carrier_id' when calling CarriersApi.get_carrier_options"
202
+ end
203
+ if @api_client.config.client_side_validation && carrier_id.to_s.length > 25
204
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarriersApi.get_carrier_options, the character length must be smaller than or equal to 25.'
205
+ end
206
+
207
+ if @api_client.config.client_side_validation && carrier_id.to_s.length < 1
208
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarriersApi.get_carrier_options, the character length must be great than or equal to 1.'
209
+ end
210
+
211
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
212
+ if @api_client.config.client_side_validation && carrier_id !~ pattern
213
+ fail ArgumentError, "invalid value for 'carrier_id' when calling CarriersApi.get_carrier_options, must conform to the pattern #{pattern}."
214
+ end
215
+
216
+ # resource path
217
+ local_var_path = '/v1/carriers/{carrier_id}/options'.sub('{' + 'carrier_id' + '}', CGI.escape(carrier_id.to_s))
218
+
219
+ # query parameters
220
+ query_params = opts[:query_params] || {}
221
+
222
+ # header parameters
223
+ header_params = opts[:header_params] || {}
224
+ # HTTP header 'Accept' (if needed)
225
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
226
+
227
+ # form parameters
228
+ form_params = opts[:form_params] || {}
229
+
230
+ # http body (model)
231
+ post_body = opts[:body]
232
+
233
+ # return_type
234
+ return_type = opts[:return_type] || 'GetCarrierOptionsResponseBody'
235
+
236
+ # auth_names
237
+ auth_names = opts[:auth_names] || ['api_key']
238
+
239
+ new_options = opts.merge(
240
+ :header_params => header_params,
241
+ :query_params => query_params,
242
+ :form_params => form_params,
243
+ :body => post_body,
244
+ :auth_names => auth_names,
245
+ :return_type => return_type
246
+ )
247
+
248
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
249
+ if @api_client.config.debugging
250
+ @api_client.config.logger.debug "API called: CarriersApi#get_carrier_options\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
251
+ end
252
+ return data, status_code, headers
253
+ end
254
+
255
+ # List Carrier Package Types
256
+ # List the package types associated with the carrier
257
+ # @param carrier_id [String] Carrier ID
258
+ # @param [Hash] opts the optional parameters
259
+ # @return [ListCarrierPackageTypesResponseBody]
260
+ def list_carrier_package_types(carrier_id, opts = {})
261
+ data, _status_code, _headers = list_carrier_package_types_with_http_info(carrier_id, opts)
262
+ data
263
+ end
264
+
265
+ # List Carrier Package Types
266
+ # List the package types associated with the carrier
267
+ # @param carrier_id [String] Carrier ID
268
+ # @param [Hash] opts the optional parameters
269
+ # @return [Array<(ListCarrierPackageTypesResponseBody, Integer, Hash)>] ListCarrierPackageTypesResponseBody data, response status code and response headers
270
+ def list_carrier_package_types_with_http_info(carrier_id, opts = {})
271
+ if @api_client.config.debugging
272
+ @api_client.config.logger.debug 'Calling API: CarriersApi.list_carrier_package_types ...'
273
+ end
274
+ # verify the required parameter 'carrier_id' is set
275
+ if @api_client.config.client_side_validation && carrier_id.nil?
276
+ fail ArgumentError, "Missing the required parameter 'carrier_id' when calling CarriersApi.list_carrier_package_types"
277
+ end
278
+ if @api_client.config.client_side_validation && carrier_id.to_s.length > 25
279
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarriersApi.list_carrier_package_types, the character length must be smaller than or equal to 25.'
280
+ end
281
+
282
+ if @api_client.config.client_side_validation && carrier_id.to_s.length < 1
283
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarriersApi.list_carrier_package_types, the character length must be great than or equal to 1.'
284
+ end
285
+
286
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
287
+ if @api_client.config.client_side_validation && carrier_id !~ pattern
288
+ fail ArgumentError, "invalid value for 'carrier_id' when calling CarriersApi.list_carrier_package_types, must conform to the pattern #{pattern}."
289
+ end
290
+
291
+ # resource path
292
+ local_var_path = '/v1/carriers/{carrier_id}/packages'.sub('{' + 'carrier_id' + '}', CGI.escape(carrier_id.to_s))
293
+
294
+ # query parameters
295
+ query_params = opts[:query_params] || {}
296
+
297
+ # header parameters
298
+ header_params = opts[:header_params] || {}
299
+ # HTTP header 'Accept' (if needed)
300
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
301
+
302
+ # form parameters
303
+ form_params = opts[:form_params] || {}
304
+
305
+ # http body (model)
306
+ post_body = opts[:body]
307
+
308
+ # return_type
309
+ return_type = opts[:return_type] || 'ListCarrierPackageTypesResponseBody'
310
+
311
+ # auth_names
312
+ auth_names = opts[:auth_names] || ['api_key']
313
+
314
+ new_options = opts.merge(
315
+ :header_params => header_params,
316
+ :query_params => query_params,
317
+ :form_params => form_params,
318
+ :body => post_body,
319
+ :auth_names => auth_names,
320
+ :return_type => return_type
321
+ )
322
+
323
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
324
+ if @api_client.config.debugging
325
+ @api_client.config.logger.debug "API called: CarriersApi#list_carrier_package_types\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
326
+ end
327
+ return data, status_code, headers
328
+ end
329
+
330
+ # List Carrier Services
331
+ # List the services associated with the carrier ID
332
+ # @param carrier_id [String] Carrier ID
333
+ # @param [Hash] opts the optional parameters
334
+ # @return [ListCarrierServicesResponseBody]
335
+ def list_carrier_services(carrier_id, opts = {})
336
+ data, _status_code, _headers = list_carrier_services_with_http_info(carrier_id, opts)
337
+ data
338
+ end
339
+
340
+ # List Carrier Services
341
+ # List the services associated with the carrier ID
342
+ # @param carrier_id [String] Carrier ID
343
+ # @param [Hash] opts the optional parameters
344
+ # @return [Array<(ListCarrierServicesResponseBody, Integer, Hash)>] ListCarrierServicesResponseBody data, response status code and response headers
345
+ def list_carrier_services_with_http_info(carrier_id, opts = {})
346
+ if @api_client.config.debugging
347
+ @api_client.config.logger.debug 'Calling API: CarriersApi.list_carrier_services ...'
348
+ end
349
+ # verify the required parameter 'carrier_id' is set
350
+ if @api_client.config.client_side_validation && carrier_id.nil?
351
+ fail ArgumentError, "Missing the required parameter 'carrier_id' when calling CarriersApi.list_carrier_services"
352
+ end
353
+ if @api_client.config.client_side_validation && carrier_id.to_s.length > 25
354
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarriersApi.list_carrier_services, the character length must be smaller than or equal to 25.'
355
+ end
356
+
357
+ if @api_client.config.client_side_validation && carrier_id.to_s.length < 1
358
+ fail ArgumentError, 'invalid value for "carrier_id" when calling CarriersApi.list_carrier_services, the character length must be great than or equal to 1.'
359
+ end
360
+
361
+ pattern = Regexp.new(/^se(-[a-z0-9]+)+$/)
362
+ if @api_client.config.client_side_validation && carrier_id !~ pattern
363
+ fail ArgumentError, "invalid value for 'carrier_id' when calling CarriersApi.list_carrier_services, must conform to the pattern #{pattern}."
364
+ end
365
+
366
+ # resource path
367
+ local_var_path = '/v1/carriers/{carrier_id}/services'.sub('{' + 'carrier_id' + '}', CGI.escape(carrier_id.to_s))
368
+
369
+ # query parameters
370
+ query_params = opts[:query_params] || {}
371
+
372
+ # header parameters
373
+ header_params = opts[:header_params] || {}
374
+ # HTTP header 'Accept' (if needed)
375
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
376
+
377
+ # form parameters
378
+ form_params = opts[:form_params] || {}
379
+
380
+ # http body (model)
381
+ post_body = opts[:body]
382
+
383
+ # return_type
384
+ return_type = opts[:return_type] || 'ListCarrierServicesResponseBody'
385
+
386
+ # auth_names
387
+ auth_names = opts[:auth_names] || ['api_key']
388
+
389
+ new_options = opts.merge(
390
+ :header_params => header_params,
391
+ :query_params => query_params,
392
+ :form_params => form_params,
393
+ :body => post_body,
394
+ :auth_names => auth_names,
395
+ :return_type => return_type
396
+ )
397
+
398
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
399
+ if @api_client.config.debugging
400
+ @api_client.config.logger.debug "API called: CarriersApi#list_carrier_services\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
401
+ end
402
+ return data, status_code, headers
403
+ end
404
+
405
+ # List Carriers
406
+ # List all carriers that have been added to this account
407
+ # @param [Hash] opts the optional parameters
408
+ # @return [GetCarriersResponseBody]
409
+ def list_carriers(opts = {})
410
+ data, _status_code, _headers = list_carriers_with_http_info(opts)
411
+ data
412
+ end
413
+
414
+ # List Carriers
415
+ # List all carriers that have been added to this account
416
+ # @param [Hash] opts the optional parameters
417
+ # @return [Array<(GetCarriersResponseBody, Integer, Hash)>] GetCarriersResponseBody data, response status code and response headers
418
+ def list_carriers_with_http_info(opts = {})
419
+ if @api_client.config.debugging
420
+ @api_client.config.logger.debug 'Calling API: CarriersApi.list_carriers ...'
421
+ end
422
+ # resource path
423
+ local_var_path = '/v1/carriers'
424
+
425
+ # query parameters
426
+ query_params = opts[:query_params] || {}
427
+
428
+ # header parameters
429
+ header_params = opts[:header_params] || {}
430
+ # HTTP header 'Accept' (if needed)
431
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
432
+
433
+ # form parameters
434
+ form_params = opts[:form_params] || {}
435
+
436
+ # http body (model)
437
+ post_body = opts[:body]
438
+
439
+ # return_type
440
+ return_type = opts[:return_type] || 'GetCarriersResponseBody'
441
+
442
+ # auth_names
443
+ auth_names = opts[:auth_names] || ['api_key']
444
+
445
+ new_options = opts.merge(
446
+ :header_params => header_params,
447
+ :query_params => query_params,
448
+ :form_params => form_params,
449
+ :body => post_body,
450
+ :auth_names => auth_names,
451
+ :return_type => return_type
452
+ )
453
+
454
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
455
+ if @api_client.config.debugging
456
+ @api_client.config.logger.debug "API called: CarriersApi#list_carriers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
457
+ end
458
+ return data, status_code, headers
459
+ end
460
+ end
461
+ end