Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel3
typeflat

Overview

The

Table of Contents
maxLevel3
typeflat

...

Overview

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

...

This section provides further details on the operations related to subscriptions.

Anchor
createSubscription
createSubscription
Creating a

...

subscription 

The createSubscription operation creates a subscription.

Code Block
languagexml
titlecreateSubscription
<killbill.createSubscription>
    <accountId>{$ctx:accountId}</accountId>
    <externalKey>{$ctx:externalKey}</externalKey>
    <bundleId>{$ctx:bundleId}</bundleId>
    <subscriptionId>{$ctx:subscriptionId}</subscriptionId>
    <startDate>{$ctx:startDate}</startDate>
    <productName>{$ctx:productName}</productName>
    <productCategory>{$ctx:productCategory}</productCategory>
    <billingPeriod>{$ctx:billingPeriod}</billingPeriod>
    <phaseType>{$ctx:phaseType}</phaseType>
    <priceList>{$ctx:priceList}</priceList>
    <sourceType>{$ctx:sourceType}</sourceType>
    <cancelledDate>{$ctx:cancelledDate}</cancelledDate>
    <chargedThroughDate>{$ctx:chargedThroughDate}</chargedThroughDate>
    <billingStartDate>{$ctx:billingStartDate}</billingStartDate>
    <state>{$ctx:state}</state>
    <billingEndDate>{$ctx:billingEndDate}</billingEndDate>
    <events>{$ctx:events}</events>
    <priceOverrides>{$ctx:priceOverrides}</priceOverrides>
    <requestedDate>{$ctx:requestedDate}</requestedDate>
    <callCompletion>{$ctx:callCompletion}</callCompletion>
    <callTimeoutSec>{$ctx:callTimeoutSec}</callTimeoutSec>
    <pluginProperty>{$ctx:pluginProperty}</pluginProperty>
    <auditLogs>{$ctx:auditLogs}</auditLogs>
    <createdBy>{$ctx:createdBy}</createdBy>
    <reason>{$ctx:reason}</reason>
    <comment>{$ctx:comment}</comment>
</killbill.createSubscription>
Properties
  • accountId:  The id of the account.
  • externalKey:  The external key for the subscription.
  • bundleId:  The bundle id for the subscription.
  • subscriptionId:  The id for the subscription.
  • startDate:  The start date for the subscription.
  • productName:  The product name for the subscription.
  • productCategory:  The product category for the subscription.
  • billingPeriod:  The billing period for the subscription.
  • phaseType:  The phase type for the subscription.
  • priceList:  The price list for the subscription.
  • sourceType:  The source type for the subscription.
  • cancelledDate:  The cancel date for the subscription.
  • chargedThroughDate:  The charged through date for the subscription.
  • billingStartDate:  The billing start date for the subscription.
  • state:  The state for the subscription.
  • billingEndDate:  The billing end date for the subscription..
  • events:  The events for the subscription.
  • priceOverrides:  The price overrides for the subscription.
  • requestedDate:  The requested date for the subscription.
  • callCompletion:  The call completion for the subscription call.
  • callTimeoutSec: The call timeout sec for this subscription call.
  • pluginProperty: The plugin property for the subscription.
  • auditLogs:  The audit logs for the subscription.
  • createdBy: The creator of this subscription call.
  • reason:  The reason for the creation of subscription.
  • comment:  The comment for the creation of subscription.
 

...

 Sample request

...

Following is a sample REST/JSON request that can be handled by the createsubscription createSubscription operation.

Code Block
languagexml
titleSample Request for createsubscription createSubscription
{
    "apiUrl":"http://127.0.0.1:8080",
    "apiVersion":"1.0",
    "username":"admin",
    "password":"password",
    "apiKey":"bob",
    "apiSecret":"lazar",
    "accountId": "33ca98be-2e86-4861-89df-31cd1f7207ef",
    "externalKey": "myBundleName",
    "productName": "Standard",
    "productCategory": "BASE",
    "billingPeriod": "MONTHLY",
    "priceList": "DEFAULT",
    "createdBy":"demo"
}

...

The updateSubscription operation retrieves a single subscription from the specified story.

Code Block
languagexml
titleupdateSubscription
<killbill.updateSubscription>
    <accountId>{$ctx:accountId}</accountId>
    <externalKey>{$ctx:externalKey}</externalKey>
    <bundleId>{$ctx:bundleId}</bundleId>
    <subscriptionId>{$ctx:subscriptionId}</subscriptionId>
    <startDate>{$ctx:startDate}</startDate>
    <productName>{$ctx:productName}</productName>
    <productCategory>{$ctx:productCategory}</productCategory>
    <billingPeriod>{$ctx:billingPeriod}</billingPeriod>
    <phaseType>{$ctx:phaseType}</phaseType>
    <priceList>{$ctx:priceList}</priceList>
    <sourceType>{$ctx:sourceType}</sourceType>
    <cancelledDate>{$ctx:cancelledDate}</cancelledDate>
    <chargedThroughDate>{$ctx:chargedThroughDate}</chargedThroughDate>
    <billingStartDate>{$ctx:billingStartDate}</billingStartDate>
    <state>{$ctx:state}</state>
    <billingEndDate>{$ctx:billingEndDate}</billingEndDate>
    <events>{$ctx:events}</events>
    <priceOverrides>{$ctx:priceOverrides}</priceOverrides>
    <requestedDate>{$ctx:requestedDate}</requestedDate>
    <callCompletion>{$ctx:callCompletion}</callCompletion>
    <callTimeoutSec>{$ctx:callTimeoutSec}</callTimeoutSec>
    <pluginProperty>{$ctx:pluginProperty}</pluginProperty>
    <auditLogs>{$ctx:auditLogs}</auditLogs>
    <createdBy>{$ctx:createdBy}</createdBy>
    <reason>{$ctx:reason}</reason>
    <comment>{$ctx:comment}</comment>
</killbill.updateSubscription>
Properties
  • accountId:  The id of the account.
  • externalKey:  The external key for the subscription.
  • bundleId:  The bundle id for the subscription.
  • subscriptionId:  The id for the subscription.
  • startDate:  The start date for the subscription.
  • productName:  The product name for the subscription.
  • productCategory:  The product category for the subscription.
  • billingPeriod:  The billing period for the subscription.
  • phaseType:  The phase type for the subscription.
  • priceList:  The price list for the subscription.
  • sourceType:  The source type for the subscription.
  • cancelledDate:  The cancel date for the subscription.
  • chargedThroughDate:  The charged through date for the subscription.
  • billingStartDate:  The billing start date for the subscription.
  • state:  The state for the subscription.
  • billingEndDate:  The billing end date for the subscription.
  • events:  The events for the subscription.
  • priceOverrides:  The price overrides for the subscription.
  • requestedDate:  The requested date for the subscription.
  • callCompletion:  The call completion for the subscription call.
  • callTimeoutSec: The call timeout sec for the subscription call.
  • pluginProperty: The plugin property for the subscription.
  • auditLogs:  The audit logs for the subscription.
  • createdBy:  The creator of this subscription call.
  • reason:  The reason for updating the subscription.
  • comment:  The comment for the updation of subscription.
 

...

 Sample request

...

Following Following is a sample REST/JSON request that can be handled by the  updateSubscription operation.

...

Code Block
languagexml
titledeleteSubscription
<killbill.deleteSubscription>
    <subscriptionId>{$ctx:subscriptionId}</subscriptionId>
    <requestedDate>{$ctx:requestedDate}</requestedDate>
    <callCompletion>{$ctx:callCompletion}</callCompletion>
    <callTimeoutSec>{$ctx:callTimeoutSec}</callTimeoutSec>
    <pluginProperty>{$ctx:pluginProperty}</pluginProperty>
    <createdBy>{$ctx:createdBy}</createdBy>
    <reason>{$ctx:reason}</reason>
    <comment>{$ctx:comment}</comment>
    <entitlementPolicy>{$ctx:entitlementPolicy}</entitlementPolicy>
    <billingPolicy>{$ctx:billingPolicy}</billingPolicy>
    <useRequestedDateForBilling>{$ctx:useRequestedDateForBilling}</useRequestedDateForBilling>
