peddler 3.0.0.beta1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +96 -106
  3. data/lib/peddler/api/amazon_warehousing_and_distribution_2024_05_09.rb +34 -22
  4. data/lib/peddler/api/aplus_content_2020_11_01.rb +86 -48
  5. data/lib/peddler/api/application_integrations_2024_04_01.rb +56 -0
  6. data/lib/peddler/api/application_management_2023_11_30.rb +12 -2
  7. data/lib/peddler/api/catalog_items_2020_12_01.rb +31 -20
  8. data/lib/peddler/api/catalog_items_2022_04_01.rb +35 -25
  9. data/lib/peddler/api/catalog_items_v0.rb +39 -26
  10. data/lib/peddler/api/data_kiosk_2023_11_15.rb +41 -25
  11. data/lib/peddler/api/easy_ship_2022_03_23.rb +62 -43
  12. data/lib/peddler/api/fba_inbound_eligibility_v1.rb +13 -5
  13. data/lib/peddler/api/fba_inventory_v1.rb +40 -24
  14. data/lib/peddler/api/feeds_2021_06_30.rb +43 -25
  15. data/lib/peddler/api/finances_2024_06_19.rb +50 -0
  16. data/lib/peddler/api/finances_v0.rb +86 -59
  17. data/lib/peddler/api/fulfillment_inbound_2024_03_20.rb +304 -205
  18. data/lib/peddler/api/fulfillment_inbound_v0.rb +112 -74
  19. data/lib/peddler/api/fulfillment_outbound_2020_07_01.rb +90 -53
  20. data/lib/peddler/api/invoices_2024_06_19.rb +180 -0
  21. data/lib/peddler/api/listings_items_2020_09_01.rb +44 -33
  22. data/lib/peddler/api/listings_items_2021_08_01.rb +76 -60
  23. data/lib/peddler/api/listings_restrictions_2021_08_01.rb +19 -9
  24. data/lib/peddler/api/merchant_fulfillment_v0.rb +31 -15
  25. data/lib/peddler/api/messaging_v1.rb +93 -61
  26. data/lib/peddler/api/notifications_v1.rb +54 -23
  27. data/lib/peddler/api/orders_v0.rb +87 -72
  28. data/lib/peddler/api/product_fees_v0.rb +39 -31
  29. data/lib/peddler/api/product_pricing_2022_05_01.rb +17 -6
  30. data/lib/peddler/api/product_pricing_v0.rb +63 -45
  31. data/lib/peddler/api/product_type_definitions_2020_09_01.rb +29 -18
  32. data/lib/peddler/api/replenishment_2022_11_07.rb +21 -9
  33. data/lib/peddler/api/reports_2021_06_30.rb +60 -36
  34. data/lib/peddler/api/sales_v1.rb +20 -12
  35. data/lib/peddler/api/sellers_v1.rb +16 -4
  36. data/lib/peddler/api/services_v1.rb +138 -98
  37. data/lib/peddler/api/shipment_invoicing_v0.rb +25 -12
  38. data/lib/peddler/api/shipping_v1.rb +54 -29
  39. data/lib/peddler/api/shipping_v2.rb +132 -80
  40. data/lib/peddler/api/solicitations_v1.rb +18 -8
  41. data/lib/peddler/api/supply_sources_2020_07_01.rb +33 -15
  42. data/lib/peddler/api/tokens_2021_03_01.rb +13 -5
  43. data/lib/peddler/api/uploads_2020_11_01.rb +16 -6
  44. data/lib/peddler/api/vendor_direct_fulfillment_inventory_v1.rb +12 -4
  45. data/lib/peddler/api/vendor_direct_fulfillment_orders_2021_12_28.rb +29 -17
  46. data/lib/peddler/api/vendor_direct_fulfillment_orders_v1.rb +29 -17
  47. data/lib/peddler/api/vendor_direct_fulfillment_payments_v1.rb +11 -3
  48. data/lib/peddler/api/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.rb +14 -4
  49. data/lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb +74 -48
  50. data/lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb +74 -50
  51. data/lib/peddler/api/vendor_direct_fulfillment_transactions_2021_12_28.rb +11 -3
  52. data/lib/peddler/api/vendor_direct_fulfillment_transactions_v1.rb +11 -3
  53. data/lib/peddler/api/vendor_invoices_v1.rb +11 -3
  54. data/lib/peddler/api/vendor_orders_v1.rb +54 -43
  55. data/lib/peddler/api/vendor_shipments_v1.rb +63 -51
  56. data/lib/peddler/api/vendor_transaction_status_v1.rb +12 -3
  57. data/lib/peddler/api.rb +41 -18
  58. data/lib/peddler/endpoint.rb +51 -0
  59. data/lib/peddler/error.rb +1 -0
  60. data/lib/peddler/marketplace.rb +49 -0
  61. data/lib/peddler/token.rb +70 -0
  62. data/lib/peddler/version.rb +1 -1
  63. data/lib/peddler.rb +56 -52
  64. metadata +10 -6
  65. data/lib/peddler/access_token.rb +0 -76
  66. data/lib/peddler/region.rb +0 -30
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def supply_sources_2020_07_01(...)
8
+ API::SupplySources20200701.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Supply Sources
8
14
  #
