API Reference | cleverbridge

Want to find out about the assortment of APIs that cleverbridge offers? The cleverbridge API Reference is the place to learn about our API resources, request items, and responses. You can also try out our endpoints using the API explorer.

Get Started    

Product & Pricing API

 

Get Product and Prices

Retrieve real-time product, price, promotion, and geo IP data for a specific product. Authentication is not required for this API.
For more information, see Product & Pricing API.

 
gethttps://pricingapi.cleverbridge.com/prices
curl --request GET \
  --url 'https://pricingapi.cleverbridge.com/prices?client_id=864'
var request = require("request");

var options = { method: 'GET',
  url: 'https://pricingapi.cleverbridge.com/prices',
  qs: { client_id: '864' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://pricingapi.cleverbridge.com/prices?client_id=864")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://pricingapi.cleverbridge.com/prices?client_id=864");

xhr.send(data);
import requests

url = "https://pricingapi.cleverbridge.com/prices"

querystring = {"client_id":"864"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

[
  {
    "client_id": "864",
    "product_id": "97772",
    "coupon": "total50",
    "locale": "en-US",
    "list_price": {
      "net": {
        "localized": "59,99 $",
        "value": 59.99
      },
      "vat": {
        "localized": "0,00 $",
        "value": 0
      },
      "gross": {
        "localized": "59,99 $",
        "value": 59.99
      }
    },
    "discount": {
      "absolute": {
        "net": {
          "localized": "30,00 $",
          "value": 30
        },
        "vat": {
          "localized": "0,00 $",
          "value": 0
        },
        "gross": {
          "localized": "30,00 $",
          "value": 30
        }
      },
      "percentage": {
        "localized": "50,00 %",
        "value": 50
      }
    },
    "currency": {
      "symbol": "$",
      "iso": "USD"
    },
    "price": {
      "net": {
        "localized": "29,99 $",
        "value": 29.99
      },
      "vat": {
        "localized": "0,00 $",
        "value": 0
      },
      "gross": {
        "localized": "29,99 $",
        "value": 29.99
      }
    },
    "product": {
      "name": "Internet Security Professional",
      "additional_name": "For your small business or home office",
      "short_description": "Internet Security Professional protects against spyware, worms, and has a built-in reporting tool. It offers real-time malware detection and complete server virus protection. ",
      "description": "Internet Security Professional comes with automatic updates that protect from newly-released viruses. We employ a team of technical professionals to identify and fingerprint evolving threats to computers. This product alerts you to potentially dangerous software before they infect your computer. You can also set a schedule for the virus scan for downtime (at night when you aren’t using your computer). It protects against spyware, worms, and has a built-in reporting tool. It offers real-time malware detection and complete server virus protection. This product includes 25 GB of secure online storage.",
      "system_requirements": "867 MHz or faster processor\r\n512MB of RAM; 1GB recommended",
      "operating_system": "WIN98, WINVISTA, WINXP, WINXPX64",
      "client_product_id": "2727"
    },
    "price_country": "US",
    "vat_rate": {
      "value": 0,
      "localized": "0 %"
    }
  }
]
{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "child \"client_id\" fails because [\"client_id\" is required]",
  "validation": {
    "source": "query",
    "keys": [
      "client_id"
    ]
  }
}
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Price not found"
}

Query Params

client_id
string
required

cleverbridge ID for your client account.

product_id
string

List of product IDs, separated by commas.

internalproduct_id
string

List of your internal product IDs, separated by commas.

currency
string

Currency code in capital letters, see ISO 4217. If not set, the currency is based on the customer's GeoIP location.

country
string

Two-character ID of the contact's country, see ISO 3166-1 alpha-2. If not set, the country is based on the customer's GeoIP location.

coupon
string

Coupon code for a promotion associated with the product.

price_rule
string

Price configuration you want to apply.

Headers

Accept-Language
string

Two-character ID of the contact's language (see ISO 639-1) followed by two-character ID of the contact's country (see ISO 3166-1 alpha-2).

Response

successful operation

itemsobject

List of product and pricing items.

items.dataobject

General information about the product.

items.data.client_idnumber

The cleverbridge ID for your client account.

items.data.product_idnumber

Unique ID of the product.

items.data.couponstring

Coupon code for a promotion associated with the product.

items.data.localestring

Two-character ID of the contact's language (see ISO 639-1) followed by two-character ID of the contact's country (see ISO 3166-1 alpha-2).

items.data.currencyobject

Information about the currency.

items.data.currency.symbolstring

Symbol that represents the currency. For example, $ for USD.

items.data.currency.isostring

Currency code in capital letters, see ISO 4217.

items.list-priceobject

Original pricing information for the product.

items.list-price.grossobject

Original pricing information, including taxes.

items.list-price.gross.valuenumber

Original price, including taxes, without formatting.

items.list-price.gross.localizedstring

Original price, including taxes, formatted in the local currency.

items.list-price.netobject

Original pricing information, not including taxes.

items.list-price.net.valuenumber

Original price, not including taxes, without formatting.

items.list-price.net.localizedstring

Original price, not including taxes, formatted in the local currency.

items.list-price.vatobject

Original tax information.

items.list-price.vat.valuenumber

Original taxes, without formatting.

items.list-price.vat.localizedstring

Original taxes in the local currency.

items.discountobject

Discount information for the product.

items.discount.absoluteobject

Total amount subtracted from the list price (for example, $20.00).

items.discount.absolute.grossobject

Total amount subtracted from the list price, including taxes. For descriptions of the response items, see Additional Pricing Response Items.

items.discount.absolute.netobject

Total amount subtracted from the list price, not including taxes. For descriptions of the response items, see Additional Pricing Response Items.

items.discount.absolute.vatobject

Total amount of taxes subtracted from the list price. For descriptions of the response items, see Additional Pricing Response Items.

items.discount.percentageobject

Percentage of the list price that is subtracted (for example, 20%).

items.discount.percentage.valuenumber

Percentage of the list price that is subtracted, without formatting.

items.discount.percentage.localizedstring

Percentage of the list price that is subtracted, formatted with a percent symbol.

items.priceobject

Pricing information for the product after the discount has been subtracted.

items.price.grossobject

Pricing information, including taxes, after the discount has been subtracted.

items.price.gross.valuenumber

Price, including taxes, without formatting, after the discount has been subtracted.

items.price.gross.localizedstring

Price, including taxes, formatted in the local currency, after the discount has been subtracted.

items.price.netobject

Pricing information, not including taxes, after the discount has been subtracted.

items.price.net.valuenumber

Price, not including taxes, without formatting, after the discount has been subtracted.

items.price.net.localizedstring

Price, not including taxes, formatted in the local currency, after the discount has been subtracted.

items.price.vatobject

Tax information, after the discount has been subtracted.

items.price.vat.valuenumber

Taxes without formatting, after the discount has been subtracted.

items.price.vat.localizedstring

Taxes formatted in the local currency, after the discount has been subtracted.

items.productobject

Information about the product.

items.product.namestring

Product name used in customer communication.

items.product.short_descriptionstring

Short description of the product. This corresponds with Product > Images & Content > Product and Marketing Content > Short description in the Commerce Assistant.

items.product.system_requirementsstring

List of requirements a computer must have to use this product. This corresponds with Product > Images & Content > Product and Marketing Content > System requirements in the Commerce Assistant.

items.product.descriptionstring

Long description of the product. This corresponds with Product > Images & Content > Product and Marketing Content > Description in the Commerce Assistant.

items.product.additional_namestring

Product description. Corresponds to the Additional name information in the Commerce Assistant.

items.product.operating_systemstring

List of the operating systems that this product supports.

items.product.client_product_idstring

Your internal product ID.

items.price_countrystring

Two-character ID of the country, see ISO 3166-1 alpha-2.

items.vat_rateobject

Tax rate (percentage) applicable in the country.

items.vat_rate.valuenumber

Tax rate (percentage) in the country, without a percentage sign.

items.vat_rate.localizedstring

Tax rate (percentage) in the country, with a percentage sign.

Bad Request.

statusCodenumber

HTTP Status Code. It can be 200, 400, 404, or 500.

errorstring

Type of error that occured during the request.

messagestring

Explanation for why the error occured.

Invalid data was submitted.

statusCodenumber

HTTP Status Code. It can be 200, 400, 404, or 500.

errorstring

Type of error that occured during the request.

messagestring

Explanation for why the error occured.

Product API

 

Get Product Price

Retrieves real-time price information for a specific product. You can also retrieve up-to-date price information for currencies that you have not set in the Commerce Assistant. This allows you to compare the prices in the cleverbridge cart with those on your website. These prices are updated daily, based on the current exchange rate. As a result, you can use this resource to sync pricing information between your system and the cleverbridge platform on a daily basis.
For XML examples and schemas, see the Additional Examples - Get Product Price.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://rest.cleverbridge.com/product/getproductprice
curl --request GET \
  --url 'https://rest.cleverbridge.com/product/getproductprice?currencyids=EUR&productids=97771%2C%2097772'
var request = require("request");

var options = { method: 'GET',
  url: 'https://rest.cleverbridge.com/product/getproductprice',
  qs: 
   { currencyids: 'EUR',
     productids: '97771, 97772' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/product/getproductprice?currencyids=EUR&productids=97771%2C%2097772")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://rest.cleverbridge.com/product/getproductprice?currencyids=EUR&productids=97771%2C%2097772");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/product/getproductprice"

querystring = {"currencyids":"EUR","productids":"97771, 97772"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "Products": [
    {
      "Id": 1234,
      "ProductPrices": [
        {
          "CurrencyId": "USD",
          "Quantity": 1,
          "SinglePriceNet": 10,
          "SinglePriceVat": 1.9,
          "SinglePriceGross": 11.9,
          "TotalPriceNet": 10,
          "TotalPriceVat": 1.9,
          "TotalPriceGross": 11.9
        }
      ]
    }
  ],
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Product 12345 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "An error has occured processing your request.",
  "Status": 500
}

Query Params

currencyids
string
required

List of ISO 4217 currency codes, separated by commas.

productids
string
required

List of product IDs, separated by commas.

Headers

Accept
string

Expected response format.

Response

Products and Prices

Idinteger

ID of the product.

ProductPricesobject

List of prices.

ProductPrices.ProductPriceobject

Price object for one quantity and currency.

ProductPrices.ProductPrice.CurrencyIdstring

Currency code in capital letters, see ISO 4217.

ProductPrices.ProductPrice.Quantityinteger

Quantity when scale pricing is defined.

ProductPrices.ProductPrice.SinglePriceNetnumber

Price for one unit of a product, not including taxes.

ProductPrices.ProductPrice.SinglePriceVatnumber

Taxes for one unit of a product.

ProductPrices.ProductPrice.SinglePriceGrossnumber

Price for one unit of a product, including taxes.

ProductPrices.ProductPrice.TotalPriceNetnumber

Price for all units of a product, not including taxes.

ProductPrices.ProductPrice.TotalPriceVatnumber

Taxes for all units of a product.

ProductPrices.ProductPrice.TotalPriceGrossnumber

Price for all units of a product, including taxes.

ResultMessagestring

OK

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Internal Server Error

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Purchase API

 

Get Purchase

Retrieves all information about a particular purchase. When you make a call, you get a Purchase object that contains general purchase information, purchase item information, and other customized data (for example, x-parameters and license keys).
For XML examples and schemas, see the Additional Examples - Get Purchase.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://rest.cleverbridge.com/purchase/getpurchase
curl --request GET \
  --url 'https://rest.cleverbridge.com/purchase/getpurchase?purchaseid=115515453&reimbursementid=1'
var request = require("request");

var options = { method: 'GET',
  url: 'https://rest.cleverbridge.com/purchase/getpurchase',
  qs: 
   { purchaseid: '115515453',
     reimbursementid: '1' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/purchase/getpurchase?purchaseid=115515453&reimbursementid=1")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://rest.cleverbridge.com/purchase/getpurchase?purchaseid=115515453&reimbursementid=1");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/purchase/getpurchase"

querystring = {"purchaseid":"115515453","reimbursementid":"1"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "Purchase": {
    "PaidOrderNotification": {
      "NotificationDate": "2017-07-14T14:39:38.123684Z",
      "Purchase": {
        "@Id": "134567890",
        "Status": "Test Order",
        "StatusId": "TST",
        "BillingContact": {
          "Language": "English",
          "LanguageId": "en",
          "Locale": "en-US",
          "Firstname": "Han",
          "Lastname": "Solo",
          "Street1": "Gereonstr. 43",
          "PostalCode": "50670",
          "City": "Köln",
          "Country": "Germany",
          "CountryId": "DE",
          "Email": "han.solo@cleverbridge.com"
        },
        "DeliveryContact": {
          "Language": "English",
          "LanguageId": "en",
          "Locale": "en-US",
          "Firstname": "Han",
          "Lastname": "Solo",
          "Street1": "Gereonstr. 43",
          "PostalCode": "50670",
          "City": "Köln",
          "Country": "Germany",
          "CountryId": "DE",
          "Email": "han.solo@cleverbridge.com"
        },
        "LicenseeContact": {
          "Language": "English",
          "LanguageId": "en",
          "Locale": "en-US",
          "Firstname": "Han",
          "Lastname": "Solo",
          "Street1": "Gereonstr. 43",
          "PostalCode": "50670",
          "City": "Köln",
          "Country": "Germany",
          "CountryId": "DE",
          "Email": "han.solo@cleverbridge.com"
        },
        "PaymentInfo": {
          "Currency": "Euro",
          "CurrencyId": "EUR",
          "PaymentType": "Visa",
          "PaymentTypeId": "CCA_VIS",
          "IsPurchaseOrder": "false"
        },
        "CreationTime": "2017-07-12T15:03:14.146608Z",
        "PaymentArriveTime": "2017-07-14T14:39:38.123684Z",
        "LastModificationTime": "2017-07-14T14:39:38.698744Z",
        "SubscriptionRevenueCategoryId": "AutoRenewal",
        "InternalCustomer": "ErYmqLvw9T2McOpGZfctlD4XHhgrK8cgBRsjplLc",
        "CustomerConfirmationPageUrl": "https://www.cleverbridge.com/864/p/115515453-GWY5QGhwmaSCKCqcdcGC",
        "CustomerPdfDocumentUrl": "https://www.cleverbridge.com/invoice/4U1TIMACV4W9BMH3R636/115515453.pdf",
        "MerchantOfRecord": "AG",
        "Items": {
          "Item": {
            "@RunningNo": "1",
            "ProductId": "97771",
            "ProductName": "Internet Security Basic Extended",
            "ProductNameExtension": "For your home",
            "ProductReportingGroup": "B2C",
            "SupportContactId": "1625",
            "SupportContact": "Default",
            "ClientId": "864",
            "Quantity": "5",
            "YourCurrency": "Euro",
            "YourCurrencyId": "EUR",
            "ProfitCalculation": {
              "GrossRevenue": "79.75",
              "CollectedVat": "12.73",
              "NetRevenue": "67.02",
              "CbMarginPercentage": "0",
              "CbMarginFix": "0",
              "YourNetProfit": "67.02",
              "YourVat": "0",
              "YourGrossProfit": "67.02"
            },
            "YourPrice": {
              "ProductSinglePrice": {
                "NetPrice": "13.404",
                "VatPrice": "0",
                "GrossPrice": "13.404",
                "VatPercentage": "0"
              },
              "ProductTotalPrice": {
                "NetPrice": "67.02",
                "VatPrice": "0",
                "GrossPrice": "67.02",
                "VatPercentage": "0"
              },
              "TotalSinglePrice": {
                "NetPrice": "13.404",
                "VatPrice": "0",
                "GrossPrice": "13.404",
                "VatPercentage": "0"
              },
              "TotalTotalPrice": {
                "NetPrice": "67.02",
                "VatPrice": "0",
                "GrossPrice": "67.02",
                "VatPercentage": "0"
              }
            },
            "CustomerPrice": {
              "ProductSinglePrice": {
                "NetPrice": "13.404",
                "VatPrice": "2.546",
                "GrossPrice": "15.95",
                "VatPercentage": "19"
              },
              "ProductTotalPrice": {
                "NetPrice": "67.02",
                "VatPrice": "12.73",
                "GrossPrice": "79.75",
                "VatPercentage": "19"
              },
              "TotalSinglePrice": {
                "NetPrice": "13.404",
                "VatPrice": "2.546",
                "GrossPrice": "15.95",
                "VatPercentage": "19"
              },
              "TotalTotalPrice": {
                "NetPrice": "67.02",
                "VatPrice": "12.73",
                "GrossPrice": "79.75",
                "VatPercentage": "19"
              }
            },
            "Deliveries": {
              "Key": {
                "DeliveryType": "cleverbridge delivers key",
                "DeliveryTypeId": "cleverbridgeDeliversKey",
                "Key": "Jane Doe, here is your product key for\r\nyour purchase of Internet Security Basic Extended. \r\n\r\n5789512654\r\n\r\n5491256819\r\n\r\n2817780464\r\n\r\n5089643310\r\n\r\n8996102314",
                "KeyRaw": "5789512654\r\n\r\n5491256819\r\n\r\n2817780464\r\n\r\n5089643310\r\n\r\n8996102314"
              }
            },
            "Additionals": null,
            "ExtraParameters": null,
            "RecurringBilling": {
              "@SubscriptionId": "S18577447",
              "@SubscriptionItemRunningNo": "1",
              "OriginalPurchaseId": "94526231",
              "OriginalPurchaseItemRunningNo": "1",
              "IntervalNo": "1",
              "GracePeriodDays": "2",
              "StatusId": "ACT",
              "Status": "Active",
              "ItemStatusId": "ACT",
              "ItemStatus": "Active",
              "NextBillingDate": "2025-04-12T23:20:50.52Z",
              "CancellationUrl": "https://www.cleverbridge.com/864/crb/115515453-GWY5QGhwmaSCKCqcdcGC-1",
              "ChangePaymentSubscriptionUrl": "https://www.cleverbridge.com/864/scp/S18577447-b7Wyad5Ihh1IOOMc",
              "NextBillingProfit": {
                "GrossRevenue": "0",
                "CollectedVat": "0",
                "NetRevenue": "0",
                "CbMarginPercentage": "0",
                "CbMarginFix": "0",
                "YourNetProfit": "0",
                "YourVat": "0",
                "YourGrossProfit": "0"
              }
            }
          }
        },
        "ExtraParameters": {
          "ExtraParameter": {
            "Key": "x-source",
            "Value": "1236"
          }
        }
      }
    }
  },
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Product 12345 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "An error has occured processing your request.",
  "Status": 500
}

Query Params

purchaseid
string
required

Unique ID of an existing purchase.

reimbursementid
string
required

Any combination of numbers. A numerical value is required, but it does not affect the API call.

Headers

Accept
string

Expected response format.

Response

List of products and prices

Purchaseobject

The purchase.

Purchase.PaidOrderNotificationobject

All information found in the PaidOrderNotification. cleverbridge originally sent this notification when payment was received.

Purchase.PaidOrderNotification.NotificationDatestring

Date when PaidOrderNotification was sent according to RFC3339.

Purchase.PaidOrderNotification.Purchaseobject

All information about the purchase.

Purchase.PaidOrderNotification.Purchase.@Idstring

Unique ID of the purchase.

Purchase.PaidOrderNotification.Purchase.Statusstring

Current purchase status.

Purchase.PaidOrderNotification.Purchase.StatusIdstring

Current purchase status notification ID. For more information, see Purchase Status.

Purchase.PaidOrderNotification.BillingContactobject

Contact's billing information.

Purchase.PaidOrderNotification.BillingContact.Languagestring

Contact's language.

Purchase.PaidOrderNotification.BillingContact.LanguageIdstring

Two-character ID of the contact's language, see ISO 639-1.

Purchase.PaidOrderNotification.BillingContact.Localestring

Two-character ID of the contact's language (see ISO 639-1) followed by two-character ID of the contact's country (see ISO 3166-1 alpha-2).

Purchase.PaidOrderNotification.BillingContact.Firstnamestring

Contact's first name.

Purchase.PaidOrderNotification.BillingContact.Lastnamestring

Contact's last name.

Purchase.PaidOrderNotification.BillingContact.Street1string

Contact's street address.

Purchase.PaidOrderNotification.BillingContact.PostalCodestring

Contact's postal code.

Purchase.PaidOrderNotification.BillingContact.Citystring

Contact's city.

Purchase.PaidOrderNotification.BillingContact.Countrystring

Contact's country.

Purchase.PaidOrderNotification.BillingContact.CountryIdstring

Two-character ID of the contact's country, see ISO 3166-1 alpha-2.

Purchase.PaidOrderNotification.BillingContact.Emailstring

Contact's email address.

Purchase.PaidOrderNotification.DeliveryContactobject

Contact's delivery information.

Purchase.PaidOrderNotification.DeliveryContact.Languagestring

Contact's language.

Purchase.PaidOrderNotification.DeliveryContact.LanguageIdstring

Two-character ID of the contact's language, see ISO 639-1.

Purchase.PaidOrderNotification.DeliveryContact.Localestring

Two-character ID of the contact's language (see ISO 639-1) followed by two-character ID of the contact's country (see ISO 3166-1 alpha-2).

Purchase.PaidOrderNotification.DeliveryContact.Firstnamestring

Contact's first name.

Purchase.PaidOrderNotification.DeliveryContact.Lastnamestring

Contact's last name.

Purchase.PaidOrderNotification.DeliveryContact.Street1string

Contact's street address.

Purchase.PaidOrderNotification.DeliveryContact.PostalCodestring

Contact's postal code.

Purchase.PaidOrderNotification.DeliveryContact.Citystring

Contact's city.

Purchase.PaidOrderNotification.DeliveryContact.Countrystring

Contact's country.

Purchase.PaidOrderNotification.DeliveryContact.CountryIdstring

Two-character ID of the contact's country, see ISO 3166-1 alpha-2.

Purchase.PaidOrderNotification.DeliveryContact.Emailstring

Contact's email address.

Purchase.PaidOrderNotification.LicenseeContactobject

Contact's licensee information.

Purchase.PaidOrderNotification.LicenseeContact.Languagestring

Contact's language.

Purchase.PaidOrderNotification.LicenseeContact.LanguageIdstring

Two-character ID of the contact's language, see ISO 639-1.

Purchase.PaidOrderNotification.LicenseeContact.Localestring

Two-character ID of the contact's language (see ISO 639-1) followed by two-character ID of the contact's country (see ISO 3166-1 alpha-2).

Purchase.PaidOrderNotification.LicenseeContact.Firstnamestring

Contact's first name.

Purchase.PaidOrderNotification.LicenseeContact.Lastnamestring

Contact's last name.

Purchase.PaidOrderNotification.LicenseeContact.Street1string

Contact's street address.

Purchase.PaidOrderNotification.LicenseeContact.PostalCodestring

Contact's postal code.

Purchase.PaidOrderNotification.LicenseeContact.Citystring

Contact's city.

Purchase.PaidOrderNotification.LicenseeContact.Countrystring

Contact's country.

Purchase.PaidOrderNotification.LicenseeContact.CountryIdstring

Two-character ID of the contact's country, see ISO 3166-1 alpha-2.

Purchase.PaidOrderNotification.LicenseeContact.Emailstring

Contact's email address.

Purchase.PaidOrderNotification.PaymentInfoobject

Information about the payments.

Purchase.PaidOrderNotification.PaymentInfo.Currencystring

The currency of the defined price.

Purchase.PaidOrderNotification.PaymentInfo.CurrencyIdstring

Currency code in capital letters, see ISO 4217.

Purchase.PaidOrderNotification.PaymentInfo.PaymentTypestring

Payment method used.

Purchase.PaidOrderNotification.PaymentInfo.PaymentTypeIdstring

ID of the payment method.

Purchase.PaidOrderNotification.PaymentInfo.IsPurchaseOrderstring

Whether or not a purchase order was used.

Purchase.PaidOrderNotification.CreationTimestring

Date and time when purchase was created according to RFC3339.

Purchase.PaidOrderNotification.PaymentArriveTimestring

Date and time when payment was processed according to RFC3339.

Purchase.PaidOrderNotification.LastModificationTimestring

Date and time when the last change was made according to RFC3339.

Purchase.PaidOrderNotification.SubscriptionRevenueCategoryIdstring

Type of subscription. For example, AutoRenewal or ManualRenewal.

Purchase.PaidOrderNotification.InternalCustomerstring

Your unique ID for a customer.

Purchase.PaidOrderNotification.CustomerConfirmationPageUrlstring

URL where the customer's confirmation page is located.

Purchase.PaidOrderNotification.CustomerPdfDocumentUrlstring

URL where the PDF document sent to the customer is located.

Purchase.PaidOrderNotification.MerchantOfRecordstring

Whether cleverbridge acted as the merchant of record.

Purchase.PaidOrderNotification.Itemsobject

List of purchase items.

Purchase.PaidOrderNotification.Items.Itemobject

Information about a purchase item. For descriptions of the response items, see Additional Purchase Response Items.

Purchase.PaidOrderNotification.YourPriceobject

Pricing information that your company set up in the cleverbridge platform.

Purchase.PaidOrderNotification.YourPrice.ProductSinglePriceobject

Basic pricing information for one unit of a product. For descriptions of the response items, see Additional Purchase Response Items.

Purchase.PaidOrderNotification.YourPrice.ProductTotalPriceobject

Basic pricing information for all units of a product. For descriptions of the response items, see Additional Purchase Response Items.

Purchase.PaidOrderNotification.YourPrice.TotalSinglePriceobject

Complete pricing information for one unit. For descriptions of the response items, see Additional Purchase Response Items.

Purchase.PaidOrderNotification.YourPrice.TotalTotalPriceobject

Complete pricing information for all units of a product. For descriptions of the response items, see Additional Purchase Response Items.

Purchase.PaidOrderNotification.CustomerPriceobject

Pricing information that the customer receives during the purchase process.

Purchase.PaidOrderNotification.CustomerPrice.ProductSinglePriceobject

Basic pricing information for one unit of a product. For descriptions of the response items, see Additional Purchase Response Items.

Purchase.PaidOrderNotification.CustomerPrice.ProductTotalPriceobject

Basic pricing information for all units of a product. For descriptions of the response items, see Additional Purchase Response Items.

Purchase.PaidOrderNotification.CustomerPrice.TotalSinglePriceobject

Complete pricing information for one unit. For descriptions of the response items, see Additional Purchase Response Items.

Purchase.PaidOrderNotification.CustomerPrice.TotalTotalPriceobject

Complete pricing information for all units of a product. For descriptions of the response items, see Additional Purchase Response Items.

Purchase.PaidOrderNotification.Deliveriesobject

Information about the delivery(s).

Purchase.PaidOrderNotification.Deliveries.Keyobject

Information about a delivery. For descriptions of the response items, see Additional Purchase Response Items.

Purchase.PaidOrderNotification.Additionalsstring

Additional information about the transaction.

Purchase.PaidOrderNotification.RecurringBillingobject

Information about the subscription (if applicable).

Purchase.PaidOrderNotification.RecurringBilling.@SubscriptionIdstring

Unique ID of the subscription.

Purchase.PaidOrderNotification.RecurringBilling.@SubscriptionItemRunningNostring

Running number of the item in the subscription.

Purchase.PaidOrderNotification.RecurringBilling.OriginalPurchaseIdstring

Unique ID of the purchase.

Purchase.PaidOrderNotification.RecurringBilling.OriginalPurchaseItemRunningNostring

Running number of the item in the purchase.

Purchase.PaidOrderNotification.RecurringBilling.IntervalNostring

Number of the last successfully paid interval of the subscription. Counting starts at 0. For each successfully paid interval, the number is increased by one.

Purchase.PaidOrderNotification.RecurringBilling.GracePeriodDaysstring

The number of days in which the customer can use the product during a grace period.

Purchase.PaidOrderNotification.RecurringBilling.StatusIdstring

ID that correspondes to the Status.

Purchase.PaidOrderNotification.RecurringBilling.Statusstring

Status of the subscription. For more information, see Subscription Statuses.

Purchase.PaidOrderNotification.RecurringBilling.ItemStatusIdstring

ID that correspondes to the Item Status.

Purchase.PaidOrderNotification.RecurringBilling.ItemStatusstring

Status of the subscription item. For more information, see Subscription Statuses.

Purchase.PaidOrderNotification.RecurringBilling.NextBillingDatestring

Next billing date according to RFC3339. Specified in UTC.

Purchase.PaidOrderNotification.RecurringBilling.CancellationUrlstring

URL where the customer can find the subscription cancellation page.

Purchase.PaidOrderNotification.RecurringBilling.ChangePaymentSubscriptionUrlstring

URL where the customer can find the change payment method page.

Purchase.PaidOrderNotification.RecurringBilling.NextBillingProfitobject

Financial figures related to the NextBillingDate.

Purchase.PaidOrderNotification.ExtraParametersobject

X-parameters used in the transaction.

Purchase.PaidOrderNotification.ExtraParameters.ExtraParameterobject

X-parameter used in the transaction.

ResultMessagestring

OK

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Internal Server Error

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Get Purchase List

Retrieves an extensive list of purchases for a specified time period.
For XML examples and schemas, see the Additional Examples - Get Purchase List.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://rest.cleverbridge.com/purchase/getpurchaselist
curl --request GET \
  --url 'https://rest.cleverbridge.com/purchase/getpurchaselist?startdatetime=2016-01-01T00%3A00%3A00&enddatetime=2017-01-01T00%3A00%3A00&purchasestatusids=TST_RFD'
var request = require("request");

var options = { method: 'GET',
  url: 'https://rest.cleverbridge.com/purchase/getpurchaselist',
  qs: 
   { startdatetime: '2016-01-01T00:00:00',
     enddatetime: '2017-01-01T00:00:00',
     purchasestatusids: 'TST_RFD' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/purchase/getpurchaselist?startdatetime=2016-01-01T00%3A00%3A00&enddatetime=2017-01-01T00%3A00%3A00&purchasestatusids=TST_RFD")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://rest.cleverbridge.com/purchase/getpurchaselist?startdatetime=2016-01-01T00%3A00%3A00&enddatetime=2017-01-01T00%3A00%3A00&purchasestatusids=TST_RFD");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/purchase/getpurchaselist"

querystring = {"startdatetime":"2016-01-01T00:00:00","enddatetime":"2017-01-01T00:00:00","purchasestatusids":"TST_RFD"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "Purchases": [
    {
      "PurchaseId": 86160452,
      "PurchasestatusId": "TST_RFD",
      "ReimbursementId": 2137154,
      "ReimbursementtypeId": "FUL"
    }
  ],
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Product 12345 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "An error has occured processing your request.",
  "Status": 500
}

Query Params

startdatetime
string
required

Start date and time for period.

enddatetime
string
required

End date and time for period.

purchasestatusids
string
required

Purchase status IDs. For more information, see Purchase Status.

Headers

Accept
string

Expected response format.

Response

List of products and prices

Purchasesobject

List of purchases.

Purchases.PurchaseNotificationobject

The purchase.

Purchases.PurchaseNotification.PurchaseIdinteger

Unique ID of an existing purchase.

Purchases.PurchaseNotification.PurchasestatusIdstring

Current purchase status ID. For more information, see Purchase Status.

Purchases.PurchaseNotification.ReimbursementIdinteger

Unique ID of a reimbursement.

Purchases.PurchaseNotification.ReimbursementtypeIdstring

ID for the type of reimbursement. For more information, see Reimbursement Type.

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Internal Server Error

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Get Purchase List by IDs

Retrieves a list purchases for a specified range of PurchaseIDs or ReimbursementIDs.
For XML examples and schemas, see the Additional Examples - Get Purchase List By IDs.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://rest.cleverbridge.com/purchase/getpurchaselistByIds
curl --request GET \
  --url 'https://rest.cleverbridge.com/purchase/getpurchaselistByIds?startpurchaseid=86160452&purchasestatusids=TST_RFD'
var request = require("request");

var options = { method: 'GET',
  url: 'https://rest.cleverbridge.com/purchase/getpurchaselistByIds',
  qs: 
   { startpurchaseid: '86160452',
     purchasestatusids: 'TST_RFD' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/purchase/getpurchaselistByIds?startpurchaseid=86160452&purchasestatusids=TST_RFD")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://rest.cleverbridge.com/purchase/getpurchaselistByIds?startpurchaseid=86160452&purchasestatusids=TST_RFD");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/purchase/getpurchaselistByIds"

querystring = {"startpurchaseid":"86160452","purchasestatusids":"TST_RFD"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "Purchases": [
    {
      "PurchaseId": 86160452,
      "PurchasestatusId": "TST_RFD",
      "ReimbursementId": 2137154,
      "ReimbursementtypeId": "FUL"
    }
  ],
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Product 12345 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "An error has occured processing your request.",
  "Status": 500
}

Query Params

startpurchaseid
string
required

First purchase ID in a range of IDs.

endpurchaseid
string

Last purchase ID in a range of IDs.

purchasestatusids
string
required

Purchase status IDs. For more information, see Purchase Status.

Headers

Accept
string

Expected response format.

Response

List of products and prices

Purchasesobject

List of purchases.

Purchases.PurchaseNotificationobject

The purchase.

Purchases.PurchaseNotification.PurchaseIdinteger

Unique ID of an existing purchase.

Purchases.PurchaseNotification.PurchasestatusIdstring

Current purchase status ID. For more information, see Purchase Status.

Purchases.PurchaseNotification.ReimbursementIdinteger

Unique ID of a reimbursement.

Purchases.PurchaseNotification.ReimbursementtypeIdstring

ID for the type of reimbursement. For more information, see Reimbursement Type.

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Internal Server Error

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Update License Key

Updates the license key for an item in an existing purchase.
For XML examples and schemas, see the Additional Examples - Update License Key.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/purchase/updatelicensekey
curl --request POST \
  --url https://rest.cleverbridge.com/purchase/updatelicensekey
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/purchase/updatelicensekey' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/purchase/updatelicensekey")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/purchase/updatelicensekey");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/purchase/updatelicensekey"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "An error has occured processing your request.",
  "Status": 500
}

Body Params

PurchaseId
int64
required

Unique ID of an existing purchase.

PurchaseItemRunningNumber
int64
required

Running number of the item in the purchase.

LicenseKey
string
required

New license key for an item in an existing purchase.

Headers

Content-Type
string

Format of the HTTP post body.

Accept
string

Expected response format.

Response

License key

ResultMessagestring

Optional result or error message.

Internal Server Error

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Update Purchase Parameters

Updates the x-parameters for a purchase. If the parameter key existed in the purchase, the parameter value will be overwritten. If the parameter key did not exist in the purchase, the parameter key and value pair will be created.
For XML examples and schemas, see the Additional Examples - Update Purchase Parameters.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/purchase/updatepurchaseparameters
curl --request POST \
  --url https://rest.cleverbridge.com/purchase/updatepurchaseparameters
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/purchase/updatepurchaseparameters' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/purchase/updatepurchaseparameters")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/purchase/updatepurchaseparameters");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/purchase/updatepurchaseparameters"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

PurchaseId
int64
required

Unique ID of an existing purchase.

Items
array of objects
required

List of x-parameters as key-value pairs.

Key
Value

Headers

Content-Type
string

Format of the HTTP post body.

Accept
string

Expected response format.

Response

Returns successful operation

ResultMessagestring

OK

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

URL Generator API

 

Generate Protected URL

Creates a unique URL (UURL), which you can use to protect a destination URL. Protection is necessary when the destination URL contains dynamic products, confidential products, and customer profile data. It also allows you to place various restrictions on the unique URL.
For more information, see Protected URLs. For XML examples and schemas, see the Additional Examples - Generate Protected URL.

Warning - Do not use protected URLs (UURLs) if you plan on creating a large quantity of URLs (10,000 or more). This can hurt the cleverbridge platform and slow down your customers' checkout experience. If you plan on creating a large quantity of URLs, you should use session URLs (SURLs) or dynamic protected URLs (dynamic UURLs). For more information, contact Client Experience.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/urlgenerator/generateprotectedurl
curl --request POST \
  --url https://rest.cleverbridge.com/urlgenerator/generateprotectedurl
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/urlgenerator/generateprotectedurl' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/urlgenerator/generateprotectedurl")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/urlgenerator/generateprotectedurl");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/urlgenerator/generateprotectedurl"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "Items": [
    {
      "Identifier": "pg5zjikcv9",
      "Url": "https://www.cleverbridge.com/864/uurl-pg5zjikcv9"
    }
  ],
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "An error has occured processing your request.",
  "Status": 500
}

Body Params

AllowToChangeCart
boolean

Whether the customer can edit the quantity of the product in the cart.

MaxQuantity
int64
required

Maximum number of orders for which the link is valid. Only submitted orders are counted. When the maximum is reached, the link automatically expires, and no more orders are accepted. The number must be between 0 and 99999.

ResultItemQuantity
int64

Number of protected URLs that are generated. The number must be between 1 and 1000.

TargetUrl
string
required

The destination URL that you want to protect. If you are making an API request using XML, the TargetURL must be encoded, see HTML URL Encoding Reference. For an overview of all supported parameters, see List of Checkout Process Parameters.

ValidFrom
date-time

Start date and time according to RFC3339.

ValidUntil
date-time

End date and time according to RFC3339.

Headers

Content-Type
string

Format of the HTTP post body.

Accept
string

Expected response format.

Response

Session URL

Itemsobject

List of generated URL items.

Items.Itemobject

The protected URL item.

Items.Item.Identifierstring

Identifier used in the URL.

Items.Item.Urlstring

The generated URL.

ResultMessagestring

Optional result or error message.

Internal Server Error

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Generate User Session URL

Creates a session URL (SURL). Session URLs are either valid for one purchase, or for 72 hours after the last web hit for that session has been requested by the cleverbridge web servers. Various marketing campaigns sometimes require the customer to make a purchase within a limited time or for a maximum quantity. This resource allows you to define those parameters.
For more information, see Session URLs. For XML examples and schemas, see the Additional Examples - Generate User Session URL.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/urlgenerator/generateusersessionurl
curl --request POST \
  --url https://rest.cleverbridge.com/urlgenerator/generateusersessionurl
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/urlgenerator/generateusersessionurl' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/urlgenerator/generateusersessionurl")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/urlgenerator/generateusersessionurl");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/urlgenerator/generateusersessionurl"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "Url": "https://www.cleverbridge.com/8/surl-71thbtIAkT",
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "An error has occured processing your request.",
  "Status": 500
}

Body Params

TargetUrl
string
required

The destination URL for which you want to create a session URL. If you are making an API request using XML, the TargetURL must be encoded, see HTML URL Encoding Reference. For an overview of all supported parameters, see List of Checkout Process Parameters.

CurrentSessionId
string

Unique ID of an existing session URL. If you use this parameter, the data from an existing session will be copied to the new session, directly behind the generated Url. As a result, the customer will not loose the settings associated with the existing session.

Headers

Content-Type
string

Format of the HTTP post body.

Accept
string

Expected response format.

Response

Session URL

Urlstring

The generated session URL.

ResultMessagestring

Optional result or error message.

Internal Server Error

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Cart API

 

Process Cart

Processes an order automatically. The customer does not need to use a browser, interact with cleverbridge, or enter new payment information. Instead, cleverbridge uses the customer's most recent payment details to process the order. If the order cannot be processed automatically, the API returns a unique URL that can be sent to the customer in order to complete their transaction on the cleverbridge-hosted page. To process an order, you have to submit a customer identifier and the cart item(s). The customer identifier can be a former purchase ID of an existing customer with cleverbridge (LogonPurchaseId), your own client account identifier (CustomerReferenceId), or a subscription ID (SubscriptionId).
For more information, see Submitting Orders Using ProcessCart. For XML examples and schemas, see the Additional Examples - Process Cart.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/cart/processcart
curl --request POST \
  --url https://rest.cleverbridge.com/cart/processcart
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/cart/processcart' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/cart/processcart")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/cart/processcart");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/cart/processcart"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "TestOrder",
  "ProcessResult": 2,
  "PurchaseId": 145634561,
  "ContinueUrl": null,
  "Error": null,
  "IsPaymentRetryScheduled": false,
  "PaymentResult": {
    "Code": "GEN_PAY",
    "Message": "Successful"
  }
}
{
  "Id": null,
  "Message": "Invalid request.",
  "Status": 400
}
{
  "ResultMessage": "OK",
  "ContinueUrl": "http://www.cleverbridge.com/2/p/123546-sf78g97sd897g8df",
  "Error": {
    "Code": "API_CNF",
    "Message": "Customer not found"
  },
  "ProcessResult": "CustomerActionNeeded",
  "PurchaseId": "0",
  "IsPaymentRetryScheduled": "false",
  "Status": 500
}

Body Params

Cart
object

The order to be processed.

 
Cart.AcceptSubscription
boolean

Applies only to orders containing a subscription product. If set to true, an active subscription is created. If set to false, a subscription with status Deactivated and item status Awaiting Reinstate is created.

Cart.BillingContact
object

Person or company that purchases the software or signs up for the subscription. Contact information used for communication about payments.

 
Cart.BillingContact.LanguageId
string
required

Two-character ID of the contact's language, see ISO 639-1. You must submit this with lower-case letters, for example en.

Cart.BillingContact.SalutationId
string

Contact's salutation. Possible values are Mr. = MR, Ms. = MS, Mrs. = MRS, Miss = MIS.

Cart.BillingContact.Title
string

Contact's title.

Cart.BillingContact.Company
string

Name of the company (if applicable).

Cart.BillingContact.CompanyKatakana
string

Name of the company in Katakana (if applicable).

Cart.BillingContact.CompanyRomanized
string

Romanized name of the company (if applicable).

Cart.BillingContact.CompanyTypeId
string

ID of the company type. Possible values are Company = COM, Governmental = GOV, Miscellaneous = MIS, Non-profit = NPR and School/University = UNI.

Cart.BillingContact.VatId
string

Taxation number of the contact's company. It must be up-to-date, accurate, and correspond with the CountryId.

Cart.BillingContact.Firstname
string

Contact's first name.

Cart.BillingContact.FirstnameKatakana
string

Contact's first name in Katakana.

Cart.BillingContact.FirstnameRomanized
string

Contact's romanized first name.

Cart.BillingContact.Lastname
string

Contact's last name.

Cart.BillingContact.LastnameKatakana
string

Contact's last name in Katakana.

Cart.BillingContact.LastnameRomanized
string

Contact's romanized last name.

Cart.BillingContact.Street1
string

Contact's street address.

Cart.BillingContact.Street2
string

Contact's additional street information.

Cart.BillingContact.PostalCode
string

Contact's postal code.

Cart.BillingContact.City
string

Contact's city.

Cart.BillingContact.StateId
string

Five- or six-character ID of the contact's country and state. State submissions are possible for Australia, Brazil, Canada, India, Ireland, Japan, the UAE, and the USA. Submit with capital letters, for example US-GA, AU-NSW, or JP-13. The country and state codes are separated by a dash, see ISO 3166-2.

Cart.BillingContact.CountryId
string
required

Two-character ID of the contact's country. Submit with capital letters, for example US. See ISO 3166-1 alpha-2.

Cart.BillingContact.Phone1
string

Contact's phone number.

Cart.BillingContact.Phone2
string

Contact's additional phone number.

Cart.BillingContact.Fax
string

Contact's fax number.

Cart.BillingContact.EMail
string

Contact's email address. Note: cleverbridge has no pattern checking and does not validate email addresses.

Cart.BillingContact.Url
string

Contact's website URL.

Cart.CartItems
array of objects
required

List of cart items. ProductId and Quantity are required. For a list of all of the CartItemsparameters that are available, see Additional Cart Parameters. To use the 'Try It' function, enter 97771 as ProductId and any number as the Quantity. After that, click the 'Add Object' button.

ProductId
Quantity
Cart.DefaultCountryId
string
required

Two-character ID of country, see ISO 3166-1 alpha-2.

Cart.DefaultCurrencyId
string

Currency code in capital letters, see ISO 4217.

Cart.DefaultLanguageId
string
required

Two-character ID of the language, see ISO 639-1.

Cart.ConfigurationName
string

The parameter name of a configuration for your checkout process. Configurations ensure that checkout pages fit your branding. They are set up in the Commerce Assistant.

Cart.Coupons
array of strings

Coupon code for a promotion. The customer will be given a discount on the next renewal or a future renewal, depending on the configuration of the coupon code.

Cart.CustomerIsReseller
boolean

Whether the transaction is saved as a 'reseller order'. This can affect various calculations, including taxes and commissions. If the transaction fails, you get a checkout page with &scope=checkoutres.

Cart.CustomerReferenceId
string

Your unique ID for the customer. This value is submitted by you when the customer initially purchases a product and is stored by cleverbridge. Corresponds to the Internal customer ID in the Commerce Assistant. It can be used to identify the customer and auto-process the order. If the order contains a subscription product, a new subscription is created. For more information, see Internal Customer Data.

Cart.DeliveryContact
object

Person or company to whom the software or service is delivered. Contact information used for physical shipments, electronic delivery and communication concerning the delivery of licensing information.

 
Cart.DeliveryContact.LanguageId
string
required

Two-character ID of the contact's language, see ISO 639-1. You must submit this with lower-case letters, for example en.

Cart.DeliveryContact.SalutationId
string

Contact's salutation. Possible values are Mr. = MR, Ms. = MS, Mrs. = MRS, Miss = MIS.

Cart.DeliveryContact.Title
string

Contact's title.

Cart.DeliveryContact.Company
string

Name of the company (if applicable).

Cart.DeliveryContact.CompanyKatakana
string

Name of the company in Katakana (if applicable).

Cart.DeliveryContact.CompanyRomanized
string

Romanized name of the company (if applicable).

Cart.DeliveryContact.CompanyTypeId
string

ID of the company type. Possible values are Company = COM, Governmental = GOV, Miscellaneous = MIS, Non-profit = NPR and School/University = UNI.

Cart.DeliveryContact.VatId
string

Taxation number of the contact's company. It must be up-to-date, accurate, and correspond with the CountryId.

Cart.DeliveryContact.Firstname
string

Contact's first name.

Cart.DeliveryContact.FirstnameKatakana
string

Contact's first name in Katakana.

Cart.DeliveryContact.FirstnameRomanized
string

Contact's romanized first name.

Cart.DeliveryContact.Lastname
string

Contact's last name.

Cart.DeliveryContact.LastnameKatakana
string

Contact's last name in Katakana.

Cart.DeliveryContact.LastnameRomanized
string

Contact's romanized last name.

Cart.DeliveryContact.Street1
string

Contact's street address.

Cart.DeliveryContact.Street2
string

Contact's additional street information.

Cart.DeliveryContact.PostalCode
string

Contact's postal code.

Cart.DeliveryContact.City
string

Contact's city.

Cart.DeliveryContact.StateId
string

Five- or six-character ID of the contact's country and state. State submissions are possible for Australia, Brazil, Canada, India, Ireland, Japan, the UAE, and the USA. Submit with capital letters, for example US-GA, AU-NSW, or JP-13. The country and state codes are separated by a dash, see ISO 3166-2.

Cart.DeliveryContact.CountryId
string
required

Two-character ID of the contact's country. Submit with capital letters, for example US. See ISO 3166-1 alpha-2.

Cart.DeliveryContact.Phone1
string

Contact's phone number.

Cart.DeliveryContact.Phone2
string

Contact's additional phone number.

Cart.DeliveryContact.Fax
string

Contact's fax number.

Cart.DeliveryContact.EMail
string

Contact's email address. Note: cleverbridge has no pattern checking and does not validate email addresses.

Cart.DeliveryContact.Url
string

Contact's website URL.

Cart.ExtraParameters
array of objects

List of x-parameters for adding additional information to the purchase. Submit as key-value pairs. All keys must begin with x-. For more information, see X-Parameters.

Key
Value
Cart.LicenseeContact
object

Person or company that the software license is registered to. Contact information used for the generation of licensing information.

 
Cart.LicenseeContact.LanguageId
string
required

Two-character ID of the contact's language, see ISO 639-1. You must submit this with lower-case letters, for example en.

Cart.LicenseeContact.SalutationId
string

Contact's salutation. Possible values are Mr. = MR, Ms. = MS, Mrs. = MRS, Miss = MIS.

Cart.LicenseeContact.Title
string

Contact's title.

Cart.LicenseeContact.Company
string

Name of the company (if applicable).

Cart.LicenseeContact.CompanyKatakana
string

Name of the company in Katakana (if applicable).

Cart.LicenseeContact.CompanyRomanized
string

Romanized name of the company (if applicable).

Cart.LicenseeContact.CompanyTypeId
string

ID of the company type. Possible values are Company = COM, Governmental = GOV, Miscellaneous = MIS, Non-profit = NPR and School/University = UNI.

Cart.LicenseeContact.VatId
string

Taxation number of the contact's company. It must be up-to-date, accurate, and correspond with the CountryId.

Cart.LicenseeContact.Firstname
string

Contact's first name.

Cart.LicenseeContact.FirstnameKatakana
string

Contact's first name in Katakana.

Cart.LicenseeContact.FirstnameRomanized
string

Contact's romanized first name.

Cart.LicenseeContact.Lastname
string

Contact's last name.

Cart.LicenseeContact.LastnameKatakana
string

Contact's last name in Katakana.

Cart.LicenseeContact.LastnameRomanized
string

Contact's romanized last name.

Cart.LicenseeContact.Street1
string

Contact's street address.

Cart.LicenseeContact.Street2
string

Contact's additional street information.

Cart.LicenseeContact.PostalCode
string

Contact's postal code.

Cart.LicenseeContact.City
string

Contact's city.

Cart.LicenseeContact.StateId
string

Five- or six-character ID of the contact's country and state. State submissions are possible for Australia, Brazil, Canada, India, Ireland, Japan, the UAE, and the USA. Submit with capital letters, for example US-GA, AU-NSW, or JP-13. The country and state codes are separated by a dash, see ISO 3166-2.

Cart.LicenseeContact.CountryId
string
required

Two-character ID of the contact's country. Submit with capital letters, for example US. See ISO 3166-1 alpha-2.

Cart.LicenseeContact.Phone1
string

Contact's phone number.

Cart.LicenseeContact.Phone2
string

Contact's additional phone number.

Cart.LicenseeContact.Fax
string

Contact's fax number.

Cart.LicenseeContact.EMail
string

Contact's email address. Note: cleverbridge has no pattern checking and does not validate email addresses.

Cart.LicenseeContact.Url
string

Contact's website URL.

Cart.LogonPurchaseId
int64

Former purchase ID of the customer. It can be used to identify the customer and auto-process the order. If the order contains a subscription product, a new subscription is created.

Cart.Pricelistrules
array

Price configurations to be applied.

Cart.Recommendationsets
array

ID of the 'recommendation set' to which the product belongs. Corresponds to the Recommendation ID in the Commerce Assistant. Used for reporting purposes only.

Cart.Trackingparameters
array

Parameter names of third-party tracking to be triggered. Third-party tracking is set up in the Commerce Assistant.

Cart.UseInternalContacts
boolean
required

If the value is true, the contact information in the platform is used and any contact information in the request is ignored, unless the field is empty in the platform. If the value is false, the contact information in the platform is overwritten with the contact information in the request.

ProcessCartMode
string

How the order is processed. With interactive you can interact directly with the customer if any information is outdated or invalid. This method returns a session URL. For a JSON request, the data type is integer. Use the following integers:
0 - interactive
1 - noninteractive
For more information, see ProcessCart Mode.

FraudProtectionMode
string

Enable or disable fraud protection. Fraud protection ensures that suspicious orders are inspected by the cleverbridge anti-fraud team. Warning: Only deactivate fraud protection if it is important that none of the orders are delayed due to inspection. For a JSON request, the data type is integer. Use the following integers:
0 - Disabled
1 - Enabled

Subscription
object

Use only if the order contains a subscription product and if you handle subscriptions yourself. Assigns the purchase to an existing subscription. The SubscriptionId can be used to identify the customer and auto-process the order.

 
Subscription.SubscriptionId
string

Unique ID of the subscription, with or without an initial 'S'.

ExtraParameterMode
string

If the order contains a subscription product, you can control how the x-parameters defined in Cart.ExtraParameters are used. If set to PurchaseOnly, the x-parameters are only added to the initial purchase of the subscription. If set to SubscriptionOnly, the x-parameters are only added to subsequent billing events. If set to Default, the x-parameters are added to both the initial purchase of the subscription and subsequent billing events. For a JSON request, the data type is integer. Use the following integers:
0 - Default
1 - PurchaseOnly
2 - SubscriptionOnly
For more information, see X-Parameters.

Headers

Content-Type
string

Format of the HTTP post body.

Accept
string

Expected response format.

Response

successful operation

ResultMessagestring

Optional result or error message.

ProcessResultstring

The result. For a JSON response, the data type is integer. Possible values are:
0 - Paid
1 - WaitingForOfflinePayment
2 - TestOrder
3 - Pending
4 - Failed
5 - CustomerActionNeeded
6 - ContactMissing
7 - SubscriptionNotFound

PurchaseIdinteger

Unique ID of the purchase that was created.

ContinueUrlstring

URL of web page with transaction details or payment instructions.

Errorstring

Error message.

IsPaymentRetryScheduledboolean

Indicates whether a payment retry has been scheduled for a subscription because the payment failed. For more information, see About Retry Logic.

PaymentResultobject

Payment result information.

PaymentResult.Codestring

ID for the payment result. For more information, see Payment Result.

PaymentResult.Messagestring

Description of the payment result.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Internal Server Error

ResultMessagestring

Optional result or error message.

ContinueUrlstring

URL of web page with transaction details or payment instructions.

Errorobject
Error.Codestring

Error code.

Error.Messagestring

Error message.

ProcessResultstring

The result. For a JSON response, the data type is integer. Possible values are:
0 - Paid
1 - WaitingForOfflinePayment
2 - TestOrder
3 - Pending
4 - Failed
5 - CustomerActionNeeded
6 - ContactMissing
7 - SubscriptionNotFound

PurchaseIdinteger

Unique ID of the purchase that was created.

IsPaymentRetryScheduledboolean

Indicates whether a payment retry has been scheduled for a subscription because the payment failed. For more information, see About Retry Logic.

Generate Cart Preview

Creates a cart preview that is populated with product and price information and allows you to obtain the cleverbridge cart as a JSON or XML file. You can use this resource to access what customers see when they use a certain IP address or language. You can also use the response to populate your web page with product and pricing information stored in the cleverbridge platform. This circumvents the need to maintain duplicate product and pricing information in both your database and on the cleverbridge platform. In addition, you have the option of generating a session URL (SURL). For more information, see Session URLs.
For XML examples and schemas, see the Additional Examples - Generate Cart Preview.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/cart/generatecartpreview
curl --request POST \
  --url https://rest.cleverbridge.com/cart/generatecartpreview
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/cart/generatecartpreview' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/cart/generatecartpreview")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/cart/generatecartpreview");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/cart/generatecartpreview"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "Cart": {
    "CurrencyId": "EUR",
    "Currency": "Euros",
    "LanguageId": "en",
    "Language": "English",
    "TotalPrice": {
      "CurrencyId": "EUR",
      "Currency": "Euros",
      "Gross": 24.68,
      "Net": 23.5,
      "Vat": 1.18,
      "VatPercentage": 5
    },
    "CartItems": [
      {
        "RunningNumber": 2,
        "ProductId": 260634,
        "InternalProductId": "55555",
        "Name": "Games for All",
        "NameExtension": "Monthly Subscription - 1 Device",
        "Quantity": 1,
        "SinglePrice": {
          "CurrencyId": "EUR",
          "Currency": "Euros",
          "Gross": 24.68,
          "Net": 23.5,
          "Vat": 1.18,
          "VatPercentage": 5
        },
        "TotalPrice": {
          "CurrencyId": "EUR",
          "Currency": "Euros",
          "Gross": 24.68,
          "Net": 23.5,
          "Vat": 1.18,
          "VatPercentage": 5
        },
        "Discount": null
      }
    ]
  },
  "SessionUrl": null,
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Invalid IP Address",
  "Status": 400
}

