BroadNet
開発者向けクイックスタート

認証情報の取得から5分後に最初のテストSMSを送信。

テストアクセスを申し込むと、1営業日以内にテスト用認証情報をご返信します。その後、トークンを取得してTypeScript SDKをインストールし、次を呼び出します:smsSendsmsPost。認証情報の取得から約5分後には、最初のテストメッセージがお客様自身の認証済み番号に届きます。以下のサンプルはすべてコピーして利用可能です。ステップ5では、本番環境へ移行する前に確認すべき事項について説明しています。

リクエストから本番稼働まで

最初のメッセージ送信までのプロセスを、各ステップの所要時間とともにご紹介します。

  1. 01

    テストアクセスを申し込む

    1営業日以内にご返信します

    メッセージングエンジニアがテスト用認証情報を添えて返信し、対象国、ボリューム、活用事例に関する30分間のミーティングを設定します。

  2. 02

    最初のテストメッセージ送信

    認証情報発行から約5分後

    クイックスタートコードを使用して、ご自身の認証済み番号にテストメッセージを送信してください。配信レポートはWebhookに返されます。

  3. 03

    統合・実装

    2–5営業日

    コードサンプルと同じエンドポイントに対して、テスト用認証情報を使用してビルドおよびテストを行ってください。RESTまたはSMPPにて、BroadNetのエンジニアがお客様をサポートします。

  4. 04

    承認

    3–10営業日

    統合・実装と並行して、送信元属性、トラフィックの目的、および送信先ルールが審査され、各規制当局への送信元IDの登録が行われます。

  5. 05

    本番稼働

    切替日

    お客様のアカウントでは、本番環境へのアクセスと配信ルートが有効になっています。統合はすでにhttps://api.broadnet.meを呼び出しています。

全体:ほとんどの市場において、リクエストから本番稼働まで5–15営業日です。規制当局による送信元IDの登録リードタイムが長い場合は、これより長くなります。

構成図A2Pメッセージが電話に届く仕組み
  1. お客様のアプリケーションREST APIまたはSMPP経由で送信
  2. BroadNetプラットフォーム各メッセージの検証、ルーティング、および課金を実行
  3. 通信事業者のSMSC通信事業者との直接接続
  4. 加入者の端末メッセージが配信される
配信レポート(DLR)は、同じ経路を通ってお客様のWebhookに返されます
ステップ1·30 sec

アクセストークンを取得します。

アクセス・トークンはテスト用認証情報とともに提供されます。テストアクセスを申し込むと、1営業日以内にご返信します。トークンはBROADNET_TOKEN環境変数に保存し、すべてのコールにおいてAuthorization: Bearerヘッダーで送信してください。このページ上のすべてのサンプルは、本番用ベースURLであるhttps://api.broadnet.meを使用しています。

BroadNetアカウント · アクセストークン
アクセストークン
quickstart-default
active
84f1a02e3c7d4b91a7e0•••••••••••• copy
ヘッダー
Bearer
環境変数
BROADNET_TOKEN
ベースURL
api.broadnet.me
$ curl -X POST https://api.broadnet.me/sms/sendSms -H "Authorization: Bearer $BROADNET_TOKEN" …
200 OK
テストする

POST /sms/sendSmsを使用して、ご自身の認証済み番号にテスト用のSMSを送信してください。レスポンスボディにメッセージIDを含む200 OKが返ってくれば、他のコードを記述する前にトークンが正常に機能していることが確認できます。

step 1.broadnet.me
ステップ2·45 sec

SDKをインストールする。

BroadNetには、TypeScriptおよびNode.js用の公式なSDKがあります:npm install @broadnet/cpaas-sdk axios。これはBroadNet OpenAPI仕様から生成されます。その他の言語では、通常のHTTPライブラリを使用してREST APIを呼び出すか、OpenAPI仕様からクライアントを生成してください。

インストール
npm install @broadnet/cpaas-sdk axios

export BROADNET_TOKEN=your_access_token
bash
node >= 18
テストする

@broadnet/cpaas-sdkからConfigurationとSMSSMSApiをインポートします。インポートが解決され、型チェックが通れば、送信の準備は完了です。

step 2.broadnet.me
ステップ3·60 sec

最初のメッセージを送信

ベースURLとトークンを使用してSMSSMSApiを作成し、senderId、destinationNumber、message、messageTypeを指定してsmsSendsmsPostを呼び出し、結果をログに記録します。レスポンスボディはメッセージIDです。後で配信レポートと照合するために、このIDを保持してください。

POST /sms/sendSms
// npm install @broadnet/cpaas-sdk axios
import { Configuration, SMSSMSApi } from "@broadnet/cpaas-sdk";

const sms = new SMSSMSApi(
  new Configuration({
    basePath: "https://api.broadnet.me",
    accessToken: process.env.BROADNET_TOKEN!,
  }),
);

const res = await sms.smsSendsmsPost({
  sMSSmsRequest: {
    senderId: "BroadNet",
    destinationNumber: "447700900123",
    message: "Your verification code is 482913",
    messageType: "TEXT",
  },
});

console.log(res.data); // message ID
javascript
200 OK · メッセージID
レスポンス · 200 OK
本文 · メッセージID
HTTP/1.1 200 OK

2603121407537573731
テストする

お手元のスマートフォンを確認してください。SMSを受信できていれば、最も重要な工程は完了しています。これ以降の手順は、運用の最適化のみです。

step 3.broadnet.me
ステップ4·90 sec

配信ステータスを受信する

BroadNetは、アカウントに設定されたWebhook URLに配信ステータスを送信します。ステータスは、既読レポートが可能なチャネルではSUBMITTED、SENT、DELIVERED、READ、それ以外ではFAILEDおよびREJECTEDとなります。各更新を保存し、速やかに2xxで応答して、非同期で処理してください。

