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.
Operation | Description |
---|---|
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.
<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.
<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.
<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.
<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.
<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.
<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.
<?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>