Chilkat Online Tools

C++ / DocuSign REST API / Updates the account billing plan.

Back to Collection Items

#include <CkHttp.h>
#include <CkJsonObject.h>
#include <CkStringBuilder.h>
#include <CkHttpResponse.h>

void ChilkatSample(void)
    {
    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    CkHttp http;
    bool success;

    // Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    // The following JSON is sent in the request body.

    // {
    //   "planInformation": {
    //     "planId": "sample string 1",
    //     "planFeatureSets": [
    //       {
    //         "featureSetId": "sample string 1",
    //         "isActive": "sample string 2",
    //         "name": "sample string 3",
    //         "fixedFee": "sample string 4",
    //         "envelopeFee": "sample string 5",
    //         "seatFee": "sample string 6",
    //         "isEnabled": "sample string 7",
    //         "is21CFRPart11": "sample string 8",
    //         "currencyFeatureSetPrices": [
    //           {
    //             "currencyCode": "sample string 1",
    //             "fixedFee": "sample string 2",
    //             "seatFee": "sample string 3",
    //             "envelopeFee": "sample string 4",
    //             "currencySymbol": "sample string 5"
    //           }
    //         ]
    //       }
    //     ],
    //     "addOns": [
    //       {
    //         "id": "sample string 1",
    //         "addOnId": "sample string 2",
    //         "name": "sample string 3",
    //         "active": "sample string 4"
    //       }
    //     ],
    //     "recipientDomains": [
    //       {
    //         "recipientDomainId": "sample string 1",
    //         "domainCode": "sample string 2",
    //         "domainName": "sample string 3",
    //         "active": "sample string 4"
    //       }
    //     ],
    //     "currencyCode": "sample string 2",
    //     "freeTrialDaysOverride": "sample string 3"
    //   },
    //   "enableSupport": "sample string 1",
    //   "includedSeats": "sample string 2",
    //   "incrementalSeats": "sample string 3",
    //   "saleDiscountPercent": "sample string 4",
    //   "saleDiscountAmount": "sample string 5",
    //   "saleDiscountFixedAmount": "sample string 6",
    //   "saleDiscountPeriods": "sample string 7",
    //   "saleDiscountSeatPriceOverride": "sample string 8",
    //   "renewalStatus": "sample string 9",
    //   "downgradeReason": "sample string 10",
    //   "creditCardInformation": {
    //     "cardNumber": "sample string 1",
    //     "expirationMonth": "sample string 2",
    //     "expirationYear": "sample string 3",
    //     "nameOnCard": "sample string 4",
    //     "cardType": "sample string 5",
    //     "address": {
    //       "street1": "sample string 1",
    //       "street2": "sample string 2",
    //       "city": "sample string 3",
    //       "state": "sample string 4",
    //       "zip": "sample string 5",
    //       "phone": "sample string 6",
    //       "fax": "sample string 7",
    //       "country": "sample string 8",
    //       "zipPlus4": "sample string 9"
    //     }
    //   },
    //   "appStoreReceipt": {
    //     "productId": "sample string 1",
    //     "receiptData": "sample string 2"
    //   },
    //   "billingAddress": {
    //     "address1": "sample string 1",
    //     "address2": "sample string 2",
    //     "city": "sample string 3",
    //     "state": "sample string 4",
    //     "postalCode": "sample string 5",
    //     "phone": "sample string 6",
    //     "fax": "sample string 7",
    //     "country": "sample string 8",
    //     "firstName": "sample string 9",
    //     "lastName": "sample string 10",
    //     "email": "sample string 11",
    //     "supportedCountries": [
    //       {
    //         "isoCode": "sample string 1",
    //         "provinceValidated": "sample string 2",
    //         "name": "sample string 3",
    //         "provinces": [
    //           {
    //             "isoCode": "sample string 1",
    //             "name": "sample string 2"
    //           }
    //         ]
    //       }
    //     ]
    //   },
    //   "referralInformation": {
    //     "enableSupport": "sample string 1",
    //     "includedSeats": "sample string 2",
    //     "saleDiscountPercent": "sample string 3",
    //     "saleDiscountAmount": "sample string 4",
    //     "saleDiscountFixedAmount": "sample string 5",
    //     "saleDiscountPeriods": "sample string 6",
    //     "saleDiscountSeatPriceOverride": "sample string 7",
    //     "planStartMonth": "sample string 8",
    //     "referralCode": "sample string 9",
    //     "referrerName": "sample string 10",
    //     "advertisementId": "sample string 11",
    //     "publisherId": "sample string 12",
    //     "shopperId": "sample string 13",
    //     "promoCode": "sample string 14",
    //     "groupMemberId": "sample string 15",
    //     "idType": "sample string 16",
    //     "industry": "sample string 17",
    //     "externalOrgId": "sample string 18"
    //   },
    //   "paymentProcessorInformation": {
    //     "billingAgreementId": "sample string 1",
    //     "email": "sample string 2",
    //     "address": {}
    //   }
    // }

    CkJsonObject json;
    json.UpdateString("planInformation.planId","sample string 1");
    json.UpdateString("planInformation.planFeatureSets[0].featureSetId","sample string 1");
    json.UpdateString("planInformation.planFeatureSets[0].isActive","sample string 2");
    json.UpdateString("planInformation.planFeatureSets[0].name","sample string 3");
    json.UpdateString("planInformation.planFeatureSets[0].fixedFee","sample string 4");
    json.UpdateString("planInformation.planFeatureSets[0].envelopeFee","sample string 5");
    json.UpdateString("planInformation.planFeatureSets[0].seatFee","sample string 6");
    json.UpdateString("planInformation.planFeatureSets[0].isEnabled","sample string 7");
    json.UpdateString("planInformation.planFeatureSets[0].is21CFRPart11","sample string 8");
    json.UpdateString("planInformation.planFeatureSets[0].currencyFeatureSetPrices[0].currencyCode","sample string 1");
    json.UpdateString("planInformation.planFeatureSets[0].currencyFeatureSetPrices[0].fixedFee","sample string 2");
    json.UpdateString("planInformation.planFeatureSets[0].currencyFeatureSetPrices[0].seatFee","sample string 3");
    json.UpdateString("planInformation.planFeatureSets[0].currencyFeatureSetPrices[0].envelopeFee","sample string 4");
    json.UpdateString("planInformation.planFeatureSets[0].currencyFeatureSetPrices[0].currencySymbol","sample string 5");
    json.UpdateString("planInformation.addOns[0].id","sample string 1");
    json.UpdateString("planInformation.addOns[0].addOnId","sample string 2");
    json.UpdateString("planInformation.addOns[0].name","sample string 3");
    json.UpdateString("planInformation.addOns[0].active","sample string 4");
    json.UpdateString("planInformation.recipientDomains[0].recipientDomainId","sample string 1");
    json.UpdateString("planInformation.recipientDomains[0].domainCode","sample string 2");
    json.UpdateString("planInformation.recipientDomains[0].domainName","sample string 3");
    json.UpdateString("planInformation.recipientDomains[0].active","sample string 4");
    json.UpdateString("planInformation.currencyCode","sample string 2");
    json.UpdateString("planInformation.freeTrialDaysOverride","sample string 3");
    json.UpdateString("enableSupport","sample string 1");
    json.UpdateString("includedSeats","sample string 2");
    json.UpdateString("incrementalSeats","sample string 3");
    json.UpdateString("saleDiscountPercent","sample string 4");
    json.UpdateString("saleDiscountAmount","sample string 5");
    json.UpdateString("saleDiscountFixedAmount","sample string 6");
    json.UpdateString("saleDiscountPeriods","sample string 7");
    json.UpdateString("saleDiscountSeatPriceOverride","sample string 8");
    json.UpdateString("renewalStatus","sample string 9");
    json.UpdateString("downgradeReason","sample string 10");
    json.UpdateString("creditCardInformation.cardNumber","sample string 1");
    json.UpdateString("creditCardInformation.expirationMonth","sample string 2");
    json.UpdateString("creditCardInformation.expirationYear","sample string 3");
    json.UpdateString("creditCardInformation.nameOnCard","sample string 4");
    json.UpdateString("creditCardInformation.cardType","sample string 5");
    json.UpdateString("creditCardInformation.address.street1","sample string 1");
    json.UpdateString("creditCardInformation.address.street2","sample string 2");
    json.UpdateString("creditCardInformation.address.city","sample string 3");
    json.UpdateString("creditCardInformation.address.state","sample string 4");
    json.UpdateString("creditCardInformation.address.zip","sample string 5");
    json.UpdateString("creditCardInformation.address.phone","sample string 6");
    json.UpdateString("creditCardInformation.address.fax","sample string 7");
    json.UpdateString("creditCardInformation.address.country","sample string 8");
    json.UpdateString("creditCardInformation.address.zipPlus4","sample string 9");
    json.UpdateString("appStoreReceipt.productId","sample string 1");
    json.UpdateString("appStoreReceipt.receiptData","sample string 2");
    json.UpdateString("billingAddress.address1","sample string 1");
    json.UpdateString("billingAddress.address2","sample string 2");
    json.UpdateString("billingAddress.city","sample string 3");
    json.UpdateString("billingAddress.state","sample string 4");
    json.UpdateString("billingAddress.postalCode","sample string 5");
    json.UpdateString("billingAddress.phone","sample string 6");
    json.UpdateString("billingAddress.fax","sample string 7");
    json.UpdateString("billingAddress.country","sample string 8");
    json.UpdateString("billingAddress.firstName","sample string 9");
    json.UpdateString("billingAddress.lastName","sample string 10");
    json.UpdateString("billingAddress.email","sample string 11");
    json.UpdateString("billingAddress.supportedCountries[0].isoCode","sample string 1");
    json.UpdateString("billingAddress.supportedCountries[0].provinceValidated","sample string 2");
    json.UpdateString("billingAddress.supportedCountries[0].name","sample string 3");
    json.UpdateString("billingAddress.supportedCountries[0].provinces[0].isoCode","sample string 1");
    json.UpdateString("billingAddress.supportedCountries[0].provinces[0].name","sample string 2");
    json.UpdateString("referralInformation.enableSupport","sample string 1");
    json.UpdateString("referralInformation.includedSeats","sample string 2");
    json.UpdateString("referralInformation.saleDiscountPercent","sample string 3");
    json.UpdateString("referralInformation.saleDiscountAmount","sample string 4");
    json.UpdateString("referralInformation.saleDiscountFixedAmount","sample string 5");
    json.UpdateString("referralInformation.saleDiscountPeriods","sample string 6");
    json.UpdateString("referralInformation.saleDiscountSeatPriceOverride","sample string 7");
    json.UpdateString("referralInformation.planStartMonth","sample string 8");
    json.UpdateString("referralInformation.referralCode","sample string 9");
    json.UpdateString("referralInformation.referrerName","sample string 10");
    json.UpdateString("referralInformation.advertisementId","sample string 11");
    json.UpdateString("referralInformation.publisherId","sample string 12");
    json.UpdateString("referralInformation.shopperId","sample string 13");
    json.UpdateString("referralInformation.promoCode","sample string 14");
    json.UpdateString("referralInformation.groupMemberId","sample string 15");
    json.UpdateString("referralInformation.idType","sample string 16");
    json.UpdateString("referralInformation.industry","sample string 17");
    json.UpdateString("referralInformation.externalOrgId","sample string 18");
    json.UpdateString("paymentProcessorInformation.billingAgreementId","sample string 1");
    json.UpdateString("paymentProcessorInformation.email","sample string 2");
    json.UpdateNewObject("paymentProcessorInformation.address");

    // Adds the "Authorization: Bearer {{accessToken}}" header.
    http.put_AuthToken("{{accessToken}}");
    http.SetRequestHeader("Accept","application/json");

    CkStringBuilder sbRequestBody;
    json.EmitSb(sbRequestBody);

    CkHttpResponse *resp = http.PTextSb("PUT","https://domain.com/v2.1/accounts/{{accountId}}/billing_plan?preview_billing_plan={{preview_billing_plan}}",sbRequestBody,"utf-8","application/json",false,false);
    if (http.get_LastMethodSuccess() == false) {
        std::cout << http.lastErrorText() << "\r\n";
        return;
    }

    std::cout << resp->get_StatusCode() << "\r\n";
    std::cout << resp->bodyStr() << "\r\n";
    delete resp;
    }

