我需要设置一个呼叫转移号码,以便在英国办公时间以外将所有来电重定向到我们的非工作时间服务。
我已经编写了此代码,它返回了$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中是否有任何东西可以基于检测一天中的一天中的时间来处理条件拨号,并且还可以解释当前呼叫者的时区。
谢谢。
答案 0 :(得分:0)
这里是Twilio开发人员的传播者。
Twilio的PHP SDK或TwiML中没有任何东西可以为您执行此时间检测,您将需要编写自己的方法(如您所做的那样)以检测当前时间,然后使用该方法返回不同的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;
我不确定您为什么需要考虑当前呼叫者的时区,如果有人从法国致电,您的英国时间不会改变。也许您可以评论或更新更多问题。否则,希望对您有所帮助。