Тестирование в нерабочее время переадресация - PullRequest
0 голосов
/ 01 марта 2019

Мне нужно получить номер для переадресации вызовов, чтобы в нерабочее время все входящие звонки перенаправлялись на нашу внеурочную службу.

Я написал это, что возвращает $status = 'closed';

  <?php
  // set the timezone
  date_default_timezone_set ('Europe/London');

  function checkDateValue($val, $args) {
    if (($val) >= $args['min'] && ($val) <= $args['max'] ) :
      return true;
    else :
      return false;
    endif ;
  }

  // set min and max valuesfor hours, minutes and seconds -  format HH:MM:SS
  $hours = array(
    'min' => '09:00:00',
    'max' => '17:30:00'
  );

  // set min and max values bwtween 0 nd 6. 0 = sunday
  $days = array(
    'min' => 1,
    'max' => 5
  );

  // store current time
  $currentTime = time();

  // test if the current time is in opening hours or is a weekday
  $status = 'open';
  if (checkDateValue(date('H:i:s', $currentTime), $hours) === false || checkDateValue(date('w', $currentTime), $days) === false) {
    $status = 'closed';
  }

Мне интересно, есть ли что-нибудь в php-sdk или в twiml, которое может обрабатывать условный набор на основе определения времени дня и дня недели, а также учитывать текущий часовой пояс абонентов.

Спасибо.

1 Ответ

0 голосов
/ 04 марта 2019

Twanio developer evangelist здесь.

В PHP SDK или TwiML Twilio нет ничего, что могло бы сделать это для вас, вам нужно будет написать свой собственный метод (как вы это сделали) для определения текущего времении затем используйте его, чтобы вернуть другой TwiML для выполнения ответа в часах или часах.

Итак, вы можете добавить в свой текущий скрипт что-то вроде:

use Twilio\TwiML;

$response = new TwiML;
if ($status == 'closed') {
  $response->say("Sorry, the office is closed right now");
} else {
  $response->dial($officePhone);
}

echo $response;

Я неЕсли вы хотите учесть часовой пояс текущего абонента, ваши часы в Великобритании не изменятся, если кто-то позвонит из Франции.Возможно, вы могли бы прокомментировать или обновить свой вопрос с более подробной информацией.В противном случае, надеюсь, это поможет.

...