Sample code for 30+ languages & platforms
PHP ActiveX

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 PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

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

$http = new COM("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 COM("Chilkat.StringBuilder");
$success = $http->QuickGetSb('https://api.callrail.com/v3/a/{account_id}/calls/{call_id}/recording.json',$sbResponseBody);
if ($success == 0) {
    print $http->LastErrorText . "\n";
    exit;
}

$jResp = new COM("Chilkat.JsonObject");
$jResp->LoadSb($sbResponseBody);
$jResp->EmitCompact = 0;

print 'Response Body:' . "\n";
print $jResp->emit() . "\n";

$respStatusCode = $http->LastStatus;
print 'Response Status Code = ' . $respStatusCode . "\n";
if ($respStatusCode >= 400) {
    print 'Response Header:' . "\n";
    print $http->LastHeader . "\n";
    print 'Failed.' . "\n";
    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 == 0) {
    print $http->LastErrorText . "\n";
}
else {
    print 'success.' . "\n";
}


?>