peddler 2.4.5 → 3.0.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +406 -134
- data/lib/peddler/access_token.rb +76 -0
- data/lib/peddler/api/amazon_warehousing_and_distribution_2024_05_09.rb +80 -0
- data/lib/peddler/api/aplus_content_2020_11_01.rb +208 -0
- data/lib/peddler/api/application_management_2023_11_30.rb +25 -0
- data/lib/peddler/api/catalog_items_2020_12_01.rb +70 -0
- data/lib/peddler/api/catalog_items_2022_04_01.rb +83 -0
- data/lib/peddler/api/catalog_items_v0.rb +90 -0
- data/lib/peddler/api/data_kiosk_2023_11_15.rb +92 -0
- data/lib/peddler/api/easy_ship_2022_03_23.rb +108 -0
- data/lib/peddler/api/fba_inbound_eligibility_v1.rb +36 -0
- data/lib/peddler/api/fba_inventory_v1.rb +106 -0
- data/lib/peddler/api/feeds_2021_06_30.rb +104 -0
- data/lib/peddler/api/finances_v0.rb +121 -0
- data/lib/peddler/api/fulfillment_inbound_2024_03_20.rb +660 -0
- data/lib/peddler/api/fulfillment_inbound_v0.rb +314 -0
- data/lib/peddler/api/fulfillment_outbound_2020_07_01.rb +222 -0
- data/lib/peddler/api/listings_items_2020_09_01.rb +84 -0
- data/lib/peddler/api/listings_items_2021_08_01.rb +154 -0
- data/lib/peddler/api/listings_restrictions_2021_08_01.rb +37 -0
- data/lib/peddler/api/merchant_fulfillment_v0.rb +64 -0
- data/lib/peddler/api/messaging_v1.rb +241 -0
- data/lib/peddler/api/notifications_v1.rb +114 -0
- data/lib/peddler/api/orders_v0.rb +264 -0
- data/lib/peddler/api/product_fees_v0.rb +69 -0
- data/lib/peddler/api/product_pricing_2022_05_01.rb +43 -0
- data/lib/peddler/api/product_pricing_v0.rb +144 -0
- data/lib/peddler/api/product_type_definitions_2020_09_01.rb +75 -0
- data/lib/peddler/api/replenishment_2022_11_07.rb +45 -0
- data/lib/peddler/api/reports_2021_06_30.rb +139 -0
- data/lib/peddler/api/sales_v1.rb +69 -0
- data/lib/peddler/api/sellers_v1.rb +33 -0
- data/lib/peddler/api/services_v1.rb +308 -0
- data/lib/peddler/api/shipment_invoicing_v0.rb +46 -0
- data/lib/peddler/api/shipping_v1.rb +107 -0
- data/lib/peddler/api/shipping_v2.rb +267 -0
- data/lib/peddler/api/solicitations_v1.rb +53 -0
- data/lib/peddler/api/supply_sources_2020_07_01.rb +82 -0
- data/lib/peddler/api/tokens_2021_03_01.rb +30 -0
- data/lib/peddler/api/uploads_2020_11_01.rb +40 -0
- data/lib/peddler/api/vendor_direct_fulfillment_inventory_v1.rb +24 -0
- data/lib/peddler/api/vendor_direct_fulfillment_orders_2021_12_28.rb +72 -0
- data/lib/peddler/api/vendor_direct_fulfillment_orders_v1.rb +72 -0
- data/lib/peddler/api/vendor_direct_fulfillment_payments_v1.rb +23 -0
- data/lib/peddler/api/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.rb +35 -0
- data/lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb +177 -0
- data/lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb +165 -0
- data/lib/peddler/api/vendor_direct_fulfillment_transactions_2021_12_28.rb +24 -0
- data/lib/peddler/api/vendor_direct_fulfillment_transactions_v1.rb +24 -0
- data/lib/peddler/api/vendor_invoices_v1.rb +22 -0
- data/lib/peddler/api/vendor_orders_v1.rb +148 -0
- data/lib/peddler/api/vendor_shipments_v1.rb +120 -0
- data/lib/peddler/api/vendor_transaction_status_v1.rb +24 -0
- data/lib/peddler/api.rb +115 -0
- data/lib/peddler/error.rb +30 -0
- data/lib/peddler/region.rb +30 -0
- data/lib/peddler/version.rb +1 -1
- data/lib/peddler.rb +52 -1
- metadata +70 -80
- data/lib/mws/easy_ship/client.rb +0 -93
- data/lib/mws/easy_ship.rb +0 -3
- data/lib/mws/feeds/client.rb +0 -122
- data/lib/mws/feeds.rb +0 -3
- data/lib/mws/finances/client.rb +0 -82
- data/lib/mws/finances.rb +0 -3
- data/lib/mws/fulfillment_inbound_shipment/client.rb +0 -388
- data/lib/mws/fulfillment_inbound_shipment.rb +0 -3
- data/lib/mws/fulfillment_inventory/client.rb +0 -57
- data/lib/mws/fulfillment_inventory.rb +0 -3
- data/lib/mws/fulfillment_outbound_shipment/client.rb +0 -211
- data/lib/mws/fulfillment_outbound_shipment.rb +0 -3
- data/lib/mws/merchant_fulfillment/client.rb +0 -87
- data/lib/mws/merchant_fulfillment.rb +0 -3
- data/lib/mws/off_amazon_payments.rb +0 -3
- data/lib/mws/orders/client.rb +0 -120
- data/lib/mws/orders.rb +0 -3
- data/lib/mws/products/client.rb +0 -268
- data/lib/mws/products.rb +0 -3
- data/lib/mws/recommendations/client.rb +0 -72
- data/lib/mws/recommendations.rb +0 -3
- data/lib/mws/reports/client.rb +0 -236
- data/lib/mws/reports.rb +0 -3
- data/lib/mws/sellers/client.rb +0 -44
- data/lib/mws/sellers.rb +0 -3
- data/lib/mws/shipment_invoicing/client.rb +0 -74
- data/lib/mws/shipment_invoicing.rb +0 -3
- data/lib/mws/subscriptions/client.rb +0 -179
- data/lib/mws/subscriptions.rb +0 -3
- data/lib/mws.rb +0 -29
- data/lib/peddler/client.rb +0 -159
- data/lib/peddler/errors/builder.rb +0 -64
- data/lib/peddler/errors/class_generator.rb +0 -40
- data/lib/peddler/errors/error.rb +0 -45
- data/lib/peddler/errors/parser.rb +0 -28
- data/lib/peddler/flat_file_parser.rb +0 -56
- data/lib/peddler/headers.rb +0 -102
- data/lib/peddler/marketplace.rb +0 -79
- data/lib/peddler/operation.rb +0 -78
- data/lib/peddler/parser.rb +0 -33
- data/lib/peddler/structured_list.rb +0 -23
- data/lib/peddler/vcr_matcher.rb +0 -97
- data/lib/peddler/xml_parser.rb +0 -38
- data/lib/peddler/xml_response_parser.rb +0 -25
@@ -0,0 +1,72 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "peddler/api"
|
4
|
+
|
5
|
+
module Peddler
|
6
|
+
class API
|
7
|
+
# Selling Partner API for Direct Fulfillment Orders
|
8
|
+
#
|
9
|
+
# The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment
|
10
|
+
# vendor's order data.
|
11
|
+
class VendorDirectFulfillmentOrdersV1 < API
|
12
|
+
# Returns a list of purchase orders created during the time frame that you specify. You define the time frame
|
13
|
+
# using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only
|
14
|
+
# the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns
|
15
|
+
# a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific
|
16
|
+
# order.
|
17
|
+
#
|
18
|
+
# @param [String] ship_from_party_id The vendor warehouse identifier for the fulfillment warehouse. If not
|
19
|
+
# specified, the result will contain orders for all warehouses.
|
20
|
+
# @param [String] status Returns only the purchase orders that match the specified status. If not specified, the
|
21
|
+
# result will contain orders that match any status.
|
22
|
+
# @param [Integer] limit The limit to the number of purchase orders returned.
|
23
|
+
# @param [String] created_after Purchase orders that became available after this date and time will be included in
|
24
|
+
# the result. Must be in ISO-8601 date/time format.
|
25
|
+
# @param [String] created_before Purchase orders that became available before this date and time will be included
|
26
|
+
# in the result. Must be in ISO-8601 date/time format.
|
27
|
+
# @param [String] sort_order Sort the list in ascending or descending order by order creation date.
|
28
|
+
# @param [String] next_token Used for pagination when there are more orders than the specified result size limit.
|
29
|
+
# The token value is returned in the previous API call.
|
30
|
+
# @param [String] include_details When true, returns the complete purchase order details. Otherwise, only purchase
|
31
|
+
# order numbers are returned.
|
32
|
+
# @return [Hash] The API response
|
33
|
+
def get_orders(created_after, created_before, ship_from_party_id: nil, status: nil, limit: nil,
|
34
|
+
sort_order: nil, next_token: nil, include_details: nil)
|
35
|
+
path = "/vendor/directFulfillment/orders/v1/purchaseOrders"
|
36
|
+
params = {
|
37
|
+
"shipFromPartyId" => ship_from_party_id,
|
38
|
+
"status" => status,
|
39
|
+
"limit" => limit,
|
40
|
+
"createdAfter" => created_after,
|
41
|
+
"createdBefore" => created_before,
|
42
|
+
"sortOrder" => sort_order,
|
43
|
+
"nextToken" => next_token,
|
44
|
+
"includeDetails" => include_details,
|
45
|
+
}.compact
|
46
|
+
|
47
|
+
rate_limit(10.0).get(path, params:)
|
48
|
+
end
|
49
|
+
|
50
|
+
# Returns purchase order information for the purchaseOrderNumber that you specify.
|
51
|
+
#
|
52
|
+
# @param [String] purchase_order_number The order identifier for the purchase order that you want. Formatting
|
53
|
+
# Notes: alpha-numeric code.
|
54
|
+
# @return [Hash] The API response
|
55
|
+
def get_order(purchase_order_number)
|
56
|
+
path = "/vendor/directFulfillment/orders/v1/purchaseOrders/#{purchase_order_number}"
|
57
|
+
|
58
|
+
rate_limit(10.0).get(path)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Submits acknowledgements for one or more purchase orders.
|
62
|
+
#
|
63
|
+
# @param [Hash] body The request body that contains the order acknowledgement.
|
64
|
+
# @return [Hash] The API response
|
65
|
+
def submit_acknowledgement(body)
|
66
|
+
path = "/vendor/directFulfillment/orders/v1/acknowledgements"
|
67
|
+
|
68
|
+
rate_limit(10.0).post(path, body:)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "peddler/api"
|
4
|
+
|
5
|
+
module Peddler
|
6
|
+
class API
|
7
|
+
# Selling Partner API for Direct Fulfillment Payments
|
8
|
+
#
|
9
|
+
# The Selling Partner API for Direct Fulfillment Payments provides programmatic access to a direct fulfillment
|
10
|
+
# vendor's invoice data.
|
11
|
+
class VendorDirectFulfillmentPaymentsV1 < API
|
12
|
+
# Submits one or more invoices for a vendor's direct fulfillment orders.
|
13
|
+
#
|
14
|
+
# @param [Hash] body The request body that contains one or more invoices for vendor orders.
|
15
|
+
# @return [Hash] The API response
|
16
|
+
def submit_invoice(body)
|
17
|
+
path = "/vendor/directFulfillment/payments/v1/invoices"
|
18
|
+
|
19
|
+
rate_limit(10.0).post(path, body:)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "peddler/api"
|
4
|
+
|
5
|
+
module Peddler
|
6
|
+
class API
|
7
|
+
# Selling Partner API for Vendor Direct Fulfillment Sandbox Test Data
|
8
|
+
#
|
9
|
+
# The Selling Partner API for Vendor Direct Fulfillment Sandbox Test Data provides programmatic access to vendor
|
10
|
+
# direct fulfillment sandbox test data.
|
11
|
+
class VendorDirectFulfillmentSandboxTestData20211028 < API
|
12
|
+
# Submits a request to generate test order data for Vendor Direct Fulfillment API entities.
|
13
|
+
#
|
14
|
+
# @param [Hash] body The request payload that contain parameters to generate test order data scenarios.
|
15
|
+
# @return [Hash] The API response
|
16
|
+
def generate_order_scenarios(body)
|
17
|
+
path = "/vendor/directFulfillment/sandbox/2021-10-28/orders"
|
18
|
+
|
19
|
+
post(path, body:)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Retrieves the transaction status identified by the specified `transactionId`, and returns the requested test
|
23
|
+
# order data if the transaction is successful.
|
24
|
+
#
|
25
|
+
# @param [String] transaction_id The transaction identifier returned in the response for the
|
26
|
+
# `generateOrderScenarios` operation.
|
27
|
+
# @return [Hash] The API response
|
28
|
+
def get_order_scenarios(transaction_id)
|
29
|
+
path = "/vendor/directFulfillment/sandbox/2021-10-28/transactions/#{transaction_id}"
|
30
|
+
|
31
|
+
get(path)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,177 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "peddler/api"
|
4
|
+
|
5
|
+
module Peddler
|
6
|
+
class API
|
7
|
+
# Selling Partner API for Direct Fulfillment Shipping
|
8
|
+
#
|
9
|
+
# The Selling Partner API for Direct Fulfillment Shipping provides programmatic access to a direct fulfillment
|
10
|
+
# vendor's shipping data.
|
11
|
+
class VendorDirectFulfillmentShipping20211228 < API
|
12
|
+
# Returns a list of shipping labels created during the time frame that you specify. You define that time frame
|
13
|
+
# using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to
|
14
|
+
# search must not be more than 7 days.
|
15
|
+
#
|
16
|
+
# @param [String] ship_from_party_id The vendor warehouseId for order fulfillment. If not specified, the result
|
17
|
+
# will contain orders for all warehouses.
|
18
|
+
# @param [Integer] limit The limit to the number of records returned.
|
19
|
+
# @param [String] created_after Shipping labels that became available after this date and time will be included in
|
20
|
+
# the result. Must be in ISO-8601 date/time format.
|
21
|
+
# @param [String] created_before Shipping labels that became available before this date and time will be included
|
22
|
+
# in the result. Must be in ISO-8601 date/time format.
|
23
|
+
# @param [String] sort_order Sort ASC or DESC by order creation date.
|
24
|
+
# @param [String] next_token Used for pagination when there are more ship labels than the specified result size
|
25
|
+
# limit. The token value is returned in the previous API call.
|
26
|
+
# @return [Hash] The API response
|
27
|
+
def get_shipping_labels(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
|
28
|
+
next_token: nil)
|
29
|
+
path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels"
|
30
|
+
params = {
|
31
|
+
"shipFromPartyId" => ship_from_party_id,
|
32
|
+
"limit" => limit,
|
33
|
+
"createdAfter" => created_after,
|
34
|
+
"createdBefore" => created_before,
|
35
|
+
"sortOrder" => sort_order,
|
36
|
+
"nextToken" => next_token,
|
37
|
+
}.compact
|
38
|
+
|
39
|
+
rate_limit(10.0).get(path, params:)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Creates a shipping label for a purchase order and returns a transactionId for reference.
|
43
|
+
#
|
44
|
+
# @param [Hash] body Request body that contains the shipping labels data.
|
45
|
+
# @return [Hash] The API response
|
46
|
+
def submit_shipping_label_request(body)
|
47
|
+
path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels"
|
48
|
+
|
49
|
+
rate_limit(10.0).post(path, body:)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Returns a shipping label for the purchaseOrderNumber that you specify.
|
53
|
+
#
|
54
|
+
# @param [String] purchase_order_number The purchase order number for which you want to return the shipping label.
|
55
|
+
# Should be the same `purchaseOrderNumber` as received in the order.
|
56
|
+
# @return [Hash] The API response
|
57
|
+
def get_shipping_label(purchase_order_number)
|
58
|
+
path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/#{purchase_order_number}"
|
59
|
+
|
60
|
+
rate_limit(10.0).get(path)
|
61
|
+
end
|
62
|
+
|
63
|
+
# Creates shipping labels for a purchase order and returns the labels.
|
64
|
+
#
|
65
|
+
# @param [String] purchase_order_number The purchase order number for which you want to return the shipping
|
66
|
+
# labels. It should be the same purchaseOrderNumber as received in the order.
|
67
|
+
# @param [Hash] body The request payload that contains parameters for creating shipping labels.
|
68
|
+
# @return [Hash] The API response
|
69
|
+
def create_shipping_labels(purchase_order_number, body)
|
70
|
+
path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/#{purchase_order_number}"
|
71
|
+
|
72
|
+
rate_limit(10.0).post(path, body:)
|
73
|
+
end
|
74
|
+
|
75
|
+
# Submits one or more shipment confirmations for vendor orders.
|
76
|
+
#
|
77
|
+
# @param [Hash] body Request body containing the shipment confirmations data.
|
78
|
+
# @return [Hash] The API response
|
79
|
+
def submit_shipment_confirmations(body)
|
80
|
+
path = "/vendor/directFulfillment/shipping/2021-12-28/shipmentConfirmations"
|
81
|
+
|
82
|
+
rate_limit(10.0).post(path, body:)
|
83
|
+
end
|
84
|
+
|
85
|
+
# This operation is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API submits a shipment
|
86
|
+
# status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their
|
87
|
+
# order, when the package is outside of Amazon Network visibility.
|
88
|
+
#
|
89
|
+
# @param [Hash] body Request body that contains the shipment status update data.
|
90
|
+
# @return [Hash] The API response
|
91
|
+
def submit_shipment_status_updates(body)
|
92
|
+
path = "/vendor/directFulfillment/shipping/2021-12-28/shipmentStatusUpdates"
|
93
|
+
|
94
|
+
rate_limit(10.0).post(path, body:)
|
95
|
+
end
|
96
|
+
|
97
|
+
# Returns a list of customer invoices created during a time frame that you specify. You define the time frame
|
98
|
+
# using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to
|
99
|
+
# search must be no more than 7 days.
|
100
|
+
#
|
101
|
+
# @param [String] ship_from_party_id The vendor warehouseId for order fulfillment. If not specified, the result
|
102
|
+
# will contain orders for all warehouses.
|
103
|
+
# @param [Integer] limit The limit to the number of records returned
|
104
|
+
# @param [String] created_after Orders that became available after this date and time will be included in the
|
105
|
+
# result. Must be in ISO-8601 date/time format.
|
106
|
+
# @param [String] created_before Orders that became available before this date and time will be included in the
|
107
|
+
# result. Must be in ISO-8601 date/time format.
|
108
|
+
# @param [String] sort_order Sort ASC or DESC by order creation date.
|
109
|
+
# @param [String] next_token Used for pagination when there are more orders than the specified result size limit.
|
110
|
+
# The token value is returned in the previous API call.
|
111
|
+
# @return [Hash] The API response
|
112
|
+
def get_customer_invoices(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
|
113
|
+
next_token: nil)
|
114
|
+
path = "/vendor/directFulfillment/shipping/2021-12-28/customerInvoices"
|
115
|
+
params = {
|
116
|
+
"shipFromPartyId" => ship_from_party_id,
|
117
|
+
"limit" => limit,
|
118
|
+
"createdAfter" => created_after,
|
119
|
+
"createdBefore" => created_before,
|
120
|
+
"sortOrder" => sort_order,
|
121
|
+
"nextToken" => next_token,
|
122
|
+
}.compact
|
123
|
+
|
124
|
+
rate_limit(10.0).get(path, params:)
|
125
|
+
end
|
126
|
+
|
127
|
+
# Returns a customer invoice based on the purchaseOrderNumber that you specify.
|
128
|
+
#
|
129
|
+
# @param [String] purchase_order_number Purchase order number of the shipment for which to return the invoice.
|
130
|
+
# @return [Hash] The API response
|
131
|
+
def get_customer_invoice(purchase_order_number)
|
132
|
+
path = "/vendor/directFulfillment/shipping/2021-12-28/customerInvoices/#{purchase_order_number}"
|
133
|
+
|
134
|
+
rate_limit(10.0).get(path)
|
135
|
+
end
|
136
|
+
|
137
|
+
# Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search
|
138
|
+
# must not be more than 7 days.
|
139
|
+
#
|
140
|
+
# @param [String] ship_from_party_id The vendor warehouseId for order fulfillment. If not specified the result
|
141
|
+
# will contain orders for all warehouses.
|
142
|
+
# @param [Integer] limit The limit to the number of records returned
|
143
|
+
# @param [String] created_after Packing slips that became available after this date and time will be included in
|
144
|
+
# the result. Must be in ISO-8601 date/time format.
|
145
|
+
# @param [String] created_before Packing slips that became available before this date and time will be included in
|
146
|
+
# the result. Must be in ISO-8601 date/time format.
|
147
|
+
# @param [String] sort_order Sort ASC or DESC by packing slip creation date.
|
148
|
+
# @param [String] next_token Used for pagination when there are more packing slips than the specified result size
|
149
|
+
# limit. The token value is returned in the previous API call.
|
150
|
+
# @return [Hash] The API response
|
151
|
+
def get_packing_slips(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
|
152
|
+
next_token: nil)
|
153
|
+
path = "/vendor/directFulfillment/shipping/2021-12-28/packingSlips"
|
154
|
+
params = {
|
155
|
+
"shipFromPartyId" => ship_from_party_id,
|
156
|
+
"limit" => limit,
|
157
|
+
"createdAfter" => created_after,
|
158
|
+
"createdBefore" => created_before,
|
159
|
+
"sortOrder" => sort_order,
|
160
|
+
"nextToken" => next_token,
|
161
|
+
}.compact
|
162
|
+
|
163
|
+
rate_limit(10.0).get(path, params:)
|
164
|
+
end
|
165
|
+
|
166
|
+
# Returns a packing slip based on the purchaseOrderNumber that you specify.
|
167
|
+
#
|
168
|
+
# @param [String] purchase_order_number The purchaseOrderNumber for the packing slip you want.
|
169
|
+
# @return [Hash] The API response
|
170
|
+
def get_packing_slip(purchase_order_number)
|
171
|
+
path = "/vendor/directFulfillment/shipping/2021-12-28/packingSlips/#{purchase_order_number}"
|
172
|
+
|
173
|
+
rate_limit(10.0).get(path)
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
@@ -0,0 +1,165 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "peddler/api"
|
4
|
+
|
5
|
+
module Peddler
|
6
|
+
class API
|
7
|
+
# Selling Partner API for Direct Fulfillment Shipping
|
8
|
+
#
|
9
|
+
# The Selling Partner API for Direct Fulfillment Shipping provides programmatic access to a direct fulfillment
|
10
|
+
# vendor's shipping data.
|
11
|
+
class VendorDirectFulfillmentShippingV1 < API
|
12
|
+
# Returns a list of shipping labels created during the time frame that you specify. You define that time frame
|
13
|
+
# using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range
|
14
|
+
# to search must not be more than 7 days.
|
15
|
+
#
|
16
|
+
# @param [String] ship_from_party_id The vendor `warehouseId` for order fulfillment. If not specified, the result
|
17
|
+
# will contain orders for all warehouses.
|
18
|
+
# @param [Integer] limit The limit to the number of records returned.
|
19
|
+
# @param [String] created_after Shipping labels that became available after this date and time will be included in
|
20
|
+
# the result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
|
21
|
+
# @param [String] created_before Shipping labels that became available before this date and time will be included
|
22
|
+
# in the result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
|
23
|
+
# @param [String] sort_order Sort ASC or DESC by order creation date.
|
24
|
+
# @param [String] next_token Used for pagination when there are more ship labels than the specified result size
|
25
|
+
# limit. The token value is returned in the previous API call.
|
26
|
+
# @return [Hash] The API response
|
27
|
+
def get_shipping_labels(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
|
28
|
+
next_token: nil)
|
29
|
+
path = "/vendor/directFulfillment/shipping/v1/shippingLabels"
|
30
|
+
params = {
|
31
|
+
"shipFromPartyId" => ship_from_party_id,
|
32
|
+
"limit" => limit,
|
33
|
+
"createdAfter" => created_after,
|
34
|
+
"createdBefore" => created_before,
|
35
|
+
"sortOrder" => sort_order,
|
36
|
+
"nextToken" => next_token,
|
37
|
+
}.compact
|
38
|
+
|
39
|
+
rate_limit(10.0).get(path, params:)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Creates a shipping label for a purchase order and returns a `transactionId` for reference.
|
43
|
+
#
|
44
|
+
# @param [Hash] body Request body containing one or more shipping labels data.
|
45
|
+
# @return [Hash] The API response
|
46
|
+
def submit_shipping_label_request(body)
|
47
|
+
path = "/vendor/directFulfillment/shipping/v1/shippingLabels"
|
48
|
+
|
49
|
+
rate_limit(10.0).post(path, body:)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Returns a shipping label for the `purchaseOrderNumber` that you specify.
|
53
|
+
#
|
54
|
+
# @param [String] purchase_order_number The purchase order number for which you want to return the shipping label.
|
55
|
+
# It should be the same `purchaseOrderNumber` as received in the order.
|
56
|
+
# @return [Hash] The API response
|
57
|
+
def get_shipping_label(purchase_order_number)
|
58
|
+
path = "/vendor/directFulfillment/shipping/v1/shippingLabels/#{purchase_order_number}"
|
59
|
+
|
60
|
+
rate_limit(10.0).get(path)
|
61
|
+
end
|
62
|
+
|
63
|
+
# Submits one or more shipment confirmations for vendor orders.
|
64
|
+
#
|
65
|
+
# @param [Hash] body Request body containing the shipment confirmations data.
|
66
|
+
# @return [Hash] The API response
|
67
|
+
def submit_shipment_confirmations(body)
|
68
|
+
path = "/vendor/directFulfillment/shipping/v1/shipmentConfirmations"
|
69
|
+
|
70
|
+
rate_limit(10.0).post(path, body:)
|
71
|
+
end
|
72
|
+
|
73
|
+
# This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment
|
74
|
+
# status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their
|
75
|
+
# order, when the package is outside of Amazon Network visibility.
|
76
|
+
#
|
77
|
+
# @param [Hash] body Request body containing the shipment status update data.
|
78
|
+
# @return [Hash] The API response
|
79
|
+
def submit_shipment_status_updates(body)
|
80
|
+
path = "/vendor/directFulfillment/shipping/v1/shipmentStatusUpdates"
|
81
|
+
|
82
|
+
rate_limit(10.0).post(path, body:)
|
83
|
+
end
|
84
|
+
|
85
|
+
# Returns a list of customer invoices created during a time frame that you specify. You define the time frame
|
86
|
+
# using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range
|
87
|
+
# to search must be no more than 7 days.
|
88
|
+
#
|
89
|
+
# @param [String] ship_from_party_id The vendor `warehouseId` for order fulfillment. If not specified, the result
|
90
|
+
# will contain orders for all warehouses.
|
91
|
+
# @param [Integer] limit The limit to the number of records returned
|
92
|
+
# @param [String] created_after Orders that became available after this date and time will be included in the
|
93
|
+
# result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
|
94
|
+
# @param [String] created_before Orders that became available before this date and time will be included in the
|
95
|
+
# result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
|
96
|
+
# @param [String] sort_order Sort ASC or DESC by order creation date.
|
97
|
+
# @param [String] next_token Used for pagination when there are more orders than the specified result size limit.
|
98
|
+
# The token value is returned in the previous API call.
|
99
|
+
# @return [Hash] The API response
|
100
|
+
def get_customer_invoices(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
|
101
|
+
next_token: nil)
|
102
|
+
path = "/vendor/directFulfillment/shipping/v1/customerInvoices"
|
103
|
+
params = {
|
104
|
+
"shipFromPartyId" => ship_from_party_id,
|
105
|
+
"limit" => limit,
|
106
|
+
"createdAfter" => created_after,
|
107
|
+
"createdBefore" => created_before,
|
108
|
+
"sortOrder" => sort_order,
|
109
|
+
"nextToken" => next_token,
|
110
|
+
}.compact
|
111
|
+
|
112
|
+
rate_limit(10.0).get(path, params:)
|
113
|
+
end
|
114
|
+
|
115
|
+
# Returns a customer invoice based on the `purchaseOrderNumber` that you specify.
|
116
|
+
#
|
117
|
+
# @param [String] purchase_order_number Purchase order number of the shipment for which to return the invoice.
|
118
|
+
# @return [Hash] The API response
|
119
|
+
def get_customer_invoice(purchase_order_number)
|
120
|
+
path = "/vendor/directFulfillment/shipping/v1/customerInvoices/#{purchase_order_number}"
|
121
|
+
|
122
|
+
rate_limit(10.0).get(path)
|
123
|
+
end
|
124
|
+
|
125
|
+
# Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search
|
126
|
+
# must not be more than 7 days.
|
127
|
+
#
|
128
|
+
# @param [String] ship_from_party_id The vendor `warehouseId` for order fulfillment. If not specified the result
|
129
|
+
# will contain orders for all warehouses.
|
130
|
+
# @param [Integer] limit The limit to the number of records returned
|
131
|
+
# @param [String] created_after Packing slips that became available after this date and time will be included in
|
132
|
+
# the result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
|
133
|
+
# @param [String] created_before Packing slips that became available before this date and time will be included in
|
134
|
+
# the result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
|
135
|
+
# @param [String] sort_order Sort ASC or DESC by packing slip creation date.
|
136
|
+
# @param [String] next_token Used for pagination when there are more packing slips than the specified result size
|
137
|
+
# limit. The token value is returned in the previous API call.
|
138
|
+
# @return [Hash] The API response
|
139
|
+
def get_packing_slips(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
|
140
|
+
next_token: nil)
|
141
|
+
path = "/vendor/directFulfillment/shipping/v1/packingSlips"
|
142
|
+
params = {
|
143
|
+
"shipFromPartyId" => ship_from_party_id,
|
144
|
+
"limit" => limit,
|
145
|
+
"createdAfter" => created_after,
|
146
|
+
"createdBefore" => created_before,
|
147
|
+
"sortOrder" => sort_order,
|
148
|
+
"nextToken" => next_token,
|
149
|
+
}.compact
|
150
|
+
|
151
|
+
rate_limit(10.0).get(path, params:)
|
152
|
+
end
|
153
|
+
|
154
|
+
# Returns a packing slip based on the `purchaseOrderNumber` that you specify.
|
155
|
+
#
|
156
|
+
# @param [String] purchase_order_number The `purchaseOrderNumber` for the packing slip you want.
|
157
|
+
# @return [Hash] The API response
|
158
|
+
def get_packing_slip(purchase_order_number)
|
159
|
+
path = "/vendor/directFulfillment/shipping/v1/packingSlips/#{purchase_order_number}"
|
160
|
+
|
161
|
+
rate_limit(10.0).get(path)
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
165
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "peddler/api"
|
4
|
+
|
5
|
+
module Peddler
|
6
|
+
class API
|
7
|
+
# Selling Partner API for Direct Fulfillment Transaction Status
|
8
|
+
#
|
9
|
+
# The Selling Partner API for Direct Fulfillment Transaction Status provides programmatic access to a direct
|
10
|
+
# fulfillment vendor's transaction status.
|
11
|
+
class VendorDirectFulfillmentTransactions20211228 < API
|
12
|
+
# Returns the status of the transaction indicated by the specified `transactionId`.
|
13
|
+
#
|
14
|
+
# @param [String] transaction_id Previously returned in the response to the POST request of a specific
|
15
|
+
# transaction.
|
16
|
+
# @return [Hash] The API response
|
17
|
+
def get_transaction_status(transaction_id)
|
18
|
+
path = "/vendor/directFulfillment/transactions/2021-12-28/transactions/#{transaction_id}"
|
19
|
+
|
20
|
+
rate_limit(10.0).get(path)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "peddler/api"
|
4
|
+
|
5
|
+
module Peddler
|
6
|
+
class API
|
7
|
+
# Selling Partner API for Direct Fulfillment Transaction Status
|
8
|
+
#
|
9
|
+
# The Selling Partner API for Direct Fulfillment Transaction Status provides programmatic access to a direct
|
10
|
+
# fulfillment vendor's transaction status.
|
11
|
+
class VendorDirectFulfillmentTransactionsV1 < API
|
12
|
+
# Returns the status of the transaction indicated by the specified `transactionId`.
|
13
|
+
#
|
14
|
+
# @param [String] transaction_id Previously returned in the response to the POST request of a specific
|
15
|
+
# transaction.
|
16
|
+
# @return [Hash] The API response
|
17
|
+
def get_transaction_status(transaction_id)
|
18
|
+
path = "/vendor/directFulfillment/transactions/v1/transactions/#{transaction_id}"
|
19
|
+
|
20
|
+
rate_limit(10.0).get(path)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "peddler/api"
|
4
|
+
|
5
|
+
module Peddler
|
6
|
+
class API
|
7
|
+
# Selling Partner API for Retail Procurement Payments
|
8
|
+
#
|
9
|
+
# The Selling Partner API for Retail Procurement Payments provides programmatic access to vendors payments data.
|
10
|
+
class VendorInvoicesV1 < API
|
11
|
+
# Submit new invoices to Amazon.
|
12
|
+
#
|
13
|
+
# @param [Hash] body The request body containing the invoice data to submit.
|
14
|
+
# @return [Hash] The API response
|
15
|
+
def submit_invoices(body)
|
16
|
+
path = "/vendor/payments/v1/invoices"
|
17
|
+
|
18
|
+
rate_limit(10.0).post(path, body:)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|