Swift
Swift
CallRail API - Retrieve a Call Recording
See more CallRail Examples
Returns a CallRail URL pointing to an MP3 recording of the specified call, and then downloads the MP3 to a local file.Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let http = CkoHttp()!
// Implements the following CURL command:
// curl -H "Authorization: Token token=abc1234" \
// https://api.callrail.com/v3/a/{account_id}/calls/{call_id}/recording.json
// Use the following online tool to generate HTTP code from a CURL command
// Convert a cURL Command to HTTP Source Code
http.setRequestHeader(name: "Authorization", value: "Token token=abc1234")
let sbResponseBody = CkoStringBuilder()!
success = http.quickGetSb(url: "https://api.callrail.com/v3/a/{account_id}/calls/{call_id}/recording.json", sbContent: sbResponseBody)
if success == false {
print("\(http.lastErrorText!)")
return
}
let jResp = CkoJsonObject()!
jResp.loadSb(sb: sbResponseBody)
jResp.emitCompact = false
print("Response Body:")
print("\(jResp.emit()!)")
var respStatusCode: Int = http.lastStatus.intValue
print("Response Status Code = \(respStatusCode)")
if respStatusCode >= 400 {
print("Response Header:")
print("\(http.lastHeader!)")
print("Failed.")
return
}
// Sample JSON response:
// {
// "url": "http://app.callrail.com/calls/CAL11df32690b7d46123456789123456789/recording/redirect?access_key=241sa242sadqwerty123"
// }
var url: String? = jResp.string(of: "url")
// Download to a .mp3 file
success = http.download(url: url, saveToPath: "call_recordings/CAL11df32690b7d46123456789123456789.mp3")
if success == false {
print("\(http.lastErrorText!)")
}
else {
print("success.")
}
}