Class: Peddler::APIs::MessagingV1

Inherits:
Peddler::API show all
Defined in:
lib/peddler/apis/messaging_v1.rb

Overview

Selling Partner API for Messaging

With the Messaging API you can build applications that send messages to buyers. You can get a list of message types that are available for an order that you specify, then call an operation that sends a message to the buyer for that order. The Messaging API returns responses that are formed according to the JSON Hypertext Application Language (HAL) standard.

Instance Attribute Summary

Attributes inherited from Peddler::API

#access_token, #endpoint, #retries

Instance Method Summary collapse

Methods inherited from Peddler::API

#endpoint_uri, #http, #initialize, #meter, #retriable, #sandbox, #sandbox?, #typed, #typed?, #use, #via

Constructor Details

This class inherits a constructor from Peddler::API

Instance Method Details

#confirm_customization_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Sends a message asking a buyer to provide or verify customization details such as name spelling, images, initials, etc.

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This identifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • body (Hash)

    This contains the message body for a message.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



53
54
55
56
57
58
59
60
# File 'lib/peddler/apis/messaging_v1.rb', line 53

def confirm_customization_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}/messages/confirmCustomizationDetails"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::CreateConfirmCustomizationDetailsResponse if typed?
  meter(rate_limit).post(path, body:, params:, parser:)
end

#create_amazon_motors(amazon_order_id, marketplace_ids, body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Sends a message to a buyer to provide details about an Amazon Motors order. This message can only be sent by Amazon Motors sellers.

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This identifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • body (Hash)

    This contains the message body for a message.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



151
152
153
154
155
156
157
158
# File 'lib/peddler/apis/messaging_v1.rb', line 151

def create_amazon_motors(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}/messages/amazonMotors"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::CreateAmazonMotorsResponse if typed?
  meter(rate_limit).post(path, body:, params:, parser:)
end

#create_confirm_delivery_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Sends a message to a buyer to arrange a delivery or to confirm contact information for making a delivery.

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This identifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • body (Hash)

    This contains the message body for a message.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



72
73
74
75
76
77
78
79
# File 'lib/peddler/apis/messaging_v1.rb', line 72

def create_confirm_delivery_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}/messages/confirmDeliveryDetails"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::CreateConfirmDeliveryDetailsResponse if typed?
  meter(rate_limit).post(path, body:, params:, parser:)
end

#create_confirm_order_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Sends a message to ask a buyer an order-related question prior to shipping their order.

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This identifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • body (Hash)

    This contains the message body for a message.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



111
112
113
114
115
116
117
118
# File 'lib/peddler/apis/messaging_v1.rb', line 111

def create_confirm_order_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}/messages/confirmOrderDetails"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::CreateConfirmOrderDetailsResponse if typed?
  meter(rate_limit).post(path, body:, params:, parser:)
end

#create_confirm_service_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Sends a message to contact a Home Service customer to arrange a service call or to gather information prior to a service call.

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This identifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • body (Hash)

    This contains the message body for a message.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



131
132
133
134
135
136
137
138
# File 'lib/peddler/apis/messaging_v1.rb', line 131

def create_confirm_service_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}/messages/confirmServiceDetails"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::CreateConfirmServiceDetailsResponse if typed?
  meter(rate_limit).post(path, body:, params:, parser:)
end

#create_digital_access_key(amazon_order_id, marketplace_ids, body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Sends a buyer a message to share a digital access key that is required to utilize digital content in their order.

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This identifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • body (Hash)

    This contains the message body for a message.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



208
209
210
211
212
213
214
215
# File 'lib/peddler/apis/messaging_v1.rb', line 208

def create_digital_access_key(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}/messages/digitalAccessKey"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::CreateDigitalAccessKeyResponse if typed?
  meter(rate_limit).post(path, body:, params:, parser:)
end
Note:

This operation can make a static sandbox call.

Sends a critical message that contains documents that a seller is legally obligated to provide to the buyer. This message should only be used to deliver documents that are required by law.

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This identifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • body (Hash)

    This contains the message body for a message.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



92
93
94
95
96
97
98
99
# File 'lib/peddler/apis/messaging_v1.rb', line 92

def create_legal_disclosure(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}/messages/legalDisclosure"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::CreateLegalDisclosureResponse if typed?
  meter(rate_limit).post(path, body:, params:, parser:)
end

#create_unexpected_problem(amazon_order_id, marketplace_ids, body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Sends a critical message to a buyer that an unexpected problem was encountered affecting the completion of the order.

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This identifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • body (Hash)

    This contains the message body for a message.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



228
229
230
231
232
233
234
235
# File 'lib/peddler/apis/messaging_v1.rb', line 228

def create_unexpected_problem(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}/messages/unexpectedProblem"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::CreateUnexpectedProblemResponse if typed?
  meter(rate_limit).post(path, body:, params:, parser:)
end

#create_warranty(amazon_order_id, marketplace_ids, body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Sends a message to a buyer to provide details about warranty information on a purchase in their order.

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This identifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • body (Hash)

    This contains the message body for a message.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



170
171
172
173
174
175
176
177
# File 'lib/peddler/apis/messaging_v1.rb', line 170

def create_warranty(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}/messages/warranty"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::CreateWarrantyResponse if typed?
  meter(rate_limit).post(path, body:, params:, parser:)
end

#get_attributes(amazon_order_id, marketplace_ids, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns a response containing attributes related to an order. This includes buyer preferences.

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This identifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



188
189
190
191
192
193
194
195
# File 'lib/peddler/apis/messaging_v1.rb', line 188

def get_attributes(amazon_order_id, marketplace_ids, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}/attributes"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::GetAttributesResponse if typed?
  meter(rate_limit).get(path, params:, parser:)
end

#get_messaging_actions_for_order(amazon_order_id, marketplace_ids, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns a list of message types that are available for an order that you specify. A message type is represented by an actions object, which contains a path and query parameter(s). You can use the path and parameter(s) to call an operation that sends a message.

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This specifies the order for which you want a list of available message types.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



33
34
35
36
37
38
39
40
# File 'lib/peddler/apis/messaging_v1.rb', line 33

def get_messaging_actions_for_order(amazon_order_id, marketplace_ids, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::GetMessagingActionsForOrderResponse if typed?
  meter(rate_limit).get(path, params:, parser:)
end

#send_invoice(amazon_order_id, marketplace_ids, body) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Sends a message providing the buyer an invoice

Parameters:

  • amazon_order_id (String)

    An Amazon order identifier. This identifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This identifies the marketplace in which the order was placed. You can only specify one marketplace.

  • body (Hash)

    This contains the message body for a message.

Returns:



246
247
248
249
250
251
252
253
# File 'lib/peddler/apis/messaging_v1.rb', line 246

def send_invoice(amazon_order_id, marketplace_ids, body)
  path = "/messaging/v1/orders/#{percent_encode(amazon_order_id)}/messages/invoice"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = Peddler::Types::MessagingV1::InvoiceResponse if typed?
  post(path, body:, params:, parser:)
end