Tutorial: como automatizar suas chamadas à SP-API usando um SDK em Python

Automatize suas chamadas à SP-API com a troca e autenticação de tokens do Login com a Amazon (LWA).

Este tutorial oferece todos os detalhes necessários para gerar um SDK em Python com autenticação e troca de tokens do Login com a Amazon (LWA), a fim de criar seu aplicativo sem interrupções. Você conhecerá os pré-requisitos necessários para criar SDK em Python e também verá um exemplo de uso da API do parceiro de vendas para pedidos e do gerador de código do Swagger.

Você pode usar este SDK para integrar recursos do site da Amazon aos seus aplicativos, incluindo acessar informações do produto, gerenciar pedidos, lidar com remessas e muito mais.

Tutorial

O tutorial a seguir ajudará você a configurar seu próprio SDK Python para automatizar as chamadas à SP-API.

Pré-requisitos

Para concluir este tutorial, você precisa dos seguintes pré-requisitos:

  • Um aplicativo híbrido ou SP-API em estado de rascunho ou publicado
  • Software de ambiente de desenvolvimento integrado (IDE)
  • Python (versão 3.6 ou posterior)
  • swagger-codegen-cli-2.3 (ou posterior). Esta ferramenta é usada para gerar código de cliente Python a partir das definições do Swagger da SP-API.

Antes que seu aplicativo possa se conectar à API do parceiro de vendas, você deve registrá-lo e ele deve ser autorizado por um parceiro de vendas. Se você não tiver um aplicativo híbrido ou SP-API, siga as etapas para registrar-se como desenvolvedor, registrar seu aplicativo, e autorizar aplicativos da API do parceiro de vendas. Feito isso, retorne a este tutorial.

Em seguida, configure seu espaço de trabalho para o tutorial.

Etapa 1. Configure o espaço de trabalho

  1. Em sua unidade local, crie um diretório para este projeto, com o nome SPAPI_Python_SDK, e navegue até ele.

  2. Clone o repositório de clientes.

  3. Faça download das seguintes ferramentas.

    • Software de IDE (esta explicação passo a passo usa o IDE Visual Studio no sistema operacional Windows)
    • Python (versão 3.6 ou posterior). Você pode fazer download deste software em python.org.
  4. Execute o seguinte comando em seu terminal para baixar o 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. Copie swagger-codegen-cli.jar em seu diretório local C:\\SPAPI_Python_SDK.

  6. Execute o seguinte comando em seu terminal para instalar a biblioteca Python backoff em seu ambiente:

    pip install backoff
  7. No GitHub, acesse https://github.com/amzn/selling-partner-api-models/tree/main/models e execute o seguinte comando para clonar o repositório selling-partner-api-models para seu diretório local C:\\SPAPI_Python_SDK.

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

Agora que você concluiu a configuração necessária, a próxima etapa é gerar o SDK Python com as classes de autenticação e autorização baixadas em seu diretório local C:\\SPAPI_Python_SDK.

Etapa 2. Gere um cliente Python a partir das definições do Swagger

  1. No seu diretório local C:\\SPAPI_Python_SDK, localize o arquivo JSON do Swagger para o modelo de API da SP-API que deseja usar (por exemplo, API de pedidos).

  2. Execute o seguinte comando em seu terminal para gerar o código do cliente. Substitua os caminhos e o modelo de API pelas suas configurações.

    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

Agora que você gerou um cliente Python, precisa integrar o modelo de autenticação.

Etapa 3. Integre o módulo de autenticação

  1. Localize as pastas de código do cliente auth e spapi em C:\\SPAPI_Python_SDK, o diretório onde o SDK foi baixado.
  2. Atualize os caminhos nos seguintes arquivos Python: spapiclient.py e LwaRequest.py. Cada arquivo contém instruções sobre o que atualizar.

Com a autenticação configurada, você já pode configurar o pacote SDK em Python.

Etapa 4. Configure o pacote SDK em Python

  1. Navegue até o diretório C:\\SPAPI_Python_SDK, onde o SDK foi gerado.
  2. Use o código a seguir para criar um arquivo setup.py. Esse arquivo é necessário para empacotar seu SDK. Substitua as informações no exemplo pelas informações do seu pacote e dependências.
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' )

Com o SDK em Python configurado, você já pode criar uma instância da API de pedidos.

Etapa 5. Crie uma instância da API de pedidos e invoque uma operação

Veja a seguir um exemplo de como usar o SDK em Python com a API de pedidos para criar uma solicitação getOrders. Atualize o código com suas informações e execute-o no seu 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)

🚧

Atenção

Nunca faça commit deste arquivo no seu sistema de controle de versão, pois ele contém informações confidenciais. Certifique-se de que essas credenciais do LWA sejam armazenadas com segurança em um formato criptografado.

Um código de status 200 significa que a chamada à API foi bem-sucedida.

Etapa 6. Conecte-se à API do parceiro de vendas usando o SDK Python gerado

Execute os seguintes comandos em seu terminal para criar e instalar seu SDK localmente:

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

Execute o seguinte script de teste em seu terminal para testar o SDK em Python:

python test.py

Um código de status 200 significa que a chamada à API foi bem-sucedida.

Conclusão

Neste tutorial, você aprendeu a automatizar suas chamadas à SP-API usando um SDK da SP-API para Python. No passo a passo, você aprendeu a configurar seu espaço de trabalho, gerar um SDK em Python para a API do parceiro de vendas, conectar-se à API de pedidos e fazer sua primeira chamada à API.


Esta página ajudou você?