Skip to main content

Amazon selling partner api clients.

Project description

amazon-sp-api-clients

This is a package generated from amazon selling partner open api models.

This package is for my personal usage, and may not be a good package, but enough for myself.

Features

  • ready to use;
  • provide code to generate clients, in case that amazon update models;
  • type hint.

Note

Because that this repo currently do not need community contribution, and is mainly for my personal usage, so I made this repo private. You can download the client from pypi and use it free. But if you want to generate a new client lib to support your business, please contact and pay me and I will provide technical support.

For technical support, please contact panhaoyu.china@outlook.com.

由于这个库目前不打算接受社区的协助,而且主要是用于我的个人使用, 因此我将这个库设置成了私有库。 您可以免费从pypi安装并使用这个库, 但是如果您想生成一个新的客户端以适应您的业务逻辑, 我可以为您提供付费技术支持。

商业合作请联系 panhaoyu.china@outlook.com

Usage

For saving time, I just paste part of my test code here as a demo.

For better understanding, all the fields are the same length of actual fields, and some readable information are kept.

def test_api():
    from datetime import datetime
    import amazon_sp_api_clients
    endpoint = "https://sellingpartnerapi-eu.amazon.com"
    marketplace_id = "XXXXXXXXXXXXXX"

    refresh_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
                    "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
                    "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
                    "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    order_pk = '123-1234567-1234567'
    role_arn = "arn:aws:iam::123456789012:role/xxxxxx"
    aws_access_key = 'XXXXXXXXXXXXXXXXXXXX'
    aws_secret_key = "XXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    client_id = 'amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    client_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    client_config = dict(
        role_arn=role_arn,
        endpoint=endpoint,
        marketplace_id=marketplace_id,
        refresh_token=refresh_token,
        aws_access_key=aws_access_key,
        aws_secret_key=aws_secret_key,
        lwa_client_key=client_id,
        lwa_client_secret=client_secret,
    )
    order_client = amazon_sp_api_clients.orders.OrdersClient(**client_config, use_cache=True)

    orders = order_client.getOrders(
        MarketplaceIds=[marketplace_id],
        CreatedAfter=datetime(2000, 1, 1).isoformat()).payload.Orders
    assert len(orders) > 0
    assert orders[0].AmazonOrderId == order_pk

Configuration

The client configuration can be set both at the initiation and as environment variables.

  • SP_API_ROLE_ARN
  • SP_API_ENDPOINT
  • SP_API_REGION
  • SP_API_MARKETPLACE_ID
  • SP_API_REFRESH_TOKEN
  • SP_API_AWS_ACCESS_KEY
  • SP_API_AWS_SECRET_KEY
  • SP_API_LWA_CLIENT_KEY
  • SP_API_LWA_CLIENT_SECRET

Build

The client is generated in the following steps:

  1. download amazon open api repository;
  2. copy open api 2 json files from the amazon repository to a single directory;
  3. convert open api 2 json files to open api 3 json files;
  4. convert open api 3 json files to py clients.

The main script of generation is the test_main python file.

When convert open api to py clients, I separated the process into 6 steps, which are defined in the swager_client_generator.stages module.

If my build is not suitable for your demand, or amazon api model updates but my build do not follow, you can clone this repo, modify the api.pyt template and build it by yourself, and please push a PR, thanks!

Acknowledgement

The auth method is partially from python-amazon-sp-api.

Note

If this library helps you, please give me a star, thanks!

如果这个库对您有用,请为我点亮Star,谢谢!

商业合作请联系 panhaoyu.china@outlook.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

amazon-sp-api-clients-0.1.6.tar.gz (55.7 kB view details)

Uploaded Source

Built Distribution

amazon_sp_api_clients-0.1.6-py3-none-any.whl (64.4 kB view details)

Uploaded Python 3

File details

Details for the file amazon-sp-api-clients-0.1.6.tar.gz.

File metadata

  • Download URL: amazon-sp-api-clients-0.1.6.tar.gz
  • Upload date:
  • Size: 55.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.3

File hashes

Hashes for amazon-sp-api-clients-0.1.6.tar.gz
Algorithm Hash digest
SHA256 a57a5660addeaaca9125100cf700f8eecf06af18ca2d3e9b0bfdcb80505a5e20
MD5 a571e17db0020375b1b63466876926f7
BLAKE2b-256 c3888873ab46162f77b85cfb318841c40d0fc979aa29bb9f031baf3cd210a69c

See more details on using hashes here.

File details

Details for the file amazon_sp_api_clients-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: amazon_sp_api_clients-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 64.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.3

File hashes

Hashes for amazon_sp_api_clients-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b7f228671a32dfcb316c69963d1a9db3fd36c614deabdec80fba28c8142e383a
MD5 9580604116c7dcdd5a9ce6089eb426c4
BLAKE2b-256 8ebb32402c6d254e0f2f68a7d16bf86fff8a840e3b5aeb9b5458765dd5c0eeb8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page