Zuora OpenAPI

In this article

Overview

You can use this Snap to call the Zuora REST API endpoint associated with your application. You can perform operations, such as GET or POST on the endpoint based on its configuration to accomplish the following tasks:

  • Provide the input schema suggestions for a selected OpenAPI path and operation.

  • Prepare and execute HTTP requests and process HTTP responses.

Prerequisites

  • A valid Zuora OAuth2 account or Zuora Dynamic OAuth2 Account with relevant permissions.

  • A valid OpenAPI specification (optional).

Support for Ultra Pipelines

Works in Ultra Pipelines. 

Limitations

None.

Known Issues

Some required fields in the input schema suggest may show as not required due to the limitations in Zuora OpenAPI specification.

Snap Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min: 0

  • Max: 2

  • Mapper

  • JSON Parser

A document containing all the information required by the Snap. You can add the second input view to supply the Zuora OpenAPI specification.

Output

Document

  • Min: 0

  • Max: 2

  • JSON Formatter

  • Mapper

  • JSON Splitter

  • The HTTP response for the specified operation in the first output view. 

    • Parts and referred objects of the specification related to the selected path and operation in the second output view.

Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter while running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:

  • Stop Pipeline Execution: Stops the current pipeline execution when the Snap encounters an error.

  • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the rest of the records.

  • Route Error Data to Error View: Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap Settings

  • Asterisk (*): Indicates a mandatory field.

  • Suggestion icon (): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon (): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon (): Indicates that you can add fields in the fieldset.

  • Remove icon (): Indicates that you can remove fields from the fieldset.

Field Name

Data Type

Description

Field Name

Data Type

Description

Label*

Default Value: Zuora OpenAPI
Example: Create Product

String

Enter a unique name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your Pipeline.

 

OpenAPI specification

Default Value: N/A
Example: https://assets.zuora.com/zuora-documentation/swagger.yaml

sldb:///openapi.json

openapi.json

openapi.yaml

String/Expression

Enter the URL for the Zuora OpenAPI specification (JSON or YAML) file. You can leave this field blank if you want to use a built-in Zuora OpenAPI 3.0 specification file.

The supported file protocols are https:// and sldb:///

The syntax for file path in SLDB:

  • Same project as the Pipeline:

    <filename>.json sldb:///<filename>.yaml
  • Different project:

    sldb://<project_space>/<project>/<filename>.json sldb://Docmentation/ZuoraTest/openapi.json

OpenAPI path*

Default Value: N/A
Example: /v1/object/product

String/Expression/Suggestion

Enter the path defined for the given Zuora OpenAPI specification or select from the suggestions list.

 

Operation*

Default Value: N/A
Example: post

String/Expression/Suggestion

Specify the operation to perform on the selected OpenAPI path or select from the suggestions list.

 

Number of Retries

Default Value: 0
Example: 3

Integer/Expression

Specify the interval in seconds between two reconnection attempts.

 

Retry Interval (seconds)

Default Value: 1
Example: 2

Integer/Expression

Specifies the minimum number of seconds for which the Snap must wait before attempting recovery from a network failure.

 

HTTP Headers

Use this field set to add additional headers to the HTTP request headers defined in the Zuora OpenAPI specification. This field set comprises the following fields:

Headers

String

Specify a name for the HTTP header.

Values

String

Specify a value for the HTTP header.

Query Parameters

Use this field set to to add query parameters in addition to those defined in the Zuora OpenAPI specification. Specify each query parameter in a separate row. Click to add a new row.

Parameters

String

Specify a name for the query parameter.

Values

String

Specify the value for the query parameter.

Snap Execution

Default Value:  Execute only
Example: Validate & Execute

Dropdown list

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

 

Reading Contact ID from an Account

In the following example, we create this Pipeline with Zuora Open API Snap to create an account, link an account to contact, read the details of the contact from the contact data.

First, create an account with a unique ID from the Mapper Snap, link it to a contact, and read the contact data using Zuora Open API Snap.

We configure the Mapper Snap to add data and send it to the Open API Snap.

Settings

Output view

Settings

Output view

 

 

The output from the upstream Snap is used to create a unique account ID using Open API Snap. Following are the Snap settings and the output view:

Settings

Output view

Settings

Output view

 

 

Using Mapper Snap, we send data to create a contact for an account by mapping a unique account ID as highlighted in the Mapping table below. The details of the data created can be seen under Expression and Target Path. The Output view for the Mapper Snap is as follows:

Settings

Output view

Settings

Output view

 

 

Upon validation, a unique contact ID is generated in the output. The Settings and Output view are as follows:

Settings

Output view

Settings

Output view

 

 

We configure the Mapper Snap to pass the unique contact ID to the downstream (OpenAPI) Snap with Get operation by passing $entity.Id to the Open API snap.

 

 

 

 

 

 

 

 

 

 

 

 

Sample Pipelines

The following sample pipelines show three products, TeamCollab Basic, TeamCollab Premium, and TeamCollb Enterprise that are launched for Zuora Tutorials. Visit Zuora Tutorials to understand the exercises and how these Pipelines can perform the exercises.

  • OpenAPI_TeamCollab Basic with Invoice Periods(Monthly,Quarterly,Annual)_2021_08_17.slp

  • Zuora OpenAPI - TeamCollab Premium Tutorial Exercise 7_2021_07_22 (1).slp

  • Zuora OpenAPI_Launch a New Enterprise Product (Team Collab Enterprise Tutorial Exercise8)_2021_08_17.slp

Downloads

Snap Pack History


Related Links