class Peddler::APIs::ShippingV2
Amazon Shipping API
The Amazon Shipping API
is designed to support outbound shipping use cases both for orders originating on Amazon-owned marketplaces as well as external channels/marketplaces. With these APIs
, you can request shipping rates, create shipments, cancel shipments, and track shipments.
Public Instance Methods
Source
# File lib/peddler/apis/shipping_v2.rb, line 142 def cancel_shipment(shipment_id, x_amzn_shipping_business_id: nil, rate_limit: 80.0) path = "/shipping/v2/shipments/#{percent_encode(shipment_id)}/cancel" meter(rate_limit).put(path) end
Cancels a purchased shipment. Returns an empty object if the shipment is successfully cancelled.
@note This operation can make a dynamic sandbox call. @param shipment_id [String] The shipment identifier originally returned by the purchaseShipment operation. @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 338 def create_claim(body, x_amzn_shipping_business_id: nil, rate_limit: 80.0) path = "/shipping/v2/claims" meter(rate_limit).post(path, body:) end
This API
will be used to create claim for single eligible shipment.
@note This operation can make a dynamic sandbox call. @param body [Hash] Request body for the createClaim operation @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 47 def direct_purchase_shipment(body, x_amzn_idempotency_key: nil, locale: nil, x_amzn_shipping_business_id: nil, rate_limit: 80.0) path = "/shipping/v2/shipments/directPurchase" meter(rate_limit).post(path, body:) end
Purchases the shipping service for a shipment using the best fit service offering. Returns purchase related details and documents.
@note This operation can make a dynamic sandbox call. @param body [Hash] DirectPurchaseRequest body @param x_amzn_idempotency_key [String] A unique value which the server uses to recognize subsequent retries of
the same request.
@param locale [String] The IETF Language Tag. Note that this only supports the primary language subtag with one
secondary language subtag (i.e. en-US, fr-CA). The secondary language subtag is almost always a regional designation. This does not support additional subtags beyond the primary and secondary language subtags.
@param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 239 def generate_collection_form(body, x_amzn_idempotency_key: nil, x_amzn_shipping_business_id: nil, rate_limit: 80.0) cannot_sandbox! path = "/shipping/v2/collectionForms" meter(rate_limit).post(path, body:) end
This API
Call to generate the collection form.
@param body [Hash] GenerateCollectionFormRequest body @param x_amzn_idempotency_key [String] A unique value which the server uses to recognize subsequent retries of
the same request.
@param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 304 def get_access_points(access_point_types, country_code, postal_code, x_amzn_shipping_business_id: nil, rate_limit: 80.0) path = "/shipping/v2/accessPoints" params = { "accessPointTypes" => stringify_array(access_point_types), "countryCode" => country_code, "postalCode" => postal_code, }.compact meter(rate_limit).get(path, params:) end
Returns a list of access points in proximity of input postal code.
@note This operation can make a dynamic sandbox call. @param access_point_types [Array<String>] Access point types @param country_code [String] Country code for access point @param postal_code [String] postal code for access point @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 160 def get_additional_inputs(request_token, rate_id, x_amzn_shipping_business_id: nil, rate_limit: 80.0) path = "/shipping/v2/shipments/additionalInputs/schema" params = { "requestToken" => request_token, "rateId" => rate_id, }.compact meter(rate_limit).get(path, params:) end
Returns the JSON schema to use for providing additional inputs when needed to purchase a shipping offering. Call the getAdditionalInputs operation when the response to a previous call to the getRates operation indicates that additional inputs are required for the rate (shipping offering) that you want to purchase.
@note This operation can make a static sandbox call. @param request_token [String] The request token returned in the response to the getRates operation. @param rate_id [String] The rate identifier for the shipping offering (rate) returned in the response to the
getRates operation.
@param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 176 def get_carrier_account_form_inputs(x_amzn_shipping_business_id: nil, rate_limit: 80.0) cannot_sandbox! path = "/shipping/v2/carrierAccountFormInputs" meter(rate_limit).get(path) end
This API
will return a list of input schema required to register a shipper account with the carrier.
@param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 191 def get_carrier_accounts(body, x_amzn_shipping_business_id: nil, rate_limit: 80.0) cannot_sandbox! path = "/shipping/v2/carrierAccounts" meter(rate_limit).put(path, body:) end
This API
will return Get all carrier accounts for a merchant.
@param body [Hash] GetCarrierAccountsRequest body @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 286 def get_collection_form(collection_form_id, x_amzn_shipping_business_id: nil, rate_limit: 80.0) cannot_sandbox! path = "/shipping/v2/collectionForms/#{percent_encode(collection_form_id)}" meter(rate_limit).get(path) end
This API
reprint a collection form.
@param collection_form_id [String] collection form Id to reprint a collection. @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 255 def get_collection_form_history(body, x_amzn_shipping_business_id: nil, rate_limit: 80.0) cannot_sandbox! path = "/shipping/v2/collectionForms/history" meter(rate_limit).put(path, body:) end
This API
Call to get the history of the previously generated collection forms.
@param body [Hash] GetCollectionFormHistoryRequest body @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 27 def get_rates(body, x_amzn_shipping_business_id: nil, rate_limit: 80.0) path = "/shipping/v2/shipments/rates" meter(rate_limit).post(path, body:) end
Returns the available shipping service offerings.
@note This operation can make a dynamic sandbox call. @param body [Hash] GetRatesRequest body @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 122 def get_shipment_documents(shipment_id, package_client_reference_id, format: nil, dpi: nil, x_amzn_shipping_business_id: nil, rate_limit: 80.0) path = "/shipping/v2/shipments/#{percent_encode(shipment_id)}/documents" params = { "packageClientReferenceId" => package_client_reference_id, "format" => format, "dpi" => dpi, }.compact meter(rate_limit).get(path, params:) end
Returns the shipping documents associated with a package in a shipment.
@note This operation can make a dynamic sandbox call. @param shipment_id [String] The shipment identifier originally returned by the purchaseShipment operation. @param package_client_reference_id [String] The package client reference identifier originally provided in the
request body parameter for the getRates operation.
@param format [String] The file format of the document. Must be one of the supported formats returned by the
getRates operation.
@param dpi [Number] The resolution of the document (for example, 300 means 300 dots per inch). Must be one of
the supported resolutions returned in the response to the getRates operation.
@param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 98 def get_tracking(tracking_id, carrier_id, x_amzn_shipping_business_id: nil, rate_limit: 80.0) path = "/shipping/v2/tracking" params = { "trackingId" => tracking_id, "carrierId" => carrier_id, }.compact meter(rate_limit).get(path, params:) end
Returns tracking information for a purchased shipment.
@note This operation can make a dynamic sandbox call. @param tracking_id [String] A carrier-generated tracking identifier originally returned by the purchaseShipment
operation.
@param carrier_id [String] A carrier identifier originally returned by the getRates operation for the selected
rate.
@param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 271 def get_unmanifested_shipments(body, x_amzn_shipping_business_id: nil, rate_limit: 80.0) cannot_sandbox! path = "/shipping/v2/unmanifestedShipments" meter(rate_limit).put(path, body:) end
This API
Get all unmanifested carriers with shipment locations. Any locations which has unmanifested shipments with an eligible carrier for manifesting shall be returned.
@param body [Hash] GetUmanifestedShipmentsRequest body @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 208 def link_carrier_account(carrier_id, body, x_amzn_shipping_business_id: nil, rate_limit: 5.0) path = "/shipping/v2/carrierAccounts/#{percent_encode(carrier_id)}" meter(rate_limit).post(path, body:) end
This API
associates/links the specified carrier account with the merchant.
@note This operation can make a dynamic sandbox call. @param carrier_id [String] An identifier for the carrier with which the seller’s account is being linked. @param body [Hash] LinkCarrierAccountRequest body @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 81 def one_click_shipment(body, x_amzn_shipping_business_id: nil, rate_limit: 80.0) path = "/shipping/v2/oneClickShipment" meter(rate_limit).post(path, body:) end
Purchases a shipping service identifier and returns purchase-related details and documents.
@note This operation can make a dynamic sandbox call. @param body [Hash] OneClickShipmentRequest body @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 67 def purchase_shipment(body, x_amzn_idempotency_key: nil, x_amzn_shipping_business_id: nil, rate_limit: 80.0) path = "/shipping/v2/shipments" meter(rate_limit).post(path, body:) end
Purchases a shipping service and returns purchase related details and documents. Note: You must complete the purchase within 10 minutes of rate creation by the shipping service provider. If you make the request after the 10 minutes have expired, you will receive an error response with the error code equal to “TOKEN_EXPIRED”. If you receive this error response, you must get the rates for the shipment again.
@note This operation can make a dynamic sandbox call. @param body [Hash] PurchaseShipmentRequest body @param x_amzn_idempotency_key [String] A unique value which the server uses to recognize subsequent retries of
the same request.
@param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 324 def submit_ndr_feedback(body, x_amzn_shipping_business_id: nil, rate_limit: 80.0) path = "/shipping/v2/ndrFeedback" meter(rate_limit).post(path, body:) end
This API
submits the NDR (Non-delivery Report) Feedback for any eligible shipment.
@note This operation can make a dynamic sandbox call. @param body [Hash] Request body for ndrFeedback operation @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response
Source
# File lib/peddler/apis/shipping_v2.rb, line 222 def unlink_carrier_account(carrier_id, body, x_amzn_shipping_business_id: nil, rate_limit: 80.0) cannot_sandbox! path = "/shipping/v2/carrierAccounts/#{percent_encode(carrier_id)}/unlink" meter(rate_limit).put(path, body:) end
This API
Unlink the specified carrier account with the merchant.
@param carrier_id [String] carrier Id to unlink with merchant. @param body [Hash] UnlinkCarrierAccountRequest body @param x_amzn_shipping_business_id [String] Amazon shipping business to assume for this request. The default is
AmazonShipping_UK.
@param rate_limit [Float] Requests per second @return [Peddler::Response] The API
response