コード例 #1
0
 /**
  * @param TelephoneNo $fromNo
  * @param Receiver $receiver
  * @param string $callbackUrl
  */
 public function calling(TelephoneNo $fromNo, Receiver $receiver, $callbackUrl)
 {
     $this->twilio->account->calls->create($fromNo->getFullTelNo(), $receiver->getTelNo()->getFullTelNo(), $callbackUrl);
 }
コード例 #2
0
         $receivers = collect($receivers);
     }
     $fromNo = new TelephoneNo(env('TWILIO_TEL_NO'));
     $url = url('/twilio/calling/response');
     $receivers->each(function (Receiver $receiver) use($service, $fromNo, $url, $logger) {
         $service->calling($fromNo, $receiver, $url);
         $logger->info('電話をかけた', ['telNo' => $receiver->getTelNo()->getMaskedTelNo()]);
     });
     return response('ok');
 });
 $router->post('/calling/response', function () {
     return response()->view('twilio.response', [], 200, ['Content-type' => 'text/xml']);
 });
 $router->post('/gathering', function (GatheringRequest $request, LoggerInterface $logger) {
     $pushed = $request->input('Digits');
     $telNo = new TelephoneNo($request->input('To'));
     $logger->info('プッシュフォンを操作', ['telNo' => $telNo->getMaskedTelNo(), 'pushed' => $pushed]);
     $receiver = new Receiver($telNo, '');
     // name is dummy
     $command = GatherCommandFactory::create($pushed, $receiver);
     $command->execute($pushed);
     if ($command->isRetry()) {
         $template = 'twilio.response';
     } else {
         $template = 'twilio.complete';
     }
     return response()->view($template, [], 200, ['Content-type' => 'text/xml']);
 });
 $router->get('/logs', function (GatheringLogRepository $repository) {
     return view('twilio.logs', ['logs' => $repository->findAll()]);
 });
コード例 #3
0
 /**
  * @return string
  */
 public function toJson()
 {
     return ['telephoneNo' => $this->telephoneNo->getMaskedTelNo(), 'pushed' => $this->pushed, 'created_at' => $this->created_at];
 }