Curl Command

curl -X PUT
	-H "Accept: application/json"
	-H "Authorization: Bearer {{accessToken}}"
	-d '{
  "planInformation": {
    "planId": "sample string 1",
    "planFeatureSets": [
      {
        "featureSetId": "sample string 1",
        "isActive": "sample string 2",
        "name": "sample string 3",
        "fixedFee": "sample string 4",
        "envelopeFee": "sample string 5",
        "seatFee": "sample string 6",
        "isEnabled": "sample string 7",
        "is21CFRPart11": "sample string 8",
        "currencyFeatureSetPrices": [
          {
            "currencyCode": "sample string 1",
            "fixedFee": "sample string 2",
            "seatFee": "sample string 3",
            "envelopeFee": "sample string 4",
            "currencySymbol": "sample string 5"
          }
        ]
      }
    ],
    "addOns": [
      {
        "id": "sample string 1",
        "addOnId": "sample string 2",
        "name": "sample string 3",
        "active": "sample string 4"
      }
    ],
    "recipientDomains": [
      {
        "recipientDomainId": "sample string 1",
        "domainCode": "sample string 2",
        "domainName": "sample string 3",
        "active": "sample string 4"
      }
    ],
    "currencyCode": "sample string 2",
    "freeTrialDaysOverride": "sample string 3"
  },
  "enableSupport": "sample string 1",
  "includedSeats": "sample string 2",
  "incrementalSeats": "sample string 3",
  "saleDiscountPercent": "sample string 4",
  "saleDiscountAmount": "sample string 5",
  "saleDiscountFixedAmount": "sample string 6",
  "saleDiscountPeriods": "sample string 7",
  "saleDiscountSeatPriceOverride": "sample string 8",
  "renewalStatus": "sample string 9",
  "downgradeReason": "sample string 10",
  "creditCardInformation": {
    "cardNumber": "sample string 1",
    "expirationMonth": "sample string 2",
    "expirationYear": "sample string 3",
    "nameOnCard": "sample string 4",
    "cardType": "sample string 5",
    "address": {
      "street1": "sample string 1",
      "street2": "sample string 2",
      "city": "sample string 3",
      "state": "sample string 4",
      "zip": "sample string 5",
      "phone": "sample string 6",
      "fax": "sample string 7",
      "country": "sample string 8",
      "zipPlus4": "sample string 9"
    }
  },
  "appStoreReceipt": {
    "productId": "sample string 1",
    "receiptData": "sample string 2"
  },
  "billingAddress": {
    "address1": "sample string 1",
    "address2": "sample string 2",
    "city": "sample string 3",
    "state": "sample string 4",
    "postalCode": "sample string 5",
    "phone": "sample string 6",
    "fax": "sample string 7",
    "country": "sample string 8",
    "firstName": "sample string 9",
    "lastName": "sample string 10",
    "email": "sample string 11",
    "supportedCountries": [
      {
        "isoCode": "sample string 1",
        "provinceValidated": "sample string 2",
        "name": "sample string 3",
        "provinces": [
          {
            "isoCode": "sample string 1",
            "name": "sample string 2"
          }
        ]
      }
    ]
  },
  "referralInformation": {
    "enableSupport": "sample string 1",
    "includedSeats": "sample string 2",
    "saleDiscountPercent": "sample string 3",
    "saleDiscountAmount": "sample string 4",
    "saleDiscountFixedAmount": "sample string 5",
    "saleDiscountPeriods": "sample string 6",
    "saleDiscountSeatPriceOverride": "sample string 7",
    "planStartMonth": "sample string 8",
    "referralCode": "sample string 9",
    "referrerName": "sample string 10",
    "advertisementId": "sample string 11",
    "publisherId": "sample string 12",
    "shopperId": "sample string 13",
    "promoCode": "sample string 14",
    "groupMemberId": "sample string 15",
    "idType": "sample string 16",
    "industry": "sample string 17",
    "externalOrgId": "sample string 18"
  },
  "paymentProcessorInformation": {
    "billingAgreementId": "sample string 1",
    "email": "sample string 2",
    "address": {}
  }
}'
https://domain.com/v2.1/accounts/{{accountId}}/billing_plan?preview_billing_plan={{preview_billing_plan}}

