Как я могу определить сотового носителя динамически через php/ajax/javascript?
Я спрашиваю об этом, потому что я был на ТАК большую часть дня, и не могу найти / найти ответ.
Вот что я пытаюсь сделать (без использования платного шлюза):
Прежде всего, я создаю базу данных с различной информацией и датами.
-Используя cron, я буду запускать сценарий для отправки этой различной информации (предоставленной пользователем) пользователю в эту дату по электронной почте в SMS-скрипт PHP.
- Чтобы избежать поддержания точного списка сотовых операторов. Я хотел бы как-нибудь пропинговать номер и вернуть провайдера и соответствующее "@carrier-email-extension" для отправки сообщения. (Я не хочу просить пользователя во время регистрации; упростить регистрацию - чтобы не быть PIA и получить больше пользователей) - в настоящее время у меня есть раскрывающийся список с приблизительно 50 перевозчиками в списке (я знаю, что, возможно, забыл или случайно пропустил некоторые), но я не хочу вести список. Я хотел бы удалить эту часть формы. В идеале я хотел бы проверить номер через ajax/javascript, когда он введен, и отправить информацию о перевозчике в MYSQL во время отправки.
-Пользователь уже соглашается получать SMS-сообщения / обновления / тексты от моего сервиса, поэтому ничего страшного не происходит. Они согласятся при настройке другого сообщения:
"Вы будете отправлять SMS-сообщение со следующей информацией {перечисленная информация} на номер вашего мобильного телефона, {номер мобильного телефона} {дата}."
Какие-либо предложения?
3 ответа
Если вы хотите определить фактического носителя телефонного номера, вам следует выполнить поиск, который называется HLR (Home Location Register). Многие службы обмена сообщениями предоставляют такую услугу, и обычно для этого у них есть HTTP API. Тем не менее, это будет стоить вам - есть цена за каждый поиск, довольно маленькая, но все это складывается.
Кроме того, если это необходимо для конкретных стран, регулирующий орган, отвечающий за нумерацию телефонов, может иметь или не иметь какую-либо услугу базы данных, которую можно запрашивать для нумерации данных. Как правило, они имеют фиксированные затраты, поэтому вы должны делать математику, если вы делаете достаточный поиск номеров этой страны, чтобы они окупились.
Его двухступенчатый процесс.
Найдите код страны для мобильного телефона. Вы можете использовать Google API для этого... Google предоставляет это бесплатно ( Google: libphonenumber - библиотека обработки телефонных номеров Google)
Список сетевых кодов доступен в Википедии... Для каждой страны вы должны реализовать это, выбрав первые несколько цифр кода страны. ( Google: мобильный код страны - Википедия)
Вы найдете список кодов сети для каждой страны, в которой вы увидите имя оператора и список MC /C MNC. Когда вы выяснили код страны по номеру мобильного телефона, у каждого кариера есть свой уникальный MCC MNC . Затем для каждой страны вы должны запрограммировать таблицу поиска; Выберите первые 3 цифры номера мобильного телефона и присвойте ему код сети... Сделайте это упражнение для операторов вашей страны, вы поймете это.
Так как я реализовал это для текстового API, поэтому я могу сказать вам это... Это много тяжелой работы. Удачи!
У меня была и эта проблема - вот быстрое решение, которое предоставит вам оператора мобильной связи для функции электронной почты в SMS, учитывая только номер сотового телефона:
<?php
// leave this blank - we may never implement an authentication key
$smsarc_API_key = '';
// enter the user's 10 digit cell phone number.
// example format: $smsarc_to = '5556667777';
$smsarc_number = '3123094991';
// lookup carrier
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, 'http://www.smsarc.com/api-carrier-lookup.php?sa_number='.$smsarc_number); $AskApache_result = curl_exec ($ch); $smsarc_message_status = $AskApache_result; curl_close($ch);
// print the carrier lookup results
echo $smsarc_carrier;
?>
API разработчика с их сайта: http://www.smsarc.com/free-php-cell-phone-carrier-lookup/