@@ -10,10 +16,12 @@ module Peddler
10
16
  class SupplySources20200701 < API
11
17
  # The path to retrieve paginated supply sources.
12
18
  #
13
- # @param [String] next_page_token The pagination token to retrieve a specific page of results.
14
- # @param [Number] page_size The number of supply sources to return per paginated request.
19
+ # @note This operation can make a static sandbox call.
20
+ # @param next_page_token [String] The pagination token to retrieve a specific page of results.
21
+ # @param page_size [Number] The number of supply sources to return per paginated request.
22
+ # @param rate_limit [Float] Requests per second
15
23
  # @return [Hash] The API response
16
- def get_supply_sources(next_page_token: nil, page_size: nil)
24
+ def get_supply_sources(next_page_token: nil, page_size: 10, rate_limit: nil)
17
25
  path = "/supplySources/2020-07-01/supplySources"
18
26
  params = {
19
27
  "nextPageToken" => next_page_token,
@@ -25,9 +33,11 @@ module Peddler
25
33
 
26
34
  # Create a new supply source.
27
35
  #
28
- # @param [Hash] payload A request to create a supply source.
36
+ # @note This operation can make a static sandbox call.
37
+ # @param payload [Hash] A request to create a supply source.
38
+ # @param rate_limit [Float] Requests per second
29
39
  # @return [Hash] The API response
30
- def create_supply_source(payload)
40
+ def create_supply_source(payload, rate_limit: nil)
31
41
  path = "/supplySources/2020-07-01/supplySources"
32
42
  body = payload
33
43
 
@@ -36,9 +46,11 @@ module Peddler
36
46
 
37
47
  # Retrieve a supply source.
38
48
  #
39
- # @param [String] supply_source_id The unique identifier of a supply source.
49
+ # @note This operation can make a static sandbox call.
50
+ # @param supply_source_id [String] The unique identifier of a supply source.
51
+ # @param rate_limit [Float] Requests per second
40
52
  # @return [Hash] The API response
41
- def get_supply_source(supply_source_id)
53
+ def get_supply_source(supply_source_id, rate_limit: nil)
42
54
  path = "/supplySources/2020-07-01/supplySources/#{supply_source_id}"
43
55
 
44
56
  get(path)
@@ -46,10 +58,12 @@ module Peddler
46
58
 
47
59
  # Update the configuration and capabilities of a supply source.
48
60
  #
49
- # @param [String] supply_source_id The unique identitier of a supply source.
50
- # @param [Hash] payload
61
+ # @note This operation can make a static sandbox call.
62
+ # @param supply_source_id [String] The unique identitier of a supply source.
63
+ # @param payload [Hash]
64
+ # @param rate_limit [Float] Requests per second
51
65
  # @return [Hash] The API response
52
- def update_supply_source(supply_source_id, payload: nil)
66
+ def update_supply_source(supply_source_id, payload: nil, rate_limit: nil)
53
67
  path = "/supplySources/2020-07-01/supplySources/#{supply_source_id}"
54
68
  body = payload
55
69
 
@@ -58,9 +72,11 @@ module Peddler
58
72
 
59
73
  # Archive a supply source, making it inactive. Cannot be undone.
60
74
  #
61
- # @param [String] supply_source_id The unique identifier of a supply source.
75
+ # @note This operation can make a static sandbox call.
76
+ # @param supply_source_id [String] The unique identifier of a supply source.
77
+ # @param rate_limit [Float] Requests per second
62
78
  # @return [Hash] The API response
63
- def archive_supply_source(supply_source_id)
79
+ def archive_supply_source(supply_source_id, rate_limit: nil)
64
80
  path = "/supplySources/2020-07-01/supplySources/#{supply_source_id}"
65
81
 
66
82
  delete(path)
@@ -68,10 +84,12 @@ module Peddler
68
84
 
69
85
  # Update the status of a supply source.
70
86
  #
71
- # @param [String] supply_source_id The unique identifier of a supply source.
72
- # @param [Hash] payload
87
+ # @note This operation can make a static sandbox call.
88
+ # @param supply_source_id [String] The unique identifier of a supply source.
89
+ # @param payload [Hash]
90
+ # @param rate_limit [Float] Requests per second
73
91
  # @return [Hash] The API response
74
- def update_supply_source_status(supply_source_id, payload: nil)
92
+ def update_supply_source_status(supply_source_id, payload: nil, rate_limit: nil)
75
93
  path = "/supplySources/2020-07-01/supplySources/#{supply_source_id}/status"
76
94
  body = payload
77
95
 
@@ -3,14 +3,20 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def tokens_2021_03_01(...)
8
+ API::Tokens20210301.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Tokens
8
14
  #
9
15
  # The Selling Partner API for Tokens provides a secure way to access a customer's PII (Personally Identifiable
10
16
  # Information). You can call the Tokens API to get a Restricted Data Token (RDT) for one or more restricted
11
17
  # resources that you specify. The RDT authorizes subsequent calls to restricted operations that correspond to the
12
- # restricted resources that you specified. For more information, see the [Tokens API Use Case
13
- # Guide](doc:tokens-api-use-case-guide).
18
+ # restricted resources that you specified. For more information, see the
19
+ # {https://developer-docs.amazon.com/sp-api/docs/tokens-api-use-case-guide Tokens API Use Case Guide}.
14
20
  class Tokens20210301 < API
15
21
  # Returns a Restricted Data Token (RDT) for one or more restricted resources that you specify. A restricted
16
22
  # resource is the HTTP method and path from a restricted operation that returns Personally Identifiable
@@ -18,12 +24,14 @@ module Peddler
18
24
  # Case Guide for a list of restricted operations. Use the RDT returned here as the access token in subsequent
19
25
  # calls to the corresponding restricted operations.
20
26
  #
21
- # @param [Hash] body The restricted data token request details.
27
+ # @note This operation can make a static sandbox call.
28
+ # @param body [Hash] The restricted data token request details.
29
+ # @param rate_limit [Float] Requests per second
22
30
  # @return [Hash] The API response
23
- def create_restricted_data_token(body)
31
+ def create_restricted_data_token(body, rate_limit: 1.0)
24
32
  path = "/tokens/2021-03-01/restrictedDataToken"
25
33
 
26
- rate_limit(1.0).post(path, body:)
34
+ meter(rate_limit).post(path, body:)
27
35
  end
28
36
  end
29
37
  end
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def uploads_2020_11_01(...)
8
+ API::Uploads20201101.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Uploads
8
14
  #
@@ -12,20 +18,24 @@ module Peddler
12
18
  # Creates an upload destination, returning the information required to upload a file to the destination and to
13
19
  # programmatically access the file.
14
20
  #
15
- # @param [Array<String>] marketplace_ids A list of marketplace identifiers. This specifies the marketplaces where
21
+ # @param marketplace_ids [Array<String>] A list of marketplace identifiers. This specifies the marketplaces where
16
22
  # the upload will be available. Only one marketplace can be specified.
17
- # @param [String] content_md5 An MD5 hash of the content to be submitted to the upload destination. This value is
23
+ # @param content_md5 [String] An MD5 hash of the content to be submitted to the upload destination. This value is
18
24
  # used to determine if the data has been corrupted or tampered with during transit.
19
- # @param [String] resource The resource for the upload destination that you are creating. For example, if you are
25
+ # @param resource [String] The resource for the upload destination that you are creating. For example, if you are
20
26
  # creating an upload destination for the createLegalDisclosure operation of the Messaging API, the `{resource}`
21
27
  # would be `/messaging/v1/orders/{amazonOrderId}/messages/legalDisclosure`, and the entire path would be
22
28
  # `/uploads/2020-11-01/uploadDestinations/messaging/v1/orders/{amazonOrderId}/messages/legalDisclosure`. If you
23
29
  # are creating an upload destination for an Aplus content document, the `{resource}` would be
24
30
  # `aplus/2020-11-01/contentDocuments` and the path would be
25
31
  # `/uploads/v1/uploadDestinations/aplus/2020-11-01/contentDocuments`.
26
- # @param [String] content_type The content type of the file to be uploaded.
32
+ # @param content_type [String] The content type of the file to be uploaded.
33
+ # @param rate_limit [Float] Requests per second
27
34
  # @return [Hash] The API response
28
- def create_upload_destination_for_resource(marketplace_ids, content_md5, resource, content_type: nil)
35
+ def create_upload_destination_for_resource(marketplace_ids, content_md5, resource, content_type: nil,
36
+ rate_limit: 10.0)
37
+ cannot_sandbox!
38
+
29
39
  path = "/uploads/2020-11-01/uploadDestinations/#{resource}"
30
40
  params = {
31
41
  "marketplaceIds" => marketplace_ids,
@@ -33,7 +43,7 @@ module Peddler
33
43
  "contentType" => content_type,
34
44
  }.compact
35
45
 
36
- rate_limit(10.0).post(path, params:)
46
+ meter(rate_limit).post(path, params:)
37
47
  end
38
48
  end
39
49
  end
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def vendor_direct_fulfillment_inventory_v1(...)
8
+ API::VendorDirectFulfillmentInventoryV1.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Direct Fulfillment Inventory Updates
8
14
  #
@@ -11,13 +17,15 @@ module Peddler
11
17
  class VendorDirectFulfillmentInventoryV1 < API
12
18
  # Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.
13
19
  #
14
- # @param [Hash] body The request body that contains the inventory update data to submit.
15
- # @param [String] warehouse_id Identifier for the warehouse for which to update inventory.
20
+ # @note This operation can make a static sandbox call.
21
+ # @param body [Hash] The request body that contains the inventory update data to submit.
22
+ # @param warehouse_id [String] Identifier for the warehouse for which to update inventory.
23
+ # @param rate_limit [Float] Requests per second
16
24
  # @return [Hash] The API response
17
- def submit_inventory_update(body, warehouse_id)
25
+ def submit_inventory_update(body, warehouse_id, rate_limit: 10.0)
18
26
  path = "/vendor/directFulfillment/inventory/v1/warehouses/#{warehouse_id}/items"
19
27
 
20
- rate_limit(10.0).post(path, body:)
28
+ meter(rate_limit).post(path, body:)
21
29
  end
22
30
  end
23
31
  end
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def vendor_direct_fulfillment_orders_2021_12_28(...)
8
+ API::VendorDirectFulfillmentOrders20211228.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Direct Fulfillment Orders
8
14
  #
@@ -15,23 +21,25 @@ module Peddler
15
21
  # a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific
16
22
  # order.
17
23
  #
18
- # @param [String] ship_from_party_id The vendor warehouse identifier for the fulfillment warehouse. If not
24
+ # @note This operation can make a dynamic sandbox call.
25
+ # @param ship_from_party_id [String] The vendor warehouse identifier for the fulfillment warehouse. If not
19
26
  # 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
27
+ # @param status [String] Returns only the purchase orders that match the specified status. If not specified, the
21
28
  # 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
29
+ # @param limit [Integer] The limit to the number of purchase orders returned.
30
+ # @param created_after [String] Purchase orders that became available after this date and time will be included in
24
31
  # 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
32
+ # @param created_before [String] Purchase orders that became available before this date and time will be included
26
33
  # 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.
34
+ # @param sort_order [String] Sort the list in ascending or descending order by order creation date.
35
+ # @param next_token [String] Used for pagination when there are more orders than the specified result size limit.
29
36
  # 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
37
+ # @param include_details [String] When true, returns the complete purchase order details. Otherwise, only purchase
31
38
  # order numbers are returned.
39
+ # @param rate_limit [Float] Requests per second
32
40
  # @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)
41
+ def get_orders(created_after, created_before, ship_from_party_id: nil, status: nil, limit: nil, sort_order: nil,
42
+ next_token: nil, include_details: "true", rate_limit: 10.0)
35
43
  path = "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders"
36
44
  params = {
37
45
  "shipFromPartyId" => ship_from_party_id,
@@ -44,28 +52,32 @@ module Peddler
44
52
  "includeDetails" => include_details,
45
53
  }.compact
46
54
 
47
- rate_limit(10.0).get(path, params:)
55
+ meter(rate_limit).get(path, params:)
48
56
  end
49
57
 
50
58
  # Returns purchase order information for the purchaseOrderNumber that you specify.
51
59
  #
52
- # @param [String] purchase_order_number The order identifier for the purchase order that you want. Formatting
60
+ # @note This operation can make a dynamic sandbox call.
61
+ # @param purchase_order_number [String] The order identifier for the purchase order that you want. Formatting
53
62
  # Notes: alpha-numeric code.
63
+ # @param rate_limit [Float] Requests per second
54
64
  # @return [Hash] The API response
55
- def get_order(purchase_order_number)
65
+ def get_order(purchase_order_number, rate_limit: 10.0)
56
66
  path = "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders/#{purchase_order_number}"
57
67
 
58
- rate_limit(10.0).get(path)
68
+ meter(rate_limit).get(path)
59
69
  end
60
70
 
61
71
  # Submits acknowledgements for one or more purchase orders.
62
72
  #
63
- # @param [Hash] body The request body containing the acknowledgement to an order
73
+ # @note This operation can make a dynamic sandbox call.
74
+ # @param body [Hash] The request body containing the acknowledgement to an order
75
+ # @param rate_limit [Float] Requests per second
64
76
  # @return [Hash] The API response
65
- def submit_acknowledgement(body)
77
+ def submit_acknowledgement(body, rate_limit: 10.0)
66
78
  path = "/vendor/directFulfillment/orders/2021-12-28/acknowledgements"
67
79
 
68
- rate_limit(10.0).post(path, body:)
80
+ meter(rate_limit).post(path, body:)
69
81
  end
70
82
  end
71
83
  end
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def vendor_direct_fulfillment_orders_v1(...)
8
+ API::VendorDirectFulfillmentOrdersV1.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Direct Fulfillment Orders
8
14
  #
@@ -15,23 +21,25 @@ module Peddler
15
21
  # a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific
16
22
  # order.
17
23
  #
18
- # @param [String] ship_from_party_id The vendor warehouse identifier for the fulfillment warehouse. If not
24
+ # @note This operation can make a static sandbox call.
25
+ # @param ship_from_party_id [String] The vendor warehouse identifier for the fulfillment warehouse. If not
19
26
  # 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
27
+ # @param status [String] Returns only the purchase orders that match the specified status. If not specified, the
21
28
  # 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
29
+ # @param limit [Integer] The limit to the number of purchase orders returned.
30
+ # @param created_after [String] Purchase orders that became available after this date and time will be included in
24
31
  # 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
32
+ # @param created_before [String] Purchase orders that became available before this date and time will be included
26
33
  # 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.
34
+ # @param sort_order [String] Sort the list in ascending or descending order by order creation date.
35
+ # @param next_token [String] Used for pagination when there are more orders than the specified result size limit.
29
36
  # 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
37
+ # @param include_details [String] When true, returns the complete purchase order details. Otherwise, only purchase
31
38
  # order numbers are returned.
39
+ # @param rate_limit [Float] Requests per second
32
40
  # @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)
41
+ def get_orders(created_after, created_before, ship_from_party_id: nil, status: nil, limit: nil, sort_order: nil,
42
+ next_token: nil, include_details: "true", rate_limit: 10.0)
35
43
  path = "/vendor/directFulfillment/orders/v1/purchaseOrders"
36
44
  params = {
37
45
  "shipFromPartyId" => ship_from_party_id,
@@ -44,28 +52,32 @@ module Peddler
44
52
  "includeDetails" => include_details,
45
53
  }.compact
46
54
 
47
- rate_limit(10.0).get(path, params:)
55
+ meter(rate_limit).get(path, params:)
48
56
  end
49
57
 
50
58
  # Returns purchase order information for the purchaseOrderNumber that you specify.
51
59
  #
52
- # @param [String] purchase_order_number The order identifier for the purchase order that you want. Formatting
60
+ # @note This operation can make a static sandbox call.
61
+ # @param purchase_order_number [String] The order identifier for the purchase order that you want. Formatting
53
62
  # Notes: alpha-numeric code.
63
+ # @param rate_limit [Float] Requests per second
54
64
  # @return [Hash] The API response
55
- def get_order(purchase_order_number)
65
+ def get_order(purchase_order_number, rate_limit: 10.0)
56
66
  path = "/vendor/directFulfillment/orders/v1/purchaseOrders/#{purchase_order_number}"
57
67
 
58
- rate_limit(10.0).get(path)
68
+ meter(rate_limit).get(path)
59
69
  end
60
70
 
61
71
  # Submits acknowledgements for one or more purchase orders.
62
72
  #
63
- # @param [Hash] body The request body that contains the order acknowledgement.
73
+ # @note This operation can make a static sandbox call.
74
+ # @param body [Hash] The request body that contains the order acknowledgement.
75
+ # @param rate_limit [Float] Requests per second
64
76
  # @return [Hash] The API response
65
- def submit_acknowledgement(body)
77
+ def submit_acknowledgement(body, rate_limit: 10.0)
66
78
  path = "/vendor/directFulfillment/orders/v1/acknowledgements"
67
79
 
68
- rate_limit(10.0).post(path, body:)
80
+ meter(rate_limit).post(path, body:)
69
81
  end
70
82
  end
71
83
  end
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def vendor_direct_fulfillment_payments_v1(...)
8
+ API::VendorDirectFulfillmentPaymentsV1.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Direct Fulfillment Payments
8
14
  #
@@ -11,12 +17,14 @@ module Peddler
11
17
  class VendorDirectFulfillmentPaymentsV1 < API
12
18
  # Submits one or more invoices for a vendor's direct fulfillment orders.
13
19
  #
14
- # @param [Hash] body The request body that contains one or more invoices for vendor orders.
20
+ # @note This operation can make a static sandbox call.
21
+ # @param body [Hash] The request body that contains one or more invoices for vendor orders.
22
+ # @param rate_limit [Float] Requests per second
15
23
  # @return [Hash] The API response
16
- def submit_invoice(body)
24
+ def submit_invoice(body, rate_limit: 10.0)
17
25
  path = "/vendor/directFulfillment/payments/v1/invoices"
18
26
 
19
- rate_limit(10.0).post(path, body:)
27
+ meter(rate_limit).post(path, body:)
20
28
  end
21
29
  end
22
30
  end
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def vendor_direct_fulfillment_sandbox_test_data_2021_10_28(...)
8
+ API::VendorDirectFulfillmentSandboxTestData20211028.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Vendor Direct Fulfillment Sandbox Test Data
8
14
  #
@@ -11,9 +17,11 @@ module Peddler
11
17
  class VendorDirectFulfillmentSandboxTestData20211028 < API
12
18
  # Submits a request to generate test order data for Vendor Direct Fulfillment API entities.
13
19
  #
14
- # @param [Hash] body The request payload that contain parameters to generate test order data scenarios.
20
+ # @note This operation can make a dynamic sandbox call.
21
+ # @param body [Hash] The request payload that contain parameters to generate test order data scenarios.
22
+ # @param rate_limit [Float] Requests per second
15
23
  # @return [Hash] The API response
16
- def generate_order_scenarios(body)
24
+ def generate_order_scenarios(body, rate_limit: nil)
17
25
  path = "/vendor/directFulfillment/sandbox/2021-10-28/orders"
18
26
 
19
27
  post(path, body:)
@@ -22,10 +30,12 @@ module Peddler
22
30
  # Retrieves the transaction status identified by the specified `transactionId`, and returns the requested test
23
31
  # order data if the transaction is successful.
24
32
  #
25
- # @param [String] transaction_id The transaction identifier returned in the response for the
33
+ # @note This operation can make a dynamic sandbox call.
34
+ # @param transaction_id [String] The transaction identifier returned in the response for the
26
35
  # `generateOrderScenarios` operation.
36
+ # @param rate_limit [Float] Requests per second
27
37
  # @return [Hash] The API response
28
- def get_order_scenarios(transaction_id)
38
+ def get_order_scenarios(transaction_id, rate_limit: nil)
29
39
  path = "/vendor/directFulfillment/sandbox/2021-10-28/transactions/#{transaction_id}"
30
40
 
31
41
  get(path)