Skip to content

Latest commit

 

History

History
2292 lines (1603 loc) · 26.3 KB

File metadata and controls

2292 lines (1603 loc) · 26.3 KB

Reference

Orders

client.orders.validateBulkUpload({ ...params }) -> Zinc.BulkValidateResponse

📝 Description

Dry-run a CSV upload: validate every row and report estimated spend.

No orders are placed. Use this to show the confirmation preview before calling POST /orders/bulk.

🔌 Usage

await client.orders.validateBulkUpload({
    body: {}
});

⚙️ Parameters

request: Zinc.ValidateBulkUploadOrdersBulkValidatePostRequest

requestOptions: OrdersClient.RequestOptions

client.orders.listBulkUploads({ ...params }) -> Zinc.BulkBatchListResponse

📝 Description

List the current user's bulk-upload batches, newest first.

🔌 Usage

await client.orders.listBulkUploads();

⚙️ Parameters

request: Zinc.ListBulkUploadsOrdersBulkGetRequest

requestOptions: OrdersClient.RequestOptions

client.orders.createBulkUpload({ ...params }) -> Zinc.BulkBatchResponse

📝 Description

Create a bulk-upload batch and place its rows asynchronously.

🔌 Usage

await client.orders.createBulkUpload({
    body: {}
});

⚙️ Parameters

request: Zinc.CreateBulkUploadOrdersBulkPostRequest

requestOptions: OrdersClient.RequestOptions

client.orders.getBulkUpload({ ...params }) -> Zinc.BulkBatchResponse

📝 Description

Get a batch with per-row results and live order statuses.

🔌 Usage

await client.orders.getBulkUpload({
    batch_id: "batch_id"
});

⚙️ Parameters

request: Zinc.GetBulkUploadOrdersBulkBatchIdGetRequest

requestOptions: OrdersClient.RequestOptions

client.orders.downloadBulkResults({ ...params }) -> unknown

📝 Description

Download the batch results as a CSV (status + echoed custom columns).

🔌 Usage

await client.orders.downloadBulkResults({
    batch_id: "batch_id"
});

⚙️ Parameters

request: Zinc.DownloadBulkResultsOrdersBulkBatchIdResultsCsvGetRequest

requestOptions: OrdersClient.RequestOptions

client.orders.listOrders({ ...params }) -> Zinc.OrderListResponse

📝 Description

Get a list of orders for the current user

🔌 Usage

await client.orders.listOrders();

⚙️ Parameters

request: Zinc.ListOrdersOrdersGetRequest

requestOptions: OrdersClient.RequestOptions

client.orders.createOrder({ ...params }) -> Zinc.OrderResponse

📝 Description

Posts an order to a queue for processing

🔌 Usage

await client.orders.createOrder({
    body: {
        products: [{
                url: "https://www.amazon.com/dp/B07JGBW826"
            }],
        shipping_address: {
            first_name: "first_name",
            last_name: "last_name",
            address_line1: "address_line1",
            city: "city",
            postal_code: "postal_code",
            phone_number: "phone_number"
        },
        max_price: 1
    }
});

⚙️ Parameters

request: Zinc.CreateOrderOrdersPostRequest

requestOptions: OrdersClient.RequestOptions

client.orders.listTestProducts() -> Record<string, unknown>

📝 Description

Get list of test products for sandbox testing.

Returns list of test product URLs that can be used with test API keys to trigger different test scenarios.

🔌 Usage

await client.orders.listTestProducts();

⚙️ Parameters

requestOptions: OrdersClient.RequestOptions

client.orders.getOrder({ ...params }) -> Zinc.OrderResponse

📝 Description

Retrieves an order by its ID

🔌 Usage

await client.orders.getOrder({
    order_id: "order_id"
});

⚙️ Parameters

request: Zinc.GetOrderOrdersOrderIdGetRequest

requestOptions: OrdersClient.RequestOptions

client.orders.getOrderTimeline({ ...params }) -> Zinc.OrderTimelineResponse

📝 Description

Customer-facing lifecycle timeline for an order.

Derived on read from existing data — no dedicated storage. Merges the placement outcome (OrderLog) with carrier tracking state (TrackingNumber / TrackingCheckpoint) into an ordered list of milestones. This is the order's story to the customer, distinct from the admin-only job/automation log.

🔌 Usage

await client.orders.getOrderTimeline({
    order_id: "order_id"
});

⚙️ Parameters

request: Zinc.GetOrderTimelineOrdersOrderIdTimelineGetRequest

requestOptions: OrdersClient.RequestOptions

client.orders.cancelOrder({ ...params }) -> void

📝 Description

Cancel an order by its ID. Orders can only be cancelled if they are pending.

🔌 Usage

await client.orders.cancelOrder({
    order_id: "order_id"
});

⚙️ Parameters

request: Zinc.CancelOrderOrdersOrderIdCancelPostRequest

requestOptions: OrdersClient.RequestOptions

Products

client.products.searchProducts({ ...params }) -> Zinc.ProductSearchResponse

📝 Description

Search for products on a retailer.

🔌 Usage

await client.products.searchProducts({
    query: "query",
    retailer: "amazon"
});