POST /webhooks/broadnet
import express from "express";

const app = express();

app.post("/webhooks/broadnet", express.json(), async (req, res) => {
  // Store the status update first, then acknowledge with a 2xx.
  // Statuses: SUBMITTED, SENT, DELIVERED, READ, FAILED, REJECTED.
  await db.statusUpdates.insert({ receivedAt: new Date(), body: req.body });
  res.sendStatus(200);
});
javascript
配信ステータス · JSON
DELIVERED

端末への到達が確認されました。SUBMITTEDおよびSENTは、メッセージがネットワーク内を移動する際の経過状況を示します。

配信後
READ

WhatsAppなど、既読レポートが返されるチャネルにおいて、受信者によって開封されました。

既読時
失敗 / 拒否

配信されませんでした。再送する前に、電話番号の形式と送信元IDを確認してください。

最終ステータス
テストする

ご自身の電話にメッセージを送信し、サーバーログでDELIVEREDのステータス更新を確認してください。

step 4.broadnet.me
ステップ5·5分には含まれません

本番環境への移行前に。

承認が完了次第、本番環境が利用可能になります。送信者の識別情報、トラフィックの目的、送信元IDの確認には、統合作業と並行して3〜10営業日を要します。承認後は、同じコードで本番トラフィックを送信できます。それまでの間、トークンをソース管理に含めないようにし、配信ステータスのWebhookを設定し、リトライポリシーを決定してください。

  • 01
    シークレットを環境へ移行する

    BROADNET_TOKENは環境変数またはシークレットマネージャーに保存し、ソース管理やクライアント側のコードには決して含めないでください。万が一漏洩した場合は、直ちに差し替えてください。

  • 02
    安全にリトライし、残高を確認してください

    ネットワークエラーや5xxレスポンスが発生した場合は、指数バックオフを用いてリトライしてください。送信が受理されるたびにメッセージIDが返されるため、闇雲に再送するのではなく、IDを保存して配信ステータスを確認してください。SMS一斉送信では、すべてのレスポンスで残りのクレジットが報告されます。

  • 03
    SDKバージョンを固定する

    package.jsonで@broadnet/cpaas-sdkを特定のバージョンに固定し、計画的にアップグレードしてください。APIのパスにはバージョンプレフィックスが含まれないため、変更履歴(changelog)とOpenAPI仕様に従ってください。

  • 04
    ステータスコードによるエラー処理

    エラーが発生した場合、HTTPステータスコードと、status、error、message、errorCode、requestUriを含むExceptionResponseボディが返されます。400および401エラーは修正し、5xxエラーはバックオフを用いてリトライしてください。

  • 05
    リトライポリシーの設定

    デフォルト設定:5xxエラーおよびネットワークエラーに対しては指数バックオフを適用し、4xxエラーには適用しません。タイムアウト後は、最初のリクエストがすでに受理されている可能性があるため、再送前に配信ステータスを確認してください。

テストする

以下のチェックリストをコードに適用してください。すべての項目にチェックが入れば、承認が完了次第、統合環境は本番環境へ移行する準備が整ったことになります。

step 5.broadnet.me
初日から本番運用向けに設計

同一のコードパスが、1日3億件以上のメッセージを処理しています。

テストトラフィックは模擬的なものではありません。上記の手順で設定したすべてのリクエスト、キー、Webhookは、当社の法人向けトラフィックを処理するのと同一の配信ルート、課金、およびコンプライアンススタックを経由します。これらは以下の認証に基づき、毎年監査を受けています。

ISO 27001
情報セキュリティ
ISO 9001
品質管理
ISO 22301
事業継続性
GDPR
準拠 · EUデータレジデンシー
HIPAA
準拠 · BAAはリクエストに応じて提供
SOC 2
Type II · 年次監査
EUおよびUAEのデータレジデンシー99.99% API稼働率SLAテスト用と本番用の共通ベースURL配信ステータスWebhook
よくあるご質問

クイックスタートに関する質問

Authorization: Bearerヘッダーと、senderId、destinationNumber、message、messageType(TEXTまたはUNICODE)を含むJSONボディを付けて、POST https://api.broadnet.me/sms/sendSmsを送信します。レスポンスはメッセージIDです。/websmpp配下のレガシーなHTTP APIも、SMPP時代の統合向けに引き続きご利用いただけます。

/signupからテストアクセスを申し込みますと、BroadNetのエンジニアが1営業日以内に、Authorization: Bearerヘッダーで使用するアクセストークンとテストトラフィックの送信先を含むテスト用認証情報を添えてご返信します。テストメッセージは、認証情報の受領から約5分後に送信可能です。

公式SDKは、npmで公開しているTypeScript・Node.js用の@broadnet/cpaas-sdkの1つのみです。その他の言語では、HTTPS経由でREST APIを直接呼び出すか、OpenAPI仕様(/developers/openapi.yaml)からクライアントを生成してください。

お探しの回答が見つかりませんか?エンジニアリングチームにお問い合わせください

テストアクセス · 1営業日以内に返信

あと5ステップです。
これ一つで準備完了。

ご自身の認証済み番号に対してテストを行い、統合を完了させた後、同じコンソールから本番トラフィックへ切り替えます。使用するSDK、エンドポイント、および1日3億件以上のメッセージを処理するSLAはすべて共通です。

$ curl -X POST https://api.broadnet.me/sms/sendSms -H "Authorization: Bearer $BROADNET_TOKEN" -d '{ "senderId": "…", "destinationNumber": "…", "message": "…", "messageType": "TEXT" }'