Body Params

ShoppingCartUrl
string
required

The URL you would use to redirect the customer to the checkout process. If the API request is sent in XML, the URL must be encoded. For more information, see the HTML URL Encoding Reference.

RemoteAddress
string
required

The IPv4-Address that corresponds with the country, state, etc. of the customer.

AcceptLanguage
string

The Accept-Language Header as submitted by the customer's browser.

GenerateSessionUrl
boolean

Set to true to receive a session URL (SURL) in the response. A session URL is only valid for one purchase or 72 hours after the last web hit for that session has been requested from the cleverbridge web servers.

Headers

Content-Type
string

Format of the HTTP post body.

Accept
string

Expected response format.

Response

successful operation

ResultMessagestring

Optional result or error message.

Cartobject

Preview of the shopping cart with product and pricing information.

Cart.CurrencyIdstring

Currency code in capital letters, see ISO 4217.

Cart.LanguageIdstring

Two-character ID of the contact's language, see ISO 639-1.

Cart.TotalPriceobject

Pricing information for the total cart.

Cart.TotalPrice.CurrencyIdstring

Currency code in capital letters, see ISO 4217.

Cart.TotalPrice.Currencystring

Name of the currency.

Cart.TotalPrice.Grossnumber

Price for the product(s) in the cart, including taxes.

