Org Web Adapter

pages/eng_16624_allow_creating_subscriptions_from_zuora_api_client.org

ID
113620f5-ba25-4a54-bc8b-44b70d6cc712
ROAM_ALIASES
ENG-16624

ENG-16624 - Allow creating subscriptions from Zuora API client

- tags :: Jira [[file:.][Zuora]] Zuora - Phase 4 15Five

Code samples

Set the session

#+BEGIN_SRC elisp :session ff :result silent

(setq org-babel-python-command "~/.virtualenvs/ff/bin/python")

#+END_SRC

#+RESULTS:

: ~/.virtualenvs/ff/bin/python

Get potential rate plans for product

#+begin_src python :session ff :results output

import json

from ff.mods.billing.zuora.client import ZuoraClient

z_client = ZuoraClient()

result = z_client.get_product_rate_plans(product_id="2c92c0f978ce74450178d1c83b1351a5")

for plan in result['productRatePlans']:

print(plan['name'], ': ', plan['id'])

#+end_src

#+RESULTS:

Create new plan subscription for exsiting account

#+begin_src python :session ff :results output

import json

from ff.mods.billing.zuora.client import ZuoraClient

z_client = ZuoraClient()

result = z_client.create_subscription(

existing_account_number="98765",

rate_plan_id='2c92c0f978ce744b0178d1cf6e94551d',

)

print(result)

#+end_src

#+RESULTS:

Create new plan subscription for new account

#+begin_src python :session ff :results output

import json

from ff.mods.billing.zuora.client import ZuoraClient

z_client = ZuoraClient()

result = z_client.create_subscription(

new_account={

'currency':'USD',

'name':'test_account1',

'billToContact': {

'firstName': 'Colin',

'lastName': 'Powell',

'workEmail': 'colin.powell@15five.com',

'country': 'USA',

'state': 'ME'

},

'billCycleDay': 1,

'CustomerType__c': 'Self-Serve',

},

rate_plan_id="2c92c0f978ce744b0178d1cf6e94551d"

)

print(result)

#+end_src

#+RESULTS: