Subscription Suite API v2.1.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
This is the API that is used by the Subscription Suite Angular 8 frontend components. You can find out more about Subscription Suite at https://www.subscription-suite.com.
New API documentation version in development. Expected release date June 08, 2020.
Authentication
- HTTP Authentication, scheme: bearer
- API Key (cookieAuth)
- Parameter Name: user, in: cookie.
account
Manage data related to Zuora billing accounts
Get summarized information about an account, in particular name and the address information
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/account", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /account HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/account',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/account', params={
}, headers = headers)
print r.json()
GET /account
Example responses
200 Response
{
"is_company": true,
"company_name": "string",
"first_name": "string",
"last_name": "string",
"street": "string",
"zip_code": "string",
"city": "string",
"state": "string",
"country": "string",
"email": "string",
"phone": "string",
"additional_info": "string",
"has_billing_address": true,
"billing_first_name": "string",
"billing_last_name": "string",
"billing_street": "string",
"billing_additional_info": "string",
"billing_zip_code": "string",
"billing_city": "string",
"billing_country": "string",
"billing_email": "string",
"billing_phone": "string",
"vat_id": "string",
"currency": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Account |
| 401 | Unauthorized | Not authorized | None |
Update an existing account
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/account", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /account HTTP/1.1
Content-Type: application/json
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put '/account',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('/account', params={
}, headers = headers)
print r.json()
PUT /account
Body parameter
{
"is_company": true,
"company_name": "string",
"first_name": "string",
"last_name": "string",
"street": "string",
"zip_code": "string",
"city": "string",
"state": "string",
"country": "string",
"email": "string",
"phone": "string",
"additional_info": "string",
"has_billing_address": true,
"billing_first_name": "string",
"billing_last_name": "string",
"billing_street": "string",
"billing_additional_info": "string",
"billing_zip_code": "string",
"billing_city": "string",
"billing_country": "string",
"billing_email": "string",
"billing_phone": "string",
"vat_id": "string",
"currency": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Account | true | none |
Example responses
200 Response
{
"success": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Not authorized | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » success | boolean | false | none | none |
Get the accounts payment method
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/account/payment-method", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /account/payment-method HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/account/payment-method',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/account/payment-method', params={
}, headers = headers)
print r.json()
GET /account/payment-method
Example responses
200 Response
{
"id": "string",
"type": "string",
"data": {}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | success | AccountPaymentMethod |
Update the Accounts payment method
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/account/payment-method", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /account/payment-method HTTP/1.1
Content-Type: application/json
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put '/account/payment-method',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('/account/payment-method', params={
}, headers = headers)
print r.json()
PUT /account/payment-method
Body parameter
{
"id": "string",
"type": "string",
"data": {
"bank_transfer_account_number_mask": "string",
"bank_transfer_account_name": "string"
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | any | true | none |
Example responses
200 Response
{
"success": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Not authorized | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » success | boolean | false | none | none |
Get posted invoices for a user
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/account/invoice", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /account/invoice HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/account/invoice',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/account/invoice', params={
}, headers = headers)
print r.json()
GET /account/invoice
Example responses
200 Response
[
{
"payment_amount": 0,
"invoice_date": "2019-05-21",
"due_date": "2019-05-21",
"tax_amount": 0,
"amount": 0,
"balance": 0,
"amount_without_tax": 0,
"invoice_number": "string",
"id": "string"
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 401 | Unauthorized | Not authorized | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [Invoice] | false | none | none |
| » payment_amount | number | false | none | none |
| » invoice_date | string(date) | false | none | none |
| » due_date | string(date) | false | none | none |
| » tax_amount | number | false | none | none |
| » amount | number | false | none | none |
| » balance | number | false | none | none |
| » amount_without_tax | number | false | none | none |
| » invoice_number | string | false | none | none |
| » id | string | false | none | none |
Get Invoice for Account by InvoiceId
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/pdf"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/account/invoice/{invoiceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /account/invoice/{invoiceId} HTTP/1.1
Accept: application/pdf
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/pdf',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/account/invoice/{invoiceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/pdf',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/account/invoice/{invoiceId}', params={
}, headers = headers)
print r.json()
GET /account/invoice/{invoiceId}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| invoiceId | path | string | true | Id of the wanted invoice |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | string |
| 401 | Unauthorized | Not authorized | None |
Get subscriptions for a user
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/account/subscription", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /account/subscription HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/account/subscription',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/account/subscription', params={
}, headers = headers)
print r.json()
GET /account/subscription
Example responses
200 Response
[
{
"id": 0,
"name": "string",
"description": "string",
"feature_list": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"different_quantities_allowed": 0,
"different_quantities_allowed_for_charge": 0,
"purchasable_by_customer": 0,
"purchasable_by_partner": 0,
"purchasable_by_sales": 0,
"multiple_subscriptions_allowed": 0,
"tenant_id": 0,
"subscription_type": "string",
"renewal_type": "string",
"term": 0,
"renewal_term": 0,
"is_auto_renew": 0,
"cancel_behaviour": 0,
"quantity_upgrade_behaviour": 0,
"quantity_downgrade_behaviour": 0,
"upgrade_behaviour": 0,
"downgrade_behaviour": 0,
"new_subscribe_mode": 0,
"add_on_mode": 0,
"has_contact_us_link": 0,
"trusted_html": "string",
"quantity_level": 0,
"price_level": 0,
"cancel_period": 0,
"generated_id": "string",
"cancel_mode": 0,
"quantity_upgrade_mode": 0,
"quantity_downgrade_mode": 0,
"upgrade_mode": 0,
"downgrade_mode": 0,
"categories": [],
"add_ons": [],
"change_options": [],
"subscription": {
"id": "string",
"account_id": "string",
"account_number": "string",
"account_name": "string",
"invoice_owner_account_id": "string",
"invoice_owner_account_number": "string",
"invoice_owner_account_name": "string",
"subscription_number": "string",
"term_type": "string",
"invoice_separately": true,
"contract_effective_date": "string",
"service_activation_date": "string",
"customer_acceptance_date": "string",
"subscription_start_date": "string",
"term_start_date": "string",
"term_end_date": "string",
"initial_term": 0,
"initial_term_period_type": "string",
"current_term": 0,
"current_term_period_type": "string",
"auto_renew": true,
"renewal_setting": "string",
"renewal_term": 0,
"renewal_term_period_type": "string",
"contracted_mrr": 0,
"total_contracted_value": 0,
"status": "string",
"rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"latest_rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"current_end_date": "2019-05-21"
},
"quantity": 0,
"rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"uuid": "string"
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 401 | Unauthorized | Not authorized | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [SuiteProduct] | false | none | none |
| » id | number | true | none | none |
| » name | string | true | none | none |
| » description | string | true | none | none |
| » feature_list | string | true | none | none |
| » effective_start_date | string | true | none | none |
| » effective_end_date | string | true | none | none |
| » different_quantities_allowed | number | true | none | none |
| » different_quantities_allowed_for_charge | number | true | none | none |
| » purchasable_by_customer | number | true | none | none |
| » purchasable_by_partner | number | true | none | none |
| » purchasable_by_sales | number | true | none | none |
| » multiple_subscriptions_allowed | number | true | none | none |
| » tenant_id | number | true | none | none |
| » subscription_type | string | true | none | none |
| » renewal_type | string | true | none | none |
| » term | number | true | none | none |
| » renewal_term | number | true | none | none |
| » is_auto_renew | number | true | none | none |
| » cancel_behaviour | number | true | none | none |
| » quantity_upgrade_behaviour | number | true | none | none |
| » quantity_downgrade_behaviour | number | true | none | none |
| » upgrade_behaviour | number | true | none | none |
| » downgrade_behaviour | number | true | none | none |
| » new_subscribe_mode | number | true | none | none |
| » add_on_mode | number | true | none | none |
| » has_contact_us_link | number | true | none | none |
| » trusted_html | string | true | none | none |
| » quantity_level | number | true | none | none |
| » price_level | number | true | none | none |
| » cancel_period | number | true | none | none |
| » generated_id | string | true | none | none |
| » cancel_mode | number | true | none | none |
| » quantity_upgrade_mode | number | true | none | none |
| » quantity_downgrade_mode | number | true | none | none |
| » upgrade_mode | number | true | none | none |
| » downgrade_mode | number | true | none | none |
| » categories | array | true | none | none |
| » add_ons | array | true | none | none |
| » change_options | array | true | none | none |
| » subscription | object | true | none | none |
| »» id | string | true | none | none |
| »» account_id | string | true | none | none |
| »» account_number | string | true | none | none |
| »» account_name | string | true | none | none |
| »» invoice_owner_account_id | string | true | none | none |
| »» invoice_owner_account_number | string | true | none | none |
| »» invoice_owner_account_name | string | true | none | none |
| »» subscription_number | string | true | none | none |
| »» term_type | string | true | none | none |
| »» invoice_separately | boolean | true | none | none |
| »» contract_effective_date | string | true | none | none |
| »» service_activation_date | string | true | none | none |
| »» customer_acceptance_date | string | true | none | none |
| »» subscription_start_date | string | true | none | none |
| »» term_start_date | string | true | none | none |
| »» term_end_date | string | true | none | none |
| »» initial_term | number | true | none | none |
| »» initial_term_period_type | string | true | none | none |
| »» current_term | number | true | none | none |
| »» current_term_period_type | string | true | none | none |
| »» auto_renew | boolean | true | none | none |
| »» renewal_setting | string | true | none | none |
| »» renewal_term | number | true | none | none |
| »» renewal_term_period_type | string | true | none | none |
| »» contracted_mrr | number | true | none | none |
| »» total_contracted_value | number | true | none | none |
| »» status | string | true | none | none |
| »» rate_plans | [AccountRatePlan] | true | none | none |
| »»» id | string | false | none | none |
| »»» product_id | string | false | none | none |
| »»» product_name | string | false | none | none |
| »»» product_sku | string | false | none | none |
| »»» product_rate_plan_id | string | false | none | none |
| »»» rate_plan_name | string | false | none | none |
| »»» suite_product_id | string | false | none | none |
| »»» suite_product_uuid | string | false | none | none |
| »»» rate_plan_charges | [RatePlanCharge] | false | none | none |
| »»»» id | string | false | none | none |
| »»»» original_charge_id | string | false | none | none |
| »»»» product_rate_plan_charge_id | string | false | none | none |
| »»»» number | string | false | none | none |
| »»»» name | string | false | none | none |
| »»»» type | string | false | none | none |
| »»»» model | string | false | none | none |
| »»»» version | number | false | none | none |
| »»»» pricing_summary | string | false | none | none |
| »»»» price_change_option | string | false | none | none |
| »»»» price_increase_percentage | number | false | none | none |
| »»»» currency | string | false | none | none |
| »»»» price | number | false | none | none |
| »»»» discount_apply_details | array | false | none | none |
| »»»» billing_day | string | false | none | none |
| »»»» list_price_base | string | false | none | none |
| »»»» billing_period | string | false | none | none |
| »»»» billing_timing | string | false | none | none |
| »»»» billing_period_alignment | string | false | none | none |
| »»»» quantity | number | false | none | none |
| »»»» segment | number | false | none | none |
| »»»» effective_start_date | string | false | none | none |
| »»»» effective_end_date | string | false | none | none |
| »»»» processed_through_date | string | false | none | none |
| »»»» charged_through_date | string | false | none | none |
| »»»» done | boolean | false | none | none |
| »»»» trigger_event | string | false | none | none |
| »»»» end_date_condition | string | false | none | none |
| »»»» mrr | number | false | none | none |
| »»»» dmrc | number | false | none | none |
| »»»» tcv | number | false | none | none |
| »»»» dtcv | number | false | none | none |
| »»»» description | string | false | none | none |
| »»» subscription_product_features | [SubscriptionProductFeature] | false | none | none |
| »»»» id | string | false | none | none |
| »»»» name | string | false | none | none |
| »»»» feature_code | string | false | none | none |
| »»»» description | string | false | none | none |
| »»» latest_rate_plans | [AccountRatePlan] | false | none | none |
| »»» current_end_date | string(date) | true | none | none |
| »» quantity | number | true | none | none |
| »» rate_plans | [AccountRatePlan] | true | none | none |
| »» uuid | string | true | none | none |
Validate a VAT ID
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/account/vat-validate/{vatId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /account/vat-validate/{vatId} HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/account/vat-validate/{vatId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/account/vat-validate/{vatId}', params={
}, headers = headers)
print r.json()
GET /account/vat-validate/{vatId}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| vatId | path | string | true | VAT ID that needs to be checked |
Example responses
200 Response
{
"success": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » success | boolean | false | none | none |
Get Rate Plans
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/account/rate-plan", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /account/rate-plan HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/account/rate-plan',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/account/rate-plan', params={
}, headers = headers)
print r.json()
GET /account/rate-plan
Example responses
200 Response
[
{
"subscription": {
"id": "string",
"account_id": "string",
"account_number": "string",
"account_name": "string",
"invoice_owner_account_id": "string",
"invoice_owner_account_number": "string",
"invoice_owner_account_name": "string",
"subscription_number": "string",
"term_type": "string",
"invoice_separately": true,
"contract_effective_date": "string",
"service_activation_date": "string",
"customer_acceptance_date": "string",
"subscription_start_date": "string",
"term_start_date": "string",
"term_end_date": "string",
"initial_term": 0,
"initial_term_period_type": "string",
"current_term": 0,
"current_term_period_type": "string",
"auto_renew": true,
"renewal_setting": "string",
"renewal_term": 0,
"renewal_term_period_type": "string",
"contracted_mrr": 0,
"total_contracted_value": 0,
"status": "string",
"rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"latest_rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"current_end_date": "2019-05-21"
},
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 401 | Unauthorized | Not authorized | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [SubscriptionAndRatePlan] | false | none | none |
| » subscription | object | false | none | none |
| »» id | string | true | none | none |
| »» account_id | string | true | none | none |
| »» account_number | string | true | none | none |
| »» account_name | string | true | none | none |
| »» invoice_owner_account_id | string | true | none | none |
| »» invoice_owner_account_number | string | true | none | none |
| »» invoice_owner_account_name | string | true | none | none |
| »» subscription_number | string | true | none | none |
| »» term_type | string | true | none | none |
| »» invoice_separately | boolean | true | none | none |
| »» contract_effective_date | string | true | none | none |
| »» service_activation_date | string | true | none | none |
| »» customer_acceptance_date | string | true | none | none |
| »» subscription_start_date | string | true | none | none |
| »» term_start_date | string | true | none | none |
| »» term_end_date | string | true | none | none |
| »» initial_term | number | true | none | none |
| »» initial_term_period_type | string | true | none | none |
| »» current_term | number | true | none | none |
| »» current_term_period_type | string | true | none | none |
| »» auto_renew | boolean | true | none | none |
| »» renewal_setting | string | true | none | none |
| »» renewal_term | number | true | none | none |
| »» renewal_term_period_type | string | true | none | none |
| »» contracted_mrr | number | true | none | none |
| »» total_contracted_value | number | true | none | none |
| »» status | string | true | none | none |
| »» rate_plans | [AccountRatePlan] | true | none | none |
| »»» id | string | false | none | none |
| »»» product_id | string | false | none | none |
| »»» product_name | string | false | none | none |
| »»» product_sku | string | false | none | none |
| »»» product_rate_plan_id | string | false | none | none |
| »»» rate_plan_name | string | false | none | none |
| »»» suite_product_id | string | false | none | none |
| »»» suite_product_uuid | string | false | none | none |
| »»» rate_plan_charges | [RatePlanCharge] | false | none | none |
| »»»» id | string | false | none | none |
| »»»» original_charge_id | string | false | none | none |
| »»»» product_rate_plan_charge_id | string | false | none | none |
| »»»» number | string | false | none | none |
| »»»» name | string | false | none | none |
| »»»» type | string | false | none | none |
| »»»» model | string | false | none | none |
| »»»» version | number | false | none | none |
| »»»» pricing_summary | string | false | none | none |
| »»»» price_change_option | string | false | none | none |
| »»»» price_increase_percentage | number | false | none | none |
| »»»» currency | string | false | none | none |
| »»»» price | number | false | none | none |
| »»»» discount_apply_details | array | false | none | none |
| »»»» billing_day | string | false | none | none |
| »»»» list_price_base | string | false | none | none |
| »»»» billing_period | string | false | none | none |
| »»»» billing_timing | string | false | none | none |
| »»»» billing_period_alignment | string | false | none | none |
| »»»» quantity | number | false | none | none |
| »»»» segment | number | false | none | none |
| »»»» effective_start_date | string | false | none | none |
| »»»» effective_end_date | string | false | none | none |
| »»»» processed_through_date | string | false | none | none |
| »»»» charged_through_date | string | false | none | none |
| »»»» done | boolean | false | none | none |
| »»»» trigger_event | string | false | none | none |
| »»»» end_date_condition | string | false | none | none |
| »»»» mrr | number | false | none | none |
| »»»» dmrc | number | false | none | none |
| »»»» tcv | number | false | none | none |
| »»»» dtcv | number | false | none | none |
| »»»» description | string | false | none | none |
| »»» subscription_product_features | [SubscriptionProductFeature] | false | none | none |
| »»»» id | string | false | none | none |
| »»»» name | string | false | none | none |
| »»»» feature_code | string | false | none | none |
| »»»» description | string | false | none | none |
| »»» latest_rate_plans | [AccountRatePlan] | false | none | none |
| »»» current_end_date | string(date) | true | none | none |
| »» id | string | false | none | none |
| »» product_id | string | false | none | none |
| »» product_name | string | false | none | none |
| »» product_sku | string | false | none | none |
| »» product_rate_plan_id | string | false | none | none |
| »» rate_plan_name | string | false | none | none |
| »» suite_product_id | string | false | none | none |
| »» suite_product_uuid | string | false | none | none |
| »» rate_plan_charges | [RatePlanCharge] | false | none | none |
| »» subscription_product_features | [SubscriptionProductFeature] | false | none | none |
payment-method
Creating and updating payment methods. Helpers to deal with Paypal and Zuora integration.
Get a payment method by Zuora Id
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/payment-method/{paymentMethodId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /payment-method/{paymentMethodId} HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/payment-method/{paymentMethodId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/payment-method/{paymentMethodId}', params={
}, headers = headers)
print r.json()
GET /payment-method/{paymentMethodId}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| paymentMethodId | path | string | true | The Zuora ID of a payment method |
Example responses
200 Response
{
"type": "string",
"data": {
"id": "string",
"token": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | PaymentMethod |
| 404 | Not Found | Not found | None |
Get the signature to render a Zuora payment page in an iFrame
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/payment-method/{paymentMethodId}/signature", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /payment-method/{paymentMethodId}/signature HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/payment-method/{paymentMethodId}/signature',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/payment-method/{paymentMethodId}/signature', params={
}, headers = headers)
print r.json()
GET /payment-method/{paymentMethodId}/signature
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| paymentMethodId | path | string | true | The ID of a Subscription Suite payment method |
| locale | query | string | false | Locale to render the Zuora payment page in certain language |
Example responses
200 Response
{
"id": "string",
"key": "string",
"locale": "string",
"signature": "string",
"token": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 404 | Not Found | Not found | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » id | string | false | none | none |
| » key | string | false | none | none |
| » locale | string | false | none | none |
| » signature | string | false | none | none |
| » token | string | false | none | none |
Get the available payment methods for a certain user type
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/payment-method/available", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /payment-method/available HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/payment-method/available',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/payment-method/available', params={
}, headers = headers)
print r.json()
GET /payment-method/available
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| country | query | string | false | Country code to display available payment methods for |
Example responses
200 Response
[
{
"id": 0,
"type": "string"
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » id | integer | false | none | none |
| » type | string | false | none | none |
Initialise paypal for given payment method id
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/payment-method/{paymentMethodId}/paypal/init", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /payment-method/{paymentMethodId}/paypal/init HTTP/1.1
require 'rest-client'
require 'json'
result = RestClient.get '/payment-method/{paymentMethodId}/paypal/init',
params: {
}
p JSON.parse(result)
import requests
r = requests.get('/payment-method/{paymentMethodId}/paypal/init', params={
)
print r.json()
GET /payment-method/{paymentMethodId}/paypal/init
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| paymentMethodId | path | string | true | Id of the payment Method |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | None |
| 400 | Bad Request | Bad request | None |
quote
Quote acceptance processes with Salesforce integration
Get quote data from Salesforce
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/quote/{guid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /quote/{guid} HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/quote/{guid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/quote/{guid}', params={
}, headers = headers)
print r.json()
GET /quote/{guid}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| guid | path | string | true | The GUID of a Salesforce quote |
Example responses
200 Response
{
"bill_to_contact": {
"address1": "string",
"address2": "string",
"city": "string",
"country": "string",
"county": "string",
"fax": "string",
"first_name": "string",
"last_name": "string",
"state": "string",
"tax_region": "string",
"work_email": "string",
"work_phone": "string",
"zip_code": "string"
},
"currency": "string",
"name": "string",
"quote_number": "string",
"rate_plans": [
{
"id": "string",
"type": "string"
}
],
"sold_to_contact": {
"address1": "string",
"address2": "string",
"city": "string",
"country": "string",
"county": "string",
"fax": "string",
"first_name": "string",
"last_name": "string",
"state": "string",
"tax_region": "string",
"work_email": "string",
"work_phone": "string",
"zip_code": "string"
},
"start_date": "2019-05-21",
"term": "string",
"valid_until_date": "2019-05-21",
"vat_id": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 404 | Not Found | Not found | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » bill_to_contact | object | false | none | none |
| »» address1 | string | false | none | none |
| »» address2 | string | false | none | none |
| »» city | string | false | none | none |
| »» country | string | false | none | none |
| »» county | string | false | none | none |
| »» fax | string | false | none | none |
| »» first_name | string | false | none | none |
| »» last_name | string | false | none | none |
| »» state | string | false | none | none |
| »» tax_region | string | false | none | none |
| »» work_email | string | false | none | none |
| »» work_phone | string | false | none | none |
| »» zip_code | string | false | none | none |
| » currency | string | false | none | none |
| » name | string | false | none | none |
| » quote_number | string | false | none | none |
| » rate_plans | [RatePlan] | false | none | none |
| »» id | string | false | none | none |
| »» type | string | false | none | none |
| » sold_to_contact | object | false | none | none |
| » start_date | string(date) | false | none | none |
| » term | string | false | none | none |
| » valid_until_date | string(date) | false | none | none |
| » vat_id | string | false | none | none |
Confirm a quote in Salesforce and send it to Zuora
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/quote/{guid}/confirm", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /quote/{guid}/confirm HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post '/quote/{guid}/confirm',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('/quote/{guid}/confirm', params={
}, headers = headers)
print r.json()
POST /quote/{guid}/confirm
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| guid | path | string | true | The ID of a Salesforce quote |
Example responses
200 Response
{
"success": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 404 | Not Found | Not found | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » success | boolean | false | none | none |
product-catalog
Fetching the Zuora product catalog
Get all Zuora products
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/product", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /product HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/product',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/product', params={
}, headers = headers)
print r.json()
GET /product
Example responses
200 Response
[
{
"id": 0,
"zuora_id": "string",
"name": "string",
"description": "string",
"feature_list": "string",
"highlight": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"sku": "string",
"updated_date": "string",
"tenant_id": 0
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [Product] | false | none | none |
| » id | number | false | none | none |
| » zuora_id | string | false | none | none |
| » name | string | false | none | none |
| » description | string | false | none | none |
| » feature_list | string | false | none | none |
| » highlight | string | false | none | none |
| » effective_start_date | string | false | none | none |
| » effective_end_date | string | false | none | none |
| » sku | string | false | none | none |
| » updated_date | string | false | none | none |
| » tenant_id | number | false | none | none |
Get a Zuora product
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/product/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /product/{id} HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/product/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/product/{id}', params={
}, headers = headers)
print r.json()
GET /product/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | true | The ID of a Subscription Suite product |
Example responses
200 Response
{
"id": 0,
"zuora_id": "string",
"name": "string",
"description": "string",
"feature_list": "string",
"highlight": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"sku": "string",
"updated_date": "string",
"tenant_id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Product |
| 404 | Not Found | Not found | None |
Delete a Zuora product
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/product/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /product/{id} HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.delete '/product/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.delete('/product/{id}', params={
}, headers = headers)
print r.json()
DELETE /product/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | true | The ID of a Subscription Suite product |
Example responses
200 Response
{
"id": 0,
"zuora_id": "string",
"name": "string",
"description": "string",
"feature_list": "string",
"highlight": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"sku": "string",
"updated_date": "string",
"tenant_id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Product |
| 404 | Not Found | Not found | None |
shop
Query shop pages with multiple product selection steps
Fetches all relevant information to display a shop page
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/page/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /page/{id} HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/page/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/page/{id}', params={
}, headers = headers)
print r.json()
GET /page/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | The ID of a Subscription Suite shop page |
Example responses
200 Response
{
"allow_voucher": true,
"description": "string",
"id": 0,
"is_active": true,
"is_cart": true,
"name": "string",
"page_id": 0,
"show_cart": true,
"steps": [
{
"description": "string",
"has_unique_selection": true,
"id": 0,
"is_optional": true,
"name": "string",
"number": 0,
"rate_plans": [
{
"description": "string",
"effective_end_date": "string",
"effective_start_date": "string",
"feature_list": "string",
"highlight": "string",
"id": 0,
"name": "string",
"product": {
"description": "string",
"effective_end_date": "string",
"effective_start_date": "string",
"name": "string",
"sku": "string"
},
"product_rate_plan_charges": [
{
"billing_period": "string",
"billing_timing": "string",
"charge_model": "string",
"charge_type": "string",
"default_quantity": 0,
"description": "string",
"id": 0,
"name": "string",
"product_rate_plan_charge_tiers": [
{
"currency": "string",
"ending_unit": "string",
"is_overage_price": true,
"price": 0,
"price_format": "string",
"starting_unit": "string"
}
],
"tax_mode": "string",
"is_taxable": true,
"uom": "string"
}
]
}
],
"show_charges": true,
"show_description": true,
"show_featureList": true,
"show_periods": true,
"show_product_name": true,
"show_rate_plan_name": true
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 404 | Not Found | Not found | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » allow_voucher | boolean | false | none | none |
| » description | string | false | none | none |
| » id | integer | false | none | none |
| » is_active | boolean | false | none | none |
| » is_cart | boolean | false | none | none |
| » name | string | false | none | none |
| » page_id | integer | false | none | none |
| » show_cart | boolean | false | none | none |
| » steps | [object] | false | none | none |
| »» description | string | false | none | none |
| »» has_unique_selection | boolean | false | none | none |
| »» id | integer | false | none | none |
| »» is_optional | boolean | false | none | none |
| »» name | string | false | none | none |
| »» number | integer | false | none | none |
| »» rate_plans | [object] | false | none | none |
| »»» description | string | false | none | none |
| »»» effective_end_date | string | false | none | none |
| »»» effective_start_date | string | false | none | none |
| »»» feature_list | string | false | none | none |
| »»» highlight | string | false | none | none |
| »»» id | integer | false | none | none |
| »»» name | string | false | none | none |
| »»» product | object | false | none | none |
| »»»» description | string | false | none | none |
| »»»» effective_end_date | string | false | none | none |
| »»»» effective_start_date | string | false | none | none |
| »»»» name | string | false | none | none |
| »»»» sku | string | false | none | none |
| »»» product_rate_plan_charges | [object] | false | none | none |
| »»»» billing_period | string | false | none | none |
| »»»» billing_timing | string | false | none | none |
| »»»» charge_model | string | false | none | none |
| »»»» charge_type | string | false | none | none |
| »»»» default_quantity | number | false | none | none |
| »»»» description | string | false | none | none |
| »»»» id | number | false | none | none |
| »»»» name | string | false | none | none |
| »»»» product_rate_plan_charge_tiers | [object] | false | none | none |
| »»»»» currency | string | false | none | none |
| »»»»» ending_unit | string | false | none | none |
| »»»»» is_overage_price | boolean | false | none | none |
| »»»»» price | number | false | none | none |
| »»»»» price_format | string | false | none | none |
| »»»»» starting_unit | string | false | none | none |
| »»»» tax_mode | string | false | none | none |
| »»»» is_taxable | boolean | false | none | none |
| »»»» uom | string | false | none | none |
| »»» show_charges | boolean | false | none | none |
| »»» show_description | boolean | false | none | none |
| »»» show_featureList | boolean | false | none | none |
| »»» show_periods | boolean | false | none | none |
| »»» show_product_name | boolean | false | none | none |
| »»» show_rate_plan_name | boolean | false | none | none |
subscription
Preview, create, and modify subscriptions
Preview of Cancel Operation
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/product/{uuid}/preview/cancel", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /product/{uuid}/preview/cancel HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/product/{uuid}/preview/cancel',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/product/{uuid}/preview/cancel', params={
}, headers = headers)
print r.json()
GET /product/{uuid}/preview/cancel
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| uuid | path | string | true | The UUID of a subscribed Subscription Suite product |
Example responses
200 Response
{
"id": 0,
"zuora_id": "string",
"name": "string",
"description": "string",
"feature_list": "string",
"highlight": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"sku": "string",
"updated_date": "string",
"tenant_id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Product |
| 404 | Not Found | Not found | None |
Preview of Replace Operation
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/product/{uuid}/preview/replace/{changeOptionId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /product/{uuid}/preview/replace/{changeOptionId} HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/product/{uuid}/preview/replace/{changeOptionId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/product/{uuid}/preview/replace/{changeOptionId}', params={
}, headers = headers)
print r.json()
GET /product/{uuid}/preview/replace/{changeOptionId}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| uuid | path | string | true | The UUID of a subscribed Subscription Suite product |
| changeOptionId | path | integer | true | The ID of a Subscription Change Option |
Example responses
200 Response
{
"id": 0,
"zuora_id": "string",
"name": "string",
"description": "string",
"feature_list": "string",
"highlight": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"sku": "string",
"updated_date": "string",
"tenant_id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Product |
| 404 | Not Found | Not found | None |
Replace Operation
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/product/{uuid}/replace/{changeOptionId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /product/{uuid}/replace/{changeOptionId} HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/product/{uuid}/replace/{changeOptionId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/product/{uuid}/replace/{changeOptionId}', params={
}, headers = headers)
print r.json()
GET /product/{uuid}/replace/{changeOptionId}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| uuid | path | string | true | The UUID of a subscribed Subscription Suite product |
| changeOptionId | path | integer | true | The ID of a Subscription Change Option |
Example responses
200 Response
{
"id": 0,
"zuora_id": "string",
"name": "string",
"description": "string",
"feature_list": "string",
"highlight": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"sku": "string",
"updated_date": "string",
"tenant_id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Product |
| 404 | Not Found | Not found | None |
Initilization of Change Quantity Operation
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/product/{uuid}/preview/change-quantity", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /product/{uuid}/preview/change-quantity HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/product/{uuid}/preview/change-quantity',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/product/{uuid}/preview/change-quantity', params={
}, headers = headers)
print r.json()
GET /product/{uuid}/preview/change-quantity
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| uuid | path | string | true | The UUID of a subscribed Subscription Suite product |
Example responses
200 Response
{
"id": 0,
"zuora_id": "string",
"name": "string",
"description": "string",
"feature_list": "string",
"highlight": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"sku": "string",
"updated_date": "string",
"tenant_id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Product |
| 404 | Not Found | Not found | None |
Preview of Change Quantity Operation
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/product/{uuid}/preview/change-quantity/{quantity}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /product/{uuid}/preview/change-quantity/{quantity} HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/product/{uuid}/preview/change-quantity/{quantity}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/product/{uuid}/preview/change-quantity/{quantity}', params={
}, headers = headers)
print r.json()
GET /product/{uuid}/preview/change-quantity/{quantity}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| uuid | path | string | true | The UUID of a subscribed Subscription Suite product |
| quantity | path | integer | true | Product Quantity |
Example responses
200 Response
{
"id": 0,
"zuora_id": "string",
"name": "string",
"description": "string",
"feature_list": "string",
"highlight": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"sku": "string",
"updated_date": "string",
"tenant_id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Product |
| 404 | Not Found | Not found | None |
Create new subscriptions for a user
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/subscription", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /subscription HTTP/1.1
Content-Type: application/json
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/subscription',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/subscription', params={
}, headers = headers)
print r.json()
POST /subscription
Body parameter
{
"suite_products": [
{
"id": 0,
"quantity": 0,
"order_pos": 0,
"rate_plans": [
{
"id": 0,
"charges": [
{
"id": 0
}
]
}
]
}
],
"account": {
"is_company": true,
"company_name": "string",
"first_name": "string",
"last_name": "string",
"street": "string",
"zip_code": "string",
"city": "string",
"state": "string",
"country": "string",
"email": "string",
"phone": "string",
"additional_info": "string",
"has_billing_address": true,
"billing_first_name": "string",
"billing_last_name": "string",
"billing_street": "string",
"billing_additional_info": "string",
"billing_zip_code": "string",
"billing_city": "string",
"billing_country": "string",
"billing_email": "string",
"billing_phone": "string",
"vat_id": "string",
"currency": "string"
},
"payment_method": {
"id": "string",
"type": "string",
"data": {}
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | SubscribeOption | false | none |
Example responses
200 Response
{
"success": true,
"ids": [
"string"
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 401 | Unauthorized | Not authorized | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » success | boolean | false | none | none |
| » ids | [string] | false | none | none |
Calculate prices for selected rate plans, quantities, and discounts
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/subscription/preview", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /subscription/preview HTTP/1.1
Content-Type: application/json
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post '/subscription/preview',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('/subscription/preview', params={
}, headers = headers)
print r.json()
POST /subscription/preview
Body parameter
{
"currency": "string",
"account": {
"is_company": true,
"company_name": "string",
"first_name": "string",
"last_name": "string",
"street": "string",
"zip_code": "string",
"city": "string",
"state": "string",
"country": "string",
"email": "string",
"phone": "string",
"additional_info": "string",
"has_billing_address": true,
"billing_first_name": "string",
"billing_last_name": "string",
"billing_street": "string",
"billing_additional_info": "string",
"billing_zip_code": "string",
"billing_city": "string",
"billing_country": "string",
"billing_email": "string",
"billing_phone": "string",
"vat_id": "string",
"currency": "string"
},
"suite_products": [
{
"id": 0,
"quantity": 0,
"order_pos": 0
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Preview | false | none |
Example responses
200 Response
[
{
"id": 0,
"quantity": 0,
"order_pos": 0,
"prices": [
{
"billing_period": "string",
"is_discounted": true,
"netto": 0,
"tax": 0,
"brutto": 0,
"original_netto": 0,
"original_tax": 0,
"original_brutto": 0
}
],
"rate_plans": [
{
"id": 0,
"quantity": 0,
"prices": [
{
"billing_period": "string",
"is_discounted": true,
"netto": 0,
"tax": 0,
"brutto": 0,
"original_netto": 0,
"original_tax": 0,
"original_brutto": 0
}
],
"charges": [
{
"id": 0,
"quantity": 0,
"billing_period": "string",
"prices": {
"is_discounted": true,
"netto": 0,
"tax": 0,
"brutto": 0,
"original_netto": 0,
"original_tax": 0,
"original_brutto": 0
}
}
]
}
]
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 400 | Bad Request | Bad request | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [SubscribeOptionWithPrice] | false | none | none |
| » id | integer | false | none | none |
| » quantity | integer | false | none | none |
| » order_pos | integer | false | none | none |
| » prices | [object] | false | none | none |
| »» billing_period | string | false | none | none |
| »» is_discounted | boolean | false | none | none |
| »» netto | number | false | none | none |
| »» tax | number | false | none | none |
| »» brutto | number | false | none | none |
| »» original_netto | number | false | none | none |
| »» original_tax | number | false | none | none |
| »» original_brutto | number | false | none | none |
| » rate_plans | [object] | false | none | none |
| »» id | integer | false | none | none |
| »» quantity | integer | false | none | none |
| »» prices | [object] | false | none | none |
| »»» billing_period | string | false | none | none |
| »»» is_discounted | boolean | false | none | none |
| »»» netto | number | false | none | none |
| »»» tax | number | false | none | none |
| »»» brutto | number | false | none | none |
| »»» original_netto | number | false | none | none |
| »»» original_tax | number | false | none | none |
| »»» original_brutto | number | false | none | none |
| »» charges | [object] | false | none | none |
| »»» id | integer | false | none | none |
| »»» quantity | integer | false | none | none |
| »»» billing_period | string | false | none | none |
| »»» prices | object | false | none | none |
| »»»» is_discounted | boolean | false | none | none |
| »»»» netto | number | false | none | none |
| »»»» tax | number | false | none | none |
| »»»» brutto | number | false | none | none |
| »»»» original_netto | number | false | none | none |
| »»»» original_tax | number | false | none | none |
| »»»» original_brutto | number | false | none | none |
translation
Fetch static and dynamic translations for UI elements and the product catalog
Get static translations for a certain language
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/translation", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /translation?lang=string HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/translation',
params: {
'lang' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/translation', params={
'lang': 'string'
}, headers = headers)
print r.json()
GET /translation
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| lang | query | string | true | Language for translations |
Example responses
200 Response
[
{
"key": "string",
"translation": "string"
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » key | string | false | none | none |
| » translation | string | false | none | none |
Get dynamic translations for the keys specified in the request body
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/translation/dynamic", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /translation/dynamic?lang=string HTTP/1.1
Content-Type: application/json
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post '/translation/dynamic',
params: {
'lang' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('/translation/dynamic', params={
'lang': 'string'
}, headers = headers)
print r.json()
POST /translation/dynamic
Body parameter
[
"string"
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| lang | query | string | true | Language for translations |
| body | body | array[string] | true | none |
Example responses
200 Response
[
{
"key": "string",
"translation": "string"
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » key | string | false | none | none |
| » translation | string | false | none | none |
voucher
Consume voucher codes and provide discounts
Initialize a voucher code and block it for a certain user in case of a single use code
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/voucher-code/{code}/init", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /voucher-code/{code}/init HTTP/1.1
Content-Type: application/json
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post '/voucher-code/{code}/init',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('/voucher-code/{code}/init', params={
}, headers = headers)
print r.json()
POST /voucher-code/{code}/init
Body parameter
{
"page_id": "string",
"user_id": 0
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| code | path | string | true | The voucher code that should be applied |
| body | body | object | true | none |
| » page_id | body | string | false | none |
| » user_id | body | integer | false | none |
Example responses
200 Response
{
"discount_rate_plan_id": 0,
"campaign_id": 0,
"success": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 400 | Bad Request | Bad request | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » discount_rate_plan_id | integer | false | none | none |
| » campaign_id | integer | false | none | none |
| » success | boolean | false | none | none |
Confirm and consume a voucher code
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/voucher-code/{code}/consume", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /voucher-code/{code}/consume HTTP/1.1
Content-Type: application/json
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post '/voucher-code/{code}/consume',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('/voucher-code/{code}/consume', params={
}, headers = headers)
print r.json()
POST /voucher-code/{code}/consume
Body parameter
{
"page_id": "string",
"user_id": 0
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| code | path | string | true | The voucher code that should be applied |
| body | body | object | true | none |
| » page_id | body | string | false | none |
| » user_id | body | integer | false | none |
Example responses
200 Response
{
"discount_rate_plan_id": 0,
"campaign_id": 0,
"success": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 400 | Bad Request | Bad request | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » discount_rate_plan_id | integer | false | none | none |
| » campaign_id | integer | false | none | none |
| » success | boolean | false | none | none |
auth
Creates a new user.
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/register", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /register HTTP/1.1
Content-Type: application/json
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post '/register',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('/register', params={
}, headers = headers)
print r.json()
POST /register
Body parameter
{
"user": {
"email": "user@example.com",
"password": "pa$$word"
},
"redirect_url": "http://example.com",
"language": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | object | true | The user to create. |
| » user | body | object | true | none |
| body | string(email) | false | none | |
| »» password | body | string(password) | false | none |
| » redirect_url | body | string(uri) | false | none |
| » language | body | string | false | none |
Example responses
200 Response
{
"token": "string",
"user": {
"id": "string",
"guid": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 400 | Bad Request | Bad request | None |
| 404 | Not Found | Not found | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » token | string | false | none | none |
| » user | object | false | none | none |
| »» id | string | false | none | none |
| »» guid | string | false | none | none |
Login with email and password
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/login", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /login HTTP/1.1
Content-Type: application/json
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post '/login',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('/login', params={
}, headers = headers)
print r.json()
POST /login
Body parameter
{
"email": "user@example.com",
"password": "pa$$word"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | User | true | Email and password as payload |
Example responses
200 Response
{
"token": "string",
"user": {
"id": "string",
"guid": "string",
"crm_id": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 400 | Bad Request | Bad request | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » token | string | false | none | none |
| » user | object | false | none | none |
| »» id | string | false | none | none |
| »» guid | string | false | none | none |
| »» crm_id | string | false | none | none |
Login as guest
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/login/guest", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /login/guest HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post '/login/guest',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('/login/guest', params={
}, headers = headers)
print r.json()
POST /login/guest
Example responses
200 Response
{
"token": "string",
"user": {
"guest": true
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Returns a guest token which expires after 12h | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » token | string | false | none | none |
| » user | object | false | none | none |
| »» guest | boolean | false | none | none |
Logout
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/logout", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /logout HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post '/logout',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('/logout', params={
}, headers = headers)
print r.json()
POST /logout
Example responses
200 Response
{
"success": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Inline |
| 404 | Not Found | Not found | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » success | boolean | false | none | none |
Initialise Password reset
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/password-reset/init", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /password-reset/init HTTP/1.1
Content-Type: application/json
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json'
}
result = RestClient.post '/password-reset/init',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json'
}
r = requests.post('/password-reset/init', params={
}, headers = headers)
print r.json()
POST /password-reset/init
Body parameter
{
"email": "user@example.com"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | object | true | Send the e-amil you want to reset the password for as payload |
| body | string(email) | true | none |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | None |
| 400 | Bad Request | Not found | None |
Comfirm the password reset
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/password-reset/confirm", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /password-reset/confirm HTTP/1.1
Content-Type: application/json
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json'
}
result = RestClient.post '/password-reset/confirm',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json'
}
r = requests.post('/password-reset/confirm', params={
}, headers = headers)
print r.json()
POST /password-reset/confirm
Body parameter
{
"confirm_key": "string",
"password": "pa$$word"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | object | true | Send e-mail and confirm key as payload |
| » confirm_key | body | string | false | none |
| » password | body | string(password) | false | none |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | None |
| 400 | Bad Request | Bad request | None |
config
Get Configuration for suite
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/config", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /config HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/config',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/config', params={
}, headers = headers)
print r.json()
GET /config
Example responses
200 Response
{
"languages": [
{
"id": 0,
"name": "string",
"is_active": 0,
"is_default": 0,
"tenant_id": 0
}
],
"currencies": [
{
"id": 0,
"iso_code": "string",
"is_active": 0,
"is_default": 0,
"tenant_id": 0,
"decimal_separator": "string",
"thousands_separator": "string"
}
],
"cart_settings": {
"id": 0,
"show_product_name": 0,
"show_rate_plan_name": 0,
"show_feature_list": 0,
"show_description": 0,
"show_charges": 0,
"use_single_quantity": 0,
"tenant_id": 0
},
"checkout_settings": {
"id": 0,
"has_guest_checkout": 0,
"show_charges": 0,
"show_tax": 0,
"show_brutto": 0,
"show_product_name": 0,
"tenant_id": 0,
"has_auto_invoice": 0,
"has_auto_payment": 0
},
"customer_center_settings": {
"id": 0,
"can_cancel_subscriptions": 0,
"can_suspend": 0,
"tenant_id": 0,
"can_cancel_subscriptions_at_any_time": 0
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Config |
string
Change Quantity Operation
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/product/{uuid}/quantity/{quantity}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /product/{uuid}/quantity/{quantity} HTTP/1.1
Accept: application/json
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.put '/product/{uuid}/quantity/{quantity}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.put('/product/{uuid}/quantity/{quantity}', params={
}, headers = headers)
print r.json()
PUT /product/{uuid}/quantity/{quantity}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| uuid | path | string | true | The UUID of a subscribed Subscription Suite product |
| quantity | path | integer | true | Product Quantity |
Example responses
200 Response
{
"id": 0,
"zuora_id": "string",
"name": "string",
"description": "string",
"feature_list": "string",
"highlight": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"sku": "string",
"updated_date": "string",
"tenant_id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Success | Product |
| 404 | Not Found | Not found | None |
Schemas
AccountPaymentMethod
{
"id": "string",
"type": "string",
"data": {}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| type | string | true | none | none |
| data | object | true | none | none |
AccountPaymentMethodCreditCard
{
"id": "string",
"type": "string",
"data": {
"credit_card_mask_number": "string",
"credit_card_holder_name": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| type | string | true | none | none |
| data | object | false | none | none |
| » credit_card_mask_number | string | false | none | none |
| » credit_card_holder_name | string | false | none | none |
AccountPaymentMethodBankTransfer
{
"id": "string",
"type": "string",
"data": {
"bank_transfer_account_number_mask": "string",
"bank_transfer_account_name": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| type | string | true | none | none |
| data | object | false | none | none |
| » bank_transfer_account_number_mask | string | false | none | none |
| » bank_transfer_account_name | string | false | none | none |
AccountPaymentMethodSepa
{
"id": "string",
"type": "string",
"data": {
"bank_transfer_account_number_mask": "string",
"bank_transfer_account_name": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| type | string | true | none | none |
| data | object | false | none | none |
| » bank_transfer_account_number_mask | string | false | none | none |
| » bank_transfer_account_name | string | false | none | none |
AccountPaymentMethodAch
{
"id": "string",
"type": "string",
"data": {
"bank_transfer_account_number_mask": "string",
"bank_transfer_account_name": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| type | string | true | none | none |
| data | object | false | none | none |
| » bank_transfer_account_number_mask | string | false | none | none |
| » bank_transfer_account_name | string | false | none | none |
Account
{
"is_company": true,
"company_name": "string",
"first_name": "string",
"last_name": "string",
"street": "string",
"zip_code": "string",
"city": "string",
"state": "string",
"country": "string",
"email": "string",
"phone": "string",
"additional_info": "string",
"has_billing_address": true,
"billing_first_name": "string",
"billing_last_name": "string",
"billing_street": "string",
"billing_additional_info": "string",
"billing_zip_code": "string",
"billing_city": "string",
"billing_country": "string",
"billing_email": "string",
"billing_phone": "string",
"vat_id": "string",
"currency": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| is_company | boolean | false | none | none |
| company_name | string | false | none | none |
| first_name | string | true | none | none |
| last_name | string | true | none | none |
| street | string | true | none | none |
| zip_code | string | true | none | none |
| city | string | true | none | none |
| state | string | false | none | none |
| country | string | true | none | none |
| string | true | none | none | |
| phone | string | true | none | none |
| additional_info | string | false | none | none |
| has_billing_address | boolean | false | none | none |
| billing_first_name | string | false | none | none |
| billing_last_name | string | false | none | none |
| billing_street | string | false | none | none |
| billing_additional_info | string | false | none | none |
| billing_zip_code | string | false | none | none |
| billing_city | string | false | none | none |
| billing_country | string | false | none | none |
| billing_email | string | false | none | none |
| billing_phone | string | false | none | none |
| vat_id | string | true | none | none |
| currency | string | false | none | none |
User
{
"email": "user@example.com",
"password": "pa$$word"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| string(email) | false | none | none | |
| password | string(password) | false | none | none |
Invoice
{
"payment_amount": 0,
"invoice_date": "2019-05-21",
"due_date": "2019-05-21",
"tax_amount": 0,
"amount": 0,
"balance": 0,
"amount_without_tax": 0,
"invoice_number": "string",
"id": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| payment_amount | number | false | none | none |
| invoice_date | string(date) | false | none | none |
| due_date | string(date) | false | none | none |
| tax_amount | number | false | none | none |
| amount | number | false | none | none |
| balance | number | false | none | none |
| amount_without_tax | number | false | none | none |
| invoice_number | string | false | none | none |
| id | string | false | none | none |
SuiteProduct
{
"id": 0,
"name": "string",
"description": "string",
"feature_list": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"different_quantities_allowed": 0,
"different_quantities_allowed_for_charge": 0,
"purchasable_by_customer": 0,
"purchasable_by_partner": 0,
"purchasable_by_sales": 0,
"multiple_subscriptions_allowed": 0,
"tenant_id": 0,
"subscription_type": "string",
"renewal_type": "string",
"term": 0,
"renewal_term": 0,
"is_auto_renew": 0,
"cancel_behaviour": 0,
"quantity_upgrade_behaviour": 0,
"quantity_downgrade_behaviour": 0,
"upgrade_behaviour": 0,
"downgrade_behaviour": 0,
"new_subscribe_mode": 0,
"add_on_mode": 0,
"has_contact_us_link": 0,
"trusted_html": "string",
"quantity_level": 0,
"price_level": 0,
"cancel_period": 0,
"generated_id": "string",
"cancel_mode": 0,
"quantity_upgrade_mode": 0,
"quantity_downgrade_mode": 0,
"upgrade_mode": 0,
"downgrade_mode": 0,
"categories": [],
"add_ons": [],
"change_options": [],
"subscription": {
"id": "string",
"account_id": "string",
"account_number": "string",
"account_name": "string",
"invoice_owner_account_id": "string",
"invoice_owner_account_number": "string",
"invoice_owner_account_name": "string",
"subscription_number": "string",
"term_type": "string",
"invoice_separately": true,
"contract_effective_date": "string",
"service_activation_date": "string",
"customer_acceptance_date": "string",
"subscription_start_date": "string",
"term_start_date": "string",
"term_end_date": "string",
"initial_term": 0,
"initial_term_period_type": "string",
"current_term": 0,
"current_term_period_type": "string",
"auto_renew": true,
"renewal_setting": "string",
"renewal_term": 0,
"renewal_term_period_type": "string",
"contracted_mrr": 0,
"total_contracted_value": 0,
"status": "string",
"rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"latest_rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"current_end_date": "2019-05-21"
},
"quantity": 0,
"rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"uuid": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | number | true | none | none |
| name | string | true | none | none |
| description | string | true | none | none |
| feature_list | string | true | none | none |
| effective_start_date | string | true | none | none |
| effective_end_date | string | true | none | none |
| different_quantities_allowed | number | true | none | none |
| different_quantities_allowed_for_charge | number | true | none | none |
| purchasable_by_customer | number | true | none | none |
| purchasable_by_partner | number | true | none | none |
| purchasable_by_sales | number | true | none | none |
| multiple_subscriptions_allowed | number | true | none | none |
| tenant_id | number | true | none | none |
| subscription_type | string | true | none | none |
| renewal_type | string | true | none | none |
| term | number | true | none | none |
| renewal_term | number | true | none | none |
| is_auto_renew | number | true | none | none |
| cancel_behaviour | number | true | none | none |
| quantity_upgrade_behaviour | number | true | none | none |
| quantity_downgrade_behaviour | number | true | none | none |
| upgrade_behaviour | number | true | none | none |
| downgrade_behaviour | number | true | none | none |
| new_subscribe_mode | number | true | none | none |
| add_on_mode | number | true | none | none |
| has_contact_us_link | number | true | none | none |
| trusted_html | string | true | none | none |
| quantity_level | number | true | none | none |
| price_level | number | true | none | none |
| cancel_period | number | true | none | none |
| generated_id | string | true | none | none |
| cancel_mode | number | true | none | none |
| quantity_upgrade_mode | number | true | none | none |
| quantity_downgrade_mode | number | true | none | none |
| upgrade_mode | number | true | none | none |
| downgrade_mode | number | true | none | none |
| categories | array | true | none | none |
| add_ons | array | true | none | none |
| change_options | array | true | none | none |
| subscription | Subscription | true | none | none |
| quantity | number | true | none | none |
| rate_plans | [AccountRatePlan] | true | none | none |
| uuid | string | true | none | none |
Subscription
{
"id": "string",
"account_id": "string",
"account_number": "string",
"account_name": "string",
"invoice_owner_account_id": "string",
"invoice_owner_account_number": "string",
"invoice_owner_account_name": "string",
"subscription_number": "string",
"term_type": "string",
"invoice_separately": true,
"contract_effective_date": "string",
"service_activation_date": "string",
"customer_acceptance_date": "string",
"subscription_start_date": "string",
"term_start_date": "string",
"term_end_date": "string",
"initial_term": 0,
"initial_term_period_type": "string",
"current_term": 0,
"current_term_period_type": "string",
"auto_renew": true,
"renewal_setting": "string",
"renewal_term": 0,
"renewal_term_period_type": "string",
"contracted_mrr": 0,
"total_contracted_value": 0,
"status": "string",
"rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"latest_rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"current_end_date": "2019-05-21"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| account_id | string | true | none | none |
| account_number | string | true | none | none |
| account_name | string | true | none | none |
| invoice_owner_account_id | string | true | none | none |
| invoice_owner_account_number | string | true | none | none |
| invoice_owner_account_name | string | true | none | none |
| subscription_number | string | true | none | none |
| term_type | string | true | none | none |
| invoice_separately | boolean | true | none | none |
| contract_effective_date | string | true | none | none |
| service_activation_date | string | true | none | none |
| customer_acceptance_date | string | true | none | none |
| subscription_start_date | string | true | none | none |
| term_start_date | string | true | none | none |
| term_end_date | string | true | none | none |
| initial_term | number | true | none | none |
| initial_term_period_type | string | true | none | none |
| current_term | number | true | none | none |
| current_term_period_type | string | true | none | none |
| auto_renew | boolean | true | none | none |
| renewal_setting | string | true | none | none |
| renewal_term | number | true | none | none |
| renewal_term_period_type | string | true | none | none |
| contracted_mrr | number | true | none | none |
| total_contracted_value | number | true | none | none |
| status | string | true | none | none |
| rate_plans | [AccountRatePlan] | true | none | none |
| latest_rate_plans | [AccountRatePlan] | false | none | none |
| current_end_date | string(date) | true | none | none |
AccountRatePlan
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | false | none | none |
| product_id | string | false | none | none |
| product_name | string | false | none | none |
| product_sku | string | false | none | none |
| product_rate_plan_id | string | false | none | none |
| rate_plan_name | string | false | none | none |
| suite_product_id | string | false | none | none |
| suite_product_uuid | string | false | none | none |
| rate_plan_charges | [RatePlanCharge] | false | none | none |
| subscription_product_features | [SubscriptionProductFeature] | false | none | none |
RatePlanCharge
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | false | none | none |
| original_charge_id | string | false | none | none |
| product_rate_plan_charge_id | string | false | none | none |
| number | string | false | none | none |
| name | string | false | none | none |
| type | string | false | none | none |
| model | string | false | none | none |
| version | number | false | none | none |
| pricing_summary | string | false | none | none |
| price_change_option | string | false | none | none |
| price_increase_percentage | number | false | none | none |
| currency | string | false | none | none |
| price | number | false | none | none |
| discount_apply_details | array | false | none | none |
| billing_day | string | false | none | none |
| list_price_base | string | false | none | none |
| billing_period | string | false | none | none |
| billing_timing | string | false | none | none |
| billing_period_alignment | string | false | none | none |
| quantity | number | false | none | none |
| segment | number | false | none | none |
| effective_start_date | string | false | none | none |
| effective_end_date | string | false | none | none |
| processed_through_date | string | false | none | none |
| charged_through_date | string | false | none | none |
| done | boolean | false | none | none |
| trigger_event | string | false | none | none |
| end_date_condition | string | false | none | none |
| mrr | number | false | none | none |
| dmrc | number | false | none | none |
| tcv | number | false | none | none |
| dtcv | number | false | none | none |
| description | string | false | none | none |
SubscriptionProductFeature
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | false | none | none |
| name | string | false | none | none |
| feature_code | string | false | none | none |
| description | string | false | none | none |
SubscriptionAndRatePlan
{
"subscription": {
"id": "string",
"account_id": "string",
"account_number": "string",
"account_name": "string",
"invoice_owner_account_id": "string",
"invoice_owner_account_number": "string",
"invoice_owner_account_name": "string",
"subscription_number": "string",
"term_type": "string",
"invoice_separately": true,
"contract_effective_date": "string",
"service_activation_date": "string",
"customer_acceptance_date": "string",
"subscription_start_date": "string",
"term_start_date": "string",
"term_end_date": "string",
"initial_term": 0,
"initial_term_period_type": "string",
"current_term": 0,
"current_term_period_type": "string",
"auto_renew": true,
"renewal_setting": "string",
"renewal_term": 0,
"renewal_term_period_type": "string",
"contracted_mrr": 0,
"total_contracted_value": 0,
"status": "string",
"rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"latest_rate_plans": [
{
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
],
"current_end_date": "2019-05-21"
},
"id": "string",
"product_id": "string",
"product_name": "string",
"product_sku": "string",
"product_rate_plan_id": "string",
"rate_plan_name": "string",
"suite_product_id": "string",
"suite_product_uuid": "string",
"rate_plan_charges": [
{
"id": "string",
"original_charge_id": "string",
"product_rate_plan_charge_id": "string",
"number": "string",
"name": "string",
"type": "string",
"model": "string",
"version": 0,
"pricing_summary": "string",
"price_change_option": "string",
"price_increase_percentage": 0,
"currency": "string",
"price": 0,
"discount_apply_details": [],
"billing_day": "string",
"list_price_base": "string",
"billing_period": "string",
"billing_timing": "string",
"billing_period_alignment": "string",
"quantity": 0,
"segment": 0,
"effective_start_date": "string",
"effective_end_date": "string",
"processed_through_date": "string",
"charged_through_date": "string",
"done": true,
"trigger_event": "string",
"end_date_condition": "string",
"mrr": 0,
"dmrc": 0,
"tcv": 0,
"dtcv": 0,
"description": "string"
}
],
"subscription_product_features": [
{
"id": "string",
"name": "string",
"feature_code": "string",
"description": "string"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| subscription | Subscription | false | none | none |
| id | string | false | none | none |
| product_id | string | false | none | none |
| product_name | string | false | none | none |
| product_sku | string | false | none | none |
| product_rate_plan_id | string | false | none | none |
| rate_plan_name | string | false | none | none |
| suite_product_id | string | false | none | none |
| suite_product_uuid | string | false | none | none |
| rate_plan_charges | [RatePlanCharge] | false | none | none |
| subscription_product_features | [SubscriptionProductFeature] | false | none | none |
Config
{
"languages": [
{
"id": 0,
"name": "string",
"is_active": 0,
"is_default": 0,
"tenant_id": 0
}
],
"currencies": [
{
"id": 0,
"iso_code": "string",
"is_active": 0,
"is_default": 0,
"tenant_id": 0,
"decimal_separator": "string",
"thousands_separator": "string"
}
],
"cart_settings": {
"id": 0,
"show_product_name": 0,
"show_rate_plan_name": 0,
"show_feature_list": 0,
"show_description": 0,
"show_charges": 0,
"use_single_quantity": 0,
"tenant_id": 0
},
"checkout_settings": {
"id": 0,
"has_guest_checkout": 0,
"show_charges": 0,
"show_tax": 0,
"show_brutto": 0,
"show_product_name": 0,
"tenant_id": 0,
"has_auto_invoice": 0,
"has_auto_payment": 0
},
"customer_center_settings": {
"id": 0,
"can_cancel_subscriptions": 0,
"can_suspend": 0,
"tenant_id": 0,
"can_cancel_subscriptions_at_any_time": 0
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| languages | [Language] | false | none | none |
| currencies | [Currency] | false | none | none |
| cart_settings | CartSettings | false | none | none |
| checkout_settings | CheckoutSettings | false | none | none |
| customer_center_settings | CustomerCenterSettings | false | none | none |
Language
{
"id": 0,
"name": "string",
"is_active": 0,
"is_default": 0,
"tenant_id": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | number | false | none | none |
| name | string | false | none | none |
| is_active | number | false | none | none |
| is_default | number | false | none | none |
| tenant_id | number | false | none | none |
Currency
{
"id": 0,
"iso_code": "string",
"is_active": 0,
"is_default": 0,
"tenant_id": 0,
"decimal_separator": "string",
"thousands_separator": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | number | false | none | none |
| iso_code | string | false | none | none |
| is_active | number | false | none | none |
| is_default | number | false | none | none |
| tenant_id | number | false | none | none |
| decimal_separator | string | false | none | none |
| thousands_separator | string | false | none | none |
CartSettings
{
"id": 0,
"show_product_name": 0,
"show_rate_plan_name": 0,
"show_feature_list": 0,
"show_description": 0,
"show_charges": 0,
"use_single_quantity": 0,
"tenant_id": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | number | false | none | none |
| show_product_name | number | false | none | none |
| show_rate_plan_name | number | false | none | none |
| show_feature_list | number | false | none | none |
| show_description | number | false | none | none |
| show_charges | number | false | none | none |
| use_single_quantity | number | false | none | none |
| tenant_id | number | false | none | none |
CheckoutSettings
{
"id": 0,
"has_guest_checkout": 0,
"show_charges": 0,
"show_tax": 0,
"show_brutto": 0,
"show_product_name": 0,
"tenant_id": 0,
"has_auto_invoice": 0,
"has_auto_payment": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | number | false | none | none |
| has_guest_checkout | number | false | none | none |
| show_charges | number | false | none | none |
| show_tax | number | false | none | none |
| show_brutto | number | false | none | none |
| show_product_name | number | false | none | none |
| tenant_id | number | false | none | none |
| has_auto_invoice | number | false | none | none |
| has_auto_payment | number | false | none | none |
CustomerCenterSettings
{
"id": 0,
"can_cancel_subscriptions": 0,
"can_suspend": 0,
"tenant_id": 0,
"can_cancel_subscriptions_at_any_time": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | number | false | none | none |
| can_cancel_subscriptions | number | false | none | none |
| can_suspend | number | false | none | none |
| tenant_id | number | false | none | none |
| can_cancel_subscriptions_at_any_time | number | false | none | none |
Contact
{
"address1": "string",
"address2": "string",
"city": "string",
"country": "string",
"county": "string",
"fax": "string",
"first_name": "string",
"last_name": "string",
"state": "string",
"tax_region": "string",
"work_email": "string",
"work_phone": "string",
"zip_code": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| address1 | string | false | none | none |
| address2 | string | false | none | none |
| city | string | false | none | none |
| country | string | false | none | none |
| county | string | false | none | none |
| fax | string | false | none | none |
| first_name | string | false | none | none |
| last_name | string | false | none | none |
| state | string | false | none | none |
| tax_region | string | false | none | none |
| work_email | string | false | none | none |
| work_phone | string | false | none | none |
| zip_code | string | false | none | none |
PaymentMethod
{
"type": "string",
"data": {
"id": "string",
"token": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| type | string | false | none | none |
| data | object | false | none | none |
| » id | string | false | none | none |
| » token | string | false | none | none |
Product
{
"id": 0,
"zuora_id": "string",
"name": "string",
"description": "string",
"feature_list": "string",
"highlight": "string",
"effective_start_date": "string",
"effective_end_date": "string",
"sku": "string",
"updated_date": "string",
"tenant_id": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | number | false | none | none |
| zuora_id | string | false | none | none |
| name | string | false | none | none |
| description | string | false | none | none |
| feature_list | string | false | none | none |
| highlight | string | false | none | none |
| effective_start_date | string | false | none | none |
| effective_end_date | string | false | none | none |
| sku | string | false | none | none |
| updated_date | string | false | none | none |
| tenant_id | number | false | none | none |
RatePlan
{
"id": "string",
"type": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | false | none | none |
| type | string | false | none | none |
Preview
{
"currency": "string",
"account": {
"is_company": true,
"company_name": "string",
"first_name": "string",
"last_name": "string",
"street": "string",
"zip_code": "string",
"city": "string",
"state": "string",
"country": "string",
"email": "string",
"phone": "string",
"additional_info": "string",
"has_billing_address": true,
"billing_first_name": "string",
"billing_last_name": "string",
"billing_street": "string",
"billing_additional_info": "string",
"billing_zip_code": "string",
"billing_city": "string",
"billing_country": "string",
"billing_email": "string",
"billing_phone": "string",
"vat_id": "string",
"currency": "string"
},
"suite_products": [
{
"id": 0,
"quantity": 0,
"order_pos": 0
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| currency | string | false | none | none |
| account | Account | false | none | none |
| suite_products | [PreviewSuiteProduct] | false | none | none |
PreviewSuiteProduct
{
"id": 0,
"quantity": 0,
"order_pos": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer | true | none | none |
| quantity | integer | true | none | none |
| order_pos | integer | true | none | none |
SubscribeOption
{
"suite_products": [
{
"id": 0,
"quantity": 0,
"order_pos": 0,
"rate_plans": [
{
"id": 0,
"charges": [
{
"id": 0
}
]
}
]
}
],
"account": {
"is_company": true,
"company_name": "string",
"first_name": "string",
"last_name": "string",
"street": "string",
"zip_code": "string",
"city": "string",
"state": "string",
"country": "string",
"email": "string",
"phone": "string",
"additional_info": "string",
"has_billing_address": true,
"billing_first_name": "string",
"billing_last_name": "string",
"billing_street": "string",
"billing_additional_info": "string",
"billing_zip_code": "string",
"billing_city": "string",
"billing_country": "string",
"billing_email": "string",
"billing_phone": "string",
"vat_id": "string",
"currency": "string"
},
"payment_method": {
"id": "string",
"type": "string",
"data": {}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| suite_products | [object] | false | none | none |
| » id | integer | false | none | none |
| » quantity | integer | false | none | none |
| » order_pos | integer | false | none | none |
| » rate_plans | [object] | false | none | none |
| »» id | integer | false | none | none |
| »» charges | [object] | false | none | none |
| »»» id | integer | false | none | none |
| »» account | Account | false | none | none |
| »» payment_method | AccountPaymentMethod | false | none | none |
SubscribeOptionWithPrice
{
"id": 0,
"quantity": 0,
"order_pos": 0,
"prices": [
{
"billing_period": "string",
"is_discounted": true,
"netto": 0,
"tax": 0,
"brutto": 0,
"original_netto": 0,
"original_tax": 0,
"original_brutto": 0
}
],
"rate_plans": [
{
"id": 0,
"quantity": 0,
"prices": [
{
"billing_period": "string",
"is_discounted": true,
"netto": 0,
"tax": 0,
"brutto": 0,
"original_netto": 0,
"original_tax": 0,
"original_brutto": 0
}
],
"charges": [
{
"id": 0,
"quantity": 0,
"billing_period": "string",
"prices": {
"is_discounted": true,
"netto": 0,
"tax": 0,
"brutto": 0,
"original_netto": 0,
"original_tax": 0,
"original_brutto": 0
}
}
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer | false | none | none |
| quantity | integer | false | none | none |
| order_pos | integer | false | none | none |
| prices | [object] | false | none | none |
| » billing_period | string | false | none | none |
| » is_discounted | boolean | false | none | none |
| » netto | number | false | none | none |
| » tax | number | false | none | none |
| » brutto | number | false | none | none |
| » original_netto | number | false | none | none |
| » original_tax | number | false | none | none |
| » original_brutto | number | false | none | none |
| rate_plans | [object] | false | none | none |
| » id | integer | false | none | none |
| » quantity | integer | false | none | none |
| » prices | [object] | false | none | none |
| »» billing_period | string | false | none | none |
| »» is_discounted | boolean | false | none | none |
| »» netto | number | false | none | none |
| »» tax | number | false | none | none |
| »» brutto | number | false | none | none |
| »» original_netto | number | false | none | none |
| »» original_tax | number | false | none | none |
| »» original_brutto | number | false | none | none |
| » charges | [object] | false | none | none |
| »» id | integer | false | none | none |
| »» quantity | integer | false | none | none |
| »» billing_period | string | false | none | none |
| »» prices | object | false | none | none |
| »»» is_discounted | boolean | false | none | none |
| »»» netto | number | false | none | none |
| »»» tax | number | false | none | none |
| »»» brutto | number | false | none | none |
| »»» original_netto | number | false | none | none |
| »»» original_tax | number | false | none | none |
| »»» original_brutto | number | false | none | none |