2015-11-06 1 views
1

Содержимое HTML, отправленное для FAX через RingCentral API, не форматируется в правильном порядке.Правильное формирование HTML-содержимого для факса, отправленного с использованием RingCentral API

Код я использовал:

// The HTML content to be sent 
    $html = "<h3>Notification</h3><div>Lorem epsum Lorem epsum Lorem epsum Lorem epsum <b>My Site</b>Lorem epsum Lorem epsum</div><div><br></div><div>Lorem epsumLorem epsumLorem epsum<i><b>Lorem epsumLorem epsumLorem epsum</b></i>.</div><div><br></div><div>To view more and print more details,&nbsp;please log in to&nbsp;<a href='http://www.demo.mysite.com' target='_blank'>www.demo.mysite.com</a>&nbsp;using your email address.</div><div><br></div><div>Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum</div>"; 

    // Creating a file 
    $fileRand = rand(); 
    $filename = 'faxfile_'.$fileRand.'.html'; 

    // Open the file in write mode 
    $faxFile = fopen('ringfax/'.$filename, 'w'); 

    // Write the contents to the html file. 
    fwrite($faxFile, $html); 

    // Close the file. 
    fclose($faxFile); 

    // Setting up data for the RingCentral API 
    $faxData['Username'] = "XXXXXXXXXX"; 
    $faxData['Password'] = "XXXXXXXXXX"; 
    $faxData['Recipient'] = "XXXXXXXXXX"; 
    $faxData['Sendtime'] = gmdate('d:m:y h:m'); 
    $faxData['Coverpage'] = 0; 
    $faxData['Attachment'] = '@'.realpath('ringfax/'.$filename).';filename='.$filename.';content-type=text/html'; 

    // Open connection 
    $ch = curl_init(); 

    // Set the url, number of POST vars and other data 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_URL, 'https://service.ringcentral.com/faxapi.asp?'); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: text/html", "charset: UTF-8")); 
    curl_setopt($ch, CURLOPT_POST, count($faxData)); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $faxData); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

    // Execute post 
    $result = curl_exec($ch); 

    // Receives curl error 
    $cErr = curl_error($ch); 
    // curl curl info 
    $cInfo = curl_getinfo($ch); 

    // Write the error to the log file 
    ini_set("log_errors", 1); 
    ini_set("error_log", "logs/ring_central_error"); 
    error_log($result); 

    //close connection 
    curl_close($ch); 

    // Delete the file 
    unlink('ringfax/'.$filename); 

Факсимильное послана, но содержание в факсимильном аппарате не получает отформатирован, как мы хотели, чтобы это было. Содержание в FAX ищет что-то вроде:

Notification Lorem epsum Lorem epsum Lorem epsum Lorem epsum&Acirc;&nbsp;My Site&Acirc;&nbsp;Lorem epsum Lorem epsumLorem epsumLorem epsumLorem epsum Lorem epsumLorem epsumLorem epsum To view more and print more details, please log in to&Acirc;&nbsp;www.demo.mysite.com&Acirc;&nbsp;using your email address.Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum. 

Я уверен, что он должен быть тип заголовка или что-то, что не получает набор должным образом, и именно поэтому RingCentral API ведет себя, как это.

Заранее спасибо.

ответ

0

Вы также можете использовать Ringcentral PHP SDK для нового API, который будет создавать правильно отформатированные запросы:

Вот немного PHP со de от README.md:

$request = $rcsdk->createMultipartBuilder() 
       ->setBody(array(
        'to' => array(
         array('phoneNumber' => '16501112233'), 
        ), 
        'faxResolution' => 'High', 
       )) 
       ->add('Plain Text', 'file.txt') 
       ->add(fopen('path/to/file', 'r')) 
       ->request('/account/~/extension/~/fax'); // also has optional $method argument 

$response = $platform->sendRequest($request);