Cart.TotalPrice.Netnumber

Price for the product(s) in the cart, not including taxes.

Cart.TotalPrice.Vatnumber

Taxes for the product(s) in the cart.

Cart.TotalPrice.VatPercentagenumber

Tax rate (percentage).

Cart.CartItemsobject

List of cart items.

Cart.CartItems.CartItemPreviewobject

Product and pricing information for a product in the cart.

Cart.CartItems.CartItemPreview.RunningNumberinteger

Running number of the item in the cart.

Cart.CartItems.CartItemPreview.ProductIdinteger

Unique ID of the product.

Cart.CartItems.CartItemPreview.InternalProductIdstring

The client's internal product ID.

Cart.CartItems.CartItemPreview.Namestring

Product name used in customer communication.

Cart.CartItems.CartItemPreview.NameExtensionstring

Product description. Corresponds to the Additional name information in the Commerce Assistant.

Cart.CartItems.CartItemPreview.Quantityinteger

Number of items.

Cart.CartItems.CartItemPreview.SinglePriceobject

Pricing information for one unit of a product. For descriptions of the response items, see Additional Generate Cart Preview Response Items.

Cart.CartItems.CartItemPreview.TotalPriceobject

Pricing information for all units of a product. For descriptions of the response items, see Additional Generate Cart Preview Response Items.

Cart.CartItems.CartItemPreview.Discountnumber

Discount for the product.

SessionUrlstring

The generated session URL.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Subscription API

 

Get Subscription

Retrieves all subscription items for a particular subscription using the subscription ID. Subscription items contain the current status and a list of all related purchases.
For more information, see Get Subscription. For XML examples and schemas, see the Additional Examples - Get Subscription.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://rest.cleverbridge.com/subscription/getsubscription
curl --request GET \
  --url 'https://rest.cleverbridge.com/subscription/getsubscription?subscriptionid=S18577447'
var request = require("request");

