ザンビアのサインアップテストに向けた+260 SMS認証の自動化

国番号 +260OTP Gateway は 1 コードあたり $0.20 から専用番号:米国・カナダのみAPI ID: zm
クイックアンサー

OTP Routeは、OTP Gatewayを通じてザンビア(+260)のSMS認証コードを受信します。APIまたはダッシュボードでアクティベーションを作成し、ワンタイムの+260番号をアプリで使い、署名付きWebhook、ポーリング、または画面上でコードを受け取ります。料金は$0.20/コードからで、20分の待機時間内にSMSが届かなければ、お金はウォレットに戻ります。

ザンビアOTP APIの連携では、どのエンドポイントを呼び出しますか?

連携は https://otproute.com/api/v1 へのHTTPSコールの短い連なりで、それぞれ or_live_ プレフィックスのキーを付けた Authorization: Bearer を送ります。ザンビアの国IDは zm です。

  • GET /api/v1/countries と GET /api/v1/services:参照データで、一日キャッシュしてかまいません。
  • GET /api/v1/prices?country=zm&service=<id>:ライブ価格と、そのルートが今すぐ注文を受けられるかどうか。
  • POST /api/v1/activations に {"service": "whatsapp", "country": "zm"}:アクティベーションIDと+260番号を返します。
  • GET /api/v1/activations/{id}:ステータスと、受信後はコード。
  • POST /api/v1/activations/{id}/cancel:番号を早めに返却します。
  • GET /api/v1/balance:最初に実行すると、残高が空のときにテストスイートがすぐ停止できます。

キーは開発者コンソールで生成し、1アカウントあたり最大10個で、環境ごとに1つ持たせると整理しやすくなります。アカウントの上限は1分あたり300リクエストです。完全なスキーマはAPIドキュメントにあります。

+260のコードを受け取るWebhookはどう書くべきですか?

ポーリングでも動きますが、複数のアクティベーションが同時に動くようになると、Webhookのほうがすっきりします。開発者コンソールで最大5つのエンドポイントを追加し、activation.sms_received、activation.expired、activation.cancelled を購読します。

各リクエストには X-OTPRoute-Signature: t=<unix>,v1=<hex> が付いています。文字列 <t>.<raw body> を作り、エンドポイントのシークレットでHMAC-SHA256を計算して、v1 と定数時間で比較します。受信したままの生のバイト列を使い、数分より古いタイムスタンプは拒否し、結果はアクティベーションIDをキーに保存して、再試行された配信が何も変えないようにします。応答は素早く2xxで返し、時間のかかる処理はその後に行ってください。詳しくは、HMACによるOTP Webhookの保護の解説と、ビルドのどこに組み込むかを示すCIパイプラインでのSMS OTPテストをご覧ください。

ザンビアの認証番号は、どのサービスからコードを受信できますか?

ライブのスナップショットでは、ザンビアは1,100を超えるサービスに対応しています。その中には、WhatsApp、Facebook、Google(Gmail & YouTube)、Telegram、Instagram、TikTok、X(Twitter)、LinkedIn、Uber、imo、Microsoft & Outlook、Amazon、Netflixがあります。ルートは時間ごとに変わるため、注文の前に、価格エンドポイントでコードに何が利用可能かを確認させてください。

ザンビアの番号形式と、コードが届く言語

ザンビアの番号は、国内ではトランクの 0 を付け、続けて9桁でダイヤルします。国際形式ではゼロが落ち、+260に9桁が続きます。保存する前にすべてをそのE.164形式に正規化し、入力欄がユーザーの実際に入力する国内形式と国際形式の両方を受け付けるようにしてください。

公用語は英語で、ベンバ語、ニャンジャ語、トンガ語、ロジ語などの言語も広く話されています。認証SMSは通常英語で届くため、解析は簡単ですが、送信元の文言が変わってもテストが壊れないよう、数字でマッチさせてください。

チームがザンビアでテストするのは、南部アフリカに展開するとき、モバイルマネーや融資プロダクトのオンボーディングを構築するとき、地域の運用センターから顧客をサポートするときなどです。このシナリオについてはフィンテックのオンボーディングのページで取り上げています。

同じことをダッシュボードからもできますか?

はい。単発の確認に便利です。ログインしてOTP Gatewayを開き、サービスとザンビアを選び、表示された価格を見て注文します。+260番号をアプリに入力すると、届いたときにダッシュボードにコードが表示されます。不要になったアクティベーションをキャンセルすれば、その金額はウォレットに戻ります。

コードが届かない場合は?専用回線のほうが良いのはどんなときですか?

アクティベーションの有効期間は20分で、課金されるのはコードが届いたときだけです。時間切れになった場合、またはキャンセルした場合は、全額が自動的に戻ります。仮想番号を断るサービスもあり、返金があるのはそのためです。+260のコードが遅いときは、待機時間を最後まで待ち、時間を置くか別のサービスルートでもう一度試し、そのサービスが仮想番号を受け付けているかを確認して、立て続けの再注文は避けてください。

後でもう一度ログインしたり、アクセスを復旧したりする必要があるアカウントには、ワンタイム番号は不向きです。その役割を担うのが専用バーチャル番号ですが、提供は米国とカナダのみで、月額$1.95からです。OTP Routeには、セルフサービスのザンビアの長期回線はありません。本当に必要な場合は [email protected] にご連絡ください。ただし現地の規制次第で、何も保証されません。

番号は自社の正当なプロダクトとアカウントにのみ使用し、各サービスの利用規約に従い、OTP Routeの利用規定が適用されることをご留意ください。

ザンビア連携の課金と、安全なテスト方法は?

すべては1つのプリペイドUSDウォレットで賄われ、月額料金もプランもありません。カードまたはUSDT/USDCでチャージし、そのたびにPDF請求書をメールで受け取ります。開発中は、開発用アカウントにサンドボックスモードを依頼してください。シミュレートされた番号とコードにより、ウォレットを使わずにOTPルーティングの全経路をリハーサルできます。最新のレートは料金ページに掲載しています。

よくある質問

OTP Routeはザンビアにどの国IDを使いますか?

zm です。たとえば POST /api/v1/activations に {"service": "telegram", "country": "zm"} を渡します。

ザンビアのSIMカードなしで、ザンビアのSMS OTPコードを受信できますか?

はい。OTP Gatewayがテスト用の+260番号を提供し、コードはダッシュボード、Webhook、またはポーリングで受け取れます。

+260の番号を正しく保存するには?

国内のトランクの 0 を取り除き、E.164形式で+260に9桁を付けて保存します。表示用の整形は別に行ってください。

WhatsAppなどのサービスが番号を拒否した場合、返金されますか?

はい。20分以内にコードが届かなかった場合、またはキャンセルした場合は、金額が自動的にウォレットへ返金されます。

今後のログインのために、ザンビアの番号を保持できますか?

セルフサービスではできません。長期番号は米国とカナダの商品です。ザンビアについては [email protected] にメールでお問い合わせください(保証はありません)。

実際のコードに支払う前に、連携を試せますか?

はい。開発用アカウントにサンドボックスモードを依頼すると、エンドツーエンドのテスト用にシミュレートされた番号とコードが得られます。

サービス名はそれぞれの所有者の商標です。OTP Route はこれらの企業と提携していません。番号は合法的にご利用いただき、各サービスの利用規約および当社の利用規定に従ってください。

数分で最初の OTP をルーティング

無料アカウントを作成し、USD ウォレットにチャージして、ダッシュボードまたは API から番号を注文。月額料金はありません。