Postman Collection Item JSON

{
  "name": "Updates the account billing plan.",
  "request": {
    "method": "PUT",
    "header": [
      {
        "key": "Accept",
        "value": "application/json"
      },
      {
        "key": "Authorization",
        "value": "Bearer {{accessToken}}"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n  \"planInformation\": {\n    \"planId\": \"sample string 1\",\n    \"planFeatureSets\": [\n      {\n        \"featureSetId\": \"sample string 1\",\n        \"isActive\": \"sample string 2\",\n        \"name\": \"sample string 3\",\n        \"fixedFee\": \"sample string 4\",\n        \"envelopeFee\": \"sample string 5\",\n        \"seatFee\": \"sample string 6\",\n        \"isEnabled\": \"sample string 7\",\n        \"is21CFRPart11\": \"sample string 8\",\n        \"currencyFeatureSetPrices\": [\n          {\n            \"currencyCode\": \"sample string 1\",\n            \"fixedFee\": \"sample string 2\",\n            \"seatFee\": \"sample string 3\",\n            \"envelopeFee\": \"sample string 4\",\n            \"currencySymbol\": \"sample string 5\"\n          }\n        ]\n      }\n    ],\n    \"addOns\": [\n      {\n        \"id\": \"sample string 1\",\n        \"addOnId\": \"sample string 2\",\n        \"name\": \"sample string 3\",\n        \"active\": \"sample string 4\"\n      }\n    ],\n    \"recipientDomains\": [\n      {\n        \"recipientDomainId\": \"sample string 1\",\n        \"domainCode\": \"sample string 2\",\n        \"domainName\": \"sample string 3\",\n        \"active\": \"sample string 4\"\n      }\n    ],\n    \"currencyCode\": \"sample string 2\",\n    \"freeTrialDaysOverride\": \"sample string 3\"\n  },\n  \"enableSupport\": \"sample string 1\",\n  \"includedSeats\": \"sample string 2\",\n  \"incrementalSeats\": \"sample string 3\",\n  \"saleDiscountPercent\": \"sample string 4\",\n  \"saleDiscountAmount\": \"sample string 5\",\n  \"saleDiscountFixedAmount\": \"sample string 6\",\n  \"saleDiscountPeriods\": \"sample string 7\",\n  \"saleDiscountSeatPriceOverride\": \"sample string 8\",\n  \"renewalStatus\": \"sample string 9\",\n  \"downgradeReason\": \"sample string 10\",\n  \"creditCardInformation\": {\n    \"cardNumber\": \"sample string 1\",\n    \"expirationMonth\": \"sample string 2\",\n    \"expirationYear\": \"sample string 3\",\n    \"nameOnCard\": \"sample string 4\",\n    \"cardType\": \"sample string 5\",\n    \"address\": {\n      \"street1\": \"sample string 1\",\n      \"street2\": \"sample string 2\",\n      \"city\": \"sample string 3\",\n      \"state\": \"sample string 4\",\n      \"zip\": \"sample string 5\",\n      \"phone\": \"sample string 6\",\n      \"fax\": \"sample string 7\",\n      \"country\": \"sample string 8\",\n      \"zipPlus4\": \"sample string 9\"\n    }\n  },\n  \"appStoreReceipt\": {\n    \"productId\": \"sample string 1\",\n    \"receiptData\": \"sample string 2\"\n  },\n  \"billingAddress\": {\n    \"address1\": \"sample string 1\",\n    \"address2\": \"sample string 2\",\n    \"city\": \"sample string 3\",\n    \"state\": \"sample string 4\",\n    \"postalCode\": \"sample string 5\",\n    \"phone\": \"sample string 6\",\n    \"fax\": \"sample string 7\",\n    \"country\": \"sample string 8\",\n    \"firstName\": \"sample string 9\",\n    \"lastName\": \"sample string 10\",\n    \"email\": \"sample string 11\",\n    \"supportedCountries\": [\n      {\n        \"isoCode\": \"sample string 1\",\n        \"provinceValidated\": \"sample string 2\",\n        \"name\": \"sample string 3\",\n        \"provinces\": [\n          {\n            \"isoCode\": \"sample string 1\",\n            \"name\": \"sample string 2\"\n          }\n        ]\n      }\n    ]\n  },\n  \"referralInformation\": {\n    \"enableSupport\": \"sample string 1\",\n    \"includedSeats\": \"sample string 2\",\n    \"saleDiscountPercent\": \"sample string 3\",\n    \"saleDiscountAmount\": \"sample string 4\",\n    \"saleDiscountFixedAmount\": \"sample string 5\",\n    \"saleDiscountPeriods\": \"sample string 6\",\n    \"saleDiscountSeatPriceOverride\": \"sample string 7\",\n    \"planStartMonth\": \"sample string 8\",\n    \"referralCode\": \"sample string 9\",\n    \"referrerName\": \"sample string 10\",\n    \"advertisementId\": \"sample string 11\",\n    \"publisherId\": \"sample string 12\",\n    \"shopperId\": \"sample string 13\",\n    \"promoCode\": \"sample string 14\",\n    \"groupMemberId\": \"sample string 15\",\n    \"idType\": \"sample string 16\",\n    \"industry\": \"sample string 17\",\n    \"externalOrgId\": \"sample string 18\"\n  },\n  \"paymentProcessorInformation\": {\n    \"billingAgreementId\": \"sample string 1\",\n    \"email\": \"sample string 2\",\n    \"address\": {}\n  }\n}"
    },
    "url": {
      "raw": "{{baseUrl}}/v2.1/accounts/{{accountId}}/billing_plan?preview_billing_plan={{preview_billing_plan}}",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "v2.1",
        "accounts",
        "{{accountId}}",
        "billing_plan"
      ],
      "query": [
        {
          "key": "preview_billing_plan",
          "value": "{{preview_billing_plan}}"
        }
      ],
      "variable": [
        {
          "key": "accountId",
          "value": "{{accountId}}"
        }
      ]
    },
    "description": "Updates the billing plan information, billing address, and credit card information for the specified account."
  },
  "response": [
  ]
}