Class: Peddler::APIs::Tokens20210301

Inherits:
Peddler::API show all
Defined in:
lib/peddler/apis/tokens_2021_03_01.rb,
lib/peddler/apis/tokens_2021_03_01/error.rb,
lib/peddler/apis/tokens_2021_03_01/error_list.rb,
lib/peddler/apis/tokens_2021_03_01/restricted_resource.rb,
lib/peddler/apis/tokens_2021_03_01/create_restricted_data_token_request.rb,
lib/peddler/apis/tokens_2021_03_01/create_restricted_data_token_response.rb

Overview

Selling Partner API for Tokens

The Selling Partner API for Tokens provides a secure way to access a customer's PII (Personally Identifiable Information). You can call the Tokens API to get a Restricted Data Token (RDT) for one or more restricted resources that you specify. The RDT authorizes subsequent calls to restricted operations that correspond to the restricted resources that you specified.

For more information, see the href="https://developer-docs.amazon.com/sp-api/docs/tokens-api-use-case-guide">https://developer-docs.amazon.com/sp-api/docs/tokens-api-use-case-guide Tokens API Use Case Guide.

Constant Summary collapse

Error =

An 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>]
  attribute?(:errors, [Error])
end
RestrictedResource =

Model of a restricted resource.

Structure.new do
  # @return [String] The HTTP method in the restricted resource.
  attribute(:method, String)

  # @return [String] The path in the restricted resource. Here are some path examples:
  # - ```/orders/v0/orders```. For getting an RDT for the getOrders operation of the Orders API. For bulk orders.
  # - ```/orders/v0/orders/123-1234567-1234567```. For getting an RDT for the getOrder operation of the Orders
  # API. For a specific order.
  # - ```/orders/v0/orders/123-1234567-1234567/orderItems```. For getting an RDT for the getOrderItems operation
  # of the Orders API. For the order items in a specific order.
  # - ```/mfn/v0/shipments/FBA1234ABC5D```. For getting an RDT for the getShipment operation of the Shipping API.
  # For a specific shipment.
  # - ```/mfn/v0/shipments/{shipmentId}```. For getting an RDT for the getShipment operation of the Shipping API.
  # For any of a selling partner's shipments that you specify when you call the getShipment operation.
  attribute(:path, String)

  # @return [Array<String>] Indicates the type of Personally Identifiable Information requested. This parameter is
  # required only when getting an RDT for use with the getOrder, getOrders, or getOrderItems operation of the
  # Orders API. For more information, see the
  # {https://developer-docs.amazon.com/sp-api/docs/tokens-api-use-case-guide Tokens API Use Case Guide}. Possible
  # values include:
  # - **buyerInfo**. On the order level this includes general identifying information about the buyer and
  # tax-related information. On the order item level this includes gift wrap information and custom order
  # information, if available.
  # - **shippingAddress**. This includes information for fulfilling orders.
  # - **buyerTaxInformation**. This includes information for issuing tax invoices.
  attribute?(:data_elements, [String], from: "dataElements")
end
CreateRestrictedDataTokenRequest =

The request schema for the createRestrictedDataToken operation.

Structure.new do
  # @return [Array<RestrictedResource>] A list of restricted resources.
  # Maximum: 50
  attribute(:restricted_resources, [RestrictedResource], from: "restrictedResources")

  # @return [String] The application ID for the target application to which access is being delegated.
  attribute?(:target_application, String, from: "targetApplication")
end
CreateRestrictedDataTokenResponse =

The response schema for the createRestrictedDataToken operation.

Structure.new do
  # @return [Integer] The lifetime of the Restricted Data Token, in seconds.
  attribute?(:expires_in, Integer, from: "expiresIn")

  # @return [String] A Restricted Data Token (RDT). This is a short-lived access token that authorizes calls to
  # restricted operations. Pass this value with the x-amz-access-token header when making subsequent calls to
  # these restricted resources.
  attribute?(:restricted_data_token, String, from: "restrictedDataToken")
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_restricted_data_token(body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns a Restricted Data Token (RDT) for one or more restricted resources that you specify. A restricted resource is the HTTP method and path from a restricted operation that returns Personally Identifiable Information (PII), plus a dataElements value that indicates the type of PII requested. See the Tokens API Use Case Guide for a list of restricted operations. Use the RDT returned here as the access token in subsequent calls to the corresponding restricted operations.

Parameters:

  • body (Hash)

    The restricted data token request details.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



29
30
31
32
33
# File 'lib/peddler/apis/tokens_2021_03_01.rb', line 29

def create_restricted_data_token(body, rate_limit: 1.0)
  path = "/tokens/2021-03-01/restrictedDataToken"
  parser = -> { CreateRestrictedDataTokenResponse }
  meter(rate_limit).post(path, body:, parser:)
end