日本語
ガーナ(+233)の OTP テストと運用のための実践チェックリスト
OTP Route は、OTP Gateway のワンタイムの番号でガーナ(+233)の SMS 認証コードを受信するため、チームは各コードをダッシュボードで読み取るか、署名付き Webhook や API ポーリングで自社システムに取り込めます。料金は 1 コード $0.20 からで、20 分のアクティベーション期間内に何も届かなければ、請求額はウォレットに戻ります。
開始前に:ガーナ向け準備リスト
これらを確認しておけば、+233 のテストで驚くことはまずありません。
- 認証情報。 開発者コンソールの Bearer キー(プレフィックス
or_live_)。ローカル、ステージング、CI でキーを分けると、失効が楽になります。 - 国 ID とサービス ID。 ガーナは
ghで、サービス ID はGET /api/v1/servicesから取得します。 - トランクゼロを理解する番号パーサー。 ガーナの人は国内では携帯番号を先頭の 0 付きで書くため、フォームには両方の形式が届きます。
- 配信の仕組み。 ポーリングのループか、シークレットを安全に保管した Webhook エンドポイントのどちらか。
- 対象サービスの短いリスト。 何かを注文する前に、ガーナの番号が必要なサインアップとログインのフローを決めておく。
- 予算の見える化。 バッチの前に
GET /api/v1/balanceを読んで、スイートの途中で止まらないようにする。
ガーナの携帯番号はどう表記され、どう保存すべきか?
ガーナの国番号は +233、トランクプレフィックスは 0 です。国内表記の携帯番号は 0 で始まる 10 桁で、国際形式では 0 が消え、+233 の後に 9 桁が続きます。典型的なデータ品質のバグは、ユーザーが +233 を選んだうえで、0 を含む国内形式の番号を入力し、桁が 1 つ多くなってしまうことです。国番号がある場合は先頭の 0 を 1 つ取り除き、結果を E.164 で保存してください。そうすれば、重複排除、検索、SMS 送信がすべて 1 つの表現で一致します。
公用語は英語で、認証テキストの多くは英語でガーナの番号に届きますが、アカン語(トゥイ語)、エウェ語、ガ語、ダゴンバ語も広く話されており、文言をローカライズするアプリもあります。コード抽出は、周囲の言葉ではなく数字の並びに絞ってください。
ここでテストする理由は何でしょうか。西アフリカでのローンチを予定するチーム、モバイルマネーや決済を軸にしたプロダクト、英国や北米のガーナ系ディアスポラ向けのサービスを提供する企業は、いずれも +233 のサインアップが動くことを確認する必要があります。フィンテックのチームは、その KYC の側面について、フィンテックのオンボーディングに関するノートを参照してください。
SMS 認証 API で +233 番号を注文する
ベース URL は https://otproute.com/api/v1 です。
GET /api/v1/prices?country=gh&service=<id>で、その組み合わせの現在の価格を取得します。ルートが今利用できるかどうかも分かります。POST /api/v1/activationsに{"service": "<id>", "country": "gh"}を送り、返ってきたアクティベーション ID をテストケースと一緒に保管します。- +233 の番号を、テスト対象のプロダクトに入力します。
- コードは
activation.sms_receivedWebhook で受信するか、GET /api/v1/activations/{id}を適切な間隔でポーリングします。 - 失敗時やテスト終了時は、
POST /api/v1/activations/{id}/cancelを呼びます。
Webhook リクエストには X-OTPRoute-Signature: t=<unix>,v1=<hex> が付きます。エンドポイントのシークレットで、タイムスタンプ、ドット、生のボディの HMAC-SHA256 を再計算し、定数時間で比較して、古いタイムスタンプは拒否してください。ハンドラーはアクティベーション ID をキーにして冪等にし、再送された配信で同じテストが二重に満たされないようにします。開発者ハブに、SDK の例とリファレンスへのリンクがあります。
現在、ガーナ経由でルーティングされるサービスは?
ガーナのルートでは、1,600 を超えるサービスを利用できます。直近のスナップショットで人気のあるものは、WhatsApp、Telegram、Facebook、Instagram、TikTok、Snapchat、Google (Gmail & YouTube)、LinkedIn、Uber、Amazon、ChatGPT (OpenAI)、Claude、Discord、Signal です。ガーナのユーザーのサインアップ先はソーシャルとメッセージングのアプリが中心なので、ローカライズ QA の最初の対象として自然です。
提供状況は固定ではなくライブです。今朝は正しかったリストを信じるのではなく、prices エンドポイントで対象の組み合わせを確認してください。
代わりにダッシュボードから実行する
チームの全員がコードを書く必要はありません。ログインして OTP Gateway を開き、ガーナとサービスを選び、注文前に表示される価格を確認して確定します。+233 の番号をテスト対象のアプリにコピーすると、SMS が届いたときに、コードが残り時間とともに注文の横に表示されます。運用担当者は、リリース後に単一のフローを確認するとき、テストハーネスに触れずにこの方法をよく使います。
応答のない +233 番号のトラブルシューティング
何も表示されない場合は、次の順に確認してください。
- 有効期間はまだ開いているか? アクティベーションは 20 分間有効です。失敗と結論づける前に、サービスに時間を与えてください。
- サービスが番号を受け付けたか? 仮想番号を拒否するプラットフォームもあります。フォーム自体にエラーが出ている場合は、キャンセルして別のルートを試します。
- 時間をおいて、または別のルートで再試行する。 特定のサービスの提供状況は、一日の中で変わります。
- 連打しない。 数秒ごとに再注文するループは、1 分あたり 300 件の上限に対してリクエストを無駄にし、効果もほとんどありません。
- 自分のログを確認する。 署名の拒否や、ハンドラーのクラッシュは、コードが届かなかったように見えます。
課金されるのは、コードが届いた場合だけです。期限切れやキャンセルになったアクティベーションは、全額が自動的にウォレットに返金されます。リトライ設計については、OTP 配信失敗を減らす方法の記事でさらに詳しく解説しています。
長期回線、支払い、サンドボックス
セルフサービスで取得できるガーナの長期番号はありません。専用回線は米国とカナダ向けのプロダクトで、月額 $1.95 からです。詳細は仮想番号のページにあります。ガーナの回線については [email protected] にメールしてください。現地の規則で何が可能かをチームがお答えします。
OTP Route はプリペイドの USD ウォレット 1 つを使い、従量課金でサブスクリプションはありません。カードまたは USDT/USDC でチャージすると、その都度 PDF 請求書がメールで届きます。連携作業のために、開発用アカウントは依頼によりサンドボックスに切り替えられ、シミュレートされた番号とコードが返ります。メールコードまたは Google ログインでアカウントを作成できます。すべての番号は、対象サービスの利用規約と当社の利用規定(Acceptable Use Policy)に沿って使ってください。
よくある質問
API でガーナの SMS OTP コードを受信できますか?
はい。国を gh にしてアクティベーションを作成し、Webhook またはアクティベーションのエンドポイントのポーリングでコードを取得します。
ガーナの番号は、先頭のゼロ付きで保存すべきですか?
いいえ。トランクの 0 を落とし、+233 と 9 桁の E.164 で保存すると、検索と重複排除の一貫性が保てます。
ガーナの番号に届く認証テキストは何語ですか?
通常は公用語の英語です。文言をローカライズするアプリもあるため、決まった文言に一致させるのではなく、数字を抽出してください。
テスト用の +233 番号はいくらですか?
OTP Gateway のコードは 1 コード $0.20 からで、サービスごとの正確な金額は注文前に表示されます。
アプリがコードを送ってこなかった場合、課金されますか?
いいえ。20 分の有効期間内に SMS が届かなかった場合、またはキャンセルした場合は、全額がウォレットに返金されます。
サポートチームは、ガーナの固定番号を取得できますか?
セルフサービスでは取得できません。長期回線は米国とカナダにのみあります。他の国については、チームにメールでお問い合わせください。
ステーブルコインで支払えますか?
はい。ウォレットはカードでのチャージのほか USDT と USDC に対応しており、チャージごとに PDF 請求書が届きます。
サービス名はそれぞれの所有者の商標です。OTP Route はこれらの企業と提携していません。番号は合法的にご利用いただき、各サービスの利用規約および当社の利用規定に従ってください。