Sample code for 30+ languages & platforms
B4X

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

B4X
Dim success As Boolean = False

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

Dim http As ChilkatHttp
http.Initialize("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 ChilkatStringBuilder
sbResponseBody.Initialize
success = http.QuickGetSb("https://api.callrail.com/v3/a/{account_id}/calls/{call_id}/recording.json", sbResponseBody)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Log("Response Body:")
Log(jResp.Emit)

Dim respStatusCode As Int = http.LastStatus
Log("Response Status Code = " & respStatusCode)
If respStatusCode >= 400 Then
    Log("Response Header:")
    Log(http.LastHeader)
    Log("Failed.")
    Return
End If


'  Sample JSON response:

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

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

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