Chilkat Online Tools

Objective-C / DocuSign eSignature REST API / Updates the account billing plan.

Back to Collection Items

#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <CkoStringBuilder.h>
#import <CkoHttpResponse.h>

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

CkoHttp *http = [[CkoHttp alloc] init];
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": {}
//   }
// }

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

// Adds the "Authorization: Bearer {{accessToken}}" header.
http.AuthToken = @"{{accessToken}}";
[http SetRequestHeader: @"Accept" value: @"application/json"];

CkoStringBuilder *sbRequestBody = [[CkoStringBuilder alloc] init];
[json EmitSb: sbRequestBody];

CkoHttpResponse *resp = [http PTextSb: @"PUT" url: @"https://domain.com/v2.1/accounts/{{accountId}}/billing_plan?preview_billing_plan={{preview_billing_plan}}" textData: sbRequestBody charset: @"utf-8" contentType: @"application/json" md5: NO gzip: NO];
if (http.LastMethodSuccess == NO) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

NSLog(@"%d",[resp.StatusCode intValue]);
NSLog(@"%@",resp.BodyStr);

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}}",
          "type": "string"
        }
      ]
    },
    "description": "Updates the billing plan information, billing address, and credit card information for the specified account."
  },
  "response": [
  ]
}