Tutorial: Automatice sus llamadas a SP-API con un SDK de Python

Automatice sus llamadas a la SP-API con el intercambio de tokens y la autenticación de Login with Amazon (LWA).

Este tutorial le proporciona todos los detalles necesarios para generar un SDK de Python con autenticación e intercambio de tokens Login with Amazon (LWA), a fin de crear su aplicación sin problemas. Aprenderás los requisitos previos necesarios para crear el SDK de Python y también verás un ejemplo en el que se utiliza la API de socios vendedores para pedidos y el generador de código Swagger.

Puedes usar este SDK para integrar las funciones del mercado de Amazon en tus aplicaciones, incluido el acceso a la información de los productos, la gestión de pedidos, la gestión de envíos, etc.

Tutorial

El siguiente tutorial le ayudará a configurar su propio SDK de Python para automatizar las llamadas a SP-API.

Requisitos

Para completar este tutorial, necesita los siguientes requisitos previos:

  • Una aplicación híbrida o SP-API en estado de borrador o publicado
  • Software de entorno de desarrollo integrado (IDE)
  • Python (versión 3.6 o posterior)
  • swagger-codegen-cli-2.3 (o posterior) Esta herramienta se usa para generar código de cliente de Python a partir de las definiciones Swagger de la SP-API.

Para que tu aplicación pueda conectarse a la API de socios vendedores, debes registrarla y contar con la autorización de un socio vendedor. Si no tienes una aplicación híbrida o SP-API, sigue los pasos para registrarse como desarrollador, registre su solicitud, y Autorización de las aplicaciones de la API de los socios vendedores. Luego, vuelve a este tutorial.

A continuación, configura tu espacio de trabajo para el tutorial.

Paso 1. Configura tu espacio de trabajo

  1. En tu disco local, crea un directorio para este proyecto y asígnale un nombre SPAPI_Python_SDKy navegue hasta el nuevo directorio.

  2. Clona el repositorio de clientes.

  3. Descarga las siguientes herramientas.

    • Software IDE (en este tutorial se utiliza Visual Studio IDE (en el sistema operativo Windows)
    • Python (versión 3.6 o posterior). Puede descargar este software desde python.org.
  4. Ejecuta el siguiente comando en tu terminal para descargar el Swagger Code Jar:

    `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`
  5. Copiar swagger-codegen-cli.jar en tu directorio local C:\\SPAPI_Python_SDK.

  6. Ejecuta el siguiente comando en tu terminal para instalar Python backoff biblioteca en su entorno:

    pip install backoff
  7. En GitHub, ve a https://github.com/amzn/selling-partner-api-models/tree/main/models y ejecuta el siguiente comando para clonar el selling-partner-api-models repositorio a tu directorio local C:\\SPAPI_Python_SDK.

    git clone https://github.com/amzn/selling-partner-api-models

Ahora que ha completado la configuración requerida, el siguiente paso es generar el SDK de Python con las clases de autenticación y autorización descargadas en su directorio local. C:\\SPAPI_Python_SDK.

Paso 2. Genere un cliente Python a partir de las definiciones de Swagger

  1. Busque el archivo JSON de Swagger para el Modelo de API SP-API quieres usar (por ejemplo, la API de pedidos) desde tu directorio local C:\\SPAPI_Python_SDK.

  2. Ejecuta el siguiente comando en tu terminal para generar el código de cliente. Asegúrate de reemplazar las rutas y el modelo de API por tu configuración.

    java -jar /[path_to_swagger_jar]/swagger-codegen-cli.jar generate -l python -t /[path_to_mustach_resources]/resources/ -D packageName=swagger_client -o /[path_to_client_folder]/client/[SP-API_NAME] -i /[path_to_model_folder]/models/[SP-API_NAME]/SP-API.json

Ahora que ha generado un cliente Python, necesita integrar el modelo de autenticación.

Paso 3. Integre el módulo de autenticación

  1. Localice el auth y spapi carpetas de código de cliente en C:\\SPAPI_Python_SDK, el directorio en el que se descargó el SDK.
  2. Actualice las rutas en los siguientes archivos de Python: spapiclient.py y LwaRequest.py. Cada archivo contiene instrucciones sobre qué actualizar.

Con la autenticación configurada, ya está listo para configurar el paquete del SDK de Python.

Paso 4. Configura el paquete Python SDK

  1. Navega hasta C:\\SPAPI_Python_SDK el directorio en el que se generó el SDK.
  2. Usa el siguiente código para crear un setup.py archivo. Este archivo es necesario para empaquetar el SDK. Asegúrese de reemplazar la información del ejemplo por la información del paquete y las dependencias.
from setuptools import setup, find_packages setup( name='SellingPartnerAPIAuthAndAuthPython', # Replace with your package's name version='1.0.0', # Replace with your package's version package_dir={'': 'src'}, # Replace 'src' as necessary packages=find_packages(where='src'), install_requires=[line.strip() for line in open("requirements.txt", "r")], description='A Python SDK for Amazon Selling Partner API', long_description=open('README.md').read(), long_description_content_type='text/markdown', url='TBD' )

Con el SDK de Python configurado, ya está listo para crear una instancia de la API de pedidos.

Paso 5. Crea una instancia de la API de pedidos e invoca una operación

El siguiente es un ejemplo de cómo usar el SDK de Python con la API de pedidos para crear un getOrders solicitud. Actualiza el código con tu información y, a continuación, ejecuta el código en tu terminal.

if __name__ == "__main__": from auth.credentials import SPAPIConfig config = SPAPIConfig( client_id="Your client-id", client_secret="Your client-secret", refresh_token="Your refresh-token", region="NA", # Possible values NA, EU, FE, and SANDBOX scope = None # Required for grant_type='client_credentials' ; Possible values "sellingpartnerapi::notifications" and "sellingpartnerapi::migration" ) from spapi.spapiclient import SPAPIClient # Create the API Client print("Config and client initialized...") api_client = SPAPIClient(config) marketplace_ids = ["ATVPDKIKX0DER"] created_after = "2024-01-19T00:00:00" orders_api = api_client.get_api_client('OrdersV0Api') orders_response = orders_api.get_orders(marketplace_ids=marketplace_ids, created_after=created_after) print("Orders API Response:") print(orders_response)

🚧

Advertencia

Nunca envíe este archivo a su sistema de control de versiones, ya que contiene información confidencial. Asegúrese de que estas credenciales de LWA se almacenen de forma segura en un formato cifrado.

Un código de estado de 200 significa que la llamada a la API se ha realizado correctamente.

Paso 6. Conéctese a la API del socio vendedor mediante el SDK de Python generado

Ejecuta los siguientes comandos en tu terminal para crear e instalar tu SDK localmente:

python3 setup.py sdist bdist_wheel
pip install dist/{YourPackageName}-1.0.0-py3-none-any.whl

Ejecuta el siguiente script de prueba en tu terminal para probar el SDK de Python:

python test.py

Un código de estado de 200 significa que la llamada a la API se ha realizado correctamente.

Conclusión

En este tutorial, aprendió a automatizar las llamadas de SP-API mediante un SDK de SP-API para Python. En el tutorial, has aprendido a configurar tu espacio de trabajo, a generar un SDK de Python para la API del socio vendedor, a conectarte a la API de pedidos y a realizar tu primera llamada a la API.


¿Te ha ayudado esta página?