Tutorial: Automatisieren Sie Ihre SP-API-Aufrufe mit einem Python-SDK
Automatisieren Sie Ihre SP-API-Aufrufe mit dem Tokenaustausch und der Authentifizierung von Login with Amazon (LWA).
Dieses Tutorial enthält alle erforderlichen Details, um ein Python-SDK mit Tokenaustausch und Authentifizierung von Login with Amazon (LWA) zu generieren und Ihre Anwendung nahtlos zu erstellen. Sie lernen die Voraussetzungen kennen, die für die Erstellung des Python-SDK erforderlich sind, und sehen sich auch ein Beispiel an, das die Verkaufspartner-API für Bestellungen und den Swagger Code Generator verwendet.
Sie können dieses SDK verwenden, um Funktionen von Amazon Marketplace in Ihre Anwendungen zu integrieren, einschließlich des Zugriffs auf Produktinformationen, der Verwaltung von Bestellungen, der Bearbeitung von Lieferungen und mehr.
Tutorial
Das folgende Tutorial hilft Ihnen dabei, Ihr eigenes Python-SDK für die Automatisierung von SP-API-Aufrufen einzurichten.
Voraussetzungen
Um dieses Tutorial abzuschließen, benötigen Sie die folgenden Voraussetzungen:
- Eine Hybrid- oder SP-API-App im Entwurfs- oder Veröffentlichungsstatus
- Software für integrierte Entwicklungsumgebungen (IDE)
- Python (Version 3.6 oder höher)
swagger-codegen-cli-2.3
(oder später) Dieses Tool wird verwendet, um Python-Client-Code aus den Swagger-Definitionen der SP-API zu generieren.
Bevor Ihre Anwendung eine Verbindung zur Vertriebspartner-API herstellen kann, müssen Sie sie registrieren und sie muss von einem Vertriebspartner autorisiert werden. Wenn Sie keine Hybrid- oder SP-API-App haben, folgen Sie den Schritten registriere dich als Entwickler, registriere deine Bewerbung, und Autorisierung von API-Anwendungen für Vertriebspartner. Kehren Sie dann zu diesem Tutorial zurück.
Richten Sie als Nächstes Ihren Arbeitsbereich für das Tutorial ein.
Schritt 1. Richte deinen Workspace ein
-
Erstellen Sie auf Ihrem lokalen Laufwerk ein Verzeichnis für dieses Projekt und benennen Sie es
SPAPI_Python_SDK
, und navigiere zum neuen Verzeichnis. -
Klonen Sie die Kunden-Repo.
-
Laden Sie die folgenden Tools herunter.
- IDE-Software (diese exemplarische Vorgehensweise verwendet Visuelles Studio IDE (unter Windows OS)
- Python (Version 3.6 oder höher). Sie können diese Software von herunterladen python.org.
-
Führen Sie den folgenden Befehl in Ihrem Terminal aus, um das Swagger Code Jar herunterzuladen:
`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` -
Kopieren
swagger-codegen-cli.jar
in dein lokales VerzeichnisC:\\SPAPI_Python_SDK
. -
Führen Sie den folgenden Befehl in Ihrem Terminal aus, um Python zu installieren
backoff
Bibliothek in deiner Umgebung:pip install backoff -
Gehe in GitHub zu
https://github.com/amzn/selling-partner-api-models/tree/main/models
und führen Sie den folgenden Befehl aus, um das zu klonenselling-partner-api-models
Repository in dein lokales VerzeichnisC:\\SPAPI_Python_SDK
.git clone https://github.com/amzn/selling-partner-api-models
Nachdem Sie das erforderliche Setup abgeschlossen haben, besteht der nächste Schritt darin, das Python-SDK mit den Authentifizierungs- und Autorisierungsklassen zu generieren, die in Ihr lokales Verzeichnis heruntergeladen wurden. C:\\SPAPI_Python_SDK
.
Schritt 2. Generieren Sie einen Python-Client aus Swagger-Definitionen
-
Suchen Sie die Swagger-JSON-Datei für den SP-API-Modell Sie möchten (z. B. die Orders API) aus Ihrem lokalen Verzeichnis verwenden
C:\\SPAPI_Python_SDK
. -
Führen Sie den folgenden Befehl in Ihrem Terminal aus, um Client-Code zu generieren. Stellen Sie sicher, dass Sie die Pfade und das API-Modell durch Ihre Einstellungen ersetzen.
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
Nachdem Sie einen Python-Client generiert haben, müssen Sie das Authentifizierungsmodell integrieren.
Schritt 3. Integrieren Sie das Authentifizierungsmodul
- Lokalisieren Sie die
auth
undspapi
Client-Code-Ordner inC:\\SPAPI_Python_SDK
, das Verzeichnis, in dem das SDK heruntergeladen wurde. - Aktualisieren Sie die Pfade in den folgenden Python-Dateien:
spapiclient.py
undLwaRequest.py
. Jede Datei enthält Anweisungen, was aktualisiert werden muss.
Nachdem die Authentifizierung eingerichtet ist, können Sie jetzt das Python-SDK-Paket einrichten.
Schritt 4. Richten Sie das Python-SDK-Paket ein
- Navigiere zu
C:\\SPAPI_Python_SDK
das Verzeichnis, in dem das SDK generiert wurde. - Verwenden Sie den folgenden Code, um eine zu erstellen
setup.py
datei. Diese Datei ist für das Verpacken Ihres SDK erforderlich. Stellen Sie sicher, dass Sie die Informationen im Beispiel durch Informationen für Ihr Paket und Ihre Abhängigkeiten ersetzen.
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'
)
Nachdem das Python-SDK eingerichtet ist, können Sie jetzt eine Instanz der Orders API erstellen.
Schritt 5. Erstellen Sie eine Instanz der Orders API und rufen Sie eine Operation auf
Im Folgenden finden Sie ein Beispiel dafür, wie Sie das Python-SDK mit der Orders-API verwenden, um eine getOrders
Anfrage. Aktualisieren Sie den Code mit Ihren Informationen und führen Sie den Code dann in Ihrem Terminal aus.
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)
Vorsicht
Übergeben Sie diese Datei niemals an Ihr Versionskontrollsystem, da sie vertrauliche Informationen enthält. Stellen Sie sicher, dass diese LWA-Anmeldeinformationen sicher in einem verschlüsselten Format gespeichert werden.
Ein Statuscode von 200 bedeutet, dass der API-Aufruf erfolgreich war.
Schritt 6. Stellen Sie mithilfe des generierten Python-SDK eine Verbindung zur Vertriebspartner-API her
Führen Sie die folgenden Befehle in Ihrem Terminal aus, um Ihr SDK lokal zu erstellen und zu installieren:
python3 setup.py sdist bdist_wheel
pip install dist/{YourPackageName}-1.0.0-py3-none-any.whl
Führen Sie das folgende Testskript in Ihrem Terminal aus, um das Python-SDK zu testen:
python test.py
Ein Statuscode von 200 bedeutet, dass der API-Aufruf erfolgreich war.
Fazit
In diesem Tutorial haben Sie gelernt, wie Sie Ihre SP-API-Aufrufe mithilfe eines SP-API-SDK für Python automatisieren. In der exemplarischen Vorgehensweise haben Sie gelernt, wie Sie Ihren Workspace einrichten, ein Python-SDK für die Verkaufspartner-API generieren, eine Verbindung zur Orders API herstellen und Ihren ersten API-Aufruf tätigen.
Updated 23 days ago