Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Ниже указано техническое задание для уже созданного и работающего скрипта по отправке факсов с сайта, пока работает непосредственно на локальном сервере, задача интегрировать в сайт на вордпрессе.

Программа отправки факсов

 

1.   Добавление факса для отправки производится вызовом скрипта addfax2send.php на сервере

телефонии через протокол HTTP с передачей методом POST следующих параметров:

1.   guid = XXXXXXX-XXXXXXXX-XXXXXXX— защитный ключ от “спам” вызовов

2.   faxhead —строка заголовка факса (обязательно)

3.   telfrom —номер телефона отправителя (обязательно)

4.   teldest —номер телефона получателя (обязательно)

5.   emailnotify —email для получения статуса отправки факса (опционально)

6.   urlnotify —адрес скрипта для получения статуса отправки факса (опционально)

7.   retry —количество попыток передачи при ошибках (опционально, по-умолчанию = 1)

8.   filefax — имяфайла с текстом факса для передачи в формате pdf или tif

9.   Примерскрипта на PHP:

$filename='testfax.pdf';

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,"http://88-888-888-88/addfax2send.php");

url_setopt($ch,CURLOPT_POST,1);

$postar = array(

                          'guid' => 'XXXXXXX-XXXXXXXX-XXXXXXX',

                          'faxhead' => 'FaxMashine',

                          'telfrom' =>'0612281927',

                          'teldest' => '999-999-9',

                          'emailnotify' =>'[email protected]',

                          'urlnotify' =>'http://myhost.com/faxstate.php',

                          'retry' => 3,

                          'filefax'=>'@'.$filename

                          );

curl_setopt($ch,CURLOPT_POSTFIELDS,$postar);

curl_setopt($ch,CURLOPT_TIMEOUT, 250);

curl_setopt($ch,CURLOPT_HEADER, 1);

curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);

echocurl_exec($ch);

curl_close($ch);

10.Возвращаемыезначения:

1.   Цифра — вслучае успешного добавления - ID задания

2.   Строка — вслучае ошибки при добавлении

2. - описание ошибки

11.Очередьотправки обрабатывается автоматически с периодом проверки заданий 1 мин.

12.Получитьстатус отправки факса можно по ID задания, полученному при добавлении вызовом

скрипта ddfax2send.php на сервере телефонии через протокол HTTP с передачей

методом POST следующих параметров:

1.   guid = XXXXXXX-XXXXXXXX-XXXXXXX— защитный ключ от “спам” вызовов

2.   idfax — IDзадания

3.   Примерскрипта на PHP:

      $ch = curl_init();

      curl_setopt($ch,CURLOPT_URL,"http://88-888-888-88/addfax2send.php");

      url_setopt($ch,CURLOPT_POST,1);

      $postar = array(

                          'guid' => 'XXXXXXX-XXXXXXXX-XXXXXXX',

                          'faxhead' =>'FaxMashine',

                          'idfax' => '1'

                          );

      curl_setopt($ch,CURLOPT_POSTFIELDS,$postar);

      curl_setopt($ch, CURLOPT_TIMEOUT, 250);

      curl_setopt($ch, CURLOPT_HEADER, 1);

      curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);

      echo curl_exec($ch);

      curl_close($ch);

4.   Возвращаетсястрока в формате JSON со статусами по заданию. Пример:

{

 "id":"31",

  "status":[

{"state":"1","statestr":"Unexpected DCN while waiting for DCS or DIS","dialcount":"0"},

{"state":"1","statestr":"Thecall dropped prematurely","dialcount":"2"},

{"state":"0","ОК","dialcount":"6"}

               ]

}

Было 3 попыткипередачи, последняя успешная. Поле “state” = 0 успешно, 1 — ошибка. Поле

“statestr” - описание ошибки или ОК. Поле “dialcount” - количетсво попыток

дозвона до абонента.

13.Сигнал“Занято” при дозвоне до абонента не приводит к уменьшению попыток передачи, а

только увеличивает счетчик в поле “dialcount”, задание остается в очереди

активным. Попытки передачи учитывают только реальные сеансы передачи факса,

если абонент снял трубку.

14.Отправкастатуса задания по email и по url производится после исчерпания количества

попыток передачи факса (параметер “retry” в задании).

15.Статус привызове url передается в том же формате JSON (см. п. 12) 

9 лет назад
btct223
50 лет
🇮🇱
15 лет в сервисе
Был
9 месяцев назад
Заявки фрилансеров
Нет заявок фрилансеров