この実装、面倒なら代行します
最後に着電があったらTwilioから呼び出されるincoming.phpのコードサンプルを載せておきます。
呼び出された際に、曜日ごとにダイヤルする電話番号と音声メッセージをXMLで返すプログラムです。
<? header('Content-Type: application/xml'); //購入した050番号、転送先番号 $myNumber = "+8150XXXXXXXX"; //月曜日の転送先電話番号(複数呼び出したければ配列の形で追記可能) $outGoingNumber_mon = array( "+8170XXXXXXXX", ); //火曜 $outGoingNumber_tue = array( "+8190XXXXXXXX", ); //水曜 $outGoingNumber_wed = array( "+8190XXXXXXXX", ); //木曜 $outGoingNumber_thu = array( "+8190XXXXXXXX", ); //金曜 $outGoingNumber_fri = array( "+8190XXXXXXXX", ); //タイムゾーンを設定 date_default_timezone_set('Asia/Tokyo'); $numberFormatted_mon=""; $numberFormatted_tue=""; $numberFormatted_wed=""; $numberFormatted_thu=""; $numberFormatted_fri=""; for($i=0;$i<count($outGoingNumber_mon);$i++){ $numberFormatted_mon .= "<Number>{$outGoingNumber_mon[$i]}</Number>"; } for($i=0;$i<count($outGoingNumber_tue);$i++){ $numberFormatted_tue .= "<Number>{$outGoingNumber_tue[$i]}</Number>"; } for($i=0;$i<count($outGoingNumber_wed);$i++){ $numberFormatted_wed .= "<Number>{$outGoingNumber_wed[$i]}</Number>"; } for($i=0;$i<count($outGoingNumber_thu);$i++){ $numberFormatted_thu .= "<Number>{$outGoingNumber_thu[$i]}</Number>"; } for($i=0;$i<count($outGoingNumber_fri);$i++){ $numberFormatted_fri .= "<Number>{$outGoingNumber_fri[$i]}</Number>"; } //時刻と曜日(0-6)を取得 $currentHour = (int)date('H'); $currentDay = date('w'); $date = date("Y-n-j"); //日本の代表的な祝祭日を登録 $holidays = array( "2020-3-20", "2020-4-29", "2020-5-3", "2020-5-4", "2020-5-5", "2020-5-6", "2020-7-23", "2020-7-24", "2020-8-10", "2020-9-21", "2020-9-22", "2020-11-3", "2020-11-23", ); $is_holiday = false; foreach($holidays as $holiday){ if($date == $holiday){ $is_holiday = true; } } $resp = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Response>"; //土日-営業時間外判定 if($currentHour >= 18 || $currentHour < 10 || $currentDay == 0 || $currentDay == 6 || $is_holiday == true){ $resp .= '<Say voice="alice" language="ja-JP">ジェイジーブランディングです。お電話の受付は平日10時から18時です。恐れ入りますが再度お電話いただくか、ホームページのお問い合わせフォームをご利用ください。</Say>'; }elseif($currentDay == 1){ $resp .= <<<EOM <Dial callerId="${myNumber}"> ${numberFormatted_mon} </Dial> <Say voice="alice" language="ja-JP">ただいま別のお電話の対応中です。恐れ入りますが再度お電話いただくか、ホームページのお問い合わせフォームをご利用ください。</Say> <Hangup></Hangup> EOM; }elseif($currentDay == 2){ $resp .= <<<EOM <Dial callerId="${myNumber}"> ${numberFormatted_tue} </Dial> <Say voice="alice" language="ja-JP">ただいま別のお電話の対応中です。恐れ入りますが再度お電話いただくか、ホームページのお問い合わせフォームをご利用ください。</Say> <Hangup></Hangup> EOM; }elseif($currentDay == 3){ $resp .= <<<EOM <Dial callerId="${myNumber}"> ${numberFormatted_wed} </Dial> <Say voice="alice" language="ja-JP">ただいま別のお電話の対応中です。恐れ入りますが再度お電話いただくか、ホームページのお問い合わせフォームをご利用ください。</Say> <Hangup></Hangup> EOM; }elseif($currentDay == 4){ $resp .= <<<EOM <Dial callerId="${myNumber}"> ${numberFormatted_thu} </Dial> <Say voice="alice" language="ja-JP">ただいま別のお電話の対応中です。恐れ入りますが再度お電話いただくか、ホームページのお問い合わせフォームをご利用ください。</Say> <Hangup></Hangup> EOM; }elseif($currentDay == 5){ $resp .= <<<EOM <Dial callerId="${myNumber}"> ${numberFormatted_fri} </Dial> <Say voice="alice" language="ja-JP">ただいま別のお電話の対応中です。恐れ入りますが再度お電話いただくか、ホームページのお問い合わせフォームをご利用ください。</Say> <Hangup></Hangup> EOM; }else{ $resp .= <<<EOM <Dial callerId="${myNumber}"> ${numberFormatted_mon} </Dial> <Say voice="alice" language="ja-JP">ただいま別のお電話の対応中です。恐れ入りますが再度お電話いただくか、ホームページのお問い合わせフォームをご利用ください。</Say> <Hangup></Hangup> EOM; } $resp .= "</Response>"; echo($resp); ?>
これで、曜日ごとに設定された電話番号に電話が転送され、電話使用中か営業時間外の場合には音声メッセージが流れるようになります。
なお、音声メッセージは別途費用がかかりますのでご注意ください。
$0.0008/100 characters & $0.0032/100 neural characters
この仕組みの総額という点では、だいたい月3,000円程度の費用になるかと思います。
(内訳:電話番号利用、電話着電、電話発電(転送)、音声メッセージ)
これからますます疑似コールセンターのようなもののニーズが高まってきます。
Twilioのようなサービスを利用して効率的に高品質のコールセンターを運営していきましょう。
WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!
100ウェブで手がけた制作・開発案件を一部、ご紹介。
クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について確認いただけます。
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
受付時間
平日 10:00~18:00
メールでのお問い合わせでも
1営業日以内にご連絡いたします。