Files
RTG/webroot/Staff/rc-fax.php
2026-06-19 20:08:01 +06:00

69 lines
2.0 KiB
PHP

<?php
/**
* This is a script which sends Fax to provided numbers from RingCentral Account
* using RingCentral SDK PHP Client
*
* @author Azhar Uddin <getazharuddin@gmail.com>
*/
require('vendor/autoload.php');
use RingCentral\SDK\SDK;
// $receiverFaxNo = '+18775770854';
$fileToFax = realpath('dummy1.pdf');
//header( 'Content-type: application/pdf' );
//header( 'Content-Dispostion: inline; filename="'.basename($fileToFax).'"' );
//header( 'Content-Transfer-Encoding: binary' );
//header( 'Accept-Ranges: bytes' );
include "rc_config.php";
$response = sendFaxByringcentral($credentials, $fileToFax); // function call
function sendFaxByringcentral($credentials, $fileToFax){
// for production use RingCentral\SDK\SDK::SERVER_PRODUCTION
$result = false;
$rcsdk = new SDK($credentials['clientId'], $credentials['clientSecret'], $credentials['server'], 'Fax|SMS|MMS', '1.0.0');
$platform = $rcsdk->platform();
// Authorize
try{
$platform->login($credentials['account_phone'], $credentials['extension'], $credentials['password']);
if($rcsdk->platform()->loggedIn()){
// echo "Yes authenticated";exit;
}
// Send Fax
$request = $rcsdk->createMultipartBuilder()
->setBody(array(
'to' => array(
array('phoneNumber' => $credentials['receiverFaxNo']),
),
'faxResolution' => 'High',
))
//->add('Plain Text', 'file.txt')
->add(fopen($fileToFax, 'r'),basename($fileToFax))
// ->add('FAX from RTG', 'test.pdf')
// ->add($fileToFax, basename($fileToFax))
->request('/account/~/extension/~/fax');
$response = $platform->sendRequest($request);
$status = $response->response()->getStatusCode();
if($status == 200){
$result = true;
echo 'SUCCESS in Sending';
}
}catch(\Exception $e){
echo($e->getMessage());
$result = false;
}
return $result;
}