Sample code for 30+ languages & platforms
Tcl

Activix CRM Upload a Recording

See more Activix CRM Examples

Upload a recording for an existing communication.

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 req [new_CkHttpRequest]

CkHttpRequest_put_HttpVerb $req "POST"
CkHttpRequest_put_Path $req "/api/v2/communications/COMMUNICATION_ID/recording"
CkHttpRequest_put_ContentType $req "multipart/form-data"

CkHttpRequest_AddHeader $req "Accept" "application/json"

set pathToFileOnDisk "qa_data/CantinaBand3.wav"
set success [CkHttpRequest_AddFileForUpload $req "recording" $pathToFileOnDisk]
if {$success == 0} then {
    puts [CkHttpRequest_lastErrorText $req]
    delete_CkHttpRequest $req
    exit
}

set http [new_CkHttp]

CkHttp_put_AuthToken $http "ACCESS_TOKEN"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpSReq $http "crm.activix.ca" 443 1 $req $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttpRequest $req
    delete_CkHttp $http
    delete_CkHttpResponse $resp
    exit
}

puts "Response Status Code: [CkHttpResponse_get_StatusCode $resp]"

set jsonResponse [new_CkJsonObject]

CkJsonObject_Load $jsonResponse [CkHttpResponse_bodyStr $resp]
CkJsonObject_put_EmitCompact $jsonResponse 0
puts [CkJsonObject_emit $jsonResponse]

if {[CkHttpResponse_get_StatusCode $resp] >= 300} then {
    puts "Failed."
    delete_CkHttpRequest $req
    delete_CkHttp $http
    delete_CkHttpResponse $resp
    delete_CkJsonObject $jsonResponse
    exit
}

# Sample output...

# {
#   "message": "Recording uploaded successfully."
# }
# 

delete_CkHttpRequest $req
delete_CkHttp $http
delete_CkHttpResponse $resp
delete_CkJsonObject $jsonResponse