- 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: