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 elgetReportDocument
, el recurso restringido especificado puede contener solo una ruta específica, no una ruta genérica. Para definiciones, consulte Terminología .
- El La operación
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.
- Llame a la operación createRestrictedDataToken , pasando los siguientes parámetros:
Parámetro del Body:
Parámetro | Descripción | Requerido |
---|---|---|
`restrictedResources` |
Una lista de restricted resources. Nota :
Tipo: < |
Sí |
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:
Nombre | Descripción |
---|---|
restrictedDataToken | Un 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 |
expiresIn | La vida útil de la RDT, en segundos. Tipo: integer |
Ejemplo de respuesta:
{
"restrictedDataToken": "Atz.sprdt|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSR",
"expiresIn": 3600
}
- 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.
-
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.
-
De los pedidos que se devuelven, identifique el pedido para el que desea obtener información sobre el artículo del pedido.
-
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.
- Llame a la operación createRestrictedDataToken , pasando el siguiente parámetro:
Parámetro del cuerpo:
Parámetro | Descripción | Requerido |
---|---|---|
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 | Sí |
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:
Nombre | Descripción |
---|---|
restrictedDataToken | Un 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 |
expiresIn | La vida útil de la RDT, en segundos. Tipo: integer |
Ejemplo de respuesta:
{
"restrictedDataToken": "Atz.sprdt|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSR",
"expiresIn": 3600
}
- 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
- Llamar a la operación createRestrictedDataToken de la API de Tokens (especificando el ID de aplicación de la aplicación delegada),
- Obtener una RDT de la respuesta
createRestrictedDataToken
, y - 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.
- Llame a la operación createRestrictedDataToken , pasando los siguientes parámetros:
Parámetros del cuerpo:
Parámetro | Descripción | Requerido |
---|---|---|
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 | Sí |
targetApplication | El 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:
Nombre | Descripción |
---|---|
restrictedDataToken | Un 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 |
expiresIn | La vida útil de la RDT, en segundos. Tipo: integer |
Ejemplo de respuesta:
{
"restrictedDataToken": "Atz.sprdt|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSR",
"expiresIn": 3600
}
- 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.
- La aplicación del delegado llama a la operación getOrder , pasando los siguientes parámetros:
Parámetros del Body:
Parámetro | Descripción | Requerido |
---|---|---|
orderId | Un identificador de pedido definido por Amazon, en formato 3-7-7. Tipo: string | Sí |
Ejemplo de solicitud:
GET https://sellingpartnerapi-na.amazon.com/orders/v0/orders/123-1234567-1234567
Respuesta
Una respuesta exitosa incluye lo siguiente:
Nombre | Descripción |
---|---|
payload | La 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"
}
}
}
- 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 .
- Llame a la operación createRestrictedDataToken , pasando el siguiente parámetro:
Parámetros del cuerpo:
Parámetro | Descripción | Requerido |
---|---|---|
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: < RestrictedResource > array | Sí |
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:
Nombre | Descripción |
---|---|
restrictedDataToken | Un 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 |
expiresIn | La vida útil de la RDT, en segundos. Tipo: integer |
Ejemplo de respuesta:
{
"restrictedDataToken": "Atz.sprdt|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSR",
"expiresIn": 3600
}
-
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
-
Instale Java 8 o posterior , Apache Maven 3.6. o superior , y GNU Wget y póngalos a disposición en su $PATH.
-
Clone el repositorio para hacer una copia local en su computadora, si aún no lo ha hecho.
-
Abra una ventana del símbolo del sistema y vaya a un directorio donde desee descargar el Swagger Code Generator.
-
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
- Copie swagger-codegen-cli.jar en una estructura de directorios que tenga sentido para usted. Para este ejemplo, lo copiaremos en C:\SwaggerToCL..
- Vaya a tokens_2021-03-01.json en la carpeta selling-partner-api-models\models\tokens-api-model de su copia local del repositorio.
- Copie tokens_2021-03-01.json en C:\SwaggerToCL..
- 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
-
Cree la biblioteca AA y agréguela como una dependencia del SDK:
-
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.
-
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.
-
-
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>
-
Ejecute mvn package dentro de la carpeta SDK generada.
-
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 .
-
RestrictedDataTokenWorkflow.java . Para obtener un RDT y usarlo para autorizar su propia aplicación para llamar a una o más restricted operations.
-
DelegatedRestrictedDataTokenWorkflowForDelegator.java . Para obtener una RDT que delega la autorización para llamar a restricted operations a una aplicación delegada.
-
DelegatedRestrictedDataTokenWorkflowForDelegatee.java . Para una aplicación de delegado que recibe una RDT de la aplicación delegadora y la usa para obtener autorización para llamar a restricted operations.
Nota. Use la última versión de tokens_2021-03-01.json cuando genere su SDK para asegurarse de obtener la última funcionalidad.
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.
Updated over 1 year ago