Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
CkHttp::setCkBasicAuth(http, 1)
CkHttp::setCkLogin(http, "username")
CkHttp::setCkPassword(http, "password")
; Use this online tool to generate code from sample JSON: Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "merchid": "{{merchid}}",
; "account": "{{account}}",
; "expiry": "{{expiry}}",
; "amount": "12.03",
; "currency": "{{currency}}",
; "name": "Carson Wentz",
; "address": "100 S. Broad Street",
; "city": "Philadelphia",
; "region": "PA",
; "country": "US",
; "postal": "19103",
; "profile": "Y"
; }
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"merchid","{{merchid}}")
CkJsonObject::ckUpdateString(json,"account","{{account}}")
CkJsonObject::ckUpdateString(json,"expiry","{{expiry}}")
CkJsonObject::ckUpdateString(json,"amount","12.03")
CkJsonObject::ckUpdateString(json,"currency","{{currency}}")
CkJsonObject::ckUpdateString(json,"name","Carson Wentz")
CkJsonObject::ckUpdateString(json,"address","100 S. Broad Street")
CkJsonObject::ckUpdateString(json,"city","Philadelphia")
CkJsonObject::ckUpdateString(json,"region","PA")
CkJsonObject::ckUpdateString(json,"country","US")
CkJsonObject::ckUpdateString(json,"postal","19103")
CkJsonObject::ckUpdateString(json,"profile","Y")
CkHttp::ckSetRequestHeader(http,"Authorization","Basic dGVzdGluZzp0ZXN0aW5nMTIz")
CkHttp::ckSetRequestHeader(http,"Content-Type","application/json")
sbRequestBody.i = CkStringBuilder::ckCreate()
If sbRequestBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckEmitSb(json,sbRequestBody)
resp.i = CkHttp::ckPTextSb(http,"PUT","https://domain.com/auth",sbRequestBody,"utf-8","application/json",0,0)
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
ProcedureReturn
EndIf
Debug Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpResponse::ckDispose(resp)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
ProcedureReturn
EndProcedure
Curl Command
curl -X PUT
-u 'username:password'
-H "Authorization: Basic dGVzdGluZzp0ZXN0aW5nMTIz"
-H "Content-Type: application/json"
-d '{
"merchid": "{{merchid}}",
"account": "{{account}}",
"expiry": "{{expiry}}",
"amount": "12.03",
"currency": "{{currency}}",
"name": "Carson Wentz",
"address": "100 S. Broad Street",
"city": "Philadelphia",
"region": "PA",
"country": "US",
"postal": "19103",
"profile": "Y"
}'
https://domain.com/auth
Postman Collection Item JSON
{
"name": "Auth (Create a Profile)",
"event": [
{
"listen": "test",
"script": {
"exec": [
"var jsonData = JSON.parse(responseBody);",
"postman.setEnvironmentVariable(\"profileid\", jsonData.profileid);",
"var jsonData = JSON.parse(responseBody);",
"postman.setEnvironmentVariable(\"acctid\", jsonData.acctid);",
"var jsonData = JSON.parse(responseBody);",
"postman.setEnvironmentVariable(\"retref\", jsonData.retref);",
"var jsonData = JSON.parse(responseBody);",
"postman.setEnvironmentVariable(\"token\", jsonData.token);"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "basic",
"basic": [
{
"key": "password",
"value": "testing123",
"type": "string"
},
{
"key": "username",
"value": "testing",
"type": "string"
},
{
"key": "showPassword",
"value": false,
"type": "boolean"
}
]
},
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "Basic dGVzdGluZzp0ZXN0aW5nMTIz"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"merchid\": \"{{merchid}}\",\n \"account\": \"{{account}}\",\n \"expiry\": \"{{expiry}}\",\n \"amount\": \"12.03\",\n \"currency\": \"{{currency}}\",\n \"name\": \"Carson Wentz\",\n \"address\": \"100 S. Broad Street\",\n \"city\": \"Philadelphia\",\n \"region\": \"PA\",\n \"country\": \"US\",\n \"postal\": \"19103\",\n \"profile\": \"Y\"\n}"
},
"url": {
"raw": "{{url}}/auth",
"host": [
"{{url}}"
],
"path": [
"auth"
]
},
"description": "[Authorization/Profiles Documentation](https://developer.cardconnect.com/cardconnect-api#profiles)"
},
"response": [
]
}