Guía de casos de uso de la API de tokens

Cómo utilizar el Restricted Data Token para acceder de forma segura a las Selling Partner APIs.

Versión: 2021-03-01

¿Qué es la API de tokens?

La Selling Partner API para tokens (API de tokens) proporciona una forma segura de acceder a la Personally Identifiable Information (PII) de un cliente. Puede llamar a la operación createRestrictedDataToken de la API de tokens para obtener un Restricted Data Token (RDT) para uno o más restricted resources que especifique. O bien, si tiene una "delegatee application", puede obtener una RDT de una "delegatee application" propiedad de un desarrollador con el que trabaja en estrecha colaboración (consulte Delegación de autorización ). En cualquier caso, una RDT le autoriza a realizar llamadas a operaciones que devuelven datos restringidos. Para definiciones, consulte Terminología .

Cuando llama a una operación restringida, incluye una RDT en el header x-amz-access-token . Esto contrasta con otras operaciones de API de selling partner, en las que incluye un access token a LWA en el header x-amz-access-token . Para obtener más información, consulte el Paso 3. Agregue headers al URI en la Guía para desarrolladores de la API de Selling partners.

Delegar autorización

Con la API de tokens, la aplicación delegadora puede obtener una RDT que delegue la autorización para acceder a la PII a una aplicación delegada. La aplicación de delegación está autorizada por el selling partner y es la aplicación con la que interactúa el selling partner. La aplicación del delegado realiza una función especializada que requiere PII, como servicios de envío, facturación de impuestos o remesas de impuestos. Estas dos aplicaciones pertenecen a diferentes desarrolladores y están estrechamente integradas, de modo que la aplicación del delegador puede transmitir de forma segura una RDT a la aplicación del delegado. Para obtener más información sobre cómo delegar la autorización mediante una RDT, consulte Tutorial: Delegar autorización para acceder a PII .

Terminología

  • Restricted Data Token (RDT) . Un access token de corta duración que autoriza restricted operations de llamadas. Una RDT sigue siendo válida durante una hora.
  • Restricted operation. Una operación que devuelve datos restringidos, como PII. Necesita un RDT para llamar a una restricted operation .
  • Restricted resource. Un método HTTP y una ruta que representan una operación restringida.
  • Restricted report type. Un tipo de reporte que contiene PII. Consulte Tipos de reportes restringidos .
  • Delegator application . Una aplicación que obtiene una RDT y la pasa a una aplicación delegada. El selling partner autoriza e interactúa con la aplicación delegante.
  • Delegatee application (aplicación delegada) . Una aplicación que obtiene autorización para llamar a operaciones restringidas desde una RDT que le pasa la aplicación delegadora. Una aplicación delegada realiza una función especializada que requiere PII, como servicios de envío, facturación de impuestos o remesas de impuestos, y no está autorizada directamente por el selling partner.
  • Specific path. Una ruta en un recurso restringido que contiene un pedido específico o un identificador de envío. Por ejemplo, orders/v0/orders/902-3159896-1390916/address
  • Generic path. Una ruta en un recurso restringido que contiene un identificador genérico, como {orderId} o {shipmentId} . Por ejemplo, orders/v0/orders/{orderId}/address

Restricted operations

Las restricted operations devuelven la Personally Identifiable Information (PII) de los clientes. Necesita un RDT para llamar a una operación restringida.

Aquí hay una lista de restricted operations, agrupadas por API:

Direct Fulfillment Orders API:

  • getOrders
  • getOrder

Direct Fulfillment Shipping API:

  • getShippingLabel
  • getShippingLabels
  • getPackingSlip
  • getPackingSlips
  • getCustomerInvoice
  • getCustomerInvoices
  • createShippingLabels

Merchant Fulfillment API:

  • getShipment
  • cancelShipment
  • cancelShipmentOld
  • createShipment

Orders API:

  • getOrders
  • getOrder
  • getOrderItems
  • getOrderRegulatedInfo

Reports API:

  • getReportDocument

    notas

    • El La operación getReportDocument se considera una operación restringida solo cuando se especifica un tipo de reporte restringido. Consulte la lista de tipos de reportes restringidos .
    • Al llamar al operación createRestrictedDataToken para obtener un RDT para el getReportDocument , el recurso restringido especificado puede contener solo una ruta específica, no una ruta genérica. Para definiciones, consulte Terminología .

Shipment Invoicing:

  • getShipmentDetails

Shipping API:

  • getShipment

Tipos de reportes restringidos

Los tipos de reportes restringidos contienen PII. Al especificar un tipo de reporte restringido en una llamada al getReportDocument , debe pasar una RDT con la llamada.

Aquí hay una lista de tipos de reportes restringidos:

  • GET_AMAZON_FULFILLED_SHIPMENTS_DATA_INVOICING
  • GET_AMAZON_FULFILLED_SHIPMENTS_DATA_TAX
  • GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_SHIPPING
  • GET_FLAT_FILE_ORDER_REPORT_DATA_SHIPPING
  • GET_FLAT_FILE_ORDER_REPORT_DATA_INVOICING
  • GET_FLAT_FILE_ORDER_REPORT_DATA_TAX
  • GET_FLAT_FILE_ORDERS_RECONCILIATION_DATA_TAX
  • GET_FLAT_FILE_ORDERS_RECONCILIATION_DATA_INVOICING
  • GET_FLAT_FILE_ORDERS_RECONCILIATION_DATA_SHIPPING
  • GET_ORDER_REPORT_DATA_INVOICING
  • GET_ORDER_REPORT_DATA_TAX
  • GET_ORDER_REPORT_DATA_SHIPPING
  • GET_EASYSHIP_DOCUMENTS
  • GET_GST_MTR_B2B_CUSTOM
  • GET_VAT_TRANSACTION_DATA
  • SC_VAT_TAX_REPORT

Tutorial: Obtén autorización para acceder a PII de pedidos a granel

Puede obtener una RDT que proporcione autorización para acceder a la Personally Identifiable Information (PII) para pedidos al por mayor. El valores dataElements que especifique (usando el parámetro restrictedResources del operación createRestrictedDataToken ) determinan el tipo de datos restringidos a los que la RDT autoriza el acceso de su aplicación. En este tutorial, solicitamos un RDT que autorice el acceso tanto a la información del comprador como a la información de la dirección de envío.

requisitos previos

Para completar este tutorial, necesitará:

  • Autorización del selling partner para el que está haciendo llamadas. Consulte la Guía para desarrolladores de la API de Selling partners para obtener más información.
  • Aprobación de los roles que se requieren para acceder a la información del comprador y/o la información de la dirección de envío. Estos son:
    • Direct-to-consumer shipping. Necesario para acceder a la información de la dirección de envío.
    • Tax remittance. Necesario para acceder a la información del comprador.
    • Tax invoicing. Necesario para acceder a la información del comprador.
      Para solicitar acceso a estos roles, consulte Registrarse como desarrollador en la Guía para desarrolladores de la API de Selling partners y actualice su perfil de desarrollador.

Paso 1. Obtener una RDT


Llama a operación createRestrictedDataToken para obtener una RDT.

  1. Llame a la operación createRestrictedDataToken , pasando los siguientes parámetros:

Parámetro del Body:

ParámetroDescripciónRequerido
`restrictedResources` Una lista de restricted resources. Nota :

  1. El crecimiento en la cantidad de restricted resources da como resultado un crecimiento en el tamaño del restricted data token resultante. El tamaño máximo del restricted data token antes de la codificación y el cifrado no puede exceder los 7 kb sin riesgo de falla cuando se emplea el token.
  2. Cuando solicite varios recursos, asegúrese de que los recursos solicitados sean válidos para el tipo de cuenta del selling partner. Ejemplo: si solicita un token RDT para un seller, no incluya las API específicas del vendor en la llamada de solicitud createRestrictedDataToken .

Tipo: < restrictedResources > array

Ejemplo de solicitud:

POST https://sellingpartnerapi-na.amazon.com/tokens/2021-03-01/restrictedDataToken
{
  "restrictedResources": [
    {
      "method": "GET",
      "path": "/orders/v0/orders",
      "dataElements": ["buyerInfo", "shippingAddress"]
    }
  ]
}

Respuesta

Una respuesta exitosa incluye lo siguiente:

NombreDescripción
restrictedDataTokenUn Restricted Data Token (RDT). Este es un access token de corta duración que autoriza llamadas a restricted operations. Pase este valor con el header x-amz-access-token al realizar llamadas posteriores a estos restricted resources.

El tamaño de la RDT es relativo a la cantidad de restricted resources especificados en la solicitud. El tamaño máximo del Restricted Data Token antes de la codificación y el cifrado no puede exceder los 7 kb sin riesgo de falla cuando se emplea el token.

Tipo: string
expiresInLa vida útil de la RDT, en segundos.

Tipo: integer

Ejemplo de respuesta:

{
  "restrictedDataToken": "Atz.sprdt|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSR",
  "expiresIn": 3600
}
  1. Salva el valor restrictedDataToken (el RDT) para usar en el Paso 2. Incluya el RDT con una llamada a la operación getOrders

Paso 2. Incluya el RDT con una llamada a la operación getOrders

Llame a la operación getOrders de la Orders API, especificando los parámetros adecuados para filtrar los pedidos que desee. Asegúrese de incluir la RDT del Paso 1. Obtenga un RDT en el header x-amz-access-token de su llamada a getOrders. Porque especificaste ambos buyerInfo y shippingAddress en el Paso 1. Obtenga un RDT , su llamada a getOrders está autorizada para devolver tanto la información del comprador como la información de la dirección de envío para cada pedido. ¿Había especificado sólo buyerInfo en el Paso 1, getOrders estaría autorizado a devolver solo la información del comprador para cada pedido. ¿Había especificado sólo shippingAddress en el Paso 1, getOrders estaría autorizado a devolver solo la información de la dirección de envío para cada pedido.

Tutorial: Obtenga autorización para acceder a PII para los artículos de pedido en un pedido

Puede obtener una RDT que proporcione autorización para acceder a la Personally Identifiable Information (PII) en los artículos del pedido en un pedido específico. En este flujo de trabajo se especifica dataElements=buyerInfo para indicar que el RDT autorizará su aplicación para acceder a la información del comprador para los artículos del pedido.

requisitos previos

Para completar este tutorial, necesitará:

  • Autorización del selling partner para el que está haciendo llamadas. Consulte la Guía para desarrolladores de la API de Selling partners para obtener más información.
  • Aprobación de los roles que se requieren para acceder a la información del comprador. Estos son:
    • Tax remittance
    • Tax invoicing
      Es posible que necesite aprobación solo para uno de estos roles, según su caso de uso. Para solicitar acceso a estos roles, consulte Registrarse como desarrollador en la Guía para desarrolladores de la API de Selling partners y actualice su perfil de desarrollador.

Paso 1. Obtener una order ID

Necesita un orderId para identificar un pedido para el que desea obtener información sobre el artículo del pedido. También necesita un orderId para obtener un RDT que autorice a su aplicación a acceder a la información del comprador de los artículos del pedido. Puede utilizar la operación getOrders de la Orders API para obtener una lista de pedidos, de la que puede obtener un orderId para el pedido que le interesa.

  1. Llame a la operación getOrders de la Orders API, especificando los parámetros apropiados para filtrar el pedido que desea.

    La operación devuelve pedidos que coinciden con su solicitud. Cada pedido incluye un orderId.

  2. De los pedidos que se devuelven, identifique el pedido para el que desea obtener información sobre el artículo del pedido.

  3. Guarde el orderId para el pedido que desea utilizar en el Paso 2. Obtenga un RDT y el Paso 3. Incluya la RDT con una llamada a la operación getOrderItems .

Paso 2. Obtener una RDT

Llama a operación createRestrictedDataToken para obtener una RDT. En el propiedad path de la parámetro restrictedResources , incluya el orderId del Paso 1. Obtenga una order ID . En este flujo de trabajo especificaremos el valor de información del buyerInfo de la parámetro dataElements . Esto indica que el RDT debe proporcionar autorización para acceder a la PII para casos de uso como impuestos y envoltura de regalos.

Llama a operación createRestrictedDataToken para obtener una RDT.

  1. Llame a la operación createRestrictedDataToken , pasando el siguiente parámetro:

Parámetro del cuerpo:

ParámetroDescripciónRequerido
restrictedResourcesUna lista de restricted resources. Nota :

1. El crecimiento en la cantidad de restricted resources da como resultado un crecimiento en el tamaño del restricted data token resultante. El tamaño máximo del Restricted Data Token antes de la codificación y el cifrado no puede exceder los 7 kb sin riesgo de falla cuando se emplea el token.
2. Cuando solicite varios recursos, asegúrese de que los recursos solicitados sean válidos para el tipo de cuenta del selling partner. Ejemplo: si solicita un token RDT para un seller, no incluya las API específicas del vendor en la llamada de solicitud createRestrictedDataToken .

Tipo: < restrictedResources > array

Ejemplo de solicitud:

POST https://sellingpartnerapi-na.amazon.com/tokens/2021-03-01/restrictedDataToken
{
  "restrictedResources": [
    {
      "method": "GET",
      "path": "/orders/v0/orders/123-1234567-1234567/orderItems",
      "dataElements": ["buyerInfo"]
    }
  ]
}

Respuesta

Una respuesta exitosa incluye lo siguiente:

NombreDescripción
restrictedDataTokenUn Restricted Data Token (RDT). Este es un access token de corta duración que autoriza llamadas a restricted operations. Pase este valor con el header x-amz-access-token al realizar llamadas posteriores a estos restricted resources.

El tamaño de la RDT es relativo a la cantidad de restricted resources especificados en la solicitud. El tamaño máximo del Restricted Data Token antes de la codificación y el cifrado no puede exceder los 7 kb sin riesgo de falla cuando se emplea el token.

Tipo: string
expiresInLa vida útil de la RDT, en segundos.

Tipo: integer

Ejemplo de respuesta:

{
  "restrictedDataToken": "Atz.sprdt|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSR",
  "expiresIn": 3600
}
  1. Salva el valor restrictedDataToken (el RDT) para usar en el Paso 3. Incluya la RDT con una llamada a la operación getOrder .

Paso 3. Incluir la RDT con una llamada a la operación getOrderItems

Llame a la operación getOrderItems de la Orders API, especificando el orderId que identificó en el Paso 1. Obtenga una order ID . Asegúrese de incluir la RDT del Paso 1 en el header x-amz-access-token de su llamada a getOrderItems.

Tutorial: Autorización delegada para acceder a PII

Puede delegar la autorización para llamar a restricted operations a una "delegatee application", que es una aplicación que realiza una función especializada para un selling partner (como servicios de envío, facturación de impuestos o remesas de impuestos) pero que no está autorizada directamente por el selling partner. . Usted delega la autorización de esta manera por

  1. Llamar a la operación createRestrictedDataToken de la API de Tokens (especificando el ID de aplicación de la aplicación delegada),
  2. Obtener una RDT de la respuesta createRestrictedDataToken , y
  3. Pasar la RDT a la aplicación del delegado.

