12

私は一日のほとんどをSOに費やしていて、答えを得る/見つけることができないように見えるので、私はこれを求めています.

これは私がやろうとしていることです(有料ゲートウェイを使用せずに):

-まず、さまざまな情報と日付を含むデータベースをセットアップしています。

- cron を使用して、さまざまな情報 (ユーザーが指定したもの) をその日にユーザーに送信するスクリプトを実行し、SMS PHP スクリプトへの電子メールを送信します。

- 正確なセルラー キャリア リストの維持を避けるため。どうにかして番号に ping を実行し、キャリアと適切な「@carrier-email-extension」を返してメッセージを送信したいと思います。(登録時にユーザーに尋ねたくありません。登録を合理化するためです-PIAではなく、より多くのユーザーを獲得するためです)-現在、約50のキャリアがリストされたドロップダウンがあります(忘れたか、誤って除外した可能性があることはわかっています一部)、リストを維持する必要はありません。フォームのこの部分を削除したいと思います。理想的には、入力時に ajax/javascript を介して番号を確認し、送信時にキャリア情報を MYSQL に送信したいと考えています。

-ユーザーは、私のサービスから SMS メッセージ/更新/テキストを取得することに既に同意しているため、悪意のある行為は何も行われていません。彼らは別のメッセージを設定するときに同意します:

次の情報 {listed information} を含む SMS メッセージを{date} に携帯電話番号 {mobile number} に送信します。

助言がありますか?

4

3 に答える 3

3

その2段階のプロセス。

  1. モバイルの国コードを見つける..そのためにGoogle APIを使用できます.Googleはそれを無料で提供しています( Google: libphonenumber - Googleの電話番号処理ライブラリ )

  2. ネットワーク コード リストはウィキペディアで入手できます... 国ごとに、最初の数桁の国コードを選択して実装する必要があります。( Google: モバイル国コード - ウィキペディア )

オペレーター名と MC /C MNC リストが表示される各国のネットワーク コード リストが表示されます。携帯電話番号から国の国コードを割り出すと、各キャリアには固有の MCC MNC があります。次に、国ごとにルックアップ テーブルをプログラムする必要があります。携帯電話番号の最初の 3 桁を選び、彼にネットワーク コードを割り当てます.

テキスト API用に実装したので、 これをお伝えできます。幸運を!

于 2013-04-08T20:09:28.013 に答える
3

電話番号の実際の通信事業者を特定したい場合は、HLR ( Home Location Register ) ルックアップと呼ばれるものを実行する必要があります。多くのメッセージング サービスはこのようなサービスを提供しており、通常はそのための HTTP API を備えています。ただし、コストがかかります。ルックアップごとに価格があり、非常に小さいですが、すべて加算されます。

また、特定の国でこれが必要な場合、電話番号付けを担当する規制当局は、番号付けデータを照会できる何らかのデータベース サービスを持っている場合と持っていない場合があります。これらには通常、固定費がかかるため、その国の番号を十分に調べている場合は、計算を行う必要があります。

于 2013-04-15T00:26:53.197 に答える
3

私もこの問題を抱えていました-携帯電話番号のみが与えられた場合、電子メールから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/

于 2014-07-23T16:36:24.047 に答える