These instructions cover the first-time setup of a Zoho Commerce subscription in iPaaS.com, from registering the OAuth client in Zoho through to verifying that records actually move. Once the subscription is running, use the Zoho Commerce Connections and Settings article as the ongoing reference for what each setting does and how to rotate credentials.
Before You Begin
You need authentication information from Zoho Commerce before you can configure the subscription.
Important! Your MiSP (Managed Integration Service Provider) or Integrator can provide these settings, including the additional OAuth 2.0 configuration. You cannot supply the additional OAuth 2.0 settings as a subscriber. If you need assistance, contact your MiSP, your Integrator, or iPaaS.com Support at support@ipaas.com.
Confirm the following before you start.
Administrator access to Zoho Commerce: the Zoho user who authorizes the connection must be able to read and write products, categories, inventory adjustments, sales orders and store settings.
A store on the United States Zoho data center: the integration authenticates against the United States Zoho accounts domain only. A store whose Zoho organization lives on a regional data center — for example the European, Indian, Australian, Japanese or Canadian domain — cannot be connected with this integration at the time this documentation was written. Check which data center holds your organization before you go any further, because there is no setting that changes it.
Your Zoho Commerce Organization ID: Zoho Commerce refers to each business as an organization, and every request the integration sends identifies which organization it is acting on. Retrieve it in either of two ways: open the Zoho Commerce admin pages in a browser and read the store's organization variable from the browser's developer console, or call the Zoho Commerce organizations endpoint, which returns the organization identifier in its response. If neither produces a value you can use, contact Zoho Commerce support. If your Zoho account holds more than one organization, use the one that owns the store you are integrating.
Obtain the Client ID and Client Secret
Sign in to the Zoho API Console at https://api-console.zoho.com with the Zoho account that has access to Zoho Commerce.
Click ADD CLIENT.
On the Choose a Client Type screen, select Server-based Applications and click CREATE NOW.
On the Create New Client screen, provide the following, then click CREATE.
Client Name: a descriptive name for the client, for example iPaaS.com.
Homepage URL:
https://portal.ipaas.comAuthorized Redirect URIs:
https://portal.ipaas.com/customer/subscription-mgmt/subscriptions/authorization/app
This redirect URI is where Zoho returns the authorization code that iPaaS.com exchanges for an access token. It must match exactly, including the trailing path.
Open the new client's Client Secret tab. Zoho displays the Client ID — the public identifier for the client — and the Client Secret, a confidential credential that must be kept secure and never shared publicly. Copy both; you will enter them in iPaaS.com.
Installation Instructions for Integration Setup
Go to Subscriptions and click SEARCH CERTIFIED INTEGRATION MARKETPLACE & SUBSCRIBE.
Click the Zoho Commerce integration tile.
On the product details page, click Subscribe.
Enter a name for the subscription and select a version. The name must be unique within the company the subscription is created in.
Format: [Product Name] - [Environment/Purpose]
Example: Zoho Commerce - Production
Leave CREATE DEFAULT MAPPINGS selected (recommended). This creates the delivered mapping collections for categories, products, product variants, inventory and sales orders. If you clear it, every mapping must be built from scratch.
Enter the ORGANIZATION_ID, CLIENT_ID and CLIENT_SECRET you retrieved from Zoho.
Enter the API URL for your Zoho Commerce store:
https://commerce.zoho.com/store/api. The integration does not ship a separate test or sandbox address; this is the production value and the only value the API URL field takes.Leave the throttling and concurrency fields at their pre-populated values for the initial installation. They are described under Operational Configuration below.
Click APPLY.
The subscription settings and their required or optional status are as follows.
Field | Description | Required | Example |
Name | A unique name for this Zoho Commerce subscription within your company. | Yes | Zoho Commerce - Production |
Versions | The integration version the subscription runs. | n/a — set when the subscription is created | v1.0.0 |
Create Default Mappings | Creates the delivered mapping collections. | n/a — set when the subscription is created | Selected |
API Url | The base address of the Zoho Commerce store API. | Yes | |
Client_Id | The OAuth client identifier issued by the Zoho API Console. | Yes | 1000.ABCDE12345FGHIJ67890KLMNO12345 |
Client_Secret | The OAuth client secret issued by the Zoho API Console. | Yes | 9f8e7d6c5b4a39281706fedcba9876543210abcd |
Organization_Id | The Zoho Commerce organization that owns the store. | Conditional: the page does not mark this field as required, but the integration includes the organization on every request it sends to Zoho Commerce. Treat it as required — see the callout below. | 812345678 |
API Throttle Limit | Maximum calls to Zoho Commerce within the throttle window. | Yes | 500 |
API Throttle Seconds | Length of the throttle window, in seconds, for calls to Zoho Commerce. | Yes | 60 |
API Throttle Limit (To iPaaS) | Maximum calls to iPaaS.com within the throttle window. | Yes | 500 |
API Throttle Seconds (To iPaaS) | Length of the throttle window, in seconds, for calls to iPaaS.com. | Yes | 60 |
Concurrent Connections | How many connections the subscription opens at the same time. | Yes | 10 |
Concurrent Batch Executions | A subscription-level batch value, delivered pre-populated. | Yes | 10 |
HARD PREREQUISITE — ORGANIZATION_ID. The ORGANIZATION_ID field is not marked required on the Subscription Settings page, but the integration includes the organization on every request it sends to Zoho Commerce. If it is left empty, the store cannot tell which organization the request is for and no record transfers in either direction — with no warning on the settings page and no error until a transfer is attempted. Populate it before you authorize the connection. If a newly installed subscription moves no data at all, this is the first field to check.
Authentication Configuration
Zoho Commerce uses OAuth 2.0. iPaaS.com drives the authorization code exchange and stores the resulting tokens against the subscription; you do not build a token request yourself and there is no API key or password to manage.
Credentials
Client ID
Location: Zoho API Console (https://api-console.zoho.com) > your client > Client Secret tab.
Description: the public identifier of the OAuth client. Entered in the CLIENT_ID field on the iPaaS.com Subscription Settings page.
Required: Yes.
Client Secret
Location: Zoho API Console (https://api-console.zoho.com) > your client > Client Secret tab.
Description: the confidential credential paired with the Client ID. Entered in the CLIENT_SECRET field on the iPaaS.com Subscription Settings page. Treat it like a password — do not share it and do not include it in screenshots or support tickets.
Required: Yes.
Organization ID
Location: your Zoho Commerce account. Contact Zoho Commerce support if you cannot locate it.
Description: identifies which Zoho Commerce organization the integration acts on. Entered in the ORGANIZATION_ID field on the iPaaS.com Subscription Settings page.
Required: Conditional — not enforced by the page, required for any transfer to succeed.
Authorized Redirect URI
Location: entered in Zoho only, on the Create New Client screen in the Zoho API Console.
Description: the address Zoho returns the authorization code to. Must be exactly
https://portal.ipaas.com/customer/subscription-mgmt/subscriptions/authorization/app.Required: Yes.
Authorize the connection in iPaaS.com
Open the Zoho Commerce subscription you created and confirm CLIENT_ID, CLIENT_SECRET, ORGANIZATION_ID and API URL are populated and applied.
Click the Authenticate icon in the toolbar at the top of the Subscription Settings page. A new browser window opens.
A Zoho authorization window opens listing the permissions iPaaS.com is requesting for your store. The screen also lists Zoho CRM permissions; the integration does not read or write Zoho CRM data. Review the permissions, tick I allow iPaas to access the above data from my Zoho account, then click Accept. The Accept button stays disabled until that box is ticked.
Zoho confirms the authorization. Close the confirmation window.
Return to iPaaS.com and refresh the subscription page. When the authorization succeeded, an ACCESSTOKEN and a REFRESHTOKEN value appear in the stored-settings area below the credential fields.
If the token fields stay empty, re-check that CLIENT_ID and CLIENT_SECRET match the Zoho client exactly and that the Authorized Redirect URI on that client is the iPaaS.com production address above, then repeat from step 2.
Important Notes
Populated tokens are the only signal that authorization worked. The ACCESSTOKEN and REFRESHTOKEN values appearing after a page refresh is the confirmation to look for. Nothing else on the page changes.
The access token is refreshed automatically. iPaaS.com stores the access token with its expiry and exchanges the refresh token for a new one when the stored token lapses. The refresh token does not expire on a schedule.
Rotating the Client Secret requires re-authorization. If you regenerate the secret in the Zoho API Console, update CLIENT_SECRET in the subscription and run the authorization again — the stored tokens stop working as soon as the Zoho client credential changes.
Use a dedicated Zoho user where possible. Zoho retains a limited number of refresh tokens per user and discards the oldest beyond that limit, so repeatedly authorizing from a shared Zoho account can silently break an older subscription. (Zoho Commerce API documentation, retrieved 22 July 2026: https://www.zoho.com/commerce/api/oauth.html.)
Regional data centers are not supported. The integration authenticates against the United States Zoho accounts domain, and there is no setting that redirects it elsewhere. If the authorization screen never appears, or appears and then fails, confirm the Zoho organization is on the United States data center before troubleshooting anything else.
Operational Configuration
The throttling and concurrency fields on the Subscription Settings page are required, but they are pre-populated by the integration settings and do not normally need to be changed during installation. Reduce them if you begin to see rate-limit errors under Dashboard / Integration Monitoring / Error Logs.
API Throttle Limit
Description: the maximum number of calls the subscription makes to Zoho Commerce within one throttle window.
Purpose: keeps a large catalog or inventory load from overwhelming the store API and having requests rejected.
Example: with the limit at 500 and the window at 60 seconds, the subscription makes at most 500 calls to Zoho Commerce per minute and queues the rest.
Recommended values: Initial Setup 5 while you validate a handful of records; Ongoing Operations 500; High Volume 500.
API Throttle Seconds
Description: the length of the throttle window, in seconds, for calls to Zoho Commerce.
Purpose: sets the period the throttle limit is measured over.
Example: at 60, the limit is counted per minute.
Recommended values: 60 for Initial Setup, Ongoing Operations and High Volume. Increase it only to slow the subscription further.
API Throttle Limit (To iPaaS)
Description: the maximum number of calls made to iPaaS.com within one throttle window.
Purpose: applies the same protection in the inbound direction, for sales orders arriving from the store.
Example: with the limit at 500 and the window at 60 seconds, at most 500 calls per minute are made to iPaaS.com.
Recommended values: Initial Setup 5; Ongoing Operations 500; High Volume 500.
API Throttle Seconds (To iPaaS)
Description: the length of the throttle window, in seconds, for calls to iPaaS.com.
Purpose: sets the period the inbound throttle limit is measured over.
Example: at 60, the inbound limit is counted per minute.
Recommended values: 60 for Initial Setup, Ongoing Operations and High Volume.
Concurrent Connections
Description: how many connections the subscription opens at the same time.
Purpose: bounds how much work runs in parallel so simultaneous transfers do not contend with one another.
Example: at 10, up to ten transfers are in flight at once.
Recommended values: leave at the delivered value for Initial Setup and Ongoing Operations. For High Volume, change it only on advice from iPaaS.com Support at support@ipaas.com or your MiSP. Before raising it, read the concurrency guidance in the iPaaS.com to Zoho Commerce Inventory Mapping Documentation article — inventory adjustments that run at the same time for the same product can compound.
Zoho does not publish a call quota for the Zoho Commerce store API, and a store may still refuse calls made too quickly, so there is no target figure to tune towards. Stagger large catalog or inventory runs rather than sending everything at once, and validate throughput in a staging environment before relying on it in production. For field-by-field guidance on these controls, refer to Subscription Configuration – Edit.
Additional Configuration Options
Concurrent Batch Executions
Purpose: a subscription-level batch value delivered pre-populated with the integration settings. It is not a field subscribers need to set during installation.
Default Value: 10.
Range/Format: a whole number. Leave it at the delivered value unless iPaaS.com Support at support@ipaas.com or your MiSP advises otherwise.
Two delivered mapping values must be replaced before your first transfer. The default mappings ship with placeholder values that are correct for a first look at the integration and wrong for a production store. Neither is a review item — both must be replaced.
The payment method list on the sales order flow: the delivered configuration recognises only two entries, a test gateway and the literal placeholder Add new types here. Neither matches a payment method a live storefront produces, so until the list is replaced with the payment methods your store actually uses, no orders are captured at all — every order is stopped rather than partially captured. See the Zoho Commerce to iPaaS.com Sales Order Mapping Documentation article.
The initial stock cost on the product variant flows: the delivered value is a placeholder unit cost. Zoho Commerce requires a stock cost on every subsequent product update and rejects a cost that is zero or negative, so the mapping must stay in place and must carry a usable cost — replace the placeholder with your real unit cost rather than removing the mapping, or later product updates are rejected. See the iPaaS.com to Zoho Commerce Product Mapping Documentation article.
Enable the data flows you intend to use. Outbound transfers to Zoho Commerce — categories, products, product variants and inventory — are enabled per collection under Outbound Data Flows in the subscription configuration. Inbound sales orders are enabled by activating the Zoho Commerce sales order subscription under Inbound Data Flows. Sales orders are the only records Zoho Commerce sends to iPaaS.com at the time this documentation was written.
Post-Installation Verification
Connection Test
The subscription's connection check does not verify your credentials. At the time this documentation was written, it reports success without contacting Zoho Commerce, so a green result does not prove that the Client ID, Client Secret, Organization ID or API URL are correct. Do not treat it as evidence the installation worked.
Verify the connection this way instead.
Refresh the Subscription Settings page and confirm the ACCESSTOKEN and REFRESHTOKEN values are populated. This confirms the authorization round trip completed and iPaaS.com holds usable tokens.
Confirm ORGANIZATION_ID and API URL are populated and applied.
Complete the Data Sync Test below. A successful record transfer is the only reliable confirmation that the credentials, the organization and the store address are all correct together.
Data Sync Test
Test an outbound transfer. In iPaaS.com, open Manual Sync, select the Zoho Commerce product category flow, and enter the record identifier of a single Product Category. Run the sync.
Open the storefront catalog in Zoho Commerce and confirm the category was created with the name and description supplied by iPaaS.com.
Re-run the same Manual Sync and confirm the existing category is updated rather than duplicated. This confirms the external identifier link was recorded on the first run.
Test an inbound transfer. Place or locate a test order in Zoho Commerce that uses a payment method the sales order flow recognises, then confirm the order arrives in iPaaS.com with its line items, addresses, taxes and payment.
Review Dashboard / Integration Monitoring and confirm each transfer completed, and Dashboard / Integration Monitoring / Error Logs for anything that did not.
Functionality Test
Run one end-to-end business process — for example, transfer a category, then a product that belongs to it, then an inventory level for that product, and confirm each appears correctly in Zoho Commerce.
Confirm the field mappings produce the values you expect on the created records, in particular the generated storefront URL, the price fields and the inventory quantity.
Confirm the automatic triggers fire by changing a record in the source system rather than using Manual Sync, and confirm the change reaches Zoho Commerce.
Review Dashboard / Integration Monitoring / Error Logs once more and confirm the run produced no unexpected errors.
Error Messages
Errors raised during or shortly after installation appear under Dashboard / Integration Monitoring / Error Logs.
Authorization completes but no tokens appear
Error Message: no error is shown. The ACCESSTOKEN and REFRESHTOKEN fields stay empty after the subscription page is refreshed.
Description: the authorization code never reached iPaaS.com, or the exchange for a token was rejected. The usual cause is a redirect URI on the Zoho client that does not match the iPaaS.com address exactly, or a Client ID or Client Secret that was mistyped or belongs to a different Zoho client.
Resolution: open the client in the Zoho API Console, confirm the Authorized Redirect URI is exactly
https://portal.ipaas.com/customer/subscription-mgmt/subscriptions/authorization/app, re-copy the Client ID and Client Secret into the subscription, click APPLY, and run the authorization again.
The store rejects requests as unauthorized
Error Message: the store's own rejection, reported in the error log as an unauthorized or invalid client response.
Description: the stored token is no longer valid for the Zoho client — most often because the Client Secret was regenerated in the Zoho API Console, the Zoho user's authorization was revoked, or the store is on a Zoho data center the integration cannot authenticate against.
Resolution: confirm the Zoho organization is on the United States data center. Update CLIENT_SECRET in the subscription if it was regenerated, click APPLY, and run the authorization again so fresh tokens are stored.
The connected user cannot access store data
Error Message: the store's own rejection, reported in the error log as a permission or access failure.
Description: the Zoho user who authorized the connection does not hold an administrator role in Zoho Commerce, or declined one or more of the permissions on the authorization screen.
Resolution: grant the Zoho user an administrator role in Zoho Commerce, then run the authorization again and accept all requested permissions.
Transfers report success but nothing appears in the store
Error Message: none, or a rejection from the store naming an unknown or missing organization.
Description: ORGANIZATION_ID is empty. The integration sends the organization on every request, and an empty value leaves the store unable to resolve which organization the request applies to.
Resolution: enter the Organization ID on the Subscription Settings page, click APPLY, and re-run the transfer.
Rate limit errors during a large run
Error Message: the store's own rate-limit rejection, reported in the error log.
Description: the subscription is calling Zoho Commerce faster than the store will accept.
Resolution: reduce API Throttle Limit or increase API Throttle Seconds on the Subscription Settings page, then re-run the affected transfers. Stagger large catalog and inventory loads rather than sending everything at once.
A nested category is rejected before its parent exists
Error Message: Parent category must be uploaded first.
Description: a child category was transferred before the parent category it belongs under had been created in Zoho Commerce.
Resolution: none is usually needed — transfer the parent category and the child succeeds on retry without any mapping change. See the iPaaS.com to Zoho Commerce Category Mapping Documentation article.
Support and Troubleshooting
Click the Help button on any iPaaS.com page to contact Support or to search the documentation.
Support Portal: https://support.ipaas.com/en/
Contact Information: https://ipaas.com/contact-us/
Contact iPaaS.com Support: support@ipaas.com
Zoho Commerce API documentation: https://www.zoho.com/commerce/api/apis-list.html (retrieved 22 July 2026)