</killbill.deleteSubscription>
Properties
  • subscriptionId: The id of the subscription.
  • requestedDate: The ID of the project to which the story belongs.
  • callCompletion:  The call completion of the subscription call.
  • callTimeoutSec:  The call timeout sec of the subscription call.
  • entitlementPolicy: The entitlement policy of the subscription.
  • billingPolicy: The billing policy of the subscription.
  • useRequestedDateForBilling: The use requested date for billing of the subscription.
  • pluginProperty:  The plugin property of the subscription.
  • createdBy:  The creator of this subscription call.
  • reason: The reason for deleting the subscription.
  • comment:  The comment for the subscription.
 

...

 Sample request

Following is a sample REST/JSON request that can be handled by the deleteSubscription operation.

Code Block
languagexml
titleSample Request for deleteSubscription
{
    "apiUrl":"http://127.0.0.1:8080",
    "apiVersion":"1.0",
    "username":"admin",
    "password":"password",
    "apiKey":"bob",
    "apiSecret":"lazar",
    "subscriptionId": "33ca98be-2e86-4861-89df-31cd1f7207ef",
    "createdBy":"demo"
}
Info
titleNote

There are optional parameters available. For more information on the usage of these parameters please check the API document. 

Related Kill Bill documentation

http://killbill.io/api/#!/subscriptions/cancelEntitlementPlan

...

Code Block
languagexml
titlegetSubscriptionById
<killbill.getSubscriptionById>
    <subscriptionId>{$ctx:subscriptionId}</subscriptionId>
</killbill.getSubscriptionById>
Properties
  • subscriptionId:  The id of the subscription.
  
Anchor
request
request
Sample request

Following is a sample REST/JSON request that can be handled by the getSubscriptionById operation.

Code Block
languagexml
titleSample Request for getSubscriptionById
{
    "apiUrl":"http://127.0.0.1:8080",
    "apiVersion":"1.0",
    "username":"admin",
    "password":"password",
    "apiKey":"bob",
    "apiSecret":"lazar",
    "subscriptionId": "33ca98be-2e86-4861-89df-31cd1f7207ef"
}
Related Kill Bill documentation

http://killbill.io/api/#!/subscriptions/getEntitlement

...

Following is a sample proxy service that illustrates how to connect to Kill Bill with the init operation and use the createsubscription getSubscriptionByIdoperation. The sample request for this proxy can be found in the createsubscription sample getSubscriptionById sample request.

Code Block
languagexml
titleSample Proxy
<proxy name="Kill Bill_createsubscription" startOnLoad="true" statistics="disable" tracexmlns="http://ws.apache.org/ns/synapse" name="getSubscriptionById" transports="https,http" statistics="disable" transportstrace="https,httpdisable" xmlnsstartOnLoad="http://ws.apache.org/ns/synapsetrue">
   <target>
      <inSequence onError="faultHandlerSeq"><inSequence>
         <property name="apiUrl" expression="json-eval($.apiUrl)"/>
         <property name="apiKeyusername" expression="json-eval($.apiKeyusername)"/>
         <property name="formatpassword" expression="json-eval($.formatpassword)"/>
         <property name="textapiKey" expression="json-eval($.textapiKey)"/>
         <property name="storyIdapiVersion" expression="json-eval($.storyIdapiVersion)"/>
         <property name="projectIdapiSecret" expression="json-eval($.projectIdapiSecret)"/>
         <property name="enrichmentsblocking" expression="json-eval($.enrichmentsblocking)"/>
          <Kill Bill<property name="subscriptionId" expression="json-eval($.subscriptionId)"/>
         <killbill.init>
            <apiUrl>{$ctx:apiUrl}</apiUrl>
            <apiKey><username>{$ctx:apiKeyusername}</apiKey>username>
            <format><password>{$ctx:formatpassword}</format>password>
            <enrichments><apiKey>{$ctx:enrichmentsapiKey}</enrichments>apiKey>
            <apiSecret>{$ctx:apiSecret}</KillapiSecret>
 Bill.init>          <Kill Bill.createsubscription> <apiVersion>{$ctx:apiVersion}</apiVersion>
            <text><blocking>{$ctx:textblocking}</text>blocking>
         </killbill.init>
          <storyId>{$ctx:storyId}</storyId><killbill.getSubscriptionById>
             <projectId><subscriptionId>{$ctx:projectIdsubscriptionId}</projectId>subscriptionId>
         </Kill Billkillbill.createsubscription>getSubscriptionById>
         <respond />
      </inSequence>
      <outSequence>
         <send />
      </outSequence>
   </target>
   <description />
</proxy>