El RDT autoriza a la aplicación del delegado a llamar a restricted operations que devuelven la PII necesaria para realizar funciones en nombre del selling partner. Para definiciones, consulte Terminología .

requisitos previos

Para completar este tutorial, necesitará:

  • Autorización del selling partner para el que está haciendo llamadas. Consulte la Guía para desarrolladores de la API de Selling partners para obtener más información.
  • Haber indicado en el formulario App registration que desea delegar el acceso a la PII a otra aplicación. Para obtener instrucciones sobre cómo actualizar el formulario App registration , consulte Registrar su aplicación en la Guía para desarrolladores de la API de Selling partners. Indique en el formulario los tipos de PII que desea delegar.
  • El orderId para un pedido que requiere funciones de envío o impuestos.
  • Una asociación con un desarrollador con una aplicación delegada.
  • El ID de aplicación de la aplicación del delegado.
  • Un medio seguro para transmitir un RDT y un orderId a una aplicación delegada.

Además, el desarrollador con la aplicación del delegado en el paso 3. La aplicación del delegado llama a la operación getOrder deberá:

  • Regístrese como desarrollador y solicite la aprobación de los roles que se requieren para acceder a la información del comprador y/o la información de la dirección de envío. Estos son:
    • Direct-to-consumer shipping. Necesario para acceder a la información de la dirección de envío.
    • Tax remittance. Necesario para acceder a la información del comprador.
    • Tax invoicing. Necesario para acceder a la información del comprador.
      Para obtener más información acerca de los roles, consulte Roles en la Selling Partner API .

Paso 1. Obtener una RDT

Llama a operación createRestrictedDataToken para obtener una RDT. En el propiedad path de la Parámetro restrictedResources , incluya el orderorder ID para el que se requiere PII. En este flujo de trabajo especificaremos tanto el buyerInfo y valores de shippingAddress del parámetro dataElements . Esto indica que la RDT debe incluir autorización para acceder a PII para casos de uso como impuestos y envío. En su propio flujo de trabajo, puede especificar solo un valor, según la PII que requiera su caso de uso.

  1. Llame a la operación createRestrictedDataToken , pasando los siguientes parámetros:

Parámetros del cuerpo:

ParámetroDescripciónRequerido
restrictedResourcesUna lista de restricted resources. Nota :

1. El crecimiento en la cantidad de restricted resources da como resultado un crecimiento en el tamaño del restricted data token resultante. El tamaño máximo del Restricted Data Token antes de la codificación y el cifrado no puede exceder los 7 kb sin riesgo de falla cuando se emplea el token.
2. Cuando solicite varios recursos, asegúrese de que los recursos solicitados sean válidos para el tipo de cuenta del selling partner. Ejemplo: si solicita un token RDT para un seller, no incluya las API específicas del vendor en la llamada de solicitud createRestrictedDataToken .

Tipo: < restrictedResources > array
targetApplicationEl ID de aplicación para la aplicación de destino a la que se delega el acceso.

Tipo: string
No

Ejemplo de solicitud:

POST https://sellingpartnerapi-na.amazon.com/tokens/2021-03-01/restrictedDataToken
{
  "restrictedResources": [
    {
      "method": "GET",
      "path": "/orders/v0/orders/123-1234567-1234567",
      "dataElements": ["buyerInfo", "shippingAddress"]
    }
  ],
  "targetApplication": "amzn1.sellerapps.app.target-application"
}

Respuesta

Una respuesta exitosa incluye lo siguiente:

NombreDescripción
restrictedDataTokenUn Restricted Data Token (RDT). Este es un access token de corta duración que autoriza llamadas a restricted operations. Pase este valor con el header x-amz-access-token al realizar llamadas posteriores a estos restricted resources.

El tamaño de la RDT es relativo a la cantidad de restricted resources especificados en la solicitud. El tamaño máximo del Restricted Data Token antes de la codificación y el cifrado no puede exceder los 7 kb sin riesgo de falla cuando se emplea el token.

