Sample code for 30+ languages & platforms
Tcl

HTTP POST with JSON Body

Demonstrates sending an HTTP POST with a JSON body.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set http [new_CkHttp]

# Implements the following CURL command:

# curl -v -X POST https://example.com/v2/checkout/orders \
# -H "Content-Type: application/json" \
# -H "Authorization: Bearer Access-Token" \
# -H "Request-Id: 7b92603e-77ed-4896-8e78-5dea2050476a" \
# -d '{ 
#       "reference_id": "REFID-000-1001",
#       "amount": {
#         "currency_code": "CAD",
#         "value": "10.00"
#       }
#     }'

# Use the following online tool to generate HTTP code from a CURL command
# Convert a cURL Command to HTTP Source Code

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

# The following JSON is sent in the request body.

# {
#   "reference_id": "REFID-000-1001",
#   "amount": {
#     "currency_code": "CAD",
#     "value": "10.00"
#   }
# }

set json [new_CkJsonObject]

CkJsonObject_UpdateString $json "reference_id" "REFID-000-1001"
CkJsonObject_UpdateString $json "amount.currency_code" "CAD"
CkJsonObject_UpdateString $json "amount.value" "10.00"

# Adds the "Authorization: Bearer Access-Token" header.
CkHttp_put_AuthToken $http "Access-Token"
CkHttp_SetRequestHeader $http "Request-Id" "7b92603e-77ed-4896-8e78-5dea2050476a"
CkHttp_SetRequestHeader $http "Content-Type" "application/json"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpJson $http "POST" "https://example.com/v2/checkout/orders" $json "application/json" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkJsonObject $json
    delete_CkHttpResponse $resp
    exit
}

puts [CkHttpResponse_get_StatusCode $resp]
puts [CkHttpResponse_bodyStr $resp]

delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp