- Created by Bhooshan Mogal, last modified on Nov 06, 2019
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 2 Next »
Introduction
Zuora is a subscription billing and finance solution. It is designed to automate recurring billing, collections, quoting, revenue recognition, and subscription metrics.
User Storie(s)
- As a pipeline developer, I would like to pull data from an object in Zuora in a streaming pipeline, so that I can transform, enrich and synthesize it in a data pipeline.
- As a pipeline developer, I would like to post data to an object in Zuora in a batch or streaming pipeline, so that I can update Zuora with my enriched data.
- As a pipeline developer, I would like to pull data from an object in Zuora in a batch pipeline, so that I can transform, enrich and synthesize it in a data pipeline.
- As a pipeline developer, for both batch and streaming sources, I would like the schema to be auto-populated based on the selected objects.
- As a pipeline developer, for all interactions with Zuora, I would like Zuora API limits to be handled by the framework, so that I do not have to worry about them. (https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits)
Plugin Type
- Batch Source
- Batch Sink
- Real-time Source
- Real-time Sink
- Action
- Post-Run Action
- Aggregate
- Join
- Spark Model
- Spark Compute
Configurables
Batch source - single object
Should automatically populate schema for the selected object
User Facing Name | Type | Description | Optional? | Default | Constraints |
---|---|---|---|---|---|
Authentication Type | radio button | The Authentication type to use, either OAuth2 or Password or Authorization Cookie. Defaults to OAuth2. | No | OAuth2 | |
Access Key ID | String | The Zuora ID to use to make request. Only required when authentication type is password. | Yes | ||
Secret Key | password | The Zuora password. Only required when authentication type is password. | Yes | ||
Client Id | String | The Client ID of the OAuth2 client. Only required when Authentication Type is OAuth2 | Yes | ||
Client Secret | password | The Client Secret that was displayed when the OAuth2 client was created. Only required when Authentication Type is OAuth2 | Yes | ||
Authorization Cookie | password | The authorization cookie to use for session authentication. Only required when authentication type is Authorization Cookie. | Yes | ||
Object to pull | select | The Zuora object to pull from the list at https://www.zuora.com/developer/api-reference/#section/Zuora-Object-Model | No | Account |
Batch source - multi object
Should generate records for every object, with a field in every record that identifies the object.
User Facing Name | Type | Description | Optional? | Default | Constraints |
---|---|---|---|---|---|
Authentication Type | radio button | The Authentication type to use, either OAuth2 or Password or Authorization Cookie. Defaults to OAuth2. | No | OAuth2 | |
Access Key ID | String | The Zuora ID to use to make request. Only required when authentication type is password. | Yes | ||
Secret Key | password | The Zuora password. Only required when authentication type is password. | Yes | ||
Client Id | String | The Client ID of the OAuth2 client. Only required when Authentication Type is OAuth2 | Yes | ||
Client Secret | password | The Client Secret that was displayed when the OAuth2 client was created. Only required when Authentication Type is OAuth2 | Yes | ||
Authorization Cookie | password | The authorization cookie to use for session authentication. Only required when authentication type is Authorization Cookie. | Yes | ||
Object(s) to pull | select | The Zuora objects to pull from the list at https://www.zuora.com/developer/api-reference/#section/Zuora-Object-Model | No | Account |
Streaming source
Should automatically populate schema for the selected object
User Facing Name | Type | Description | Optional? | Default | Constraints |
---|---|---|---|---|---|
Authentication Type | radio button | The Authentication type to use, either OAuth2 or Password or Authorization Cookie. Defaults to OAuth2. | No | OAuth2 | |
Access Key ID | String | The Zuora ID to use to make request. Only required when authentication type is password. | Yes | ||
Secret Key | password | The Zuora password. Only required when authentication type is password. | Yes | ||
Client Id | String | The Client ID of the OAuth2 client. Only required when Authentication Type is OAuth2 | Yes | ||
Client Secret | password | The Client Secret that was displayed when the OAuth2 client was created. Only required when Authentication Type is OAuth2 | Yes | ||
Authorization Cookie | password | The authorization cookie to use for session authentication. Only required when authentication type is Authorization Cookie. | Yes | ||
Object to pull | select | The Zuora object to pull from the list at https://www.zuora.com/developer/api-reference/#section/Zuora-Object-Model | No | Account |
Batch sink
Writes data to the selected object in Zuora
User Facing Name | Type | Description | Optional? | Default | Constraints |
---|---|---|---|---|---|
Authentication Type | radio button | The Authentication type to use, either OAuth2 or Password or Authorization Cookie. Defaults to OAuth2. | No | OAuth2 | |
Access Key ID | String | The Zuora ID to use to make request. Only required when authentication type is password. | Yes | ||
Secret Key | password | The Zuora password. Only required when authentication type is password. | Yes | ||
Client Id | String | The Client ID of the OAuth2 client. Only required when Authentication Type is OAuth2 | Yes | ||
Client Secret | password | The Client Secret that was displayed when the OAuth2 client was created. Only required when Authentication Type is OAuth2 | Yes | ||
Authorization Cookie | password | The authorization cookie to use for session authentication. Only required when authentication type is Authorization Cookie. | Yes | ||
Object to write to | select | The Zuora objects to pull from the list at https://www.zuora.com/developer/api-reference/#section/Zuora-Object-Model | No | Account |
Design / Implementation Tips
- Tip #1
- Tip #2
Design
Approach(s)
Properties
Security
Limitation(s)
Future Work
- Some future work – HYDRATOR-99999
- Another future work – HYDRATOR-99999
Test Case(s)
- Test case #1
- Test case #2
Sample Pipeline
Please attach one or more sample pipeline(s) and associated data.
Pipeline #1
Pipeline #2
Table of Contents
Checklist
- User stories documented
- User stories reviewed
- Design documented
- Design reviewed
- Feature merged
- Examples and guides
- Integration tests
- Documentation for feature
- Short video demonstrating the feature
- No labels