This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Working with Update in Zuora SOAP



Overview

The following operations allow you to work with "update". Click an operation name to see details on how to use it.

For a sample proxy service that illustrates how to work with "update", see Sample configuration.

OperationDescription

update

Updates one or more zobjects of a specific type.

amend

Changes a subscription, such as upgrading the subscription.

execute

Executes a process to split an invoice into multiple invoices.

Operation details

This section provides details on the operations.

update

The update operation is used to update one or more objects of a specific type in Zuora.

 

update
<zuorasoap.update>
	<zobjects>{$ctx:zobjects}</zobjects>
</zuorasoap.update>
Properties
  • zobjects: One or more records that need to be added. Contains an array of record objects.

Sample request

Following is a sample SOAP request that can be handled by the update operation.

Sample Request for update
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="wso2.connector.zuora">
  <soapenv:Header/>
   <soapenv:Body>
      <urn:apiUrl>https://apisandbox.zuora.com/apps/services/a/74.0</urn:apiUrl>
      <urn:username>zuora@wso2.com</urn:username>
      <urn:password>Zuora#123</urn:password>
      <urn:updateObjects>
      	<urn1:zObjects xsi:type="ns2:Account" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://object.api.zuora.com/" xmlns:urn1="http://api.zuora.com/">
        	<ns2:Id>2c92c0f852b47ecb0152c01879d65627</ns2:Id>
			<ns2:Currency>USD</ns2:Currency>
            <ns2:Name>ACME</ns2:Name>
            <ns2:PaymentTerm>Due Upon Receipt</ns2:PaymentTerm>
            <ns2:ServiceActivationDate>2013-06-15T15:18:58.000-08:00</ns2:ServiceActivationDate>
        </urn1:zObjects>
      </urn:updateObjects>
   </soapenv:Body>
</soapenv:Envelope>
Related Zuora documentation

https://knowledgecenter.zuora.com/DC_Developers/SOAP_API/E_SOAP_API_Calls/update_call

amend

The amend operation can be used to amend an on demand invoice for a specific customer.

amend
<zuorasoap.amend>
	<zobjects>{$ctx:zobjects}</zobjects>
</zuorasoap.amend>
Properties
  • zobjects: An array of one or more objects of type zObject.

Sample request

Following is a sample SOAP request that can be handled by the amend operation.

Sample Request for amend
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="wso2.connector.zuora">
  <soapenv:Header/>
   <soapenv:Body>
      <urn:apiUrl>https://apisandbox.zuora.com/apps/services/a/74.0</urn:apiUrl>
      <urn:username>zuora@wso2.com</urn:username>
      <urn:password>Zuora#123</urn:password>
      <ns1:zObjects xmlns:ns1="http://api.zuora.com/" xmlns:ns2="http://object.api.zuora.com/">
      	<ns1:requests>
        	<ns1:Amendments>
            	<ns2:ContractEffectiveDate>2012-01-01T20:44:54.718+05:30</ns2:ContractEffectiveDate>
                <ns2:CustomerAcceptanceDate>2012-01-01T20:44:54.718+05:30</ns2:CustomerAcceptanceDate>
                <ns2:Description>renewing at customer request</ns2:Description>
                <ns2:EffectiveDate>2012-01-01</ns2:EffectiveDate>
                <ns2:Name>renewal</ns2:Name>
                <ns2:ServiceActivationDate>2012-01-01T20:44:54.718+05:30</ns2:ServiceActivationDate>
                <ns2:Status>Completed</ns2:Status>
                <ns2:SubscriptionId>402892c42ce80787012ce80ea1aa0014</ns2:SubscriptionId>
                <ns2:Type>Renewal</ns2:Type>
             </ns1:Amendments>
             <ns1:AmendOptions>
             	<ns1:GenerateInvoice>false</ns1:GenerateInvoice>
                <ns1:ProcessPayments>false</ns1:ProcessPayments>
             </ns1:AmendOptions>
             <ns1:PreviewOptions>
                <ns1:EnablePreviewMode>true</ns1:EnablePreviewMode>
                <ns1:PreviewThroughTermEnd>true</ns1:PreviewThroughTermEnd>
             </ns1:PreviewOptions>
    	</ns1:requests>
   	</ns1:zObjects>
   </soapenv:Body>
</soapenv:Envelope>
Related Zuora documentation

https://knowledgecenter.zuora.com/DC_Developers/SOAP_API/E_SOAP_API_Calls/amend_call

 execute

The execute operation can be used to update subscription requests.

execute
<zuorasoap.execute>
	<zobjects>{$ctx:zobjects}</zobjects>
	<zobjectType>{$ctx:zobjectType}</zobjectType>
	<synchronous>{$ctx:synchronous}</synchronous>
</zuorasoap.execute>
Properties
  • zobjects: An array of one or more objects of type execute.
  • zobjectType: The type of zobject to be executed.
  • synchronous : Indicates if the call is synchronous or asynchronous.
Sample request

Following is a sample SOAP request that can be handled by the execute operation.

Sample Request for execute
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="wso2.connector.zuora">
  <soapenv:Header/>
   <soapenv:Body>
      <urn:apiUrl>https://apisandbox.zuora.com/apps/services/a/74.0</urn:apiUrl>
      <urn:username>zuora@wso2.com</urn:username>
      <urn:password>Zuora#123</urn:password>
	  <urn:synchronous>false</urn:synchronous>
      <urn:zobjectType>invoicesplit</urn:zobjectType>
      <urn1:zObjects xmlns:urn1="http://api.zuora.com/">
      <urn1:zObject>
         <Ids>2c92c0f9528db6aa015292b0f7bb15f4</Ids>
         <Ids>2c92c0f9528db6aa015292b0f7c915f6</Ids>
      </urn1:zObjects>
   </soapenv:Body>
</soapenv:Envelope>
Related Zuora documentation

https://knowledgecenter.zuora.com/DC_Developers/SOAP_API/E_SOAP_API_Calls/execute_call

Sample configuration

Following is a sample proxy service that illustrates how to connect to Zuora with the init operation and use the execute operation. The sample request for this proxy can be found in execute sample request. You can use this sample as a template for using other operations in this category.

Sample Proxy
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="execute"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <property xmlns:ns="wso2.connector.zuora"
                   name="apiUrl"
                   expression="//ns:apiUrl/text()"/>
         <property xmlns:ns="wso2.connector.zuora"
                   name="username"
                   expression="//ns:username/text()"/>
         <property xmlns:ns="wso2.connector.zuora"
                   name="password"
                   expression="//ns:password/text()"/>
         <property xmlns:ns="wso2.connector.zuora"
                   name="zobjectType"
                   expression="//ns:zobjectType/text()"/>
		 <property xmlns:ns="wso2.connector.zuora"
                   name="synchronous"
                   expression="//ns:synchronous/text()"/>
         <property xmlns:ns1="http://api.zuora.com/"
                   name="zobjects"
                   expression="//ns1:zObjects"/>
         <zuorasoap.init>
            <apiUrl>{$ctx:apiUrl}</apiUrl>
            <username>{$ctx:username}</username>
            <password>{$ctx:password}</password>
         </zuorasoap.init>
         <zuorasoap.execute>
            <synchronous>{$ctx:synchronous}</synchronous>
            <zobjectType>{$ctx:zobjectType}</zobjectType>
            <zobjects>{$ctx:zobjects}</zobjects>
         </zuorasoap.execute>
         <respond/>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </target>
   <description/>
</proxy>