Sample code for 30+ languages & platforms
Ruby

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 Ruby Downloads

Ruby
require 'chilkat'

success = false

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

http = Chilkat::CkHttp.new()

# 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("Authorization","Token token=abc1234")

sbResponseBody = Chilkat::CkStringBuilder.new()
success = http.QuickGetSb("https://api.callrail.com/v3/a/{account_id}/calls/{call_id}/recording.json",sbResponseBody)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

jResp = Chilkat::CkJsonObject.new()
jResp.LoadSb(sbResponseBody)
jResp.put_EmitCompact(false)

print "Response Body:" + "\n";
print jResp.emit() + "\n";

respStatusCode = http.get_LastStatus()
print "Response Status Code = " + respStatusCode.to_s() + "\n";
if (respStatusCode >= 400)
    print "Response Header:" + "\n";
    print http.lastHeader() + "\n";
    print "Failed." + "\n";
    exit
end

# Sample JSON response:

# {
#   "url": "http://app.callrail.com/calls/CAL11df32690b7d46123456789123456789/recording/redirect?access_key=241sa242sadqwerty123"
# }

url = jResp.stringOf("url")

# Download to a .mp3 file
success = http.Download(url,"call_recordings/CAL11df32690b7d46123456789123456789.mp3")
if (success == false)
    print http.lastErrorText() + "\n";
else
    print "success." + "\n";
end