> ## Documentation Index
> Fetch the complete documentation index at: https://nango.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoho Books

> Access the Zoho Books API in 2 minutes 💨

<Tabs>
  <Tab title="🚀 Quickstart">
    <Steps>
      <Step title="Create an integration">
        In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> *Configure New Integration* -> *Zoho*.
      </Step>

      <Step title="Authorize Zoho Books">
        Go to [Connections](https://app.nango.dev/dev/connections) -> *Add Test Connection* -> *Authorize*, then log in to Zoho Books. Later, you'll let your users do the same directly from your app.
      </Step>

      <Step title="Call the Zoho Books API">
        Let's make your first request to the Zoho Books API (fetch a list of contacts). Replace the placeholders below with your [secret key](https://app.nango.dev/dev/environment-settings), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):

        <Tabs>
          <Tab title="cURL">
            ```bash theme={null}
            curl "https://api.nango.dev/proxy/books/v3/contacts" \
              -H "Authorization: Bearer <NANGO-SECRET-KEY>" \
              -H "Provider-Config-Key: <INTEGRATION-ID>" \
              -H "Connection-Id: <CONNECTION-ID>"
            ```
          </Tab>

          <Tab title="Node">
            Install Nango's backend SDK with `npm i @nangohq/node`. Then run:

            ```typescript theme={null}
            import { Nango } from '@nangohq/node';

            const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });

            const res = await nango.get({
                endpoint: '/books/v3/contacts',
                providerConfigKey: '<INTEGRATION-ID>',
                connectionId: '<CONNECTION-ID>'
            });

            console.log(JSON.stringify(res.data.contacts, null, 2));
            ```
          </Tab>
        </Tabs>

        Or fetch credentials dynamically via the [Node SDK](/reference/sdks/node#get-a-connection-with-credentials) or [API](/reference/api/connection/get).
      </Step>
    </Steps>

    ✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.

    <Tip>
      Next step: [Embed the auth flow](/guides/primitives/auth) in your app to let your users connect their Zoho Books accounts.
    </Tip>
  </Tab>

  <Tab title="🧑‍💻 OAuth app setup">
    <Steps>
      <Step title="Create a Zoho account">
        If you don't already have one, go to [Zoho's signup page](https://www.zoho.com/signup.html) and create one.
      </Step>

      <Step title="Access the Zoho API Console">
        1. Go to the [Zoho API Console](https://api-console.zoho.com/).
        2. Sign in with your Zoho account if prompted.
      </Step>

      <Step title="Create a new client">
        1. In the API Console, click on the **+ ADD CLIENT** button and select **Server-based Applications** as your client type.
        2. Fill in all the required information. For **Authorized Redirect URIs** enter `https://api.nango.dev/oauth/callback`
        3. Click **Create** to register your client. You will then receive a **Client ID** and **Client Secret**, which are required to configure your integration in Nango.
      </Step>

      <Step title="Configure Multi-DC">
        1. On the **Settings** tab, check the option to use the same OAuth credentials for all data centers, this enables you to handle users from different regions
      </Step>

      <Step title="Next">
        Follow the [*Quickstart*](/getting-started/quickstart).
      </Step>
    </Steps>

    ## Common Scopes

    | Scope                            | Description                                                      |
    | -------------------------------- | ---------------------------------------------------------------- |
    | `ZohoBooks.contacts.ALL`         | Full access to the Contacts module (customers and vendors).      |
    | `ZohoBooks.invoices.ALL`         | Full access to the Invoices module.                              |
    | `ZohoBooks.customerpayments.ALL` | Full access to the Payments Received (customer payments) module. |
    | `ZohoBooks.creditnotes.ALL`      | Full access to the Credit Notes module.                          |
    | `ZohoBooks.expenses.ALL`         | Full access to the Expenses module.                              |
    | `ZohoBooks.salesorders.ALL`      | Full access to the Sales Orders module.                          |
    | `ZohoBooks.purchaseorders.ALL`   | Full access to the Purchase Orders module.                       |
    | `ZohoBooks.bills.ALL`            | Full access to the Bills module.                                 |
  </Tab>

  <Tab title="🔗 Useful links">
    | Topic             | Links                                                                                                  |
    | ----------------- | ------------------------------------------------------------------------------------------------------ |
    | Authorization     | [Guide to connect to Zoho Books using Connect UI](/integrations/all/zoho-books/connect)                |
    | General           | [Zoho API Console](https://api-console.zoho.com/)                                                      |
    |                   | [Zoho Books Website](https://www.zoho.com/books/)                                                      |
    | Developer / OAuth | [OAuth 2.0 Overview](https://www.zoho.com/accounts/protocol/oauth.html)                                |
    |                   | [Get Authorization Code](https://www.zoho.com/accounts/protocol/oauth/web-apps/authorization.html)     |
    |                   | [Get Access Token](https://www.zoho.com/accounts/protocol/oauth/web-apps/access-token.html)            |
    |                   | [Refresh Access Token](https://www.zoho.com/accounts/protocol/oauth/web-apps/access-token-expiry.html) |
    |                   | [Multi DC Support](https://www.zoho.com/accounts/protocol/oauth/multi-dc.html)                         |
    |                   | [OAuth Scopes](https://www.zoho.com/books/api/v3/oauth/#scopes)                                        |
    |                   | [API Limits](https://www.zoho.com/calendar/help/api/api-limits.html)                                   |
    | API               | [Zoho Books API docs](https://www.zoho.com/books/api/v3/introduction/)                                 |

    <Note>Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/zoho-books.mdx)</Note>
  </Tab>

  <Tab title="🚨 API gotchas">
    * Zoho uses datacenter-specific URLs for authentication. Make sure to use the correct datacenter domain extension (`com`, `eu`, `in`, `com.cn`, `com.au`) based on where your user's account is registered.
    * For production applications, consider implementing [multi-datacenter support](https://www.zoho.com/accounts/protocol/oauth/multi-dc.html) to handle users from different regions.
    * For specific scopes, refer to the API documentation pages to find the exact scopes needed per API and per method.

    <Note>Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/zoho-books.mdx)</Note>
  </Tab>
</Tabs>

<Info>
  Questions? Join us in the [Slack community](https://nango.dev/slack).
</Info>
