In WSDL 68 and earlier, Zuora treats 56 SOAP API date fields as dateTime fields. From WSDL 69 and later, Zuora treats these fields as date fields. These fields are no longer compatible with dateTime values.
This article describes the date field changes and provides guidelines on how check your SOAP API integrations. After checking and updating your integrations, you are ready to download and use WSDL 69 or later.
Before downloading and using WSDL 69, check your SOAP API integration to see if you are passing or receiving any dateTime values to or from date fields.
The date field changes described in this article also apply to AQuA API versions 69 and later. This is because the API version of AQuA is based on the corresponding version of the Zuora WSDL—for example, API version 69 is based on WSDL version 69.
apiVersionfield of your AQuA queries. Otherwise, AQuA will use the latest version by default, which will result in a different date field format and may cause your existing integration to break.
There is an additional dateTime field issue that was resolved for AQuA in API version 69. See Time Component was Not Present in DateTime Fields in the July 2015 Release Notes for more information.
If you use Zuora for Salesforce, review the affected date fields listed below, and check and update your integration code.
Future releases of the Zuora WSDL will be based on WSDL 69. After you change your date fields, you will be able to have access to new features in the future using the SOAP API.
To use WSDL 69 or later, check your Zuora SOAP API integration for date fields that send or receive dateTime values. The response from a date field will only be a date. The response from a dateTime field will only be a dateTime. If you try to pass a dateTime to a date field when using WSDL 69 or later, you will get an
INVALID_VALUE error message.
To become compliant:
As an example, from WSDL 69 and later, ContractEffectiveDate is a date field and will only accept or return a date value:
In WSDL 68 and earlier, ContractEffectiveDate is a dateTime field and will accept or return a dateTime value:
You need to check the following fields in your SOAP API integration:
Note: This object is deprecated on Production in WSDL version 64.0.
Using WSDL 68 or earlier, you can filter date or dateTime fields with date or dateTime values.
When using WSDL 69 or later, you must use a dateTime value to filter a dateTime field. You can only use a date value to filter a date field.
For example you must use a date value to filter
select AutoRenew from subscription where ContractEffectiveDate = '2015-02-28'
See Zuora Object Query Language for more information.
In WSDL 68 and earlier, the output format of dates and dateTimes in data source exports depends on how data was entered into Zuora. Integrations that use data source exports in WSDL 68 or earlier may need to accommodate both date and dateTime values for the same field.
From WSDL 69 and later, the output from dateTime fields is a dateTime and the output from date fields is a date. For example:
2015-02-13T23:18:00-08:00will be exported as
2015-02-13will be exported as
See Data Exports Introduction for more information.