Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

feat(integrations): add support for Zuora #3388

Merged
merged 4 commits into from
Jan 29, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions docs-v2/integrations/all/zuora.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: Zuora
sidebarTitle: Zuora
provider: zuora
---

import Overview from "/snippets/overview.mdx";
import PreBuiltTooling from "/snippets/generated/zuora/PreBuiltTooling.mdx";

import PreBuiltUseCases from "/snippets/generated/zuora/PreBuiltUseCases.mdx"

<Overview />
<PreBuiltTooling />
<PreBuiltUseCases />

## Access requirements
| Pre-Requisites | Status | Comment|
| - | - | - |
| Paid dev account | ❓ | |
| Paid test account | ❓ | |
| Partnership | ❓ | |
| App review | ❓ | |
| Security audit | ❓ | |


## Setup guide

_No setup guide yet._

<Tip>Need help getting started? Get help in the [community](https://nango.dev/slack).</Tip>

<Note>Contribute improvements to the setup guide by [editing this page](https://github.com/nangohq/nango/tree/master/docs-v2/integrations/all/zuora.mdx)</Note>


## Useful links

- [OAuth related docs](https://developer.zuora.com/v1-api-reference/api/operation/createToken/)
- [API rate limiting](https://developer.zuora.com/docs/guides/rate-limits/)
- [Zuora REST API docs](https://developer.zuora.com/v1-api-reference/api/overview/)

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

## API gotchas

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

## Going further

<Card title="Connect to Zuora" icon="link" href="/integrations/all/zuora/connect" horizontal>
Guide to connect to Zuora using Connect UI
</Card>

Binary file added docs-v2/integrations/all/zuora/base_url.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 50 additions & 0 deletions docs-v2/integrations/all/zuora/connect.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Zuora - How do I link my account?
sidebarTitle: Zuora
---


# Overview

To authenticate with Zuora, you need:
1. **SubDomain** - The subdomain for your Zuora Base URL associated with your specific Zuora Data Center.
2. **Client ID** - A unique identifier for your client.
3. **Client Secret** - A confidential key used to authenticate the identity of the application (client).

This guide will walk you through obtaining these credentials within Zuora.

### Prerequisites:

- You must have an account with Zuora.

### Instructions:

#### Step 1: Finding your Zuora SubDomain
- Each environment uses a different `base URL`. Please visit [Base URL](https://developer.zuora.com/v1-api-reference/introduction/) to find the appropriate Zuora **SubDomain** for your environment. The **SubDomain** is the portion of the Base URL between `https://` and `zuora.com`.
- In our example below, for **US API Sandbox**, **Cloud 1** the **Base URL** is `https://rest.sandbox.na.zuora.com` and thus we will have `rest.sandbox.na` as our **SubDomain**.
<img src="/integrations/all/zuora/base_url.png" />

#### Step 2: Generating your Client Credentials
1. Login to your Zuora account.
2. Go to **Settings > Administration > Manage User Roles** and click **Add New Role**.
3. Name the role (e.g., **API Write Role**) and enable **API Write Access**, then click **Save**.
4. Navigate to **Settings > Administration > Manage Users** and click **Add Single User**.
5. Enter the required details: first name, last name, work email, and a descriptive login name (e.g., `APIWriteAccess@yourcompany.com`).
6. Assign the newly created role (e.g., **API Write Role**) to the **Zuora Platform Role** field.
7. Save the user and set the password using the email sent to the provided work email.
8. After setting the password, go to **Manage Users** and select the created user.
9. Scroll to the **New OAuth Client** section and specify a name and description for the client.
10. Click **Create** to generate the Client ID and Secret. Save these credentials securely, as the secret is only shown once.

#### Step 3: Enter credentials in the Connect UI

Once you have your **SubDomain**, **Client ID** and **Client Secret**:
1. Open the form where you need to authenticate with Zuora.
2. Enter your **SubDomain**, **Client ID** and **Client Secret** in their designated fields.
3. Submit the form, and you should be successfully authenticated.


<img src="/integrations/all/zuora/form.png" style={{maxWidth: "450px" }}/>

You are now connected to Zuora.

Binary file added docs-v2/integrations/all/zuora/form.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion docs-v2/mint.json
Original file line number Diff line number Diff line change
Expand Up @@ -524,7 +524,8 @@
"integrations/all/zoho-mail",
"integrations/all/zoho-people",
"integrations/all/zoom",
"integrations/all/zoominfo"
"integrations/all/zoominfo",
"integrations/all/zuora"
]
},
{
Expand Down
41 changes: 41 additions & 0 deletions docs-v2/snippets/generated/zuora/PreBuiltTooling.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
## Pre-built tooling
<AccordionGroup>
<Accordion title="✅ Authorization">
| Tools | Status |
| - | - |
| Pre-built authorization (OAuth) | ✅ |
| Credentials auto-refresh | ✅ |
| Pre-built authorization UI | ✅ |
| Custom authorization UI | ✅ |
| End-user authorization guide | ✅ |
| Expired credentials detection | ✅ |
</Accordion>
<Accordion title="✅ Read & write data">
| Tools | Status |
| - | - |
| Pre-built integrations | 🚫 (time to contribute: &lt;48h) |
| API unification | ✅ |
| 2-way sync | ✅ |
| Webhooks from Nango on data modifications | ✅ |
| Real-time webhooks from 3rd-party API | 🚫 (time to contribute: &lt;48h) |
| Proxy requests | ✅ |
</Accordion>
<Accordion title="✅ Observability & data quality">
| Tools | Status |
| - | - |
| HTTP request logging | ✅ |
| End-to-type type safety | ✅ |
| Data runtime validation | ✅ |
| OpenTelemetry export | ✅ |
| Slack alerts on errors | ✅ |
| Integration status API | ✅ |
</Accordion>
<Accordion title="✅ Customization">
| Tools | Status |
| - | - |
| Create or customize use-cases | ✅ |
| Pre-configured pagination | 🚫 (time to contribute: &lt;48h) |
| Pre-configured rate-limit handling | 🚫 (time to contribute: &lt;48h) |
| Per-customer configurations | ✅ |
</Accordion>
</AccordionGroup>
5 changes: 5 additions & 0 deletions docs-v2/snippets/generated/zuora/PreBuiltUseCases.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Pre-built integrations

_No pre-built integration yet (time to contribute: &lt;48h)_

<Tip>Not seeing the integration you need? [Build your own](https://docs.nango.dev/guides/custom-integrations/overview) independently.</Tip>
23 changes: 23 additions & 0 deletions packages/providers/providers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8095,3 +8095,26 @@ zoominfo:
body_format: json
docs: https://docs.nango.dev/integrations/all/zoominfo
docs_connect: https://docs.nango.dev/integrations/all/zoominfo/connect

zuora:
display_name: Zuora
categories:
- erp
auth_mode: OAUTH2_CC
token_url: https://${connectionConfig.subDomain}/zuora.com/oauth/token
token_params:
grant_type: client_credentials
proxy:
base_url: https://${connectionConfig.subDomain}/zuora.com
retry:
after: 'ratelimit-reset'
docs: https://docs.nango.dev/integrations/all/zuora
docs_connect: https://docs.nango.dev/integrations/all/zuora/connect
connection_config:
subDomain:
type: string
title: SubDomain
description: The subdomain to your Zuora Base URL
example: rest.test
doc_section: '#step-1-finding-your-zuora-subdomain'
order: 1
1 change: 1 addition & 0 deletions packages/webapp/public/images/template-logos/zuora.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading