Он у меня есть, чтобы пользователь мог купить новый номер (служащий в качестве номера для отслеживания), а затем связать этот номер с выбранным «номером назначения». Когда вызывается купленный номер для отслеживания, у меня есть POST номер получателя в php-файл для обработки вызовов — там TwiML будет затем <Dial>
этот номер, создавая впечатление, что номер отслеживания является вызывающим абонентом.
У меня вопрос, это подходящий способ настроить номера для отслеживания? Моя главная неприятность в том, что с сообщением о звонке, которое я делаю вместе с этим, что <Dial>
отображается как исходящий вызов, по сути, делая его таким образом, что я дважды учитываю каждый вызов (так как он также видит начальный вызов на номер отслеживания).
Любой совет о том, является ли это лучшим способом приблизиться к этому? Это функционально, но у меня недостаточно опыта, чтобы понять, является ли это лучшим способом сделать это.
Если я правильно понимаю ваш вариант использования, то я думаю, что это Учебник по отслеживанию звонков может помочь вам принять некоторые архитектурные решения. Эти учебные пособия считаются готовыми примерами кода, которые можно запускать или изменять в зависимости от потребностей вашего приложения.
Основной идеей здесь является модель LeadSource, которая связывает номер Twilio (номер отслеживания) с указанным ведущим источником (например, «Wall Street Journal Ad» или «Dancing guy with sign»). Он также отслеживает номер телефона, на который мы хотели бы перенаправить все вызовы (номер вашего получателя), например, линию поддержки продаж или поддержки. И предоставляет удобный метод для поиска потенциальных клиентов (вызовов), связанных с этим источником потенциальных клиентов (номер Twilio).
Посмотрите полный код в документации, как упомянуто выше, и дайте мне знать, если это поможет.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Lead;
class LeadSource extends Model
{
protected $fillable = ['number', 'forwarding_number', 'description'];
public function leads()
{
return $this->hasMany('App\Lead');
}
}
Других решений пока нет …