Out of the Box the Phaxio site will handle most of what you want. You can both send and receive (download) as soon as you get started.
Yep, it's super easy, they have a ready made Porting tool.
The most common use-case we've seen is to receive the "Phax" directly into a CRM. A receive handler is easliy constructed, see the PHP example below.
The documentation provided by Phaxio is fantastic, examples are provided using command-line curl
.
You should be able to translate that in to whatever programming language you like.
$fax = json_decode($_POST['fax']); switch ($fax['direction']) { case 'sent': // No Data to Look This Up // $n = $this->m->find_one('numbers',array('e164',radix_format::phone_e164($fax['from_number']))); // $c = $this->m->find_one('contact',array('_id' => new MongoID($n['contact_id']))); break; case 'received': $customer = find_customer_by_fax_number($fax['to_number']); break; default: radix::bail('Invalid Request',400); } save_fax_to_crm($customer['id'], $fax['binary_data']);
Phaxio also has an easy test system for checking out the systems you've built.
curl https://api.phaxio.com/v1/testReceive \ -F 'api_key=$API_KEY' \ -F 'api_secret=$API_SECRET' \ -F 'from_number=1234567890' \ -F 'to_number=0987654321' \ -F 'filename=@file.pdf'
Your receive handler will get the notice almost instantly.