(Tcl) Activix CRM Upload a Recording
Upload a recording for an existing communication. For more information, see https://docs.crm.activix.ca/api/resources/communication
load ./chilkat.dll
# 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 != 1} then {
puts [CkHttpRequest_lastErrorText $req]
delete_CkHttpRequest $req
exit
}
set http [new_CkHttp]
CkHttp_put_AuthToken $http "ACCESS_TOKEN"
# resp is a CkHttpResponse
set resp [CkHttp_SynchronousRequest $http "crm.activix.ca" 443 1 $req]
if {[CkHttp_get_LastMethodSuccess $http] != 1} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttpRequest $req
delete_CkHttp $http
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_CkHttpResponse $resp
delete_CkHttpRequest $req
delete_CkHttp $http
delete_CkJsonObject $jsonResponse
exit
}
delete_CkHttpResponse $resp
# Sample output...
# {
# "message": "Recording uploaded successfully."
# }
#
delete_CkHttpRequest $req
delete_CkHttp $http
delete_CkJsonObject $jsonResponse
|