Sample code for 30+ languages & platforms
PowerShell

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

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

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

$http = New-Object 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")

$sbResponseBody = New-Object Chilkat.StringBuilder
$success = $http.QuickGetSb("https://api.callrail.com/v3/a/{account_id}/calls/{call_id}/recording.json",$sbResponseBody)
if ($success -eq $false) {
    $($http.LastErrorText)
    exit
}

$jResp = New-Object Chilkat.JsonObject
$jResp.LoadSb($sbResponseBody)
$jResp.EmitCompact = $false

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

$respStatusCode = $http.LastStatus
$("Response Status Code = " + $respStatusCode)
if ($respStatusCode -ge 400) {
    $("Response Header:")
    $($http.LastHeader)
    $("Failed.")
    exit
}

# 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 -eq $false) {
    $($http.LastErrorText)
}
else {
    $("success.")
}