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 JSON Hypertext Application Language (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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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