Zoho Inventory

Prev Next

Zoho Inventory API


API Documentation Link


Configuration Parameters

Any instance where an entry in the below configuration has a leading $ represents a parameter that needs to be replaced with a static value.

Parameters in this document:

  • $base_url - The Base URL will follow the below format:
    Data Center Base URL
    United States https://www.zohoapis.com
    Europe https://www.zohoapis.eu
    India https://www.zohoapis.in
    Australia https://www.zohoapis.com.au
    Canada https://www.zohoapis.ca
  • $client_id and $client_secret - The Client ID and Client Secret will be used to authenticate calls to the Zoho Inventory API. To obtain these parameters, you will need to register an application with Zoho's Developer Console. When registering, be sure to include https://platform.panoply.io/sources/callback.html as an Authorized Redirect URI. After completing the registration of your client, you will receive a Client ID and Client Secret. For a complete walkthrough of the Zoho Inventory OAuth2.0 process, see Zoho documentation here.
  • $organization_id - The Organization ID is a unique identifier for your Zoho Inventory organization. This value can be found by logging into your Zoho Inventory account and selecting the dropdown on your Account Name in the upper-righthand corner.
  • $resource_name - The Resource Name represents the name of the resource to be appended and used as part of the Destination Table name. The value that should be used here can be found in the API Resources table below.
  • $endpoint - The Endpoint represents the data that you would like to ingest into Panoply from the Zoho Inventory API. The value of this parameter can be found in the API Resources section below.
  • $scope - The Scope represents the permission-level that is granted to a set of credentials, thus granting them access to different API endpoints. The value that should be used here can be found in the API Resources table below. If applying multiple scopes to a single Authentication process, each value will need to be comma-separated.
  • $data_key - The Data Key represents the location of the data in the API response from Zoho Inventory. The value that should be used here can be found in the API Resources table below.
  • $primary_key - Primary Keys are used to ensure the uniqueness of the rows in a table. The Primary Key is comprised of one or more columns that can be used to identify the row in the data warehouse. The process guarantees that no two rows have the same value in their primary key. The value that should be used here can be found in the API Resources table below.
  • $auth_base_url - The Base URL will follow the below format:
    Data Center Base URL
    United States https://accounts.zoho.com
    Europe https://accounts.zoho.eu
    India https://accounts.zoho.in
    Australia https://accounts.zoho.com.au
    Canada https://accounts.zohocloud.ca

API Resources

For a list of API Resources available for Zoho Inventory, please refer to the list of endpoints found below:

Resource $resource_name $endpoint $scope $data_key $primary_key
Bills bills bills ZohoInventory.bills.READ bills {bill_id}
Composite Items composite_items compositeitems ZohoInventory.compositeitems.READ composite_items {composite_item_id}
Contacts contacts contacts ZohoInventory.contacts.READ contacts {contact_id}
Credit Notes credit_notes creditnotes ZohoInventory.creditnotes.READ creditnotes {creditnote_id}
Currency currencies settings/currencies ZohoInventory.settings.READ currencies {currency_id}
Customer Payments customer_payments customerpayments ZohoInventory.customerpayments.READ customerpayments {payment_id}
Invoices invoices invoices ZohoInventory.invoices.READ invoices {invoice_id}
Items items items ZohoInventory.items.READ items {item_id}
Item Adjustments inventory_adjustments inventoryadjustments ZohoInventory.inventoryadjustments.READ inventory_adjustments {inventory_adjustment_id}
Item Groups item_groups itemgroups ZohoInventory.items.READ itemgroups {group_id}
Packages packages packages ZohoInventory.packages.READ packages {package_id}
Pricebooks pricebooks pricebooks ZohoInventory.settings.READ pricebooks {pricebook_id}
Purchase Orders purchase_orders purchaseorders ZohoInventory.purchaseorders.READ purchaseorders {purchaseorder_id}
Retainer Invoices retainer_invoices retainerinvoices ZohoInventory.invoices.READ retainerinvoices {retainerinvoice_id}
Sales Orders sales_orders salesorders ZohoInventory.salesorders.READ salesorders {salesorder_id}
Sales Returns sales_returns salesreturns ZohoInventory.salesreturns.READ salesreturns {salesreturn_id}
Taxes taxes settings/taxes ZohoInventory.settings.READ taxes {tax_id}
Transfer Orders transfer_orders transferorders ZohoInventory.transferorders.READ transfer_orders {transfer_order_id}
Users users users ZohoInventory.settings.READ users {user_id}
Vendor Credits vendor_credits vendorcredits ZohoInventory.debitnotes.READ vendorcredits {vendor_credit_id}
Warehouses warehouses settings/warehouses ZohoInventory.warehouses.READ warehouses {warehouse_id}

Connector configuration

  • Base url: $base_url/inventory/v1/$endpoint
  • Method: GET
  • URL Parameters: organization_id={organization_id}

Destination Table naming convention is ultimately up to you as the data owner. One common structure used for this API is zoho_inventory_$resource_name.

Authorization

  • Authorization: OAuth2
  • Authorization URL: $auth_base_url/oauth/v2/auth?access_type=offline
  • Access Token URL: $auth_base_url/oauth/v2/token
  • Client Id: {client_id}
  • Client Secret: {client_secret}
  • Scope: $scope
  • Access Token header key: Zoho-oauthtoken
  • Token prefix: Bearer
  • Add to: Headers
    • Refresh access token
      • Enable: Checkbox.png
      • Refresh Token URL: https://accounts.zoho.com/oauth/v2/token
      • Access token response key: access_token
      • Error status codes: 401; 403

Variables

  • Variables
Variable name Variable value
organization_id $organization_id
  • Secured Variables:
Variable name Variable value
client_id $client_id
client_secret $client_secret

Pagination

  • Enable: Checkbox.png
  • Get next page value: Static (integer to be incremented)
  • Start page: 1
  • Page step: 1
  • Use next page value: As a URL parameter value
  • URL/body key: page
  • Stop iterating when: Stop key-value pair in response
  • Key in response: page_context.has_more_page
  • Value in response: false

Advanced Settings

  • Disable configuration validation: Checkbox.png
  • Data key: $data_key
  • Primary Key: $primary_key