Skip to content
This repository was archived by the owner on May 6, 2026. It is now read-only.

acksession/target-api-clients

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

target-api-clients

Generated Python clients for the Target Plus Seller Cloud APIs. Three packages live in this monorepo, one per OpenAPI spec.

Package Path Spec Version
target-orders-client orders/ seller_orders-v1 — orders, fulfillment, cancel 1.0.0
target-sellers-client sellers/ sellers-v1 — products, quantities, prices, returns, payments 1.0.0
target-taxonomy-client taxonomy/ item_taxonomies-v2 — categories + attributes 2.0.0

All three are output of Swagger Codegen, then renamed so the three import names don't collide (the Codegen default is swagger_client — same name across all three packages).

Install

Pin a tag per package — tag prefix disambiguates which package the version belongs to.

# uv
uv add "target-orders-client   @ git+https://github.com/acksession/target-api-clients.git@orders-v1.0.0#subdirectory=orders"
uv add "target-sellers-client  @ git+https://github.com/acksession/target-api-clients.git@sellers-v1.0.0#subdirectory=sellers"
uv add "target-taxonomy-client @ git+https://github.com/acksession/target-api-clients.git@taxonomy-v2.0.0#subdirectory=taxonomy"

# pip
pip install "target-orders-client @ git+https://github.com/acksession/target-api-clients.git@orders-v1.0.0#subdirectory=orders"

For private repos, use a PAT in the URL or ~/.netrc:

pip install "target-orders-client @ git+https://${GITHUB_TOKEN}@github.com/acksession/target-api-clients.git@orders-v1.0.0#subdirectory=orders"

Pyproject snippet

[project]
dependencies = [
    "target-orders-client   @ git+https://github.com/acksession/target-api-clients.git@orders-v1.0.0#subdirectory=orders",
    "target-sellers-client  @ git+https://github.com/acksession/target-api-clients.git@sellers-v1.0.0#subdirectory=sellers",
    "target-taxonomy-client @ git+https://github.com/acksession/target-api-clients.git@taxonomy-v2.0.0#subdirectory=taxonomy",
]

Usage

from target_orders_client import Configuration, ApiClient, OrdersApi, OrderFulfillmentsApi
from target_sellers_client import (
    Configuration as SellersCfg, ApiClient as SellersClient,
    ProductsApi, QuantitiesApi, PricesApi, ProductReturnsApi, PaymentsApi,
)
from target_taxonomy_client import (
    Configuration as TaxCfg, ApiClient as TaxClient, ItemsApi, TaxonomiesApi,
)

cfg = Configuration()
cfg.host = "https://api-extgw-dev.partnersonline.com"
cfg.api_key["x-api-key"]      = "..."
cfg.api_key["x-seller-id"]    = "..."
cfg.api_key["x-seller-token"] = "..."

orders = OrdersApi(ApiClient(cfg))
resp = orders.get_orders(
    x_api_key=cfg.api_key["x-api-key"],
    x_seller_id=cfg.api_key["x-seller-id"],
    x_seller_token=cfg.api_key["x-seller-token"],
    seller_id="...",
)

Releasing

Tag prefix per package keeps versions independent.

# Bump orders only
git tag orders-v1.0.1 -m "fix: correct fulfillment payload model"
git push --tags

# Bump sellers
git tag sellers-v1.1.0
git push --tags

Consumers update the @ ref in their pyproject.toml.

Regenerating from OpenAPI specs

The OpenAPI YAML specs live in apps/connector/docs/Target Docs/ in the EasyeSuite monorepo. To regenerate a client:

docker run --rm -v ${PWD}:/work openapitools/openapi-generator-cli generate \
    -i /work/specs/seller_orders-v1.yaml \
    -g python \
    -o /work/orders \
    --package-name target_orders_client \
    --additional-properties=projectName=target-orders-client,packageVersion=1.0.0

Then commit + tag.

License

Proprietary — Acksession internal.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages