Changing the Terms and Conditions

From API Documentation

Jump to: navigation, search

Use the Amendment object to change the terms and conditions of a subscription. Please see our XML sample code for sample SOAP requests for updating a product.

Starting in Version 25.0 and greater, you can now create an Amendment in a single call. As of version 28.0 of the API, you can use the amend() call to preview what changes the amendment would make.
NOTE: You must set the CallOptions in your SOAP header and set useSingleTransaction to true to enable the ability to create an amendment in a single call when using create(). See CallOptions for more details.

To PREVIEW changes to the terms and conditions of a subscription (version 28.0+): Call amend() passing it

  • An Amendment object setting the following fields
  • Specify the following fields
    • Set the ContractEffectiveDate and EffectiveDate (and Service Activation and Customer Acceptance if applicable)
    • Set the Name.
    • Specify the subscription's ID.
    • Set the Type to TermsAndConditions
    • Set any of the terms that you want to change (Renewal term, initial term, term commitment)
  • AmendOptions is not currently supported.
  • PreviewOptions must enable preview mode.

Sample SOAP

<api:amend>
         <api:requests>
            <api:Amendments>
<!-- Set the dates and metadata for your amendments -->
               <obj:AutoRenew>true</obj:AutoRenew>
               <obj:ContractEffectiveDate>2010-01-01T20:44:54.718+05:30</obj:ContractEffectiveDate>
               <obj:CustomerAcceptanceDate>2010-01-01T20:44:54.718+05:30</obj:CustomerAcceptanceDate>
               <obj:Description>changing terms and conditions</obj:Description>
               <obj:EffectiveDate>2010-01-01T20:44:54.718+05:30</obj:EffectiveDate>
<!-- Change initial and renewal terms if desired -->
               <obj:InitialTerm>13</obj:InitialTerm>
               <obj:Name>changing terms and conditions</obj:Name>
               <obj:RenewalTerm>3</obj:RenewalTerm>
               <obj:ServiceActivationDate>2010-01-01T20:44:54.718+05:30</obj:ServiceActivationDate>
               <obj:Status>Completed</obj:Status>
               <obj:SubscriptionId>402892c42ce3ede0012ce457e74b050e</obj:SubscriptionId>
               <obj:TermStartDate>2010-01-02T20:44:54.718+05:30</obj:TermStartDate>
               <obj:Type>TermsAndConditions</obj:Type>
            </api:Amendments>
            <api:PreviewOptions>
               <api:EnablePreviewMode>true</api:EnablePreviewMode>
            </api:PreviewOptions>
         </api:requests>
      </api:amend>

To change the terms and conditions of a subscription (version 25.0+):

  • Create an Amendment
  • Specify the following fields
    • Set the ContractEffectiveDate and EffectiveDate (and Service Activation and Customer Acceptance if applicable)
    • Set the Name.
    • Specify the subscription's ID.
    • Set the Type to TermsAndConditions
    • Set any of the terms that you want to change (Renewal term, initial term, term commitment)

Sample SOAP

<ns1:create xmlns:ns1="http://api.zuora.com/">
 <ns1:zObjects xmlns:ns2="http://object.api.zuora.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:Amendment">
   <ns2:Id xsi:nil="1" />
   <ns2:ContractEffectiveDate>2010-07-21T12:24:53.764+08:00</ns2:ContractEffectiveDate>
   <ns2:CustomerAcceptanceDate>2010-07-21T12:24:53.764+08:00</ns2:CustomerAcceptanceDate>
   <ns2:EffectiveDate>2010-07-21T12:24:53.769+08:00</ns2:EffectiveDate>
   <ns2:Name>test_amend1279686293769</ns2:Name>
   <ns2:ServiceActivationDate>2010-07-21T12:24:53.764+08:00</ns2:ServiceActivationDate>
   <ns2:SubscriptionId>402892ca29f33da70129f33f35fb00ac</ns2:SubscriptionId>
   <ns2:Type>TermsAndConditions</ns2:Type>
   <ns2:TermCommitment>InitialAndRenewalTerm</ns2:TermCommitment>
   <ns2:TermStartDate>2010-07-21T12:42:38.772+08:00</ns2:TermStartDate>
   <ns2:RenewalTerm>6</ns2:RenewalTerm>
   <ns2:InitialTerm>12</ns2:InitialTerm>
   <ns2:AutoRenew>true</ns2:AutoRenew>
 </ns1:zObjects>
</ns1:create>


To change the terms and conditions of a subscription (version 24.0-):


1) Create a new Amendment.

  • Set the following fields:
    • Set the Type to TermsAndConditions.
    • Set the TermCommitment and TermStartDate values.
    • Specify the subscription's ID.
    • Set the Status to Completed.
  • Create the new amendment, see the create() API call.

The SOAP call envelope payload should look like this:

<ns1:create>
 <ns1:zObjects xsi:type="ns2:Amendment">
   <ns2:EffectiveDate>2009-08-01T12:00:00</ns2:EffectiveDate>
   <ns2:InitialTerm>12</ns2:InitialTerm>
   <ns2:Name>Change Terms</ns2:Name>
   <ns2:RenewalTerm>12</ns2:RenewalTerm>
   <ns2:Status>Draft</ns2:Status>
   <ns2:SubscriptionId>4028e69922ece21e0122f1de76654501</ns2:SubscriptionId>
   <ns2:TermStartDate>2009-05-04T12:00:00</ns2:TermStartDate>
   <ns2:Type>TermsAndConditions</ns2:Type>
 </ns1:zObjects>
</ns1:create>

2) Update the new Amendment.

  • Set the following fields:
    • Set Status to Completed.
    • Set the ContractEffectiveDate to a date and time in the future.
    • If Require Customer Acceptance of Orders? is set on the Z-Billing Admin "Default Subscription Settings" page to Yes, then ContractAcceptanceDate will also need to be specified.
    • If Require Service Activation? is set on the Z-Billing Admin "Default Subscription Settings" page to Yes, then ServiceActivationDate will also need to be specified.
  • Update the new amendment, see the update() API call.

The SOAP call payload should look like this:

<ns1:update>
 <ns1:zObjects xsi:type="ns2:Amendment">
   <ns2:Id>4028e69922ece21e0122f734f76777d4</ns2:Id>
   <ns2:ContractEffectiveDate>2009-08-01T12:00:00</ns2:ContractEffectiveDate>
   <ns2:Status>Completed</ns2:Status>
 </ns1:zObjects>
</ns1:update>