Tipo: string
expiresInLa vida útil de la RDT, en segundos.

Tipo: integer

Ejemplo de respuesta:

{
  "restrictedDataToken": "Atz.sprdt|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSR",
  "expiresIn": 3600
}
  1. Salva el valor restrictedDataToken (el RDT) para proporcionar a la aplicación del delegado en el siguiente paso.

Paso 2. Pase el RDT y el orderId a la aplicación del delegado

Transmita de forma segura el RDT y el order ID a la aplicación del delegado. La aplicación los usará cuando llame a la operación getOrder en el siguiente paso.

Paso 3. La aplicación del delegado llama a la operación getOrder

La aplicación del delegado llama a la operación getOrder de la Orders API, especificando en la ruta el order ID del Paso 2. Pase el RDT y el orderId a la aplicación del delegado . La llamada debe incluir la RDT (también del Paso 2) en el header x-amz-access-token de la llamada. porque ambos buyerInfo y shippingAddress se especificaron en el Paso 1. Obtener un RDT , la llamada a getOrder devuelve tanto la información del comprador como la información de la dirección de envío del pedido.

  1. La aplicación del delegado llama a la operación getOrder , pasando los siguientes parámetros:

Parámetros del Body:

ParámetroDescripciónRequerido
orderIdUn identificador de pedido definido por Amazon, en formato 3-7-7.

Tipo: string

Ejemplo de solicitud:

GET https://sellingpartnerapi-na.amazon.com/orders/v0/orders/123-1234567-1234567

Respuesta

Una respuesta exitosa incluye lo siguiente:

NombreDescripción
payloadLa payload para la operación getOrder.

Tipo: Orden

Ejemplo de respuesta:

{
  "payload": {
    "AmazonOrderId": "902-3159896-1390916",
    "PurchaseDate": "2017-01-20T19:49:35Z",
    "LastUpdateDate": "2017-01-20T19:49:35Z",
    "OrderStatus": "Pending",
    "FulfillmentChannel": "SellerFulfilled",
    "NumberOfItemsShipped": 0,
    "NumberOfItemsUnshipped": 0,
    "PaymentMethod": "Other",
    "PaymentMethodDetails": [
      "CreditCard",
      "GiftCerificate"
    ],
    "MarketplaceId": "ATVPDKIKX0DER",
    "ShipmentServiceLevelCategory": "Standard",
    "OrderType": "StandardOrder",
    "EarliestShipDate": "2017-01-20T19:51:16Z",
    "LatestShipDate": "2017-01-25T19:49:35Z",
    "IsBusinessOrder": false,
    "IsPrime": false,
    "IsGlobalExpressEnabled": false,
    "IsPremiumOrder": false,
    "IsSoldByAB": false,
    "DefaultShipFromLocationAddress": {
      "Name": "MFNIntegrationTestMerchant",
      "AddressLine1": "2201 WESTLAKE AVE",
      "City": "SEATTLE",
      "StateOrRegion": "WA",
      "PostalCode": "98121-2778",
      "CountryCode": "US",
      "Phone": "+1 480-386-0930 ext. 73824",
      "AddressType": "Commercial"
    },
    "FulfillmentInstruction": {
      "FulfillmentSupplySourceId": "sampleSupplySourceId"
    },
    "IsISPU": false,
    "ShippingAddress": {
      "Name": "Michigan address",
      "AddressLine1": "1 Cross St.",
      "City": "Canton",
      "StateOrRegion": "MI",
      "PostalCode": "48817",
      "CountryCode": "US"
    },
    "BuyerInfo": {
      "BuyerEmail": "[email protected]",
      "BuyerName": "John Doe",
      "BuyerTaxInfo": {
        "CompanyLegalName": "A Company Name"
      },
      "PurchaseOrderNumber": "1234567890123"
    }
  }
}
  1. La aplicación del delegado utiliza los datos de la respuesta para realizar sus funciones de envío e impuestos.

