Knowledge Center

Knowledge Center > API > SOAP API > Getting Started with the SOAP API > Zuora WSDL

Zuora WSDL

The WSDL, or Web Services Definition Language document, provides a definition of our SOAP API web service to your application.

WSDL Versions

The Zuora SOAP API and its corresponding WSDL are assigned a new version number when objects, calls, fields, or behaviors are changed. This happens with many of our monthly releases, resulting in a major version number change (e.g., "46" becomes "47"). It also sometimes happens with a maintenance release between monthly releases, resulting in a minor version number change (e.g., "47" becomes "47.1"). 

You can always find the current WSDL version and date at our Version Information page. When we update the WSDL, the new version number is also noted in the Release Notes for that month.

In our SOAP API documentation and other places, if a specific field or feature requires a specific minimum WSDL version number, we note that in the description. To use a new feature defined in a new WSDL, you'll need to download and use that WSDL or a later version. We strive for backward compatibility, so the new WSDL should not break your existing applications. However, if you don't need the new features, you can usually continue using an older version of the WSDL.

WSDLs are Customized

There's another important reason that the WSDL you download from production may not match the ones you download from the sandbox. When you download a Zuora WSDL, you receive a file that's tailored to your tenant and user permissions. Many customers have different features enabled in the API Sandbox environment than they do in Production. And some users do not have permissions to see objects that other users can see.

If your WSDL is missing an object that you expected to see, this may be the explanation.

Many Environments, Different Versions

So when downloading a WSDL, bear in mind that:

  • A WSDL from the API Sandbox environment is often one step ahead of the Production WSDL
  • Your sandbox tenant may have different features and permissions than your production tenant
  • Users with different permissions may get different WSDLs

The Zuora monthly update is typically released into the API Sandbox environment a week before it is released into the Production environment. The production and sandbox WSDL version are often slightly different.

Get in touch with our sales team through zuora.com for more information about accessing the Zuora Sandbox Environment.

Check the WSDL Version

File name

The versions are identified in the WSDL filename. For example, the name of the WSDL file for version 39.0 is zuora.39.0.wsdl.

XML content

The XML in the WSDL file also indicates the version as part of the service endpoint, so if the WSDL file is renamed, you can still identify the version by searching for "ZuoraService" and checking the address, as shown here.

<service name="ZuoraService">
  <port binding="zns:SoapBinding" name="Soap">
    <soap:address location="https://apisandbox.zuora.com/apps/services/a/47.0">
  </soap:address></port>
</service>

Download the Latest Version of the WSDL

In WSDL 68 and earlier, there are 56 date fields in the Zuora SOAP API that Zuora treats as dateTime fields. From WSDL 69 and later, Zuora treats these fields as date fields and they will no longer accept dateTime values. Before downloading and using WSDL 69 or later, check to see if your SOAP integration passes or receives dateTime values to or from any of these fields.

See Date Fields Changes in the SOAP API for more information.

As of Zuora WSDL v61.0, downloading the WSDL supports custom fields. Re-adding custom fields after downloading the WSDL is no longer required. 

To download the latest Zuora WSDL:

  1. Log into your Zuora environment.
  2. Navigate to Settings > Billing > Download the Zuora WSDL.
  3. Click Download the Zuora WSDL.

Access an older Version of the Zuora WDSL

To access an older version of the WSDL, use one of the following addresses, replacing XX.X, such as 63.0, with the version you want to download:

Zuora Environment WSDL RL 
Production https://www.zuora.com/apps/servlet/GenerateWsdl?version=XX.X
API Sandbox https://apisandbox.zuora.com/apps/servlet/GenerateWsdl?version=XX.X
Services

https://servicesNNN.zuora.com/apps/servlet/GenerateWsdl?version=XX.X

NNN denotes the services environment number.

Performance Test https://pt1.zuora.com/apps/servlet/GenerateWsdl?version=XX.X

Omitting the version parameter will retrieve the latest WSDL version.

WSDL Data Types

The WSDL has certain data types that the Zuora API uses. The following table describes these WSDL data types. Information on allowable lengths and values is documented with the specific calls.

Data Type Description
boolean A boolean data type can only have one of two values: true or false. These values can also be represented as true, yes, or 1 (one), or false, no, or 0 (zero).
date A date data type represents a specific moment in time as a date only. See dateTime for more information about calculating the date value.
dateTime A dateTime data type represents a specific moment in time as both a date and a time. It contains a year, a month, and a date, and also hours, minutes, seconds, and milliseconds. The date range is 10,000 years, from January 1 of the year 1 to December 31, 9999.

The value is in Coordinated Universal Time (UTC). Unlike local time, any given date and time in UTC is the same everywhere on earth simultaneously. Therefore, you may wish or need to convert this value from UTC to local time.

Refer to the documentation for your development tool to see how it handles dateTime data types. And be aware of the differences in how dates are specified in different languages. For example, the month and day portion of a date can be interpreted as either dd/mm or as mm/dd.

This data type can be very handy to specify in queries, as you can filter on the dateTime fields only.

Some of the date fields in the API are automatically generated by the system, such as CreatedDate and UpdatedDate.

double A double data type is a double-precision 64-bit IEEE 754 floating point value. It is used for data that might contain decimal values. Double values might be limited as follows:
  • precision: The sum of the number digits on both sides of the decimal point.
  • scale: The maximum allowed number of digits to the right of the decimal point. The maximum number of digits to the left of the decimal place is calculated by subtracting scale from precision.

With double values, if the number is large enough (for positive values) or small enough (for negative values), the values can be stored in scientific notation. For more information, see the W3C XML Schema Part 2: Datatypes Second Edition specification.

int An int (integer) data type is a whole number without a decimal point or any value that would follow a decimal point. For example, 1 is an integer. However, 1.0 and 1. are not integers. An integer can be a negative number.
long The long data type is a 64-bit signed two's complement integer. It has a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807. This data type is generally used when the int data type is not large enough.
string The string data type can contain characters, line feeds, carriage returns, and tab characters.

Access to Sample Code

Our Sample Source Code page provides links and tips for using the SOAP API code samples posted on our GitHub site.

Last modified
10:20, 30 Jun 2017

Tags

Classifications

(not set)