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
-
Em sua unidade local, crie um diretório para este projeto, com o nome
SPAPI_Python_SDK
, e navegue até ele. -
Clone o repositório de clientes.
-
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.
-
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` -
Copie
swagger-codegen-cli.jar
em seu diretório localC:\\SPAPI_Python_SDK
. -
Execute o seguinte comando em seu terminal para instalar a biblioteca Python
backoff
em seu ambiente:pip install backoff -
No GitHub, acesse
https://github.com/amzn/selling-partner-api-models/tree/main/models
e execute o seguinte comando para clonar o repositórioselling-partner-api-models
para seu diretório localC:\\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
-
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). -
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
- Localize as pastas de código do cliente
auth
espapi
emC:\\SPAPI_Python_SDK
, o diretório onde o SDK foi baixado. - Atualize os caminhos nos seguintes arquivos Python:
spapiclient.py
eLwaRequest.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
- Navegue até o diretório
C:\\SPAPI_Python_SDK
, onde o SDK foi gerado. - 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.
Updated 23 days ago