Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

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

Dim http As New Chilkat.Http

// 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"

Dim sbResponseBody As New Chilkat.StringBuilder
success = http.QuickGetSb("https://api.callrail.com/v3/a/{account_id}/calls/{call_id}/recording.json",sbResponseBody)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

Dim jResp As New Chilkat.JsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

System.DebugLog("Response Body:")
System.DebugLog(jResp.Emit())

Dim respStatusCode As Int32
respStatusCode = http.LastStatus
System.DebugLog("Response Status Code = " + Str(respStatusCode))
If (respStatusCode >= 400) Then
    System.DebugLog("Response Header:")
    System.DebugLog(http.LastHeader)
    System.DebugLog("Failed.")
    Return
End If

// Sample JSON response:

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

Dim url As String
url = jResp.StringOf("url")

// Download to a .mp3 file
success = http.Download(url,"call_recordings/CAL11df32690b7d46123456789123456789.mp3")
If (success = False) Then
    System.DebugLog(http.LastErrorText)
Else
    System.DebugLog("success.")
End If