Skip to main content

Migrating from the SOAP API

Zuora

Migrating from the SOAP API

When the Orders Harmonization feature is enabled, you can continue to use Subscribe and Amend SOAP APIs to create and manage your subscriptions. If you want to migrate your SOAP integrations to use the Orders REST API, you can still do it.

To assist with the migration, this article provides the SOAP equivalent of the "Create order" request body shown in Add a Product to a Subscription.

SOAP Example

The following SOAP amend() example is valid for WSDL version 29.0 and later.

<ns1:amend>
   <ns1:requests> 
      <ns1:Amendments>
         <ns2:ContractEffectiveDate>2017-01-01</ns2:ContractEffectiveDate> 
         <ns2:CustomerAcceptanceDate>2017-01-01</ns2:CustomerAcceptanceDate> 
         <ns2:ServiceActivationDate>2017-01-01</ns2:ServiceActivationDate>  
         <ns2:Name>Add a product</ns2:Name>
         <ns2:SubscriptionId>4028b8812d0261b6012d0266aac5001f</ns2:SubscriptionId>
         <ns2:Type>NewProduct</ns2:Type>
         <ns2:RatePlanData>
            <ns1:RatePlan>
              <ns2:ProductRatePlanId>2c92c0f9592a69410159432fab376d81</ns2:ProductRatePlanId>
            </ns1:RatePlan>
            <ns1:RatePlanChargeData> 
              <ns1:RatePlanCharge>                       
                 <ns2:ProductRatePlanChargeId>2c92c0f9592a6941015943308a2c6e72</ns2:ProductRatePlanChargeId>                       
                 <ns2:Price>10</ns2:Price>                   
              </ns1:RatePlanCharge>                                            
            </ns1:RatePlanChargeData> 
         </ns2:RatePlanData>           
         <ns2:Status>Completed</ns2:Status>         
      </ns1:Amendments>      
         <ns1:AmendOptions>
            <ns1:GenerateInvoice>false</ns1:GenerateInvoice> 
            <ns1:ProcessPayments>false</ns1:ProcessPayments>
         </ns1:AmendOptions>         
         <ns1:PreviewOptions> 
            <ns1:EnablePreviewMode>False</ns1:EnablePreviewMode> 
         </ns1:PreviewOptions>
   </ns1:requests>
</ns1:amend>

Migration Notes

  • Specify account numbers instead of account IDs.
  • Specify subscription numbers instead of subscription IDs.
  • Specify the type to AddProduct instead of NewProduct.
  • You do not need to specify the status of the amendment in the REST API. Because the amendment will be in the Complete status if the call succeeds. You cannot create draft amendments in Orders.
  • To generate invoices and collect payments, specify the runBilling and collectPayment fields instead of the GenerateInvoice and ProcessPayments SOAP fields.
  • Currently, we do not support specifying the name and description of order actions (the corresponding Name and Description SOAP fields).