⚙️ Parameters

request: Zinc.SearchProductsProductsSearchGetRequest

requestOptions: ProductsClient.RequestOptions

client.products.getProductOffers({ ...params }) -> unknown

📝 Description

Get offers for a product from a retailer.

🔌 Usage

await client.products.getProductOffers({
    product_id: "product_id",
    retailer: "amazon"
});

⚙️ Parameters

request: Zinc.GetProductOffersProductsProductIdOffersGetRequest

requestOptions: ProductsClient.RequestOptions

client.products.getProductDetails({ ...params }) -> unknown

📝 Description

Get details for a product from a retailer.

🔌 Usage

await client.products.getProductDetails({
    product_id: "product_id",
    retailer: "amazon"
});

⚙️ Parameters

request: Zinc.GetProductDetailsProductsProductIdGetRequest

requestOptions: ProductsClient.RequestOptions

Search

client.search.search({ ...params }) -> Zinc.SearchResponse

📝 Description

Search for products across retailers; returns orderable zn_sku_ listings.

🔌 Usage

await client.search.search({
    q: "q"
});

⚙️ Parameters

request: Zinc.SearchSearchGetRequest

requestOptions: SearchClient.RequestOptions

ManagedAccounts

client.managedAccounts.listRetailerCredentials({ ...params }) -> Zinc.RetailerCredentialsListResponse

📝 Description

List all retailer credentials for the current user. If is_global=True (admin only), list global credentials instead.

🔌 Usage

await client.managedAccounts.listRetailerCredentials();

⚙️ Parameters

request: Zinc.ListRetailerCredentialsManagedAccountsGetRequest

requestOptions: ManagedAccountsClient.RequestOptions

client.managedAccounts.createRetailerCredentials({ ...params }) -> Zinc.RetailerCredentialsResponse

📝 Description

Create new retailer credentials for the current user. If is_global=True (admin only), creates global credentials owned by the system user.

🔌 Usage

await client.managedAccounts.createRetailerCredentials({
    email: "email"
});

⚙️ Parameters

request: Zinc.RetailerCredentialsCreate

requestOptions: ManagedAccountsClient.RequestOptions

client.managedAccounts.updateRetailerCredentials({ ...params }) -> Zinc.RetailerCredentialsResponse

📝 Description

Update retailer credentials for the current user. Admins can also update global credentials.

🔌 Usage

await client.managedAccounts.updateRetailerCredentials({
    short_id: "short_id"
});

⚙️ Parameters

request: Zinc.RetailerCredentialsUpdate

requestOptions: ManagedAccountsClient.RequestOptions

client.managedAccounts.deleteRetailerCredentials({ ...params }) -> void

📝 Description

Delete retailer credentials for the current user. Admins can also delete global credentials.

🔌 Usage

await client.managedAccounts.deleteRetailerCredentials({
    short_id: "short_id"
});

⚙️ Parameters

request: Zinc.DeleteRetailerCredentialsManagedAccountsShortIdDeleteRequest

requestOptions: ManagedAccountsClient.RequestOptions

Agent

client.agent.createMppOrder({ ...params }) -> Zinc.OrderResponse

📝 Description

Place an order via the Machine Payments Protocol (MPP).

No Zinc account required. Payment is made upfront via MPP. Supports multiple payment methods (e.g. Tempo, Stripe). If no valid payment credential is provided, returns HTTP 402 with payment challenges for all configured methods.

Payment is the gate, but only for a genuine discovery probe: a bodyless POST (from a registry like mppscan) is parsed leniently and reaches the 402 challenge instead of a 422. A present-but-invalid body, by contrast — including malformed JSON and non-object JSON — is a real order attempt and is rejected with a 422 up front, before any payment challenge is issued or honored. Otherwise an agent could settle an on-chain payment against the challenge and then be rejected on the retry, with no way to refund the settlement (the MPP layer cannot verify or reverse a payment whose retry body no longer matches the challenge).

🔌 Usage

await client.agent.createMppOrder({
    body: {
        products: [{
                url: "https://www.amazon.com/dp/B07JGBW826"
            }],
        shipping_address: {
            first_name: "first_name",
            last_name: "last_name",
            address_line1: "address_line1",
            city: "city",
            postal_code: "postal_code",
            phone_number: "phone_number"
        },
        max_price: 1
    }
});

⚙️ Parameters

request: Zinc.CreateMppOrderAgentOrdersPostRequest

requestOptions: AgentClient.RequestOptions

client.agent.search({ ...params }) -> Zinc.SearchResponse

📝 Description

Beta — response shape may change. Cross-retailer product search for agents. Returns orderable listings whose url can be passed straight to POST /agent/orders.

🔌 Usage

await client.agent.search({
    q: "q"
});

⚙️ Parameters

request: Zinc.AgentSearchRequest

requestOptions: AgentClient.RequestOptions

client.agent.searchPost({ ...params }) -> Zinc.SearchResponse

📝 Description

Beta — response shape may change. Cross-retailer product search for agents. Returns orderable listings whose url can be passed straight to POST /agent/orders.

🔌 Usage

await client.agent.searchPost({
    q: "q"
});