var options = { method: 'GET',
  url: 'https://rest.cleverbridge.com/subscription/getsubscription',
  qs: { subscriptionid: 'S18577447' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/getsubscription?subscriptionid=S18577447")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://rest.cleverbridge.com/subscription/getsubscription?subscriptionid=S18577447");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/getsubscription"

querystring = {"subscriptionid":"S18577447"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "Subscription": {
    "Id": 15444655,
    "Subscriptionstatus": 1,
    "NextBillingDate": "2017-09-27T13:39:00",
    "NextBillingDateReminder": "2017-09-20T13:39:00Z",
    "GracePeriodDays": 0,
    "StartIntervalDayCount": 0,
    "StartIntervalMonthCount": 12,
    "IntervalDayCount": 0,
    "IntervalMonthCount": 12,
    "CustomerId": 64749867,
    "CustomerReferenceId": "9xtMFRbCu5xXDqygmA29VK50zma1PKFPOGWY1Q6b",
    "CustomerCurrencyId": "EUR",
    "CustomerReferenceNo": "",
    "LastIntervalNo": 1,
    "StartDate": "2015-09-23T10:25:51.673101",
    "EndDate": null,
    "Items": [
      {
        "SubscriptionId": 15444655,
        "RunningNo": 1,
        "Quantity": 1,
        "ProductId": 164270,
        "ProductName": "Lifedomus Sense 1.0 Maintenance",
        "ProductNameExtension": "For Windows Only",
        "RecurrenceCount": null,
        "Status": 1,
        "DeactivationDate": null,
        "StartDate": "2015-09-23T10:25:51.673101",
        "EndDate": null,
        "LastIntervalNo": 1,
        "IsCurrent": true,
        "Version": 1,
        "Couponcode": "BD3-1KK-UN3",
        "PromotionId": 30362,
        "SubscriptionPurchaseItems": [
          {
            "PurchaseId": 80185621,
            "PurchaseItemRunningNo": 2,
            "SubscriptionIntervalNo": 0
          },
          {
            "PurchaseId": 98362805,
            "PurchaseItemRunningNo": 1,
            "SubscriptionIntervalNo": 1
          }
        ]
      }
    ]
  },
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Query Params

subscriptionid
string
required

Unique ID of the subscription, with or without an initial 'S'.

Headers

Accept
string

Expected response format.

Response

Returns all subscription details.

Subscriptionobject

The subscription.

Subscription.Idinteger

Unique ID of the subscription.

Subscription.Subscriptionstatusinteger

Status of the subscription. For a XML response, the data type is string. Possible values are:
1 - Active
3 - Deactivated
4 - Finished
5 - Grace
6 - Hold
7 - New

Subscription.LastIntervalNointeger

Number of the last successfully paid interval of the subscription. Counting starts at 0. For each successfully paid interval, the number is increased by one.

Subscription.NextBillingDatestring

Next billing date and time according to RFC3339. Specified in UTC.

Subscription.NextBillingDateReminderstring

Date on which the reminder of the next billing date is sent to the customer.

Subscription.GracePeriodDaysinteger

Number of grace period days that the customer has before the subscription is put on hold.

Subscription.StartIntervalDayCountinteger

Number of days after initial purchase until the first billing event. This is equivalent to the length of first interval of the subscription.

Subscription.StartIntervalMonthCountinteger

Number of months after initial purchase until the first billing event. This is equivalent to the length of first interval of the subscription.

Subscription.IntervalDayCountinteger

Number of days between billing events. This is equivalent to the length of subsequent billing intervals.

Subscription.IntervalMonthCountinteger

Number of months between billing events. This is equivalent to the length of subsequent billing intervals.

Subscription.CustomerIdinteger

cleverbridge's unique ID for a customer.

Subscription.CustomerReferenceIdstring

Your unique ID for the customer. This value is submitted by you when the customer initially purchases the subscription and is stored by cleverbridge. Corresponds to the Internal customer ID in the Commerce Assistant. For more information, see Internal Customer Data.

Subscription.CustomerReferenceNostring

Internal purchase order number submitted by the customer during checkout.

Subscription.CustomerCurrencyIdstring

Currency code in capital letters, see ISO 4217. This was selected by the customer during the checkout process.

Subscription.StartDatestring

Date and time when subscription is paid. If a purchase order is used, this is the date when the subscription is processed for the first time.

Subscription.EndDatestring

Date and time when subscription ends. For example, this is when the number of specified billing intervals is reached.

Subscription.Itemsobject

List of subscription items.

Subscription.Items.SubscriptionItemobject

The subscription item.

Subscription.Items.SubscriptionItem.SubscriptionIdinteger

Unique ID of the subscription, with or without an initial 'S'.

Subscription.Items.SubscriptionItem.RunningNointeger

Running number of the item in the subscription.

Subscription.Items.SubscriptionItem.Quantityinteger

Current number of items.

Subscription.Items.SubscriptionItem.ProductIdinteger

ID of the product in the subscription.

Subscription.Items.SubscriptionItem.ProductNamestring

Product name used in customer communication.

Subscription.Items.SubscriptionItem.ProductNameExtensionstring

Product description. Corresponds to the Additional name information in the Commerce Assistant.

Subscription.Items.SubscriptionItem.RecurrenceCountinteger

Maximum number of billings that can occur for the item.

Subscription.Items.SubscriptionItem.Statusinteger

Status of subscription item. For a XML response, the data type is string. Possible values are:
0 - Undefined
1 - Active
2 - Deactivated
3 - AwaitingReinstate
4 - Finished
5 - Removed

Subscription.Items.SubscriptionItem.DeactivationDatestring

Date and time when an item is deactivated. Format according to RFC3339.

Subscription.Items.SubscriptionItem.StartDatestring

Date and time when item is paid. If a purchase order is used, this is the date and time when the item is processed for the first time. Format according to RFC3339.

Subscription.Items.SubscriptionItem.EndDatestring

Date and time when item is deactivated or number of specified billing intervals is reached. Format according to RFC3339.

Subscription.Items.SubscriptionItem.IsCurrentboolean

Indicates whether this subscription item is the latest version. If true, the item is current. If false, the item is not current.

Subscription.Items.SubscriptionItem.LastIntervalNointeger

Number of the last successfully paid interval of the subscription item. Counting starts at 0. For each successfully paid interval, the number is increased by one.

Subscription.Items.SubscriptionItem.Versioninteger

Version of the item. If a subscription item is updated, for example using /subscription/increasesubscriptionitemquantity, the entire subscription item is versioned.

Subscription.Items.SubscriptionItem.Couponcodestring

Coupon code applied to this version of the subscription item. This indicates a discount was applied to the customer’s subscription at the initial purchase, on renewal of the subscription or via /subscription/updatesubscriptionitem.

Subscription.Items.SubscriptionItem.PromotionIdinteger

ID of the promotion to which the coupon code belongs. Promotions are set up in the Commerce Assistant.

Subscription.Items.SubscriptionItem.SubscriptionPurchaseItemsarray

List of transactions where the item can be found. For descriptions of the response items, see Additional Subscription Response Items.

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Get Subscription by Purchase

Retrieves all subscription items for a particular subscription using a related purchase ID. Subscription items contain the current status and a list of all related purchases.
For XML examples and schemas, see the Additional Examples - Get Subscription by Purchase.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://rest.cleverbridge.com/subscription/getsubscriptionsbypurchase
curl --request GET \
  --url 'https://rest.cleverbridge.com/subscription/getsubscriptionsbypurchase?purchaseid=115515453'
var request = require("request");

var options = { method: 'GET',
  url: 'https://rest.cleverbridge.com/subscription/getsubscriptionsbypurchase',
  qs: { purchaseid: '115515453' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/getsubscriptionsbypurchase?purchaseid=115515453")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://rest.cleverbridge.com/subscription/getsubscriptionsbypurchase?purchaseid=115515453");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/getsubscriptionsbypurchase"

querystring = {"purchaseid":"115515453"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "Subscriptions": [
    {
      "Id": 15444655,
      "Subscriptionstatus": 1,
      "NextBillingDate": "2017-09-27T13:39:00",
      "NextBillingDateReminder": "2017-09-20T13:39:00Z",
      "GracePeriodDays": 0,
      "StartIntervalDayCount": 0,
      "StartIntervalMonthCount": 12,
      "IntervalDayCount": 0,
      "IntervalMonthCount": 12,
      "CustomerId": 64749867,
      "CustomerReferenceId": "9xtMFRbCu5xXDqygmA29VK50zma1PKFPOGWY1Q6b",
      "CustomerCurrencyId": "EUR",
      "CustomerReferenceNo": "",
      "LastIntervalNo": 1,
      "StartDate": "2015-09-23T10:25:51.673101",
      "EndDate": null,
      "Items": [
        {
          "SubscriptionId": 15444655,
          "RunningNo": 1,
          "Quantity": 1,
          "ProductId": 164270,
          "ProductName": "Lifedomus Sense 1.0 Maintenance",
          "ProductNameExtension": "For Windows Only",
          "RecurrenceCount": null,
          "Status": 1,
          "DeactivationDate": null,
          "StartDate": "2015-09-23T10:25:51.673101",
          "EndDate": null,
          "LastIntervalNo": 1,
          "IsCurrent": true,
          "Version": 1,
          "Couponcode": "BD3-1KK-UN3",
          "PromotionId": 30362,
          "SubscriptionPurchaseItems": [
            {
              "PurchaseId": 80185621,
              "PurchaseItemRunningNo": 2,
              "SubscriptionIntervalNo": 0
            },
            {
              "PurchaseId": 98362805,
              "PurchaseItemRunningNo": 1,
              "SubscriptionIntervalNo": 1
            }
          ]
        }
      ]
    }
  ],
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Query Params

purchaseid
string
required

Unique ID of an existing purchase.

Headers

Accept
string

Expected response format.

Response

Return all subscription details.

Subscriptionsarray

The subscription. Note that the array contains only one subscription object. For descriptions of the response items, see Get a Subscription.

ResultMessagestring

OK

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Get Subscriptions for Customer

Retrieves the subscriptions, including all subscription items, for a particular customer using the customer ID, the customer reference ID , or the customer's email address. Subscription items contain the current status and a list of all related purchases.
For more information, see Get Subscriptions For a Customer. For XML examples and schemas, see the Additional Examples - Get Subscriptions for Customer.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://rest.cleverbridge.com/subscription/getsubscriptionsforcustomer
curl --request GET \
  --url https://rest.cleverbridge.com/subscription/getsubscriptionsforcustomer
var request = require("request");

var options = { method: 'GET',
  url: 'https://rest.cleverbridge.com/subscription/getsubscriptionsforcustomer' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/getsubscriptionsforcustomer")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://rest.cleverbridge.com/subscription/getsubscriptionsforcustomer");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/getsubscriptionsforcustomer"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "Subscriptions": [
    {
      "Id": 15444655,
      "Subscriptionstatus": 1,
      "NextBillingDate": "2017-09-27T13:39:00",
      "NextBillingDateReminder": "2017-09-20T13:39:00Z",
      "GracePeriodDays": 0,
      "StartIntervalDayCount": 0,
      "StartIntervalMonthCount": 12,
      "IntervalDayCount": 0,
      "IntervalMonthCount": 12,
      "CustomerId": 64749867,
      "CustomerReferenceId": "9xtMFRbCu5xXDqygmA29VK50zma1PKFPOGWY1Q6b",
      "CustomerCurrencyId": "EUR",
      "CustomerReferenceNo": "",
      "LastIntervalNo": 1,
      "StartDate": "2015-09-23T10:25:51.673101",
      "EndDate": null,
      "Items": [
        {
          "SubscriptionId": 15444655,
          "RunningNo": 1,
          "Quantity": 1,
          "ProductId": 164270,
          "ProductName": "Lifedomus Sense 1.0 Maintenance",
          "ProductNameExtension": "For Windows Only",
          "RecurrenceCount": null,
          "Status": 1,
          "DeactivationDate": null,
          "StartDate": "2015-09-23T10:25:51.673101",
          "EndDate": null,
          "LastIntervalNo": 1,
          "IsCurrent": true,
          "Version": 1,
          "Couponcode": "BD3-1KK-UN3",
          "PromotionId": 30362,
          "SubscriptionPurchaseItems": [
            {
              "PurchaseId": 80185621,
              "PurchaseItemRunningNo": 2,
              "SubscriptionIntervalNo": 0
            },
            {
              "PurchaseId": 98362805,
              "PurchaseItemRunningNo": 1,
              "SubscriptionIntervalNo": 1
            }
          ]
        }
      ]
    }
  ],
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Query Params

customerid
string

cleverbridge's unique ID for a customer.

customerreferenceid
string

Your unique ID for the customer. This value is submitted by you when the customer initially purchases the subscription and is stored by cleverbridge. Corresponds to the Internal customer ID in the Commerce Assistant. For more information, see Internal Customer Data.

subscriptionstatus
string

Status of the subscription. Restricts the response to subscriptions with the specified status.

customeremail
string

Email address of the customer.

Headers

Accept
string

Expected response format.

Response

List of subscriptions.

Subscriptionsarray

List of subscriptions. For descriptions of the response items, see Get a Subscription.

ResultMessagestring

OK

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Update Next Billing Date

Modifies the next billing date for a subscription. This endpoint is commonly used to extend a billing period.
For more information, see Update Next Billing Date. For XML examples and schemas, see the Additional Examples - Update Next Billing Date.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/updatenextbillingdate
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/updatenextbillingdate
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/updatenextbillingdate' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/updatenextbillingdate")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/updatenextbillingdate");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/updatenextbillingdate"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

NextBillingDate
date-time
required

Next billing date and time according to RFC3339. The billing date and time must be in the future. You must specify the time in UTC.

Headers

Accept
string

Expected response format.

Content-Type
string

Format of the HTTP post body.

Response

successful operation

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Add Subscription Item

Adds a new subscription item to an existing subscription or creates a preview of adding a new subscription item to an existing subscription. Optionally, you can overwrite the price of the subscription item that was defined in the Commerce Assistant. If you want to modify an existing subscription item, use /subscription/updatesubscriptionitem instead.
For more information, see Add Subscription Item. For XML examples and schemas, see the Additional Examples - Add Subscription Item.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/addsubscriptionitem
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/addsubscriptionitem
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/addsubscriptionitem' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/addsubscriptionitem")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/addsubscriptionitem");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/addsubscriptionitem"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "AlignmentCustomerGrossPrice": 0,
  "AlignmentCustomerVatPrice": 0,
  "AlignmentCustomerNetPrice": 0,
  "NextBillingCustomerGrossPrice": 82.11,
  "NextBillingCustomerVatPrice": 13.11,
  "NextBillingCustomerNetPrice": 69,
  "PriceCurrencyId": "EUR",
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

ProductId
int64
required

ID of the product you want to add to the subscription.

Quantity
int32
required

Number of items. If you want to only increase the quantity of an existing subscription item, use /subscription/increasesubscriptionitemquantity instead.

AlignmentSettings
object

Define the behavior when adding or updating a subscription item. For more information, see Alignment Settings.

 
AlignmentSettings.AlignToCurrentInterval
boolean
required

Set to true if you want the customer to be charged immediately for the updated item (for example, a quantity increase). Otherwise, the customer will be charged at the next renewal.

AlignmentSettings.GetCustomerPricePreviewOnly
boolean
required

Set to true if you only want to obtain preview data in the response. You can use this data to display a price preview to a customer or for testing purposes.

ProductName
string

Product name used in customer communication.

ProductNameExtension
string

Product description. Corresponds to the Additional name information in the Commerce Assistant.

ProductNameEn
string

English product name. Only used in internal communication and for reporting purposes.

CouponCode
string

Coupon code for a promotion. The customer will be given a discount on the next renewal or a future renewal, depending on the configuration of the coupon code.

RecommendationsetId
integer

ID of the 'recommendation set' to which the product belongs. Corresponds to the 'Recommendation ID' in the Commerce Assistant. Used for reporting purposes only.

AffiliateId
int64

ID of the affiliate that receives the commission.

CustomerPrice
object

Price of the subscription item. The price must be provided in the same currency as the subscription.

 
CustomerPrice.CurrencyId
string

Currency code in capital letters, see ISO 4217.

CustomerPrice.IsGross
boolean

Set to true if taxes should be included in the item price. Set to false if taxes should be added on top of the item price. For more information, see Using the IsGross Subparameter

CustomerPrice.Value
number

New price to be paid by the customer.

GenerateMail
boolean

Set to false if you want to suppress the automatically generated email that informs the customer about the subscription update. Important: If set to false, you must send the email yourself. For more information, see Best Practices: Obtaining Customer Consent.

Headers

Accept
string

Expected response format.

Content-Type
string

Format of the HTTP post body.

Response

successful operation

AlignmentCustomerGrossPricenumber

Preview of the customer's total gross price.

AlignmentCustomerVatPricenumber

Preview of the customer's total VAT price for the alignment interval.

AlignmentCustomerNetPricenumber

Preview of the customer's total net price for the alignment interval.

NextBillingCustomerGrossPricenumber

Preview of the customer's total gross price for the next billing interval.

NextBillingCustomerVatPricenumber

Preview of the customer's total VAT price for the next billing interval.

NextBillingCustomerNetPricenumber

Preview of the customer's total net price for the next billing interval.

PriceCurrencyIdstring

Currency code in capital letters, see ISO 4217.

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Remove Subscription Item

Permanently deletes a subscription item for a discontinued product or special offer, making it impossible to reactivate the subscription item in the future. This endpoint should be used rarely and with caution.
For more information, see Remove Subscription Item. For XML examples and schemas, see the Additional Examples - Remove Subscription Item.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/removesubscriptionitem
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/removesubscriptionitem
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/removesubscriptionitem' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/removesubscriptionitem")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/removesubscriptionitem");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/removesubscriptionitem"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

RunningNumber
int32
required

Running number of the item in the subscription.

GenerateMail
boolean

Set to false if you want to suppress the automatically generated email that informs the customer about the subscription update. Important: If set to false, you must send the email yourself. For more information, see Best Practices: Obtaining Customer Consent.

Headers

Accept
string

Expected response format.

Content-Type
string

Format of the HTTP post body.

Response

successful operation

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Deactivate Subscription Items

Deactivates one or more subscription items in a subscription.
For more information, see Deactivate Subscription Items. For XML examples and schemas, see the Additional Examples - Deactivate Subscription Items.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/deactivatesubscriptionitems
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/deactivatesubscriptionitems
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/deactivatesubscriptionitems' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/deactivatesubscriptionitems")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/deactivatesubscriptionitems");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/deactivatesubscriptionitems"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

Items
array of integers
required

Running numbers of the subscription items you want to deactivate.

GenerateMail
boolean

Set to false if you want to suppress the automatically generated email that informs the customer about the subscription update. Important: If set to false, you must send the email yourself. For more information, see Best Practices: Obtaining Customer Consent.

AllowReinstate
boolean

Set to true if you want to be able to reinstate items at a later date. If set to false, the item status changes to Finished. If set to false, GenerateMail must also be set to false.

Headers

Accept
string

Expected response format.

Content-Type
string

Format of the HTTP post body.

Response

successful operation

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Reinstate Subscription Items

Changes a subscription item status from Deactivated to Active for one or more items that a customer canceled or did not renew.
For more information, see Reinstate Subscription Items. For XML examples and schemas, see the Additional Examples - Reinstate Subscription Items.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/reinstatesubscriptionitems
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/reinstatesubscriptionitems
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/reinstatesubscriptionitems' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/reinstatesubscriptionitems")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/reinstatesubscriptionitems");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/reinstatesubscriptionitems"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

Items
array of integers
required

Running numbers of the subscription items you want to reinstate.

GenerateMail
boolean

Set to false if you want to suppress the automatically generated email that informs the customer about the subscription update. Important: If set to false, you must send the email yourself. For more information, see Best Practices: Obtaining Customer Consent.

Headers

Accept
string

Expected response format.

Content-Type
string

Format of the HTTP post body.

Response

successful operation

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Increase Subscription Item Quantity

Increases the quantity of a subscription item in a subscription.
For XML examples and schemas, see the Additional Examples - Increase Subscription Item Quantity.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/increasesubscriptionitemquantity
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/increasesubscriptionitemquantity
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/increasesubscriptionitemquantity' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/increasesubscriptionitemquantity")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/increasesubscriptionitemquantity");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/increasesubscriptionitemquantity"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "AlignmentCustomerGrossPrice": 0,
  "AlignmentCustomerVatPrice": 0,
  "AlignmentCustomerNetPrice": 0,
  "NextBillingCustomerGrossPrice": 207.35,
  "NextBillingCustomerVatPrice": 33.11,
  "NextBillingCustomerNetPrice": 174.24,
  "PriceCurrencyId": "USD",
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

RunningNumber
int32
required

Running number of the item in the subscription.

Quantity
int32
required

Number of additional items. For example 2, if you want to increase the quantity from 1 to 3.

AlignmentSettings
object

Define the behavior when adding or updating a subscription item. For more information, see Alignment Settings.

 
AlignmentSettings.AlignToCurrentInterval
boolean
required

Set to true if you want the customer to be charged immediately for the updated item (for example, a quantity increase). Otherwise, the customer will be charged at the next renewal.

AlignmentSettings.GetCustomerPricePreviewOnly
boolean
required

Set to true if you only want to obtain preview data in the response. You can use this data to display a price preview to a customer or for testing purposes.

GenerateMail
boolean

Set to false if you want to suppress the automatically generated email that informs the customer about the subscription update. Important: If set to false, you must send the email yourself. For more information, see Best Practices: Obtaining Customer Consent.

Headers

Accept
string

Expected response format.

Content-Type
string

Format of the HTTP post body.

Response

successful operation

AlignmentCustomerGrossPricenumber

Preview of the customer's total gross price.

AlignmentCustomerVatPricenumber

Preview of the customer total VAT price for the alignment interval.

AlignmentCustomerNetPricenumber

Preview of the customer total net price for the alignment interval.

NextBillingCustomerGrossPricenumber

Preview of the customer total gross price for the next billing interval.

NextBillingCustomerVatPricenumber

Preview of the customer total VAT price for the next billing interval.

NextBillingCustomerNetPricenumber

Preview of the customer total net price for the next billing interval.

PriceCurrencyIdstring

Currency code in capital letters, see ISO 4217.

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Update Subscription Item

Modifies an existing subscription or creates a preview of a modified subscription. You can add a coupon code, adjust the quantity of a subscription item, bill a customer in arrears for usage, replace one product with another product, change the product name, and even change the billing interval of a subscription (by exchanging the product). This endpoint also allows you to update the price of an item.
For more information, see Update Subscription Item. For XML examples and schemas, see the Additional Examples - Update Subscription Item.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/updatesubscriptionitem
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/updatesubscriptionitem
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/updatesubscriptionitem' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/updatesubscriptionitem")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/updatesubscriptionitem");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/updatesubscriptionitem"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "TransactionStatus": "Pending",
  "ContinueUrl": "https://www.cleverbridge.com/2/p/123456-sa89sazusvrfgfdg",
  "AlignmentCustomerGrossPrice": 11.9,
  "AlignmentCustomerVatPrice": 1.9,
  "AlignmentCustomerNetPrice": 10,
  "NextBillingCustomerGrossPrice": 119,
  "NextBillingCustomerVatPrice": 19,
  "NextBillingCustomerNetPrice": 100,
  "PriceCurrencyId": "USD",
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}
{
  "Id": null,
  "Message": "An error has occured processing your request.",
  "Status": 500
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

RunningNumber
int32
required

Running number of the item in the subscription.

ProductId
int64

ID of the new product you want to replace the existing product with.

Quantity
int32
required

Total number of items after the update. If you want to only increase the item quantity, use /subscription/increasesubscriptionitemquantity instead.

CustomerPrice
object

New price of the subscription item. The price must be provided in the same currency as the subscription. If you want to update the item price only, use /subscription/updatesubscriptionitemprice instead.

 
CustomerPrice.CurrencyId
string

Currency code in capital letters, see ISO 4217.

CustomerPrice.IsGross
boolean

Set to true if taxes should be included in the item price. Set to false if taxes should be added on top of the item price. For more information, see Using the IsGross Subparameter

CustomerPrice.Value
number

New price to be paid by the customer.

UpdateAction
string
required

Type of update. This is used for reporting only. It does not affect the subscription.

ProductName
string

New product name to be used in customer communication.

ProductNameExtension
string

New product description. Corresponds to the Additional name information in the Commerce Assistant.

ProductNameEn
string

New English product name. Only used in internal communication and for reporting purposes.

CouponCode
string

Coupon code for a promotion. The customer will be given a discount on the next renewal or a future renewal, depending on the configuration of the coupon code.

RecommendationsetId
int32

ID of the 'recommendation set' to which the product belongs. Corresponds to the Recommendation ID in the Commerce Assistant. Used for reporting purposes only.

TriggerImmediateRenewal
boolean

Triggers a renewal immediately. As a result, it also extends the next billing cycle by remaining time of current cycle. You should use this with caution because it is not a standard action for subscription upgrades. Renewals are allowed between start of current billing interval and next billing date. For more information, see Renew a Subscription Ahead of Schedule.

AlignmentSettings
object

Define the behavior when adding or updating a subscription item. For more information, see Alignment Settings.

 
AlignmentSettings.AlignToCurrentInterval
boolean
required

Set to true if you want the customer to be charged immediately for the updated item (for example, a quantity increase). Otherwise, the customer will be charged at the next renewal.

AlignmentSettings.GetCustomerPricePreviewOnly
boolean
required

Set to true if you only want to obtain preview data in the response. You can use this data to display a price preview to a customer or for testing purposes.

AlignmentSettings.ExtendInterval
boolean
required

Set to true if you want to charge a full interval for the updated item (for example, a quantity increase). Otherwise, the customer will be charged a pro-rated amount for the updated item that corresponds to the time between the update and the next renewal. Important: AlignToCurrentInterval must be set to true if ExtendInterval is set to true.

GenerateMail
boolean

Set to false if you want to suppress the automatically generated email that informs the customer about the subscription update. Important: If set to false, you must send the email yourself. For more information, see Best Practices: Obtaining Customer Consent.

Headers

Accept
string

Expected response format.

Content-Type
string

Format of the HTTP post body.

Response

successful operation

NextBillingDatestring

Next billing date and time according to RFC3339. Specified in UTC.

TransactionStatusstring

Status of the renewal transaction. Possible values are Success, Error, Rejected, Pending, Unknown.

ContinueUrlstring

URL of web page with transaction details or payment instructions.

AlignmentCustomerGrossPricenumber

Preview of the customer's total gross price.

AlignmentCustomerVatPricenumber

Preview of the customer's total VAT price for the alignment interval.

AlignmentCustomerNetPricenumber

Preview of the customer's total net price for the alignment interval.

NextBillingCustomerGrossPricenumber

Preview of the customer's total gross price for the next billing interval.

NextBillingCustomerVatPricenumber

Preview of the customer's total VAT price for the next billing interval.

NextBillingCustomerNetPricenumber

Preview of the customer's total net price for the next billing interval.

PriceCurrencyIdstring

Currency code in capital letters, see ISO 4217.

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Internal Server Error

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Update Subscription Item Price

Updates (or creates a preview of an update to) the price of an existing subscription. If AlignToCurrentInterval is set to true, the response returns a prorated price that will be applied to the subscription item immediately. Optionally, it also allows you adjust the quantity of a subscription item.
For more information, see Update Subscription Item Price. For XML examples and schemas, see the Additional Examples - Update Subscription Item Price.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/updatesubscriptionitemprice
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/updatesubscriptionitemprice
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/updatesubscriptionitemprice' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/updatesubscriptionitemprice")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/updatesubscriptionitemprice");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/updatesubscriptionitemprice"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "AlignmentCustomerGrossPrice": 2.96,
  "AlignmentCustomerVatPrice": 0,
  "AlignmentCustomerNetPrice": 2.96,
  "NextBillingCustomerGrossPrice": 119.98,
  "NextBillingCustomerVatPrice": 0,
  "NextBillingCustomerNetPrice": 119.98,
  "PriceCurrencyId": "USD",
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

RunningNumber
int32
required

Running number of the item in the subscription.

Quantity
int32

New or current item quantity. If you want to only increase the item quantity, use /subscription/increasesubscriptionitemquantity instead.

CustomerPrice
object
required

New price of the subscription item. The price must be provided in the same currency as the subscription.

 
CustomerPrice.CurrencyId
string

Currency code in capital letters, see ISO 4217.

CustomerPrice.IsGross
boolean

Set to true if taxes should be included in the item price. Set to false if taxes should be added on top of the item price. For more information, see Using the IsGross Subparameter

CustomerPrice.Value
number

New price to be paid by the customer.

AlignmentSettings
object

Define the behavior when adding or updating a subscription item. For more information, see Alignment Settings.

 
AlignmentSettings.AlignToCurrentInterval
boolean
required

Set to true if you want the customer to be charged immediately for the updated item (for example, a quantity increase). Otherwise, the customer will be charged at the next renewal.

AlignmentSettings.GetCustomerPricePreviewOnly
boolean
required

Set to true if you only want to obtain preview data in the response. You can use this data to display a price preview to a customer or for testing purposes.

AlignmentSettings.ExtendInterval
boolean
required

Set to true if you want to charge a full interval for the updated item (for example, a quantity increase). Otherwise, the customer will be charged a pro-rated amount for the updated item that corresponds to the time between the update and the next renewal. Important: AlignToCurrentInterval must be set to true if ExtendInterval is set to true.

UpdateAction
string
required

Type of update. This is used for reporting only. It does not affect the subscription.

GenerateMail
boolean

Set to false if you want to suppress the automatically generated email that informs the customer about the subscription update. Important: If set to false, you must send the email yourself. For more information, see Best Practices: Obtaining Customer Consent.

Headers

Content-Type
string

Format of the HTTP post body.

Accept
string

Expected response format.

Response

Successful Update

AlignmentCustomerGrossPricenumber

Preview of the customer's total gross price for the alignment interval.

AlignmentCustomerVatPricenumber

Preview of the customer total VAT price for the alignment interval.

AlignmentCustomerNetPricenumber

Preview of the customer total net price for the alignment interval.

NextBillingCustomerGrossPricenumber

Preview of the customer total gross price for the next billing interval.

NextBillingCustomerVatPricenumber

Preview of the customer total VAT price for the next billing interval.

NextBillingCustomerNetPricenumber

Preview of the customer total net price for the next billing interval.

PriceCurrencyIdstring

Currency code in capital letters, see ISO 4217.

ResultMessagestring

OK

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Align Subscriptions

Consolidates the billing of two subscriptions that belong to one customer. If AlignToCurrentInterval is set to true, the resource performs a pro-rated calculation of the cost of one subscription so that it can be merged with another subscription, and this results in a single billing event for a given period. You can also use the resource to calculate and preview the pro-rated cost of aligning two subscriptions.
For more information, see Align Subscriptions. For XML examples and schemas, see the Additional Examples - Align Subscriptions.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/alignsubscriptions
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/alignsubscriptions
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/alignsubscriptions' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/alignsubscriptions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/alignsubscriptions");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/alignsubscriptions"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "AlignmentCustomerGrossPrice": 2.96,
  "AlignmentCustomerVatPrice": 0,
  "AlignmentCustomerNetPrice": 2.96,
  "NextBillingCustomerGrossPrice": 119.98,
  "NextBillingCustomerVatPrice": 0,
  "NextBillingCustomerNetPrice": 119.98,
  "PriceCurrencyId": "USD",
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

PrimarySubscriptionId
string
required

Unique ID of the primary subscription, with or without an initial 'S'.

SecondarySubscriptionId
string
required

Unique ID of the secondary subscription, with or without an initial 'S'.

AlignmentSettings
object

Define the behavior when adding or updating a subscription item. For more information, see Alignment Settings.

 
AlignmentSettings.AlignToCurrentInterval
boolean
required

Set to true if you want the customer to be charged immediately for the updated item (for example, a quantity increase). Otherwise, the customer will be charged at the next renewal.

AlignmentSettings.GetCustomerPricePreviewOnly
boolean
required

Set to true if you only want to obtain preview data in the response. You can use this data to display a price preview to a customer or for testing purposes.

GenerateMail
boolean

Set to true if you want to send a confirmation email to the customer.

Headers

Accept
string

Expected response format.

Content-Type
string

Format of the HTTP post body.

Response

Successful Preview

AlignmentCustomerGrossPricenumber

Total gross price for alignment interval.
Only for CustomerPricePreview-Mode.

AlignmentCustomerVatPricenumber

Total vat price for alignment interval.
Only for CustomerPricePreview-Mode.

AlignmentCustomerNetPricenumber

Total net price for alignment interval.
Only for CustomerPricePreview-Mode.

NextBillingCustomerGrossPricenumber

Total gross price for next billing interval.
Only for CustomerPricePreview-Mode.

NextBillingCustomerVatPricenumber

Total vat price for next billing interval.
Only for CustomerPricePreview-Mode.

NextBillingCustomerNetPricenumber

Total net price next billing interval.
Only for CustomerPricePreview-Mode.

PriceCurrencyIdstring

Currency code in capital letters, see ISO 4217

ResultMessagestring

OK

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Update Subscription Parameters

Updates one or more subscription parameters that pertain to a subscription. If the parameter key existed in the subscription, the parameter value will be overwritten. If the parameter key did not exist in the subscription, the parameter key and value pair will be created. The updates will be reflected on the next billing date.
For more information, see Update Subscription Parameters. For XML examples and schemas, see the Additional Examples - Update Subscription Parameters.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/updatesubscriptionparameters
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/updatesubscriptionparameters
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/updatesubscriptionparameters' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/updatesubscriptionparameters")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/updatesubscriptionparameters");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/updatesubscriptionparameters"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

Items
array of objects
required

List of key-value pairs.

Key
Value

Headers

Accept
string

Expected response format.

Content-Type
string

Format of the HTTP post body.

Response

Returns successful operation

ResultMessagestring

OK

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Update Contact

Updates the customer's subscription profile, such as the email address, billing address, delivery address, and licensee address. The updates will be reflected on the next billing date.
For more information, see Update Contact. For XML examples and schemas, see the Additional Examples - Update Contact.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/updatecontact
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/updatecontact
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/updatecontact' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/updatecontact")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/updatecontact");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/updatecontact"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

SubscriptionId
string

Unique ID of the contact's subscription, with or without an initial 'S'.

CustomerReferenceId
string

Your unique ID of the customer. This value is submitted by you when the customer initially purchases the subscription and is stored by cleverbridge. Corresponds to the Internal customer ID in the Commerce Assistant. For more information, see Internal Customer Data.

OverrideEmptyParameters
boolean

Set to true if you want to delete omitted parameters from the contact information.

ContactType
string
required

The type of contact information you want to update. One customer can have up to three different types of contact information.

Contact
object

The contact.

 
Contact.LanguageId
string
required

Two-character ID of the contact's language, see ISO 639-1. You must submit this with lower-case letters, for example en.

Contact.SalutationId
string

Contact's salutation. Possible values are Mr. = MR, Ms. = MS, Mrs. = MRS, Miss = MIS.

Contact.Title
string

Contact's title.

Contact.Company
string

Name of the company (if applicable).

Contact.CompanyKatakana
string

Name of the company in Katakana (if applicable).

Contact.CompanyRomanized
string

Romanized name of the company (if applicable).

Contact.CompanyTypeId
string

ID of the company type. Possible values are Company = COM, Governmental = GOV, Miscellaneous = MIS, Non-profit = NPR and School/University = UNI.

Contact.VatId
string

Taxation number of the contact's company. It must be up-to-date, accurate, and correspond with the CountryId.

Contact.Firstname
string

Contact's first name.

Contact.FirstnameKatakana
string

Contact's first name in Katakana.

Contact.FirstnameRomanized
string

Contact's romanized first name.

Contact.Lastname
string

Contact's last name.

Contact.LastnameKatakana
string

Contact's last name in Katakana.

Contact.LastnameRomanized
string

Contact's romanized last name.

Contact.Street1
string

Contact's street address.

Contact.Street2
string

Contact's additional street information.

Contact.PostalCode
string

Contact's postal code.

Contact.City
string

Contact's city.

Contact.StateId
string

Five- or six-character ID of the contact's country and state. State submissions are possible for Australia, Brazil, Canada, India, Ireland, Japan, the UAE, and the USA. Submit with capital letters, for example US-GA, AU-NSW, or JP-13. The country and state codes are separated by a dash, see ISO 3166-2.

Contact.CountryId
string
required

Two-character ID of the contact's country. Submit with capital letters, for example US. See ISO 3166-1 alpha-2.

Contact.Phone1
string

Contact's phone number.

Contact.Phone2
string

Contact's additional phone number.

Contact.Fax
string

Contact's fax number.

Contact.EMail
string

Contact's email address. Note: cleverbridge has no pattern checking and does not validate email addresses.

Contact.Url
string

Contact's website URL.

Headers

Accept
string

Expected response format.

Content-Type
string

Format of the HTTP post body.

Response

successful operation

ResultMessagestring

OK

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Update Account

Triggers the account updater for the customer's credit card information. Use this endpoint only if you handle subscriptions yourself. By default, cleverbridge controls the entire subscription process, during which the account updater is automatically triggered.
For more information on this revenue retention tool, see About Account Updater. For XML examples and schemas, see the Additional Examples - Update Account.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/updateaccount
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/updateaccount
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/updateaccount' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/updateaccount")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/updateaccount");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/updateaccount"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

Headers

Content-Type
string

Format of the HTTP post body.

Accept
string

Expected response format.

Response

Account update initiated.

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Update Subscription Renewal Type

Updates the renewal type of a subscription, independent of the product configuration. Automatic renewal is the default for subscription products set up in the Commerce Assistant. Use this endpoint to implement a 'Turn Off Automatic Renewal' option in a My Account section.
Note: To activate this feature, contact your Client Experience Manager.
For XML examples and schemas, see the Additional Examples - Update Subscription Renewal Type.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/updatesubscriptionrenewaltype
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/updatesubscriptionrenewaltype
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/updatesubscriptionrenewaltype' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/updatesubscriptionrenewaltype")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/updatesubscriptionrenewaltype");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/updatesubscriptionrenewaltype"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "OK"
}
{
  "Id": null,
  "Message": "Subscription does not support renewal type concept.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

RenewalType
string
required

New renewal type of the subscription. With Automatic, the subscription automatically renews at the end of the billing interval using the billing information provided by the customer. With Manual, the customer must initiate the renewal at the end of the billing interval.

Headers

Content-Type
string

Format of the HTTP post body.

Accept
string

Expected response format.

Response

successful operation

ResultMessagestring

Optional result or error message.

Subscription does not support renewal type concept.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Renew Subscription

Triggers an instant renewal of a subscription. If the renewal payment can be processed with the current payment details, then the subscription is renewed, and the customer receives an email confirmation with the delivery details. If the renewal payment can not be processed with the current payment details, or if an offline payment is required, then the customer receives an email with payment instructions. You can use this API if a B2B customer has budget left at the end of the year, and they want to renew their auto-renewal subscription before the end of the year.
For XML examples and schemas, see the Additional Examples - Renew Subscription.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://rest.cleverbridge.com/subscription/renewsubscription
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/renewsubscription
var request = require("request");

var options = { method: 'POST',
  url: 'https://rest.cleverbridge.com/subscription/renewsubscription' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/subscription/renewsubscription")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://rest.cleverbridge.com/subscription/renewsubscription");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/subscription/renewsubscription"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "NextBillingDate": "2025-04-12T23:20:50.52Z",
  "TransactionStatus": "Success",
  "ContinueUrl": "http://www.cleverbridge.com/2/p/123546-sf78g97sd897g8df",
  "ResultMessage": "Ok"
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 400
}
{
  "Id": null,
  "Message": "Subscription 15444699 not found.",
  "Status": 404
}
{
  "Id": null,
  "Message": "An error has occured processing your request.",
  "Status": 500
}

Body Params

SubscriptionId
string
required

Unique ID of the subscription, with or without an initial 'S'.

Headers

Content-Type
string

Format of the HTTP post body.

Accept
string

Expected response format.

Response

successful operation

NextBillingDatestring

Next billing date and time according to RFC3339. Specified in UTC.

TransactionStatusstring

Status of the renewal transaction. Possible values are Success, Error, Rejected, Pending, Unknown.

ContinueUrlstring

URL of web page with transaction details or payment instructions.

ResultMessagestring

Optional result or error message.

Invalid data was submitted.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

The subscription does not exist in your account.

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Internal Server Error

Idstring
Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Test Connection API

 

Test Connection

Checks whether or not you can connect with our REST API service using your user credentials (authentication).

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://rest.cleverbridge.com/connection/test
curl --request GET \
  --url https://rest.cleverbridge.com/connection/test
var request = require("request");

var options = { method: 'GET',
  url: 'https://rest.cleverbridge.com/connection/test' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://rest.cleverbridge.com/connection/test")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://rest.cleverbridge.com/connection/test");

xhr.send(data);
import requests

url = "https://rest.cleverbridge.com/connection/test"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "ResultMessage": "OK"
}
{
  "Message": "You do not have permission to view this directory or page using the credentials that you supplied.",
  "Status": 401
}
{
  "Message": "An error has occured processing your request.",
  "Status": 500
}

Headers

Accept
string

Expected response format.

Response

Connection Validated.

ResultMessagestring

OK

Unauthorized: Access is denied due to invalid credentials.

Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Internal Server Error

Messagestring

Description of the error that occured during the request.

Statusnumber

HTTP response status

Notification Types

 

NewOfflinePaymentPurchaseNotification

 

A new order has been placed using an offline form of payment, such as PayPal or wire transfer.

JSON Reference

This notification uses the Purchase Model.

Examples

{
    "meta": {
        "type": "NewOfflinePaymentPurchaseNotification",
        "date": "2016-06-30T15:11:05.6014",
        "schemaUrl": "https://www.cleverbridge.com/JsonNotificationSchemas/NewOfflinePaymentPurchaseNotification"
    },
    "purchaseId": 93855579,
    "status": "Waiting for Offline Payment",
    "statusId": "WOF",
    "billingContact": {
        "language": "English",
        "languageId": "en",
        "locale": "en-US",
        "firstname": "John",
        "lastname": "Doe",
        "firstnameRomanized": "John",
        "lastnameRomanized": "Doe",
        "street1": "Gereonstr. 43-65",
        "postalcode": "50670",
        "city": "Köln",
        "country": "Germany",
        "countryId": "DE",
        "email": "john.doe@cleverbridge.com"
    },
    "deliveryContact": {
        "language": "English",
        "languageId": "en",
        "locale": "en-US",
        "firstname": "John",
        "lastname": "Doe",
        "firstnameRomanized": "John",
        "lastnameRomanized": "Doe",
        "street1": "Gereonstr. 43-65",
        "postalcode": "50670",
        "city": "Köln",
        "country": "Germany",
        "countryId": "DE",
        "email": "john.doe@cleverbridge.com"
    },
    "licenseeContact": {
        "language": "English",
        "languageId": "en",
        "locale": "en-US",
        "firstname": "John",
        "lastname": "Doe",
        "firstnameRomanized": "John",
        "lastnameRomanized": "Doe",
        "street1": "Gereonstr. 43-65",
        "postalcode": "50670",
        "city": "Köln",
        "country": "Germany",
        "countryId": "DE",
        "email": "john.doe@cleverbridge.com"
    },
    "paymentInfo": {
        "currency": "US Dollar",
        "currencyId": "USD",
        "paymentType": "Wire transfer",
        "paymentTypeId": "WTR_STD",
        "isPurchaseOrder": false
    },
    "creationTime": "2016-06-30T15:11:05.6014",
    "lastModificationTime": "2016-06-30T15:11:06.672544",
    "remoteAddress": "89.1.3.0",
    "httpUserAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
    "httpEntryUrl": "https://www.cleverbridge.com/864/?scope=checkout&cart=97775&language=en",
    "httpReferer": "https://www.cleverbridge.com/864/?scope=checkout&cart=97775&language=en",
    "httpAcceptLanguage": "de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4",
    "internalCustomer": "0Ds4LGXmzb08kjlxX0dLq7gQFUjS3G0EydNwU2RZ",
    "customerConfirmationPageUrl": "https://www.cleverbridge.com/864/p/93855579-XZUdbUT1F4EoVt5vJgM4",
    "customerPdfDocumentUrl": "https://www.cleverbridge.com/invoice/4TYLG7R3EOQ7AV79AH4Q/93855579.pdf",
    "merchantOfRecord": "AG",
    "items": [
        {
            "runningNumber": 1,
            "productId": 97775,
            "productName": "Computer Optimization",
            "productReportingGroup": "B2C",
            "supportContactId": 1625,
            "supportContact": "Default",
            "clientId": 864,
            "quantity": 1,
            "affiliateId": 29888,
            "affiliate": "Annika Schmidt",
            "yourCurrency": "US Dollar",
            "yourCurrencyId": "USD",
            "profitCalculation": {
                "grossRevenue": 9.95,
                "collectedVat": 1.59,
                "netRevenue": 8.36,
                "cbMarginPercentage": 0,
                "cbMarginFix": 0,
                "yourNetProfit": 8.36,
                "yourVat": 0,
                "yourGrossProfit": 8.36
            },
            "yourPrice": {
                "productSinglePrice": {
                    "netPrice": 8.36,
                    "vatPrice": 0,
                    "grossPrice": 8.36,
                    "vatPercentage": 0
                },
                "productTotalPrice": {
                    "netPrice": 8.36,
                    "vatPrice": 0,
                    "grossPrice": 8.36,
                    "vatPercentage": 0
                },
                "totalSinglePrice": {
                    "netPrice": 8.36,
                    "vatPrice": 0,
                    "grossPrice": 8.36,
                    "vatPercentage": 0
                },
                "totalTotalPrice": {
                    "netPrice": 8.36,
                    "vatPrice": 0,
                    "grossPrice": 8.36,
                    "vatPercentage": 0
                }
            },
            "customerPrice": {
                "productSinglePrice": {
                    "netPrice": 8.36,
                    "vatPrice": 1.59,
                    "grossPrice": 9.95,
                    "vatPercentage": 19
                },
                "productTotalPrice": {
                    "netPrice": 8.36,
                    "vatPrice": 1.59,
                    "grossPrice": 9.95,
                    "vatPercentage": 19
                },
                "totalSinglePrice": {
                    "netPrice": 8.36,
                    "vatPrice": 1.59,
                    "grossPrice": 9.95,
                    "vatPercentage": 19
                },
                "totalTotalPrice": {
                    "netPrice": 8.36,
                    "vatPrice": 1.59,
                    "grossPrice": 9.95,
                    "vatPercentage": 19
                }
            },
            "deliveries": [],
            "extraParameters": {
                "x-meter": "GB-per-month",
                "x-unit": 100.23,
              	"x-unitprice": 0.50
            }
        }
    ],
    "extraParameters": {}
}
<?xml version="1.0" encoding="utf-8"?>
<cbn:NewOfflinePaymentPurchaseNotification
    xmlns:cbn="http://xml.cleverbridge.com/3.12.0.0/cleverbridgeNotification.xsd">
    <cbn:NotificationDate>2016-06-30T15:11:05.6014Z</cbn:NotificationDate>
    <cbn:Purchase
        xmlns:cbt="http://xml.cleverbridge.com/3.12.0.0/cleverbridgeTypes.xsd" cbt:Id="93855579">
        <cbt:Status>Waiting for Offline Payment</cbt:Status>
        <cbt:StatusId>WOF</cbt:StatusId>
        <cbt:BillingContact>
            <cbt:Language>English</cbt:Language>
            <cbt:LanguageId>en</cbt:LanguageId>
            <cbt:Locale>en-US</cbt:Locale>
            <cbt:Firstname>John</cbt:Firstname>
            <cbt:Lastname>Doe</cbt:Lastname>
            <cbt:FirstnameRomanized>John</cbt:FirstnameRomanized>
            <cbt:LastnameRomanized>Doe</cbt:LastnameRomanized>
            <cbt:Street1>Gereonstr. 43-65</cbt:Street1>
            <cbt:PostalCode>50670</cbt:PostalCode>
            <cbt:City>Köln</cbt:City>
            <cbt:Country>Germany</cbt:Country>
            <cbt:CountryId>DE</cbt:CountryId>
            <cbt:Email>john.doe@cleverbridge.com</cbt:Email>
        </cbt:BillingContact>
        <cbt:DeliveryContact>
            <cbt:Language>English</cbt:Language>
            <cbt:LanguageId>en</cbt:LanguageId>
            <cbt:Locale>en-US</cbt:Locale>
            <cbt:Firstname>John</cbt:Firstname>
            <cbt:Lastname>Doe</cbt:Lastname>
            <cbt:FirstnameRomanized>John</cbt:FirstnameRomanized>
            <cbt:LastnameRomanized>Doe</cbt:LastnameRomanized>
            <cbt:Street1>Gereonstr. 43-65</cbt:Street1>
            <cbt:PostalCode>50670</cbt:PostalCode>
            <cbt:City>Köln</cbt:City>
            <cbt:Country>Germany</cbt:Country>
            <cbt:CountryId>DE</cbt:CountryId>
            <cbt:Email>john.doe@cleverbridge.com</cbt:Email>
        </cbt:DeliveryContact>
        <cbt:LicenseeContact>
            <cbt:Language>English</cbt:Language>
            <cbt:LanguageId>en</cbt:LanguageId>
            <cbt:Locale>en-US</cbt:Locale>
            <cbt:Firstname>John</cbt:Firstname>
            <cbt:Lastname>Doe</cbt:Lastname>
            <cbt:FirstnameRomanized>John</cbt:FirstnameRomanized>
            <cbt:LastnameRomanized>Doe</cbt:LastnameRomanized>
            <cbt:Street1>Gereonstr. 43-65</cbt:Street1>
            <cbt:PostalCode>50670</cbt:PostalCode>
            <cbt:City>Köln</cbt:City>
            <cbt:Country>Germany</cbt:Country>
            <cbt:CountryId>DE</cbt:CountryId>
            <cbt:Email>john.doe@cleverbridge.com</cbt:Email>
        </cbt:LicenseeContact>
        <cbt:PaymentInfo>
            <cbt:Currency>US Dollar</cbt:Currency>
            <cbt:CurrencyId>USD</cbt:CurrencyId>
            <cbt:PaymentType>Wire transfer</cbt:PaymentType>
            <cbt:PaymentTypeId>WTR_STD</cbt:PaymentTypeId>
            <cbt:IsPurchaseOrder>false</cbt:IsPurchaseOrder>
        </cbt:PaymentInfo>
        <cbt:CreationTime>2016-06-30T15:11:05.6014Z</cbt:CreationTime>
        <cbt:LastModificationTime>2016-06-30T15:11:06.672544Z</cbt:LastModificationTime>
        <cbt:RemoteAddress>89.1.3.0</cbt:RemoteAddress>
        <cbt:HttpUserAgent>
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
</cbt:HttpUserAgent>
        <cbt:HttpEntryUrl>
https://www.cleverbridge.com/864/?scope=checkout&cart=97775&language=en
</cbt:HttpEntryUrl>
        <cbt:HttpReferer>
https://www.cleverbridge.com/864/?scope=checkout&cart=97775&language=en
</cbt:HttpReferer>
        <cbt:HttpAcceptLanguage>de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4</cbt:HttpAcceptLanguage>
        <cbt:InternalCustomer>0Ds4LGXmzb08kjlxX0dLq7gQFUjS3G0EydNwU2RZ</cbt:InternalCustomer>
        <cbt:CustomerConfirmationPageUrl>
https://www.cleverbridge.com/864/p/93855579-XZUdbUT1F4EoVt5vJgM4
</cbt:CustomerConfirmationPageUrl>
        <cbt:CustomerPdfDocumentUrl>
https://www.cleverbridge.com/invoice/4TYLG7R3EOQ7AV79AH4Q/93855579.pdf
</cbt:CustomerPdfDocumentUrl>
        <cbt:MerchantOfRecord>AG</cbt:MerchantOfRecord>
        <cbt:Items>
            <cbt:Item cbt:RunningNo="1">
                <cbt:ProductId>97775</cbt:ProductId>
                <cbt:ProductName>Computer Optimization</cbt:ProductName>
                <cbt:ProductNameExtension></cbt:ProductNameExtension>
                <cbt:ProductReportingGroup>B2C</cbt:ProductReportingGroup>
                <cbt:SupportContactId>1625</cbt:SupportContactId>
                <cbt:SupportContact>Default</cbt:SupportContact>
                <cbt:ClientId>864</cbt:ClientId>
                <cbt:Quantity>1</cbt:Quantity>
                <cbt:AffiliateId>29888</cbt:AffiliateId>
                <cbt:Affiliate>Annika Schmidt</cbt:Affiliate>
                <cbt:YourCurrency>US Dollar</cbt:YourCurrency>
                <cbt:YourCurrencyId>USD</cbt:YourCurrencyId>
                <cbt:ProfitCalculation>
                    <cbt:GrossRevenue>9.95</cbt:GrossRevenue>
                    <cbt:CollectedVat>1.59</cbt:CollectedVat>
                    <cbt:NetRevenue>8.36</cbt:NetRevenue>
                    <cbt:CbMarginPercentage>0</cbt:CbMarginPercentage>
                    <cbt:CbMarginFix>0</cbt:CbMarginFix>
                    <cbt:YourNetProfit>8.36</cbt:YourNetProfit>
                    <cbt:YourVat>0</cbt:YourVat>
                    <cbt:YourGrossProfit>8.36</cbt:YourGrossProfit>
                </cbt:ProfitCalculation>
                <cbt:YourPrice>
                    <cbt:ProductSinglePrice>
                        <cbt:NetPrice>8.36</cbt:NetPrice>
                        <cbt:VatPrice>0</cbt:VatPrice>
                        <cbt:GrossPrice>8.36</cbt:GrossPrice>
                        <cbt:VatPercentage>0</cbt:VatPercentage>
                    </cbt:ProductSinglePrice>
                    <cbt:ProductTotalPrice>
                        <cbt:NetPrice>8.36</cbt:NetPrice>
                        <cbt:VatPrice>0</cbt:VatPrice>
                        <cbt:GrossPrice>8.36</cbt:GrossPrice>
                        <cbt:VatPercentage>0</cbt:VatPercentage>
                    </cbt:ProductTotalPrice>
                    <cbt:TotalSinglePrice>
                        <cbt:NetPrice>8.36</cbt:NetPrice>
                        <cbt:VatPrice>0</cbt:VatPrice>
                        <cbt:GrossPrice>8.36</cbt:GrossPrice>
                        <cbt:VatPercentage>0</cbt:VatPercentage>
                    </cbt:TotalSinglePrice>
                    <cbt:TotalTotalPrice>
                        <cbt:NetPrice>8.36</cbt:NetPrice>
                        <cbt:VatPrice>0</cbt:VatPrice>
                        <cbt:GrossPrice>8.36</cbt:GrossPrice>
                        <cbt:VatPercentage>0</cbt:VatPercentage>
                    </cbt:TotalTotalPrice>
                </cbt:YourPrice>
                <cbt:CustomerPrice>
                    <cbt:ProductSinglePrice>
                        <cbt:NetPrice>8.36</cbt:NetPrice>
                        <cbt:VatPrice>1.59</cbt:VatPrice>
                        <cbt:GrossPrice>9.95</cbt:GrossPrice>
                        <cbt:VatPercentage>19</cbt:VatPercentage>
                    </cbt:ProductSinglePrice>
                    <cbt:ProductTotalPrice>
                        <cbt:NetPrice>8.36</cbt:NetPrice>
                        <cbt:VatPrice>1.59</cbt:VatPrice>
                        <cbt:GrossPrice>9.95</cbt:GrossPrice>
                        <cbt:VatPercentage>19</cbt:VatPercentage>
                    </cbt:ProductTotalPrice>
                    <cbt:TotalSinglePrice>
                        <cbt:NetPrice>8.36</cbt:NetPrice>
                        <cbt:VatPrice>1.59</cbt:VatPrice>
                        <cbt:GrossPrice>9.95</cbt:GrossPrice>
                        <cbt:VatPercentage>19</cbt:VatPercentage>
                    </cbt:TotalSinglePrice>
                    <cbt:TotalTotalPrice>
                        <cbt:NetPrice>8.36</cbt:NetPrice>
                        <cbt:VatPrice>1.59</cbt:VatPrice>
                        <cbt:GrossPrice>9.95</cbt:GrossPrice>
                        <cbt:VatPercentage>19</cbt:VatPercentage>
                    </cbt:TotalTotalPrice>
                </cbt:CustomerPrice>
                <cbt:Deliveries/>
                <cbt:Additionals/>
                <cbt:ExtraParameters>
                    <cbt:ExtraParameter>
                        <cbt:Key>x-meter</cbt:Key>
                        <cbt:Value>GB-per-month</cbt:Value>
                    </cbt:ExtraParameter>
                  	<cbt:ExtraParameter>
                        <cbt:Key>x-unit</cbt:Key>
                        <cbt:Value>100.23</cbt:Value>
                    </cbt:ExtraParameter>
                  	<cbt:ExtraParameter>
                        <cbt:Key>x-unitprice</cbt:Key>
                        <cbt:Value>0.50</cbt:Value>
                    </cbt:ExtraParameter>
              	</cbt:ExtraParameters>
            </cbt:Item>
        </cbt:Items>
        <cbt:ExtraParameters/>
    </cbn:Purchase>
</cbn:NewOfflinePaymentPurchaseNotification>

PaidOrderNotification

 

A customer has placed an order and payment has been received by cleverbridge. This notification is sent when payment is received for online or offline payments.

JSON Reference

This notification uses the Purchase Model.

Examples

{
    "meta": {
        "type": "PaidOrderNotification",
        "date": "2016-06-30T15:49:58.383398",
        "schemaUrl": "https://www.cleverbridge.com/JsonNotificationSchemas/PaidOrderNotification"
    },
    "purchaseId": 93857572,
    "status": "Test Order",
    "statusId": "TST",
    "billingContact": {
        "language": "English",
        "languageId": "en",
        "locale": "en-US",
        "firstname": "John",
        "lastname": "Doe",
        "firstnameRomanized": "John",
        "lastnameRomanized": "Doe",
        "street1": "Gereonstr. 43-65",
        "postalcode": "50670",
        "city": "Köln",
        "country": "Germany",
        "countryId": "DE",
        "email": "john.doe@cleverbridge.com"
    },
    "deliveryContact": {
        "language": "English",
        "languageId": "en",
        "locale": "en-US",
        "firstname": "John",
        "lastname": "Doe",
        "firstnameRomanized": "John",
        "lastnameRomanized": "Doe",
        "street1": "Gereonstr. 43-65",
        "postalcode": "50670",
        "city": "Köln",
        "country": "Germany",
        "countryId": "DE",
        "email": "john.doe@cleverbridge.com"
    },
    "licenseeContact": {
        "language": "English",
        "languageId": "en",
        "locale": "en-US",
        "firstname": "John",
        "lastname": "Doe",
        "firstnameRomanized": "John",
        "lastnameRomanized": "Doe",
        "street1": "Gereonstr. 43-65",
        "postalcode": "50670",
        "city": "Köln",
        "country": "Germany",
        "countryId": "DE",
        "email": "john.doe@cleverbridge.com"
    },
    "paymentInfo": {
        "currency": "US Dollar",
        "currencyId": "USD",
        "paymentType": "Visa",
        "paymentTypeId": "CCA_VIS",
        "isPurchaseOrder": false
    },
    "creationTime": "2016-06-30T15:49:57.981426",
    "paymentArriveTime": "2016-06-30T15:49:58.383398",
    "lastModificationTime": "2016-06-30T15:49:58.600693",
    "remoteAddress": "89.1.3.0",
    "httpUserAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
    "httpEntryUrl": "https://www.cleverbridge.com/864/?scope=checkout&cart=97771&language=en",
    "httpReferer": "https://www.cleverbridge.com/864/?scope=checkout&cart=97771&language=en",
    "httpAcceptLanguage": "de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4",
    "internalCustomer": "E2BMN04KduLs040yaMmL0nhJxvNbzbR1uQq3subT",
    "customerConfirmationPageUrl": "https://www.cleverbridge.com/864/p/93857572-puWTTfDOWt9oPS6o6vEN",
    "customerPdfDocumentUrl": "https://www.cleverbridge.com/invoice/4TYLGIGR233U6WQOMBKG/93857572.pdf",
    "merchantOfRecord": "AG",
    "items": [
        {
            "runningNumber": 1,
            "productId": 97771,
            "productName": "Internet Security Basic Extended",
            "productNameExtension": "For your home",
            "productReportingGroup": "B2C",
            "supportContactId": 1625,
            "supportContact": "Default",
            "clientId": 864,
            "quantity": 1,
            "affiliateId": 29888,
            "affiliate": "Annika Schmidt",
            "yourCurrency": "US Dollar",
            "yourCurrencyId": "USD",
            "profitCalculation": {
                "grossRevenue": 29.95,
                "collectedVat": 4.78,
                "netRevenue": 25.17,
                "cbMarginPercentage": 0,
                "cbMarginFix": 0,
                "yourNetProfit": 25.17,
                "yourVat": 0,
                "yourGrossProfit": 25.17
            },
            "yourPrice": {
                "productSinglePrice": {
                    "netPrice": 25.17,
                    "vatPrice": 0,
                    "grossPrice": 25.17,
                    "vatPercentage": 0
                },
                "productTotalPrice": {
                    "netPrice": 25.17,
                    "vatPrice": 0,
                    "grossPrice": 25.17,
                    "vatPercentage": 0
                },
                "totalSinglePrice": {
                    "netPrice": 25.17,
                    "vatPrice": 0,
                    "grossPrice": 25.17,
                    "vatPercentage": 0
                },
                "totalTotalPrice": {
                    "netPrice": 25.17,
                    "vatPrice": 0,
                    "grossPrice": 25.17,
                    "vatPercentage": 0
                }
            },
            "customerPrice": {
                "productSinglePrice": {
                    "netPrice": 25.17,
                    "vatPrice": 4.78,
                    "grossPrice": 29.95,
                    "vatPercentage": 19
                },
                "productTotalPrice": {
                    "netPrice": 25.17,
                    "vatPrice": 4.78,
                    "grossPrice": 29.95,
                    "vatPercentage": 19
                },
                "totalSinglePrice": {
                    "netPrice": 25.17,
                    "vatPrice": 4.78,
                    "grossPrice": 29.95,
                    "vatPercentage": 19
                },
                "totalTotalPrice": {
                    "netPrice": 25.17,
                    "vatPrice": 4.78,
                    "grossPrice": 29.95,
                    "vatPercentage": 19
                }
            },
            "deliveries": [
                {
                    "key": {
                        "key": "John Doe, here is your product key for\r\nyour purchase of Internet Security Basic Extended. \r\n\r\n5491256819",
                        "keyRaw": "5491256819",
                        "deliveryType": "cleverbridge delivers key",
                        "deliveryTypeId": "cleverbridgeDeliversKey"
                    }
                }
            ],
          	"extraParameters": {
                "x-meter": "GB-per-month",
                "x-unit": 100.23,
              	"x-unitprice": 0.50
            },
            "recurringBilling": {
                "subscriptionId": "S18429519",
                "originalPurchaseId": 93857572,
                "originalPurchaseItemRunningNumber": 1,
                "intervalNumber": 0,
                "gracePeriodDays": 2,
                "statusId": "ACT",
                "status": "Active",
                "itemStatusId": "ACT",
                "itemStatus": "Active",
                "nextBillingDate": "2017-06-30T15:49:58.383398",
                "cancellationUrl": "https://www.cleverbridge.com/864/crb/93857572-puWTTfDOWt9oPS6o6vEN-1",
                "changePaymentSubscriptionUrl": "https://www.cleverbridge.com/864/scp/S18429519-1fJi7jiklwJRAxRr",
                "nextBillingProfit": {
                    "grossRevenue": 29.95,
                    "collectedVat": 4.78,
                    "netRevenue": 25.17,
                    "cbMarginPercentage": 0,
                    "cbMarginFix": 0,
                    "yourNetProfit": 25.17,
                    "yourVat": 0,
                    "yourGrossProfit": 25.17
                },
              "licensePeriodInMonths": 12
            }
        }
    ],
    "extraParameters": {}
}
<?xml version="1.0" encoding="utf-8"?>
<cbn:PaidOrderNotification xmlns:cbn="http://xml.cleverbridge.com/3.13.0.1/cleverbridgeNotification.xsd">
  <cbn:NotificationDate>2017-11-16T12:47:38.394563Z</cbn:NotificationDate>
  <cbn:Purchase cbt:Id="123793651" xmlns:cbt="http://xml.cleverbridge.com/3.13.0.1/cleverbridgeTypes.xsd">
    <cbt:Status>Test Order</cbt:Status>
    <cbt:StatusId>TST</cbt:StatusId>
    <cbt:BillingContact>
      <cbt:Language>German</cbt:Language>
      <cbt:LanguageId>de</cbt:LanguageId>
      <cbt:Locale>de-DE</cbt:Locale>
      <cbt:Firstname>Luke</cbt:Firstname>
      <cbt:Lastname>Skywalker</cbt:Lastname>
      <cbt:FirstnameRomanized>Luke</cbt:FirstnameRomanized>
      <cbt:LastnameRomanized>Skywalker</cbt:LastnameRomanized>
      <cbt:Street1>123 Falcon Way</cbt:Street1>
      <cbt:PostalCode>53225</cbt:PostalCode>
      <cbt:City>Bonn</cbt:City>
      <cbt:Country>Germany</cbt:Country>
      <cbt:CountryId>DE</cbt:CountryId>
      <cbt:Email>test@example.com</cbt:Email>
    </cbt:BillingContact>
    <cbt:DeliveryContact>
      <cbt:Language>German</cbt:Language>
      <cbt:LanguageId>de</cbt:LanguageId>
      <cbt:Locale>de-DE</cbt:Locale>
      <cbt:Firstname>Luke</cbt:Firstname>
      <cbt:Lastname>Skywalker</cbt:Lastname>
      <cbt:FirstnameRomanized>Luke</cbt:FirstnameRomanized>
      <cbt:LastnameRomanized>Skywalker</cbt:LastnameRomanized>
      <cbt:Street1>123 Falcon Way</cbt:Street1>
      <cbt:PostalCode>53225</cbt:PostalCode>
      <cbt:City>Bonn</cbt:City>
      <cbt:Country>Germany</cbt:Country>
      <cbt:CountryId>DE</cbt:CountryId>
      <cbt:Email>test@example.com</cbt:Email>
    </cbt:DeliveryContact>
    <cbt:LicenseeContact>
      <cbt:Language>German</cbt:Language>
      <cbt:LanguageId>de</cbt:LanguageId>
      <cbt:Locale>de-DE</cbt:Locale>
      <cbt:Firstname>Luke</cbt:Firstname>
      <cbt:Lastname>Skywalker</cbt:Lastname>
      <cbt:FirstnameRomanized>Luke</cbt:FirstnameRomanized>
      <cbt:LastnameRomanized>Skywalker</cbt:LastnameRomanized>
      <cbt:Street1>123 Falcon Way</cbt:Street1>
      <cbt:PostalCode>53225</cbt:PostalCode>
      <cbt:City>Bonn</cbt:City>
      <cbt:Country>Germany</cbt:Country>
      <cbt:CountryId>DE</cbt:CountryId>
      <cbt:Email>test@example.com</cbt:Email>
    </cbt:LicenseeContact>
    <cbt:PaymentInfo>
      <cbt:Currency>Euro</cbt:Currency>
      <cbt:CurrencyId>EUR</cbt:CurrencyId>
      <cbt:PaymentType>Visa</cbt:PaymentType>
      <cbt:PaymentTypeId>CCA_VIS</cbt:PaymentTypeId>
      <cbt:IsPurchaseOrder>false</cbt:IsPurchaseOrder>
    </cbt:PaymentInfo>
    <cbt:CreationTime>2017-11-16T12:47:38.072906Z</cbt:CreationTime>
    <cbt:PaymentArriveTime>2017-11-16T12:47:38.394563Z</cbt:PaymentArriveTime>
    <cbt:LastModificationTime>2017-11-16T12:47:38.923427Z</cbt:LastModificationTime>
    <cbt:RemoteAddress>89.1.3.0</cbt:RemoteAddress>
    <cbt:HttpUserAgent>Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36</cbt:HttpUserAgent>
    <cbt:HttpEntryUrl>https://www.cleverbridge.com/864/?scope=checkout&amp;cart=97770</cbt:HttpEntryUrl>
    <cbt:HttpReferer>https://www.cleverbridge.com/864/?scope=checkout&amp;cart=97770</cbt:HttpReferer>
    <cbt:HttpAcceptLanguage>de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7</cbt:HttpAcceptLanguage>
    <cbt:InternalCustomer>UBqMyhGBdujWksmqA1i5MlFWQuya4r0HQ7TOOmcP</cbt:InternalCustomer>
    <cbt:CustomerConfirmationPageUrl>https://www.cleverbridge.com/864/p/123793651-bAWdm15cttEtPesInmaG</cbt:CustomerConfirmationPageUrl>
    <cbt:CustomerPdfDocumentUrl>https://www.cleverbridge.com/invoice/4U2VRXXLGCPZMWJXKZD7/123793651.pdf</cbt:CustomerPdfDocumentUrl>
    <cbt:MerchantOfRecord>AG</cbt:MerchantOfRecord>
    <cbt:Items>
      <cbt:Item cbt:RunningNo="1">
        <cbt:ProductId>97770</cbt:ProductId>
        <cbt:ProductName>Internet Security Basic</cbt:ProductName>
        <cbt:ProductNameExtension>Das Basic-Sicherheitspaket für zu Hause</cbt:ProductNameExtension>
        <cbt:ProductReportingGroup>B2C</cbt:ProductReportingGroup>
        <cbt:SupportContactId>1625</cbt:SupportContactId>
        <cbt:SupportContact>Default</cbt:SupportContact>
        <cbt:ClientId>864</cbt:ClientId>
        <cbt:Quantity>1</cbt:Quantity>
        <cbt:YourCurrency>US Dollar</cbt:YourCurrency>
        <cbt:YourCurrencyId>USD</cbt:YourCurrencyId>
        <cbt:ProfitCalculation>
          <cbt:GrossRevenue>29.96</cbt:GrossRevenue>
          <cbt:CollectedVat>4.79</cbt:CollectedVat>
          <cbt:NetRevenue>25.17</cbt:NetRevenue>
          <cbt:CbMarginPercentage>0</cbt:CbMarginPercentage>
          <cbt:CbMarginFix>0</cbt:CbMarginFix>
          <cbt:YourNetProfit>25.17</cbt:YourNetProfit>
          <cbt:YourVat>0</cbt:YourVat>
          <cbt:YourGrossProfit>25.17</cbt:YourGrossProfit>
        </cbt:ProfitCalculation>
        <cbt:YourPrice>
          <cbt:ProductSinglePrice>
            <cbt:NetPrice>25.17</cbt:NetPrice>
            <cbt:VatPrice>0</cbt:VatPrice>
            <cbt:GrossPrice>25.17</cbt:GrossPrice>
            <cbt:VatPercentage>0</cbt:VatPercentage>
          </cbt:ProductSinglePrice>
          <cbt:ProductTotalPrice>
            <cbt:NetPrice>25.17</cbt:NetPrice>
            <cbt:VatPrice>0</cbt:VatPrice>
            <cbt:GrossPrice>25.17</cbt:GrossPrice>
            <cbt:VatPercentage>0</cbt:VatPercentage>
          </cbt:ProductTotalPrice>
          <cbt:TotalSinglePrice>
            <cbt:NetPrice>25.17</cbt:NetPrice>
            <cbt:VatPrice>0</cbt:VatPrice>
            <cbt:GrossPrice>25.17</cbt:GrossPrice>
            <cbt:VatPercentage>0</cbt:VatPercentage>
          </cbt:TotalSinglePrice>
          <cbt:TotalTotalPrice>
            <cbt:NetPrice>25.17</cbt:NetPrice>
            <cbt:VatPrice>0</cbt:VatPrice>
            <cbt:GrossPrice>25.17</cbt:GrossPrice>
            <cbt:VatPercentage>0</cbt:VatPercentage>
          </cbt:TotalTotalPrice>
        </cbt:YourPrice>
        <cbt:CustomerPrice>
          <cbt:ProductSinglePrice>
            <cbt:NetPrice>21.45</cbt:NetPrice>
            <cbt:VatPrice>4.08</cbt:VatPrice>
            <cbt:GrossPrice>25.53</cbt:GrossPrice>
            <cbt:VatPercentage>19</cbt:VatPercentage>
          </cbt:ProductSinglePrice>
          <cbt:ProductTotalPrice>
            <cbt:NetPrice>21.45</cbt:NetPrice>
            <cbt:VatPrice>4.08</cbt:VatPrice>
            <cbt:GrossPrice>25.53</cbt:GrossPrice>
            <cbt:VatPercentage>19</cbt:VatPercentage>
          </cbt:ProductTotalPrice>
          <cbt:TotalSinglePrice>
            <cbt:NetPrice>21.45</cbt:NetPrice>
            <cbt:VatPrice>4.08</cbt:VatPrice>
            <cbt:GrossPrice>25.53</cbt:GrossPrice>
            <cbt:VatPercentage>19</cbt:VatPercentage>
          </cbt:TotalSinglePrice>
          <cbt:TotalTotalPrice>
            <cbt:NetPrice>21.45</cbt:NetPrice>
            <cbt:VatPrice>4.08</cbt:VatPrice>
            <cbt:GrossPrice>25.53</cbt:GrossPrice>
            <cbt:VatPercentage>19</cbt:VatPercentage>
          </cbt:TotalTotalPrice>
        </cbt:CustomerPrice>
        <cbt:Deliveries>
          <cbt:Key>
            <cbt:DeliveryType>cleverbridge delivers key</cbt:DeliveryType>
            <cbt:DeliveryTypeId>cleverbridgeDeliversKey</cbt:DeliveryTypeId>
            <cbt:Key>Luke Skywalker, hier ist der Lizenschlüssel für Ihr Produkt. 5491256819</cbt:Key>
            <cbt:KeyRaw>5491256819</cbt:KeyRaw>
          </cbt:Key>
        </cbt:Deliveries>
        <cbt:Additionals />
        <cbt:ExtraParameters />
        <cbt:RecurringBilling cbt:SubscriptionId="S23419037">
          <cbt:SubscriptionEventtypeId>new</cbt:SubscriptionEventtypeId>
          <cbt:OriginalPurchaseId>123793651</cbt:OriginalPurchaseId>
          <cbt:OriginalPurchaseItemRunningNo>1</cbt:OriginalPurchaseItemRunningNo>
          <cbt:IntervalNo>0</cbt:IntervalNo>
          <cbt:GracePeriodDays>2</cbt:GracePeriodDays>
          <cbt:StatusId>ACT</cbt:StatusId>
          <cbt:Status>Active</cbt:Status>
          <cbt:ItemStatusId>ACT</cbt:ItemStatusId>
          <cbt:ItemStatus>Active</cbt:ItemStatus>
          <cbt:NextBillingDate>2018-11-16T12:47:38.394563Z</cbt:NextBillingDate>
          <cbt:CancellationUrl>https://www.cleverbridge.com/864/crb/123793651-bAWdm15cttEtPesInmaG-1</cbt:CancellationUrl>
          <cbt:ChangePaymentSubscriptionUrl>https://www.cleverbridge.com/864/scp/S23419037-n9gGD21GJJ32I7nt</cbt:ChangePaymentSubscriptionUrl>
          <cbt:NextBillingProfit>
            <cbt:GrossRevenue>29.95</cbt:GrossRevenue>
            <cbt:CollectedVat>4.79</cbt:CollectedVat>
            <cbt:NetRevenue>25.16</cbt:NetRevenue>
            <cbt:CbMarginPercentage>0</cbt:CbMarginPercentage>
            <cbt:CbMarginFix>0</cbt:CbMarginFix>
            <cbt:YourNetProfit>25.17</cbt:YourNetProfit>
            <cbt:YourVat>0</cbt:YourVat>
            <cbt:YourGrossProfit>25.17</cbt:YourGrossProfit>
          </cbt:NextBillingProfit>
        </cbt:RecurringBilling>
        <cbt:LicensePeriodInMonths>12</cbt:LicensePeriodInMonths>
      </cbt:Item>
    </cbt:Items>
    <cbt:ExtraParameters />
  </cbn:Purchase>
</cbn:PaidOrderNotification>

NewPurchaseOrderNotification

 

A customer has placed a new order using a purchase order. This order is fulfilled prior to payment being received.

JSON Reference

This notification uses the Purchase Model.

Examples

{
    "meta": {
        "type": "NewPurchaseOrderNotification",
        "date": "2017-11-16T12:31:59.014166",
        "schemaUrl": "https://www.cleverbridge.com/JsonNotificationSchemas/NewPurchaseOrderNotification"
    },
    "purchaseId": 123792898,
    "status": "Waiting for Payment for Purchase Order",
    "statusId": "WPO",
    "billingContact": {
        "language": "English",
        "languageId": "en",
        "locale": "en-US",
        "firstname": "Han",
        "lastname": "Solo",
        "firstnameRomanized": "Han",
        "lastnameRomanized": "Solo",
        "street1": "123 Falcon Way",
        "street2": "89",
        "postalcode": "53225",
        "city": "Bonn",
        "country": "Germany",
        "countryId": "DE",
        "email": "andrew.smith@cleverbridge.com"
    },
    "deliveryContact": {
        "language": "English",
        "languageId": "en",
        "locale": "en-US",
        "firstname": "Han",
        "lastname": "Solo",
        "firstnameRomanized": "Han",
        "lastnameRomanized": "Solo",
        "street1": "123 Falcon Way",
        "street2": "89",
        "postalcode": "53225",
        "city": "Bonn",
        "country": "Germany",
        "countryId": "DE",
        "email": "andrew.smith@cleverbridge.com"
    },
    "licenseeContact": {
        "language": "English",
        "languageId": "en",
        "locale": "en-US",
        "firstname": "Han",
        "lastname": "Solo",
        "firstnameRomanized": "Han",
        "lastnameRomanized": "Solo",
        "street1": "123 Falcon Way",
        "street2": "89",
        "postalcode": "53225",
        "city": "Bonn",
        "country": "Germany",
        "countryId": "DE",
        "email": "andrew.smith@cleverbridge.com"
    },
    "paymentInfo": {
        "currency": "Euro",
        "currencyId": "EUR",
        "paymentType": "Wire transfer",
        "paymentTypeId": "WTR_STD",
        "isPurchaseOrder": true
    },
    "customerReferenceNumber": "123456789",
    "creationTime": "2017-11-16T12:31:59.014166",
    "lastModificationTime": "2017-11-16T12:32:00.214519",
    "remoteAddress": "89.1.3.0",
    "httpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36",
    "httpEntryUrl": "https://www.cleverbridge.com/864/?scope=checkout&cart=97770",
    "httpReferer": "https://www.cleverbridge.com/864/?scope=checkout&cart=97770",
    "httpAcceptLanguage": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7",
    "internalCustomer": "jA7XxhhCqxpphQCe4RCNe98FWHcfF6YQ3w5olI4z",
    "customerConfirmationPageUrl": "https://www.cleverbridge.com/864/p/123792898-wuviYYkFxhtomhglTyv2",
    "customerPdfDocumentUrl": "https://www.cleverbridge.com/invoice/4U2VRTMCM3BSQ8NN51YJ/AKD-73659113315.pdf",
    "merchantOfRecord": "AG",
    "items": [
        {
            "runningNumber": 1,
            "productId": 97770,
            "productName": "Internet Security Basic",
            "productNameExtension": "For your home, our most basic security",
            "productReportingGroup": "B2C",
            "supportContactId": 1625,
            "supportContact": "Default",
            "clientId": 864,
            "quantity": 1,
            "yourCurrency": "US Dollar",
            "yourCurrencyId": "USD",
            "profitCalculation": {
                "grossRevenue": 29.96,
                "collectedVat": 4.79,
                "netRevenue": 25.17,
                "cbMarginPercentage": 0,
                "cbMarginFix": 0,
                "yourNetProfit": 25.17,
                "yourVat": 0,
                "yourGrossProfit": 25.17
            },
            "yourPrice": {
                "productSinglePrice": {
                    "netPrice": 25.17,
                    "vatPrice": 0,
                    "grossPrice": 25.17,
                    "vatPercentage": 0
                },
                "productTotalPrice": {
                    "netPrice": 25.17,
                    "vatPrice": 0,
                    "grossPrice": 25.17,
                    "vatPercentage": 0
                },
                "totalSinglePrice": {
                    "netPrice": 25.17,
                    "vatPrice": 0,
                    "grossPrice": 25.17,
                    "vatPercentage": 0
                },
                "totalTotalPrice": {
                    "netPrice": 25.17,
                    "vatPrice": 0,
                    "grossPrice": 25.17,
                    "vatPercentage": 0
                }
            },
            "customerPrice": {
                "productSinglePrice": {
                    "netPrice": 21.45,
                    "vatPrice": 4.08,
                    "grossPrice": 25.53,
                    "vatPercentage": 19
                },
                "productTotalPrice": {
                    "netPrice": 21.45,
                    "vatPrice": 4.08,
                    "grossPrice": 25.53,
                    "vatPercentage": 19
                },
                "totalSinglePrice": {
                    "netPrice": 21.45,
                    "vatPrice": 4.08,
                    "grossPrice": 25.53,
                    "vatPercentage": 19
                },
                "totalTotalPrice": {
                    "netPrice": 21.45,
                    "vatPrice": 4.08,
                    "grossPrice": 25.53,
                    "vatPercentage": 19
                }
            },
            "deliveries": [
                {
                    "key": {
                        "key": "Han Solo, Here is your product key.  5789512654",
                        "keyRaw": "5789512654",
                        "deliveryType": "cleverbridge delivers key",
                        "deliveryTypeId": "cleverbridgeDeliversKey"
                    }
                }
            ],
            "extraParameters": {},
            "recurringBilling": {
                "subscriptionId": "S23418885",
                "subscriptionEventtypeId": "new",
                "originalPurchaseId": 123792898,
                "originalPurchaseItemRunningNumber": 1,
                "intervalNumber": 0,
                "gracePeriodDays": 2,
                "statusId": "ACT",
                "status": "Active",
                "itemStatusId": "ACT",
                "itemStatus": "Active",
                "nextBillingDate": "2018-11-16T12:31:58.930362",
                "cancellationUrl": "https://www.cleverbridge.com/864/crb/123792898-wuviYYkFxhtomhglTyv2-1",
                "changePaymentSubscriptionUrl": "https://www.cleverbridge.com/864/scp/S23418885-pvRRG8VWLjuJiiOr",
                "nextBillingProfit": {
                    "grossRevenue": 29.95,
                    "collectedVat": 4.79,
                    "netRevenue": 25.16,
                    "cbMarginPercentage": 0,
                    "cbMarginFix": 0,
                    "yourNetProfit": 25.17,
                    "yourVat": 0,
                    "yourGrossProfit": 25.17
                }
            }
        }
    ],
    "extraParameters": {}
}
<?xml version="1.0" encoding="utf-8"?>
<cbn:NewPurchaseOrderNotification
    xmlns:cbn="http://xml.cleverbridge.com/3.13.0.1/cleverbridgeNotification.xsd">
    <cbn:NotificationDate>2017-11-16T12:31:59.014166Z</cbn:NotificationDate>
    <cbn:Purchase
        xmlns:cbt="http://xml.cleverbridge.com/3.13.0.1/cleverbridgeTypes.xsd" cbt:Id="123792898">
        <cbt:Status>Waiting for Payment for Purchase Order</cbt:Status>
        <cbt:StatusId>WPO</cbt:StatusId>
        <cbt:BillingContact>
            <cbt:Language>English</cbt:Language>
            <cbt:LanguageId>en</cbt:LanguageId>
            <cbt:Locale>en-US</cbt:Locale>
            <cbt:Firstname>Han</cbt:Firstname>
            <cbt:Lastname>Solo</cbt:Lastname>
            <cbt:FirstnameRomanized>Han</cbt:FirstnameRomanized>
            <cbt:LastnameRomanized>Solo</cbt:LastnameRomanized>
            <cbt:Street1>123 Falcon Way</cbt:Street1>
            <cbt:Street2>89</cbt:Street2>
            <cbt:PostalCode>53225</cbt:PostalCode>
            <cbt:City>Bonn</cbt:City>
            <cbt:Country>Germany</cbt:Country>
            <cbt:CountryId>DE</cbt:CountryId>
            <cbt:Email>andrew.smith@cleverbridge.com</cbt:Email>
        </cbt:BillingContact>
        <cbt:DeliveryContact>
            <cbt:Language>English</cbt:Language>
            <cbt:LanguageId>en</cbt:LanguageId>
            <cbt:Locale>en-US</cbt:Locale>
            <cbt:Firstname>Han</cbt:Firstname>
            <cbt:Lastname>Solo</cbt:Lastname>
            <cbt:FirstnameRomanized>Han</cbt:FirstnameRomanized>
            <cbt:LastnameRomanized>Solo</cbt:LastnameRomanized>
            <cbt:Street1>123 Falcon Way</cbt:Street1>
            <cbt:Street2>89</cbt:Street2>
            <cbt:PostalCode>53225</cbt:PostalCode>
            <cbt:City>Bonn</cbt:City>
            <cbt:Country>Germany</cbt:Country>
            <cbt:CountryId>DE</cbt:CountryId>
            <cbt:Email>andrew.smith@cleverbridge.com</cbt:Email>
        </cbt:DeliveryContact>
        <cbt:LicenseeContact>
            <cbt:Language>English</cbt:Language>
            <cbt:LanguageId>en</cbt:LanguageId>
            <cbt:Locale>en-US</cbt:Locale>
            <cbt:Firstname>Han</cbt:Firstname>
            <cbt:Lastname>Solo</cbt:Lastname>
            <cbt:FirstnameRomanized>Han</cbt:FirstnameRomanized>
            <cbt:LastnameRomanized>Solo</cbt:LastnameRomanized>
            <cbt:Street1>123 Falcon Way</cbt:Street1>
            <cbt:Street2>89</cbt:Street2>
            <cbt:PostalCode>53225</cbt:PostalCode>
            <cbt:City>Bonn</cbt:City>
            <cbt:Country>Germany</cbt:Country>
            <cbt:CountryId>DE</cbt:CountryId>
            <cbt:Email>andrew.smith@cleverbridge.com</cbt:Email>
        </cbt:LicenseeContact>
        <cbt:PaymentInfo>
            <cbt:Currency>Euro</cbt:Currency>
            <cbt:CurrencyId>EUR</cbt:CurrencyId>
            <cbt:PaymentType>Wire transfer</cbt:PaymentType>
            <cbt:PaymentTypeId>WTR_STD</cbt:PaymentTypeId>
            <cbt:IsPurchaseOrder>true</cbt:IsPurchaseOrder>
        </cbt:PaymentInfo>
        <cbt:CustomerReferenceNo>123456789</cbt:CustomerReferenceNo>
        <cbt:CreationTime>2017-11-16T12:31:59.014166Z</cbt:CreationTime>
        <cbt:LastModificationTime>2017-11-16T12:32:00.214519Z</cbt:LastModificationTime>
        <cbt:RemoteAddress>89.1.3.0</cbt:RemoteAddress>
        <cbt:HttpUserAgent>
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
</cbt:HttpUserAgent>
        <cbt:HttpEntryUrl>
https://www.cleverbridge.com/864/?scope=checkout&cart=97770
</cbt:HttpEntryUrl>
        <cbt:HttpReferer>
https://www.cleverbridge.com/864/?scope=checkout&cart=97770
</cbt:HttpReferer>
        <cbt:HttpAcceptLanguage>de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7</cbt:HttpAcceptLanguage>
        <cbt:InternalCustomer>jA7XxhhCqxpphQCe4RCNe98FWHcfF6YQ3w5olI4z</cbt:InternalCustomer>
        <cbt:CustomerConfirmationPageUrl>
https://www.cleverbridge.com/864/p/123792898-wuviYYkFxhtomhglTyv2
</cbt:CustomerConfirmationPageUrl>
        <cbt:CustomerPdfDocumentUrl>
https://www.cleverbridge.com/invoice/4U2VRTMCM3BSQ8NN51YJ/AKD-73659113315.pdf
</cbt:CustomerPdfDocumentUrl>
        <cbt:MerchantOfRecord>AG</cbt:MerchantOfRecord>
        <cbt:Items>
            <cbt:Item cbt:RunningNo="1">
                <cbt:ProductId>97770</cbt:ProductId>
                <cbt:ProductName>Internet Security Basic</cbt:ProductName>
                <cbt:ProductNameExtension>For your home, our most basic security</cbt:ProductNameExtension>
                <cbt:ProductReportingGroup>B2C</cbt:ProductReportingGroup>
                <cbt:SupportContactId>1625</cbt:SupportContactId>
                <cbt:SupportContact>Default</cbt:SupportContact>
                <cbt:ClientId>864</cbt:ClientId>
                <cbt:Quantity>1</cbt:Quantity>
                <cbt:YourCurrency>US Dollar</cbt:YourCurrency>
                <cbt:YourCurrencyId>USD</cbt:YourCurrencyId>
                <cbt:ProfitCalculation>
                    <cbt:GrossRevenue>29.96</cbt:GrossRevenue>
                    <cbt:CollectedVat>4.79</cbt:CollectedVat>
                    <cbt:NetRevenue>25.17</cbt:NetRevenue>
                    <cbt:CbMarginPercentage>0</cbt:CbMarginPercentage>
                    <cbt:CbMarginFix>0</cbt:CbMarginFix>
                    <cbt:YourNetProfit>25.17</cbt:YourNetProfit>
                    <cbt:YourVat>0</cbt:YourVat>
                    <cbt:YourGrossProfit>25.17</cbt:YourGrossProfit>
                </cbt:ProfitCalculation>
                <cbt:YourPrice>
                    <cbt:ProductSinglePrice>
                        <cbt:NetPrice>25.17</cbt:NetPrice>
                        <cbt:VatPrice>0</cbt:VatPrice>
                        <cbt:GrossPrice>25.17</cbt:GrossPrice>
                        <cbt:VatPercentage>0</cbt:VatPercentage>
                    </cbt:ProductSinglePrice>
                    <cbt:ProductTotalPrice>
                        <cbt:NetPrice>25.17</cbt:NetPrice>
                        <cbt:VatPrice>0</cbt:VatPrice>
                        <cbt:GrossPrice>25.17</cbt:GrossPrice>
                        <cbt:VatPercentage>0</cbt:VatPercentage>
                    </cbt:ProductTotalPrice>
                    <cbt:TotalSinglePrice>
                        <cbt:NetPrice>25.17</cbt:NetPrice>
                        <cbt:VatPrice>0</cbt:VatPrice>
                        <cbt:GrossPrice>25.17</cbt:GrossPrice>
                        <cbt:VatPercentage>0</cbt:VatPercentage>
                    </cbt:TotalSinglePrice>
                    <cbt:TotalTotalPrice>
                        <cbt:NetPrice>25.17</cbt:NetPrice>
                        <cbt:VatPrice>0</cbt:VatPrice>
                        <cbt:GrossPrice>25.17</cbt:GrossPrice>
                        <cbt:VatPercentage>0</cbt:VatPercentage>
                    </cbt:TotalTotalPrice>
                </cbt:YourPrice>
                <cbt:CustomerPrice>
                    <cbt:ProductSinglePrice>
                        <cbt:NetPrice>21.45</cbt:NetPrice>
                        <cbt:VatPrice>4.08</cbt:VatPrice>
                        <cbt:GrossPrice>25.53</cbt:GrossPrice>
                        <cbt:VatPercentage>19</cbt:VatPercentage>
                    </cbt:ProductSinglePrice>
                    <cbt:ProductTotalPrice>
                        <cbt:NetPrice>21.45</cbt:NetPrice>
                        <cbt:VatPrice>4.08</cbt:VatPrice>
                        <cbt:GrossPrice>25.53</cbt:GrossPrice>
                        <cbt:VatPercentage>19</cbt:VatPercentage>
                    </cbt:ProductTotalPrice>
                    <cbt:TotalSinglePrice>
                        <cbt:NetPrice>21.45</cbt:NetPrice>
                        <cbt:VatPrice>4.08</cbt:VatPrice>
                        <cbt:GrossPrice>25.53</cbt:GrossPrice>
                        <cbt:VatPercentage>19</cbt:VatPercentage>
                    </cbt:TotalSinglePrice>
                    <cbt:TotalTotalPrice>
                        <cbt:NetPrice>21.45</cbt:NetPrice>
                        <cbt:VatPrice>4.08</cbt:VatPrice>
                        <cbt:GrossPrice>25.53</cbt:GrossPrice>
                        <cbt:VatPercentage>19</cbt:VatPercentage>
                    </cbt:TotalTotalPrice>
                </cbt:CustomerPrice>
                <cbt:Deliveries>
                    <cbt:Key>
                        <cbt:DeliveryType>cleverbridge delivers key</cbt:DeliveryType>
                        <cbt:DeliveryTypeId>cleverbridgeDeliversKey</cbt:DeliveryTypeId>
                        <cbt:Key>Han Solo, Here is your product key. 5789512654</cbt:Key>
                        <cbt:KeyRaw>5789512654</cbt:KeyRaw>
                    </cbt:Key>
                </cbt:Deliveries>
                <cbt:Additionals/>
                <cbt:ExtraParameters/>
                <cbt:RecurringBilling cbt:SubscriptionId="S23418885">
                    <cbt:SubscriptionEventtypeId>new</cbt:SubscriptionEventtypeId>
                    <cbt:OriginalPurchaseId>123792898</cbt:OriginalPurchaseId>
                    <cbt:OriginalPurchaseItemRunningNo>1</cbt:OriginalPurchaseItemRunningNo>
                    <cbt:IntervalNo>0</cbt:IntervalNo>
                    <cbt:GracePeriodDays>2</cbt:GracePeriodDays>
                    <cbt:StatusId>ACT</cbt:StatusId>
                    <cbt:Status>Active</cbt:Status>
                    <cbt:ItemStatusId>ACT</cbt:ItemStatusId>
                    <cbt:ItemStatus>Active</cbt:ItemStatus>
                    <cbt:NextBillingDate>2018-11-16T12:31:58.930362Z</cbt:NextBillingDate>
                    <cbt:CancellationUrl>
https://www.cleverbridge.com/864/crb/123792898-wuviYYkFxhtomhglTyv2-1
</cbt:CancellationUrl>
                    <cbt:ChangePaymentSubscriptionUrl>
https://www.cleverbridge.com/864/scp/S23418885-pvRRG8VWLjuJiiOr
</cbt:ChangePaymentSubscriptionUrl>
                    <cbt:NextBillingProfit>
                        <cbt:GrossRevenue>29.95</cbt:GrossRevenue>
                        <cbt:CollectedVat>4.79</cbt:CollectedVat>
                        <cbt:NetRevenue>25.16</cbt:NetRevenue>
                        <cbt:CbMarginPercentage>0</cbt:CbMarginPercentage>
                        <cbt:CbMarginFix>0</cbt:CbMarginFix>
                        <cbt:YourNetProfit>25.17</cbt:YourNetProfit>
                        <cbt:YourVat>0</cbt:YourVat>
                        <cbt:YourGrossProfit>25.17</cbt:YourGrossProfit>
                    </cbt:NextBillingProfit>
                </cbt:RecurringBilling>
            </cbt:Item>
        </cbt:Items>
        <cbt:ExtraParameters/>
    </cbn:Purchase>
</cbn:NewPurchaseOrderNotification>

RegistrationNotification

 

A customer has registered for a product/service and a free order has been created.

JSON Reference

This notification uses the Purchase Model.

Examples

{
    "meta": {
        "type": "RegistrationNotification",
        "date": "2017-11-17T12:12:43.074405",
        "schemaUrl": "https://www.cleverbridge.com/JsonNotificationSchemas/RegistrationNotification"
    },
    "purchaseId": 123852689,
    "status": "Registration",
    "statusId": "REG",
    "billingContact": {
        "language": "German",
        "languageId": "de",
        "locale": "de-DE",
        "firstname": "Han",
        "lastname": "Solo",
        "firstnameRomanized": "Han",
        "lastnameRomanized": "Solo",
        "street1": "123 Falcon Way",
        "postalcode": "53225",
        "city": "Bonn",
        "country": "Germany",
        "countryId": "DE",
        "email": "test@example.com"
    },
    "deliveryContact": {
        "language": "German",
        "languageId": "de",
        "locale": "de-DE",
        "firstname": "Han",
        "lastname": "Solo",
        "firstnameRomanized": "Han",
        "lastnameRomanized": "Solo",
        "street1": "123 Falcon Way",
        "postalcode": "53225",
        "city": "Bonn",
        "country": "Germany",
        "countryId": "DE",
        "email": "test@example.com"
    },
    "licenseeContact": {
        "language": "German",
        "languageId": "de",
        "locale": "de-DE",
        "firstname": "Han",
        "lastname": "Solo",
        "firstnameRomanized": "Han",
        "lastnameRomanized": "Solo",
        "street1": "123 Falcon Way",
        "postalcode": "53225",
        "city": "Bonn",
        "country": "Germany",
        "countryId": "DE",
        "email": "test@example.com"
    },
    "paymentInfo": {
        "currency": "Euro",
        "currencyId": "EUR",
        "paymentType": "Wire transfer",
        "paymentTypeId": "WTR_STD",
        "isPurchaseOrder": false
    },
    "creationTime": "2017-11-17T12:12:43.074405",
    "lastModificationTime": "2017-11-17T12:12:43.747177",
    "remoteAddress": "89.1.3.0",
    "httpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36",
    "httpEntryUrl": "https://www.cleverbridge.com/864/?scope=checkout&cart=97770",
    "httpReferer": "https://www.cleverbridge.com/864/?scope=registration&id=JFVOp62SGM",
    "httpAcceptLanguage": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7",
    "internalCustomer": "HwwOWf8gopVesfIdCp8VoheDFoy0OekQfPpMSiQ4",
    "customerConfirmationPageUrl": "https://www.cleverbridge.com/864/p/123852689-Awqr32SQqf2MXNHWQNcU",
    "merchantOfRecord": "AG",
    "items": [
        {
            "runningNumber": 1,
            "productId": 97770,
            "productName": "Internet Security Basic",
            "productNameExtension": "Das Basic-Sicherheitspaket für zu Hause",
            "productReportingGroup": "B2C",
            "supportContactId": 1625,
            "supportContact": "Default",
            "clientId": 864,
            "quantity": 1,
            "yourCurrency": "US Dollar",
            "yourCurrencyId": "USD",
            "profitCalculation": {
                "grossRevenue": 0,
                "collectedVat": 0,
                "netRevenue": 0,
                "cbMarginPercentage": 0,
                "cbMarginFix": 0,
                "yourNetProfit": 0,
                "yourVat": 0,
                "yourGrossProfit": 0
            },
            "yourPrice": {
                "productSinglePrice": {
                    "netPrice": 0,
                    "vatPrice": 0,
                    "grossPrice": 0,
                    "vatPercentage": 0
                },
                "productTotalPrice": {
                    "netPrice": 0,
                    "vatPrice": 0,
                    "grossPrice": 0,
                    "vatPercentage": 0
                },
                "totalSinglePrice": {
                    "netPrice": 0,
                    "vatPrice": 0,
                    "grossPrice": 0,
                    "vatPercentage": 0
                },
                "totalTotalPrice": {
                    "netPrice": 0,
                    "vatPrice": 0,
                    "grossPrice": 0,
                    "vatPercentage": 0
                }
            },
            "customerPrice": {
                "productSinglePrice": {
                    "netPrice": 0,
                    "vatPrice": 0,
                    "grossPrice": 0,
                    "vatPercentage": 19
                },
                "productTotalPrice": {
                    "netPrice": 0,
                    "vatPrice": 0,
                    "grossPrice": 0,
                    "vatPercentage": 19
                },
                "totalSinglePrice": {
                    "netPrice": 0,
                    "vatPrice": 0,
                    "grossPrice": 0,
                    "vatPercentage": 19
                },
                "totalTotalPrice": {
                    "netPrice": 0,
                    "vatPrice": 0,
                    "grossPrice": 0,
                    "vatPercentage": 19
                }
            },
            "deliveries": [],
            "extraParameters": {},
            "recurringBilling": {
                "subscriptionId": "S23431646",
                "subscriptionEventtypeId": "new",
                "originalPurchaseId": 123852689,
                "originalPurchaseItemRunningNumber": 1,
                "intervalNumber": 0,
                "gracePeriodDays": 2,
                "statusId": "NEW",
                "status": "New",
                "itemStatusId": "ACT",
                "itemStatus": "Active",
                "cancellationUrl": "https://www.cleverbridge.com/864/crb/123852689-Awqr32SQqf2MXNHWQNcU-1",
                "changePaymentSubscriptionUrl": "https://www.cleverbridge.com/864/scp/S23431646-8xeRmfPQFFMqqLCH",
                "nextBillingProfit": {
                    "grossRevenue": 0,
                    "collectedVat": 0,
                    "netRevenue": 0,
                    "cbMarginPercentage": 0,
                    "cbMarginFix": 0,
                    "yourNetProfit": 0,
                    "yourVat": 0,
                    "yourGrossProfit": 0
                }
            }
        }
    ],
    "extraParameters": {}
}
<?xml version="1.0" encoding="utf-8"?>
<cbn:RegistrationNotification
    xmlns:cbn="http://xml.cleverbridge.com/3.13.0.1/cleverbridgeNotification.xsd">
    <cbn:NotificationDate>2017-11-17T12:12:43.074405Z</cbn:NotificationDate>
    <cbn:Purchase
        xmlns:cbt="http://xml.cleverbridge.com/3.13.0.1/cleverbridgeTypes.xsd" cbt:Id="123852689">
        <cbt:Status>Registration</cbt:Status>
        <cbt:StatusId>REG</cbt:StatusId>
        <cbt:BillingContact>
            <cbt:Language>German</cbt:Language>
            <cbt:LanguageId>de</cbt:LanguageId>
            <cbt:Locale>de-DE</cbt:Locale>
            <cbt:Firstname>Han</cbt:Firstname>
            <cbt:Lastname>Solo</cbt:Lastname>
            <cbt:FirstnameRomanized>Han</cbt:FirstnameRomanized>
            <cbt:LastnameRomanized>Solo</cbt:LastnameRomanized>
            <cbt:Street1>123 Falcon Way</cbt:Street1>
            <cbt:PostalCode>53225</cbt:PostalCode>
            <cbt:City>Bonn</cbt:City>
            <cbt:Country>Germany</cbt:Country>
            <cbt:CountryId>DE</cbt:CountryId>
            <cbt:Email>test@example.com</cbt:Email>
        </cbt:BillingContact>
        <cbt:DeliveryContact>
            <cbt:Language>German</cbt:Language>
            <cbt:LanguageId>de</cbt:LanguageId>
            <cbt:Locale>de-DE</cbt:Locale>
            <cbt:Firstname>Han</cbt:Firstname>
            <cbt:Lastname>Solo</cbt: