Class: Peddler::APIs::ApplicationIntegrations20240401

Inherits:
Peddler::API
  • Object
show all
Defined in:
lib/peddler/apis/application_integrations_2024_04_01.rb,
lib/peddler/apis/application_integrations_2024_04_01/error.rb,
lib/peddler/apis/application_integrations_2024_04_01/error_list.rb,
lib/peddler/apis/application_integrations_2024_04_01/create_notification_request.rb,
lib/peddler/apis/application_integrations_2024_04_01/create_notification_response.rb,
lib/peddler/apis/application_integrations_2024_04_01/delete_notifications_request.rb,
lib/peddler/apis/application_integrations_2024_04_01/record_action_feedback_request.rb

Overview

The Selling Partner API for third party application integrations.

With the AppIntegrations API v2024-04-01, you can send notifications to Amazon Selling Partners and display the notifications in Seller Central.

Constant Summary collapse

Error =

Error response returned when the request is unsuccessful.

Structure.new do
  # @return [String] An error code that identifies the type of error that occurred.
  attribute(:code, String)

  # @return [String] A message that describes the error condition.
  attribute(:message, String)

  # @return [String] Additional details that can help the caller understand or fix the issue.
  attribute?(:details, String)
end
ErrorList =

A list of error responses returned when a request is unsuccessful.

Structure.new do
  # @return [Array<Error>] Error response returned when the request is unsuccessful.
  attribute(:errors, [Error])
end
CreateNotificationRequest =

The request for the createNotification operation.

Structure.new do
  # @return [Hash] The parameters specified in the template you used to onboard your application.
  attribute(:notification_parameters, Hash, from: "notificationParameters")

  # @return [String] The unique identifier of the notification template you used to onboard your application.
  attribute(:template_id, String, from: "templateId")

  # @return [String] An encrypted marketplace identifier for the posted notification.
  attribute?(:marketplace_id, String, from: "marketplaceId")
end
CreateNotificationResponse =

The response for the createNotification operation.

Structure.new do
  # @return [String] The unique identifier assigned to each notification.
  attribute?(:notification_id, String, from: "notificationId")
end
DeleteNotificationsRequest =

The request for the deleteNotifications operation.

Structure.new do
  # @return [String] The unique identifier that maps each notification status to a reason code.
  attribute(:deletion_reason, String, from: "deletionReason")

  # @return [String] The unique identifier of the notification template you used to onboard your application.
  attribute(:template_id, String, from: "templateId")
end
RecordActionFeedbackRequest =

The request for the recordActionFeedback operation.

Structure.new do
  # @return [String] The unique identifier for each notification status.
  attribute(:feedback_action_code, String, from: "feedbackActionCode")
end

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?, #use, #via

Constructor Details

This class inherits a constructor from Peddler::API

Instance Method Details

#create_notification(body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Create a notification for sellers in Seller Central.

Parameters:

  • body (Hash)

    The request body for the createNotification operation.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



20
21
22
23
24
# File 'lib/peddler/apis/application_integrations_2024_04_01.rb', line 20

def create_notification(body, rate_limit: 1.0)
  path = "/appIntegrations/2024-04-01/notifications"
  parser = -> { CreateNotificationResponse }
  meter(rate_limit).post(path, body:, parser:)
end

#delete_notifications(body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Remove your application's notifications from the Appstore notifications dashboard.

Parameters:

  • body (Hash)

    The request body for the deleteNotifications operation.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



32
33
34
35
# File 'lib/peddler/apis/application_integrations_2024_04_01.rb', line 32

def delete_notifications(body, rate_limit: 1.0)
  path = "/appIntegrations/2024-04-01/notifications/deletion"
  meter(rate_limit).post(path, body:)
end

#record_action_feedback(notification_id, body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Records the seller's response to a notification.

Parameters:

  • notification_id (String)

    A notificationId uniquely identifies a notification.

  • body (Hash)

    The request body for the recordActionFeedback operation.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



44
45
46
47
# File 'lib/peddler/apis/application_integrations_2024_04_01.rb', line 44

def record_action_feedback(notification_id, body, rate_limit: 1.0)
  path = "/appIntegrations/2024-04-01/notifications/#{percent_encode(notification_id)}/feedback"
  meter(rate_limit).post(path, body:)
end