See what the Zoho Commerce integration can do →
This article catalogs the Zoho Commerce API endpoints the iPaaS.com integration calls, grouped by entity. Use it to allow-list traffic on a firewall or proxy, to trace a transfer while troubleshooting, and to judge quickly whether a change Zoho announces to its Commerce API affects the integration.
Portal Info
Zoho Commerce stores are administered through the Zoho web console. Sign in at:
https://accounts.zoho.com/signin?servicename=ZohoCommerce&signupurl=https://www.zoho.com/commerce/signup.html
Zoho hosts each account in a specific data center, and both the console and the API must be reached on the host that belongs to that account's data center (Zoho Commerce API authentication, retrieved 2026-07-22). This integration connects only to stores hosted on the United States Zoho data center, so the United States sign-in address above is the only one it supports.
API Endpoints
Zoho Commerce exposes a REST API that accepts and returns JSON. Every call the integration makes is an HTTPS request to a versioned path beneath the store API host.
The host is held in the subscription's API Url setting:
Base URL |
|
Zoho documents the versioned base for the Commerce API as https://commerce.zoho.com/store/api/v1/ (Zoho Commerce API — making a request, retrieved 2026-07-22). This integration connects only to stores hosted on the United States Zoho data center, so the address above is the only base URL it supports. There is no other data center host to substitute in its place, and there is no separate test or sandbox host to configure. A store whose Zoho organization is provisioned in another region cannot be connected at all — see the Known Limitations article.
In the patterns below, [Base URL] stands for that host. Values in braces, such as {product_id}, are the Zoho Commerce record ids the integration substitutes at runtime.
Every request is scoped to one store by its Organization ID, which subscribers or their MiSP supply once on the subscription. The integration applies it to every call automatically — it is not something you add to a request by hand. See the Zoho Commerce Connections and Settings article for where that value is entered.
Table of Contents
Product Endpoints
Product Variant Endpoints
Inventory Endpoints
Category Endpoints
Sales Order Endpoints
Webhook Endpoints
Authorization Endpoint
Product Endpoints
Products are one of the entities Zoho publishes in its Commerce API (Zoho Commerce API list, retrieved 2026-07-22).
Every pattern below is sent with the organization id appended as a query parameter, applied automatically from the subscription's Organization ID setting; the patterns show the path only.
Get a Product by Id (GET)
Reads a single product back from the store. Used after a create or an update so the resulting Zoho Commerce record — including the ids Zoho assigns to the variants beneath the product — can be returned to iPaaS.com.
[Base URL]/v1/products/{product_id}Create a Product (POST)
Creates a product during an iPaaS.com to Zoho Commerce product transfer. The product's variants are sent in the same request, so a simple product and its default variant are created together.
[Base URL]/v1/products
Update a Product (PUT)
Updates an existing product that has already been transferred once.
[Base URL]/v1/products/{product_id}Product Variant Endpoints
Variants are addressed as their own resource. Zoho's published Commerce API list does not describe a separate variants resource (Zoho Commerce API list, retrieved 2026-07-22), so the paths in this section reflect the calls the integration makes rather than a published Zoho reference. Subscribers or their MiSP who plan to call them directly should validate the behavior in a staging store before relying on it in production.
Get a Product Variant by Id (GET)
Reads a single variant. Used to return the saved variant to iPaaS.com after a write, and to read the variant's current stocking level before an inventory adjustment is calculated.
[Base URL]/v1/variants/{variant_id}Create a Product Variant (POST)
Creates an additional variant beneath a product that already exists in the store.
[Base URL]/v1/variants
Update a Product Variant (PUT)
Updates an existing variant.
[Base URL]/v1/variants/{variant_id}Inventory Endpoints
Stocking levels are not written as an absolute quantity. The integration reads the variant's current level, works out the difference, and posts that difference as an inventory adjustment. Both the product-level and the variant-level inventory flows use the single endpoint below, and both a first-time write and a later change use the same call.
Zoho's published Commerce API list does not describe an inventory adjustment resource (Zoho Commerce API list, retrieved 2026-07-22), so this path likewise reflects the call the integration makes rather than a published Zoho reference. Validate it in a staging store before calling it directly.
Create or Update an Inventory Adjustment (POST)
Applies a stocking-level change to a product or variant at a location.
[Base URL]/v1/inventoryadjustments
Category Endpoints
Categories are one of the entities Zoho publishes in its Commerce API (Zoho Commerce API list, retrieved 2026-07-22).
Get All Categories (GET)
Retrieves the store's categories. Used when a category has to be located without a Zoho Commerce id already in hand.
[Base URL]/v1/categories
Get a Category by Id (GET)
Reads a single category. Zoho Commerce serves the single-category read from an edit-page path with the category supplied as a query parameter rather than as a path segment, which is why this pattern looks different from the other reads in this article.
[Base URL]/v1/categories/editpage?category_id={category_id}Create a Category (POST)
Creates a category during an iPaaS.com to Zoho Commerce category transfer. A child category can only be created once its parent exists in the store, so parents transfer first.
[Base URL]/v1/categories
Update a Category (PUT)
Updates an existing category.
[Base URL]/v1/categories/{category_id}Sales Order Endpoints
Sales orders are one of the entities Zoho publishes in its Commerce API (Zoho Commerce API list, retrieved 2026-07-22).
Get a Sales Order by Id (GET)
Retrieves the full sales order during a Zoho Commerce to iPaaS.com transfer, including its order lines, billing and shipping addresses, tax detail, payment detail and order-level discount. This is the only call the integration makes against sales orders; the integration reads orders and does not write them back.
[Base URL]/v1/salesorders/{salesorder_id}Webhook Endpoints
Webhooks are one of the entities Zoho publishes in its Commerce API (Zoho Commerce API list, retrieved 2026-07-22).
The integration registers and maintains its own Zoho Commerce webhook subscriptions when a subscription is connected or disconnected. Subscribers do not invoke these endpoints, but they are listed here because they must be reachable when a subscription's inbound sales order flow is enabled or disabled.
Get All Webhooks (GET)
Lists the webhooks currently registered on the store so existing registrations can be reconciled against the ones the integration expects.
[Base URL]/v1/settings/webhooks
Create a Webhook (POST)
Registers a webhook when the subscription is connected.
[Base URL]/v1/settings/webhooks
Update a Webhook (PUT)
Updates an existing webhook registration.
[Base URL]/v1/settings/webhooks/{webhook_id}Delete a Webhook (DELETE)
Removes a webhook registration when the subscription is disconnected.
[Base URL]/v1/settings/webhooks/{webhook_id}Authorization Endpoint
Zoho Commerce uses OAuth 2.0, and access tokens are issued by the Zoho accounts service rather than by the store API host. For an account in the United States data center the token endpoint is:
https://accounts.zoho.com/oauth/v2/token
Zoho issues tokens from the accounts host belonging to the account's own data center, so that host differs for stores outside the United States (Zoho Commerce API authentication, retrieved 2026-07-22). This integration authorizes against the United States accounts host only, and that is not configurable, so a store whose Zoho organization is hosted on a data center outside the United States cannot currently connect. See the Known Limitations article.
Authentication
Subscribers or their MiSP authorize the integration from iPaaS.com while setting the subscription up, and grant it access to the Zoho Commerce store from Zoho's own consent screen. From that point iPaaS.com performs the token exchange, stores the resulting token, and renews it as it ages. No token, key or credential is entered on an individual request, and none of the endpoints in this article are called with credentials a subscriber assembles by hand.
Two consequences are worth knowing:
Refresh tokens do not expire, but they are capped: Zoho keeps at most 20 refresh tokens per user and automatically deletes the oldest once that limit is passed (Zoho Commerce API authentication, retrieved 2026-07-22). Repeatedly re-authorizing the same Zoho user across many applications can therefore retire an older authorization.
Authorization is tied to the data center: an account authorized in one Zoho data center cannot be used against another data center's host.
If transfers begin failing on authorization, reconnect the subscription as described in the Zoho Commerce Installation Instructions article, and review the failures under Dashboard / Integration Monitoring / Error Logs.
Pagination
The integration does not send pagination parameters on any of the calls listed above. Every product, variant, category, inventory and sales order call either targets a single record by its Zoho Commerce id or, in the case of the category list, asks for the store's categories in one response.
Subscribers or their MiSP running a store with a very large category tree should confirm in a staging store that the full category list returns within the transfer's time budget before relying on it in production.
Rate Limits and Concurrency
Zoho does not publish a call quota for the Zoho Commerce store API, and a store may still refuse calls made too quickly, so the integration does not assume a particular threshold. Throughput is instead bounded on the iPaaS.com side by the subscription's throttle settings — API Throttle Limit, API Throttle Seconds and Concurrent Connections — which are pre-populated when the subscription is created and described in the Zoho Commerce Connections and Settings article.
Practical guidance:
Stagger large runs: schedule a bulk catalog or inventory load outside your busiest storefront hours and avoid running several large transfers against the same store at once.
Validate throughput in staging: because no published quota exists to design against, measure a representative run in a staging store before committing to a schedule in production.
Watch for throttling in the logs: rejected or delayed calls surface under Dashboard / Integration Monitoring / Error Logs, which is the first place to look if a run slows down or stalls.
Related Documents