⚙️ Parameters

request: Zinc.AgentSearchPostRequest

requestOptions: AgentClient.RequestOptions

client.agent.productSearch({ ...params }) -> Zinc.ProductSearchResponse

📝 Description

Per-retailer product search for agents (amazon | walmart).

🔌 Usage

await client.agent.productSearch({
    query: "query",
    retailer: "amazon"
});

⚙️ Parameters

request: Zinc.AgentProductSearchRequest

requestOptions: AgentClient.RequestOptions

client.agent.productSearchPost({ ...params }) -> Zinc.ProductSearchResponse

📝 Description

Per-retailer product search for agents (amazon | walmart).

🔌 Usage

await client.agent.productSearchPost({
    query: "query",
    retailer: "amazon"
});

⚙️ Parameters

request: Zinc.AgentProductSearchPostRequest

requestOptions: AgentClient.RequestOptions

client.agent.productOffers({ ...params }) -> unknown

📝 Description

Offers/pricing for a specific product on a retailer.

🔌 Usage

await client.agent.productOffers({
    product_id: "product_id",
    retailer: "amazon"
});

⚙️ Parameters

request: Zinc.AgentProductOffersRequest

requestOptions: AgentClient.RequestOptions

client.agent.productOffersPost({ ...params }) -> unknown

📝 Description

Offers/pricing for a specific product on a retailer.

🔌 Usage

await client.agent.productOffersPost({
    product_id: "product_id",
    retailer: "amazon"
});

⚙️ Parameters

request: Zinc.AgentProductOffersPostRequest

requestOptions: AgentClient.RequestOptions

client.agent.productDetails({ ...params }) -> unknown

📝 Description

Full product details for a specific product on a retailer.

🔌 Usage

await client.agent.productDetails({
    product_id: "product_id",
    retailer: "amazon"
});

⚙️ Parameters

request: Zinc.AgentProductDetailsRequest

requestOptions: AgentClient.RequestOptions

client.agent.productDetailsPost({ ...params }) -> unknown

📝 Description

Full product details for a specific product on a retailer.

🔌 Usage

await client.agent.productDetailsPost({
    product_id: "product_id",
    retailer: "amazon"
});

⚙️ Parameters

request: Zinc.AgentProductDetailsPostRequest

requestOptions: AgentClient.RequestOptions

Returns

client.returns.listReturnRequests({ ...params }) -> Zinc.ReturnRequestListResponse

🔌 Usage

await client.returns.listReturnRequests();

⚙️ Parameters

request: Zinc.ListReturnRequestsReturnsGetRequest

requestOptions: ReturnsClient.RequestOptions

client.returns.createReturnRequest({ ...params }) -> Zinc.ReturnRequestResponse

🔌 Usage

await client.returns.createReturnRequest({
    order_id: "order_id",
    items: [{
            order_item_id: "order_item_id",
            quantity: 1
        }],
    reason: "damaged"
});

⚙️ Parameters

request: Zinc.ReturnRequestCreate

requestOptions: ReturnsClient.RequestOptions

client.returns.getReturnRequest({ ...params }) -> Zinc.ReturnRequestResponse

🔌 Usage

await client.returns.getReturnRequest({
    return_request_id: "return_request_id"
});

⚙️ Parameters

request: Zinc.GetReturnRequestReturnsReturnRequestIdGetRequest

requestOptions: ReturnsClient.RequestOptions

Retailers

client.retailers.listRetailers({ ...params }) -> Zinc.PublicRetailerListResponse

📝 Description

List the retailers Zinc supports — the public "what do you support?" catalog.

No authentication required. One flat object per retailer brand: identifier, domain, countries shipped to, and the free-shipping policy. International marketplaces (e.g. amazon.com / amazon.de) are grouped under one brand with the country listed in supported_countries. Optionally filter by name.

🔌 Usage

await client.retailers.listRetailers();

⚙️ Parameters

request: Zinc.ListRetailersRetailersGetRequest

requestOptions: RetailersClient.RequestOptions

Usage

client.usage.getMyUsage({ ...params }) -> Zinc.UserUsageResponse

📝 Description

The caller's own data-API usage over a trailing window, per endpoint.

🔌 Usage

await client.usage.getMyUsage();

⚙️ Parameters

request: Zinc.GetMyUsageUsageGetRequest

requestOptions: UsageClient.RequestOptions

Tracking

client.tracking.getPublicTracking({ ...params }) -> Zinc.PublicTrackingResponse

📝 Description

Public tracking view for a single order, keyed by its UUID.

🔌 Usage

await client.tracking.getPublicTracking({
    order_id: "order_id"
});

⚙️ Parameters

request: Zinc.GetPublicTrackingTrackOrderIdGetRequest

requestOptions: TrackingClient.RequestOptions

Health

client.health.getPublicHealth() -> Zinc.PublicHealthResponse

📝 Description

Customer-facing platform health.

No auth. Cached in-process for 4 minutes — at the marketing site's 5-min cron cadence, the DB is touched at most ~once per tick.

🔌 Usage

await client.health.getPublicHealth();

⚙️ Parameters

requestOptions: HealthClient.RequestOptions