Tutorial: Obtenga autorización para acceder a la información de envío para múltiples envíos

Puede obtener una RDT que proporcione autorización para obtener información de envío para cualquiera de los selling partner's shipments.

requisitos previos

Para completar este tutorial, necesitará:

  • Autorización del selling partner para el que está haciendo llamadas. Consulte la Guía para desarrolladores de la API de Selling partners para obtener más información.
  • Aprobación para el rol Direct-to-consumer shipping , que se requiere para acceder a la información de la dirección de envío. Para solicitar acceso a este rol, consulte Registrarse como desarrollador en la Guía para desarrolladores de la API de Selling partners y actualice su perfil de desarrollador.
  • Shipment IDs para los shipments para los que desea obtener información de shipments.

Paso 1. Obtener una RDT

Llama a operación createRestrictedDataToken para obtener una RDT. En el propiedad path de la parámetro restrictedResources que especifique, use una ruta genérica que incluya este texto: {shipmentId} . Para definiciones, consulte Terminología .

  1. Llame a la operación createRestrictedDataToken , pasando el siguiente parámetro:

Parámetros del cuerpo:

ParámetroDescripciónRequerido
restrictedResourcesUna lista de restricted resources. Nota :

1. El crecimiento en la cantidad de restricted resources da como resultado un crecimiento en el tamaño del restricted data token resultante. El tamaño máximo del Restricted Data Token antes de la codificación y el cifrado no puede exceder los 7 kb sin riesgo de falla cuando se emplea el token.
2. Cuando solicite varios recursos, asegúrese de que los recursos solicitados sean válidos para el tipo de cuenta del selling partner. Ejemplo: si solicita un token RDT para un seller, no incluya las API específicas del vendor en la llamada de solicitud createRestrictedDataToken .

Tipo: < RestrictedResource > array

Ejemplo de solicitud:

POST https://sellingpartnerapi-na.amazon.com/tokens/2021-03-01/restrictedDataToken
{
  "restrictedResources": [
    {
      "method": "GET",
      "path": "/mfn/v0/shipments/{shipmentId}"
    }
  ]
}

Respuesta

Una respuesta exitosa incluye lo siguiente:

NombreDescripción
restrictedDataTokenUn Restricted Data Token (RDT). Este es un access token de corta duración que autoriza llamadas a restricted operations. Pase este valor con el header x-amz-access-token al realizar llamadas posteriores a estos restricted resources.

El tamaño de la RDT es relativo a la cantidad de restricted resources especificados en la solicitud. El tamaño máximo del Restricted Data Token antes de la codificación y el cifrado no puede exceder los 7 kb sin riesgo de falla cuando se emplea el token.

Tipo: string
expiresInLa vida útil de la RDT, en segundos.

Tipo: integer

Ejemplo de respuesta:

{
  "restrictedDataToken": "Atz.sprdt|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSR",
  "expiresIn": 3600
}
  1. Salva el valor restrictedDataToken (el RDT) para usar en el Paso 2. Incluya la RDT con una llamada a la operación getShipment .

    Para definiciones, consulte Terminología .

Paso 2. Incluya el RDT con una llamada a la operación getShipment

Llame a la operación getShipment de Merchant Fulfillment API mediante la ruta genérica que especificó en el paso 1. Obtener un RDT y reemplazar {shipmentId} con un shipmentId real del selling partner. Por ejemplo, GET /mfn/v0/shipments/FBA1234ABC5D . Repita para todos los envíos para los que desea información de envío, especificando la identificación de envío adecuada con cada llamada. Cada llamada debe incluir la RDT del Paso 1. Obtenga un RDT en el header x-amz-access-token .

Nota. Una RDT sigue siendo válida durante una hora.

Tutorial: generar un SDK de Java para la API de tokens

Con este SDK puede realizar llamadas a la API de Tokens con el siguiente código y a configurado para usted: Iniciar sesión con el intercambio de tokens de Amazon (intercambiar un refresh token por un access token) y autenticación.

Para generar un SDK de Java con autenticación e intercambio de tokens LWA

  1. Instale Java 8 o posterior , Apache Maven 3.6. o superior , y GNU Wget y póngalos a disposición en su $PATH.

  2. Vaya a https://github.com/amzn/selling-partner-api-models .

  3. Clone el repositorio para hacer una copia local en su computadora, si aún no lo ha hecho.

  4. Abra una ventana del símbolo del sistema y vaya a un directorio donde desee descargar el Swagger Code Generator.

  5. Descarga la última versión del Swagger Code Generator.

    Por ejemplo:

wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.13/swagger-codegen-cli-2.4.13.jar -O swagger-codegen-cli.jar

swagger-codegen-cli.jar se descarga en el directorio actual.

Nota: También puede descargar desde maven.org dirigiendo su navegador aquí: https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.13/swagger-codegen-cli-2.4.13.jar

  1. Copie swagger-codegen-cli.jar en una estructura de directorios que tenga sentido para usted. Para este ejemplo, lo copiaremos en C:\SwaggerToCL..
  2. Vaya a tokens_2021-03-01.json en la carpeta selling-partner-api-models\models\tokens-api-model de su copia local del repositorio.
  3. Copie tokens_2021-03-01.json en C:\SwaggerToCL..
  4. Genere el SDK con las templates en la carpeta selling-partner-api-models\clients\sellingpartner-api-aa-java de su copia local del repositorio. Esta carpeta contiene una biblioteca de autorización y autenticación, junto con templates personalizadas para Swagger Code Generator.

Por ejemplo:

java -jar C:\SwaggerToCL\swagger-codegen-cli.jar generate -i C:\SwaggerToCL\tokens_2021-03-01.json -l java -t [path to selling-partner-api-models\clients\sellingpartner-api-aa-java folder]\resources\swagger-codegen\templates\ -o C:\SwaggerToCL\Tokens_JavaCL

El SDK se copia en C:\SwaggerToCL\Tokens_JavaCL

  1. Cree la biblioteca AA y agréguela como una dependencia del SDK:

    1. Navegue a la carpeta selling-partner-api-models\clients\sellingpartner-api-aa-java de su copia local del repositorio y ejecute mvn package. Esto genera una carpeta llamada "target". En esta carpeta hay un archivo JAR llamado sellingpartnerapi-aa-java-1.0-jar-with-dependencies.jar (o algo similar) y todas las dependencias requeridas.

    2. Instale el archivo JAR en su repositorio Maven local.
      Por ejemplo:

      mvn install:install-file -Dfile=[path to JAR file in "target" folder] -DgroupId=com.amazon.sellingpartnerapi -DartifactId=sellingpartnerapi-aa-java -Dversion=1.0 -Dpackaging=jar
      

      Puede encontrar los valores reales de groupId, artifactId y versión cerca de la parte superior del archivo pom.xml en la carpeta selling-partner-api-models\clients\sellingpartner-api-aa-java.

  2. Agregue una dependencia en la biblioteca AA en el pom.xml de la biblioteca del cliente:

Por ejemplo:

<dependency>
<groupId>com.amazon.sellingpartnerapi</groupId>
<artifactId>sellingpartnerapi-aa-java</artifactId>
<version>1.0</version>
</dependency>
  1. Ejecute mvn package dentro de la carpeta SDK generada.

  2. Descargue cualquiera de los siguientes archivos y utilícelos para crear clases dentro de la carpeta main/java/sampleCode/ de la biblioteca cliente generada. Para definiciones, consulte Terminología .

Ahora puede comenzar a probar fluxos de trabalho para obtener RDT y llamar a restricted operations. Utilice este código como guía para crear sus propias aplicaciones.