Back to Collection Items
#include <C_CkHttp.h>
#include <C_CkJsonObject.h>
#include <C_CkHttpResponse.h>
void ChilkatSample(void)
{
HCkHttp http;
BOOL success;
HCkJsonObject json;
HCkHttpResponse resp;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
CkHttp_putBasicAuth(http,TRUE);
CkHttp_putLogin(http,"{{api_key}}");
CkHttp_putPassword(http,"{{api_secret}}");
// Use this online tool to generate code from sample JSON: Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "contact": {
// "email_address": "cool_alpaca@example.com",
// "phone_number": "555-666-7788",
// "street_address": [
// "20 N San Mateo Dr"
// ],
// "city": "San Mateo",
// "state": "CA",
// "postal_code": "94401",
// "country": "USA"
// },
// "identity": {
// "given_name": "John",
// "family_name": "Doe",
// "date_of_birth": "1990-01-01",
// "tax_id": "666-55-4321",
// "tax_id_type": "USA_SSN",
// "country_of_citizenship": "USA",
// "country_of_birth": "USA",
// "country_of_tax_residence": "USA",
// "funding_source": [
// "employment_income"
// ]
// },
// "disclosures": {
// "is_control_person": false,
// "is_affiliated_exchange_or_finra": false,
// "is_politically_exposed": false,
// "immediate_family_exposed": false
// },
// "agreements": [
// {
// "agreement": "margin_agreement",
// "signed_at": "2020-09-11T18:09:33Z",
// "ip_address": "185.13.21.99"
// },
// {
// "agreement": "account_agreement",
// "signed_at": "2020-09-11T18:13:44Z",
// "ip_address": "185.13.21.99"
// },
// {
// "agreement": "customer_agreement",
// "signed_at": "2020-09-11T18:13:44Z",
// "ip_address": "185.13.21.99"
// }
// ],
// "documents": [
// {
// "document_type": "identity_verification",
// "document_sub_type": "passport",
// "content": "QWxwYWNhcyBjYW5ub3QgbGl2ZSBhbG9uZS4=",
// "mime_type": "image/jpeg"
// }
// ],
// "trusted_contact": {
// "given_name": "Jane",
// "family_name": "Doe",
// "email_address": "jane.doe@example.com"
// }
// }
json = CkJsonObject_Create();
CkJsonObject_UpdateString(json,"contact.email_address","cool_alpaca@example.com");
CkJsonObject_UpdateString(json,"contact.phone_number","555-666-7788");
CkJsonObject_UpdateString(json,"contact.street_address[0]","20 N San Mateo Dr");
CkJsonObject_UpdateString(json,"contact.city","San Mateo");
CkJsonObject_UpdateString(json,"contact.state","CA");
CkJsonObject_UpdateString(json,"contact.postal_code","94401");
CkJsonObject_UpdateString(json,"contact.country","USA");
CkJsonObject_UpdateString(json,"identity.given_name","John");
CkJsonObject_UpdateString(json,"identity.family_name","Doe");
CkJsonObject_UpdateString(json,"identity.date_of_birth","1990-01-01");
CkJsonObject_UpdateString(json,"identity.tax_id","666-55-4321");
CkJsonObject_UpdateString(json,"identity.tax_id_type","USA_SSN");
CkJsonObject_UpdateString(json,"identity.country_of_citizenship","USA");
CkJsonObject_UpdateString(json,"identity.country_of_birth","USA");
CkJsonObject_UpdateString(json,"identity.country_of_tax_residence","USA");
CkJsonObject_UpdateString(json,"identity.funding_source[0]","employment_income");
CkJsonObject_UpdateBool(json,"disclosures.is_control_person",FALSE);
CkJsonObject_UpdateBool(json,"disclosures.is_affiliated_exchange_or_finra",FALSE);
CkJsonObject_UpdateBool(json,"disclosures.is_politically_exposed",FALSE);
CkJsonObject_UpdateBool(json,"disclosures.immediate_family_exposed",FALSE);
CkJsonObject_UpdateString(json,"agreements[0].agreement","margin_agreement");
CkJsonObject_UpdateString(json,"agreements[0].signed_at","2020-09-11T18:09:33Z");
CkJsonObject_UpdateString(json,"agreements[0].ip_address","185.13.21.99");
CkJsonObject_UpdateString(json,"agreements[1].agreement","account_agreement");
CkJsonObject_UpdateString(json,"agreements[1].signed_at","2020-09-11T18:13:44Z");
CkJsonObject_UpdateString(json,"agreements[1].ip_address","185.13.21.99");
CkJsonObject_UpdateString(json,"agreements[2].agreement","customer_agreement");
CkJsonObject_UpdateString(json,"agreements[2].signed_at","2020-09-11T18:13:44Z");
CkJsonObject_UpdateString(json,"agreements[2].ip_address","185.13.21.99");
CkJsonObject_UpdateString(json,"documents[0].document_type","identity_verification");
CkJsonObject_UpdateString(json,"documents[0].document_sub_type","passport");
CkJsonObject_UpdateString(json,"documents[0].content","QWxwYWNhcyBjYW5ub3QgbGl2ZSBhbG9uZS4=");
CkJsonObject_UpdateString(json,"documents[0].mime_type","image/jpeg");
CkJsonObject_UpdateString(json,"trusted_contact.given_name","Jane");
CkJsonObject_UpdateString(json,"trusted_contact.family_name","Doe");
CkJsonObject_UpdateString(json,"trusted_contact.email_address","jane.doe@example.com");
resp = CkHttp_PostJson3(http,"https://domain.com/v1/accounts","application/json",json);
if (CkHttp_getLastMethodSuccess(http) == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
return;
}
printf("%d\n",CkHttpResponse_getStatusCode(resp));
printf("%s\n",CkHttpResponse_bodyStr(resp));
CkHttpResponse_Dispose(resp);
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
}
Curl Command
curl -X POST
-u '{{api_key}}:{{api_secret}}'
-d '{
"contact": {
"email_address": "cool_alpaca@example.com",
"phone_number": "555-666-7788",
"street_address": ["20 N San Mateo Dr"],
"city": "San Mateo",
"state": "CA",
"postal_code": "94401",
"country": "USA"
},
"identity": {
"given_name": "John",
"family_name": "Doe",
"date_of_birth": "1990-01-01",
"tax_id": "666-55-4321",
"tax_id_type": "USA_SSN",
"country_of_citizenship": "USA",
"country_of_birth": "USA",
"country_of_tax_residence": "USA",
"funding_source": ["employment_income"]
},
"disclosures": {
"is_control_person": false,
"is_affiliated_exchange_or_finra": false,
"is_politically_exposed": false,
"immediate_family_exposed": false
},
"agreements": [
{
"agreement": "margin_agreement",
"signed_at": "2020-09-11T18:09:33Z",
"ip_address": "185.13.21.99"
},
{
"agreement": "account_agreement",
"signed_at": "2020-09-11T18:13:44Z",
"ip_address": "185.13.21.99"
},
{
"agreement": "customer_agreement",
"signed_at": "2020-09-11T18:13:44Z",
"ip_address": "185.13.21.99"
}
],
"documents": [
{
"document_type": "identity_verification",
"document_sub_type": "passport",
"content": "QWxwYWNhcyBjYW5ub3QgbGl2ZSBhbG9uZS4=",
"mime_type": "image/jpeg"
}
],
"trusted_contact": {
"given_name": "Jane",
"family_name": "Doe",
"email_address": "jane.doe@example.com"
}
}'
https://domain.com/v1/accounts
Postman Collection Item JSON
{
"name": "Account",
"request": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"contact\": {\n \"email_address\": \"cool_alpaca@example.com\",\n \"phone_number\": \"555-666-7788\",\n \"street_address\": [\"20 N San Mateo Dr\"],\n \"city\": \"San Mateo\",\n \"state\": \"CA\",\n \"postal_code\": \"94401\",\n \"country\": \"USA\"\n },\n \"identity\": {\n \"given_name\": \"John\",\n \"family_name\": \"Doe\",\n \"date_of_birth\": \"1990-01-01\",\n \"tax_id\": \"666-55-4321\",\n \"tax_id_type\": \"USA_SSN\",\n \"country_of_citizenship\": \"USA\",\n \"country_of_birth\": \"USA\",\n \"country_of_tax_residence\": \"USA\",\n \"funding_source\": [\"employment_income\"]\n },\n \"disclosures\": {\n \"is_control_person\": false,\n \"is_affiliated_exchange_or_finra\": false,\n \"is_politically_exposed\": false,\n \"immediate_family_exposed\": false\n },\n \"agreements\": [\n {\n \"agreement\": \"margin_agreement\",\n \"signed_at\": \"2020-09-11T18:09:33Z\",\n \"ip_address\": \"185.13.21.99\"\n },\n {\n \"agreement\": \"account_agreement\",\n \"signed_at\": \"2020-09-11T18:13:44Z\",\n \"ip_address\": \"185.13.21.99\"\n },\n {\n \"agreement\": \"customer_agreement\",\n \"signed_at\": \"2020-09-11T18:13:44Z\",\n \"ip_address\": \"185.13.21.99\"\n }\n ],\n \"documents\": [\n {\n \"document_type\": \"identity_verification\",\n \"document_sub_type\": \"passport\",\n \"content\": \"QWxwYWNhcyBjYW5ub3QgbGl2ZSBhbG9uZS4=\",\n \"mime_type\": \"image/jpeg\"\n }\n ],\n \"trusted_contact\": {\n \"given_name\": \"Jane\",\n \"family_name\": \"Doe\",\n \"email_address\": \"jane.doe@example.com\"\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{HOST}}/v1/accounts",
"host": [
"{{HOST}}"
],
"path": [
"v1",
"accounts"
]
},
"description": "| Attribute | Requirement |\n| ------------- |:-------------: |\n| `contact` | Required |\n| `identity` | Required |\n| `disclosures` | Required |\n| `documents` | Optional |\n| `trusted_contact` | Optional |"
},
"response": [
]
}