Class: Peddler::API::MessagingV1

Inherits:
Peddler::API show all
Defined in:
lib/peddler/api/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 <a href=tools.ietf.org/html/draft-kelly-json-hal-08>JSON Hypertext Application Language</a> (HAL) standard.

Instance Attribute Summary

Attributes inherited from Peddler::API

#access_token, #endpoint

Instance Method Summary collapse

Methods inherited from Peddler::API

#cannot_sandbox!, #endpoint_uri, #http, #initialize, #meter, #must_sandbox!, #retriable, #sandbox, #sandbox?, #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) ⇒ Hash

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 specifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • body (Hash)
  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



51
52
53
54
55
56
57
58
# File 'lib/peddler/api/messaging_v1.rb', line 51

def confirm_customization_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}/messages/confirmCustomizationDetails"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).post(path, body:, params:)
end

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

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 specifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • body (Hash)
  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



168
169
170
171
172
173
174
175
# File 'lib/peddler/api/messaging_v1.rb', line 168

def create_amazon_motors(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}/messages/amazonMotors"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).post(path, body:, params:)
end

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

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 specifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • body (Hash)
  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



70
71
72
73
74
75
76
77
# File 'lib/peddler/api/messaging_v1.rb', line 70

def create_confirm_delivery_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}/messages/confirmDeliveryDetails"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).post(path, body:, params:)
end

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

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 specifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • body (Hash)
  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



128
129
130
131
132
133
134
135
# File 'lib/peddler/api/messaging_v1.rb', line 128

def create_confirm_order_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}/messages/confirmOrderDetails"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).post(path, body:, params:)
end

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

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 specifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • body (Hash)
  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



148
149
150
151
152
153
154
155
# File 'lib/peddler/api/messaging_v1.rb', line 148

def create_confirm_service_details(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}/messages/confirmServiceDetails"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).post(path, body:, params:)
end

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

Note:

This operation can make a static sandbox call.

Sends a message to a buyer to share a digital access key needed to utilize digital content in their order.

Parameters:

  • amazon_order_id (String)

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

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • body (Hash)
  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



224
225
226
227
228
229
230
231
# File 'lib/peddler/api/messaging_v1.rb', line 224

def create_digital_access_key(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}/messages/digitalAccessKey"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).post(path, body:, params:)
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 specifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • body (Hash)
  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



90
91
92
93
94
95
96
97
# File 'lib/peddler/api/messaging_v1.rb', line 90

def create_legal_disclosure(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}/messages/legalDisclosure"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).post(path, body:, params:)
end

#create_negative_feedback_removal(amazon_order_id, marketplace_ids, rate_limit: 1.0) ⇒ Hash

Note:

This operation can make a static sandbox call.

Sends a non-critical message that asks a buyer to remove their negative feedback. This message should only be sent after the seller has resolved the buyer’s problem.

Parameters:

  • amazon_order_id (String)

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

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



109
110
111
112
113
114
115
116
# File 'lib/peddler/api/messaging_v1.rb', line 109

def create_negative_feedback_removal(amazon_order_id, marketplace_ids, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}/messages/negativeFeedbackRemoval"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).post(path, params:)
end

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

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 specifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • body (Hash)
  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



244
245
246
247
248
249
250
251
# File 'lib/peddler/api/messaging_v1.rb', line 244

def create_unexpected_problem(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}/messages/unexpectedProblem"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).post(path, body:, params:)
end

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

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 specifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • body (Hash)
  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



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

def create_warranty(amazon_order_id, marketplace_ids, body, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}/messages/warranty"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).post(path, body:, params:)
end

#get_attributes(amazon_order_id, marketplace_ids, rate_limit: 1.0) ⇒ Hash

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 specifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



205
206
207
208
209
210
211
212
# File 'lib/peddler/api/messaging_v1.rb', line 205

def get_attributes(amazon_order_id, marketplace_ids, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}/attributes"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).get(path, params:)
end

#get_messaging_actions_for_order(amazon_order_id, marketplace_ids, rate_limit: 1.0) ⇒ Hash

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 specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



31
32
33
34
35
36
37
38
# File 'lib/peddler/api/messaging_v1.rb', line 31

def get_messaging_actions_for_order(amazon_order_id, marketplace_ids, rate_limit: 1.0)
  path = "/messaging/v1/orders/#{amazon_order_id}"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  meter(rate_limit).get(path, params:)
end

#send_invoice(amazon_order_id, marketplace_ids, body, rate_limit: nil) ⇒ Hash

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 specifies the order for which a message is sent.

  • marketplace_ids (Array<String>)

    A marketplace identifier. This specifies the marketplace in which the order was placed. Only one marketplace can be specified.

  • body (Hash)
  • rate_limit (Float) (defaults to: nil)

    Requests per second

Returns:

  • (Hash)

    The API response



263
264
265
266
267
268
269
270
# File 'lib/peddler/api/messaging_v1.rb', line 263

def send_invoice(amazon_order_id, marketplace_ids, body, rate_limit: nil)
  path = "/messaging/v1/orders/#{amazon_order_id}/messages/invoice"
  params = {
    "marketplaceIds" => marketplace_ids,
  }.compact

  post(path, body:, params:)
end