認証情報の取得から5分後に最初のテストSMSを送信。
テストアクセスを申し込むと、1営業日以内にテスト用認証情報をご返信します。その後、トークンを取得してTypeScript SDKをインストールし、次を呼び出します:smsSendsmsPost。認証情報の取得から約5分後には、最初のテストメッセージがお客様自身の認証済み番号に届きます。以下のサンプルはすべてコピーして利用可能です。ステップ5では、本番環境へ移行する前に確認すべき事項について説明しています。
最初のメッセージ送信までのプロセスを、各ステップの所要時間とともにご紹介します。
- 01
テストアクセスを申し込む
1営業日以内にご返信しますメッセージングエンジニアがテスト用認証情報を添えて返信し、対象国、ボリューム、活用事例に関する30分間のミーティングを設定します。
- 02
最初のテストメッセージ送信
認証情報発行から約5分後クイックスタートコードを使用して、ご自身の認証済み番号にテストメッセージを送信してください。配信レポートはWebhookに返されます。
- 03
統合・実装
2–5営業日コードサンプルと同じエンドポイントに対して、テスト用認証情報を使用してビルドおよびテストを行ってください。RESTまたはSMPPにて、BroadNetのエンジニアがお客様をサポートします。
- 04
承認
3–10営業日統合・実装と並行して、送信元属性、トラフィックの目的、および送信先ルールが審査され、各規制当局への送信元IDの登録が行われます。
- 05
本番稼働
切替日お客様のアカウントでは、本番環境へのアクセスと配信ルートが有効になっています。統合はすでにhttps://api.broadnet.meを呼び出しています。
全体:ほとんどの市場において、リクエストから本番稼働まで5–15営業日です。規制当局による送信元IDの登録リードタイムが長い場合は、これより長くなります。
- お客様のアプリケーションREST APIまたはSMPP経由で送信
- BroadNetプラットフォーム各メッセージの検証、ルーティング、および課金を実行
- 通信事業者のSMSC通信事業者との直接接続
- 加入者の端末メッセージが配信される
アクセストークンを取得します。
アクセス・トークンはテスト用認証情報とともに提供されます。テストアクセスを申し込むと、1営業日以内にご返信します。トークンはBROADNET_TOKEN環境変数に保存し、すべてのコールにおいてAuthorization: Bearerヘッダーで送信してください。このページ上のすべてのサンプルは、本番用ベースURLであるhttps://api.broadnet.meを使用しています。
POST /sms/sendSmsを使用して、ご自身の認証済み番号にテスト用のSMSを送信してください。レスポンスボディにメッセージIDを含む200 OKが返ってくれば、他のコードを記述する前にトークンが正常に機能していることが確認できます。
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@broadnet/cpaas-sdkからConfigurationとSMSSMSApiをインポートします。インポートが解決され、型チェックが通れば、送信の準備は完了です。
最初のメッセージを送信
ベースURLとトークンを使用してSMSSMSApiを作成し、senderId、destinationNumber、message、messageTypeを指定してsmsSendsmsPostを呼び出し、結果をログに記録します。レスポンスボディはメッセージIDです。後で配信レポートと照合するために、このIDを保持してください。
// 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 IDHTTP/1.1 200 OK
2603121407537573731お手元のスマートフォンを確認してください。SMSを受信できていれば、最も重要な工程は完了しています。これ以降の手順は、運用の最適化のみです。
配信ステータスを受信する
BroadNetは、アカウントに設定されたWebhook URLに配信ステータスを送信します。ステータスは、既読レポートが可能なチャネルではSUBMITTED、SENT、DELIVERED、READ、それ以外ではFAILEDおよびREJECTEDとなります。各更新を保存し、速やかに2xxで応答して、非同期で処理してください。
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);
});端末への到達が確認されました。SUBMITTEDおよびSENTは、メッセージがネットワーク内を移動する際の経過状況を示します。
WhatsAppなど、既読レポートが返されるチャネルにおいて、受信者によって開封されました。
配信されませんでした。再送する前に、電話番号の形式と送信元IDを確認してください。
ご自身の電話にメッセージを送信し、サーバーログでDELIVEREDのステータス更新を確認してください。
本番環境への移行前に。
承認が完了次第、本番環境が利用可能になります。送信者の識別情報、トラフィックの目的、送信元IDの確認には、統合作業と並行して3〜10営業日を要します。承認後は、同じコードで本番トラフィックを送信できます。それまでの間、トークンをソース管理に含めないようにし、配信ステータスのWebhookを設定し、リトライポリシーを決定してください。
- 01シークレットを環境へ移行する
BROADNET_TOKENは環境変数またはシークレットマネージャーに保存し、ソース管理やクライアント側のコードには決して含めないでください。万が一漏洩した場合は、直ちに差し替えてください。
- 02安全にリトライし、残高を確認してください
ネットワークエラーや5xxレスポンスが発生した場合は、指数バックオフを用いてリトライしてください。送信が受理されるたびにメッセージIDが返されるため、闇雲に再送するのではなく、IDを保存して配信ステータスを確認してください。SMS一斉送信では、すべてのレスポンスで残りのクレジットが報告されます。
- 03SDKバージョンを固定する
package.jsonで@broadnet/cpaas-sdkを特定のバージョンに固定し、計画的にアップグレードしてください。APIのパスにはバージョンプレフィックスが含まれないため、変更履歴(changelog)とOpenAPI仕様に従ってください。
- 04ステータスコードによるエラー処理
エラーが発生した場合、HTTPステータスコードと、status、error、message、errorCode、requestUriを含むExceptionResponseボディが返されます。400および401エラーは修正し、5xxエラーはバックオフを用いてリトライしてください。
- 05リトライポリシーの設定
デフォルト設定:5xxエラーおよびネットワークエラーに対しては指数バックオフを適用し、4xxエラーには適用しません。タイムアウト後は、最初のリクエストがすでに受理されている可能性があるため、再送前に配信ステータスを確認してください。
以下のチェックリストをコードに適用してください。すべての項目にチェックが入れば、承認が完了次第、統合環境は本番環境へ移行する準備が整ったことになります。
同一のコードパスが、1日3億件以上のメッセージを処理しています。
テストトラフィックは模擬的なものではありません。上記の手順で設定したすべてのリクエスト、キー、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)からクライアントを生成してください。
お探しの回答が見つかりませんか?エンジニアリングチームにお問い合わせください
あと5ステップです。
これ一つで準備完了。
ご自身の認証済み番号に対してテストを行い、統合を完了させた後、同じコンソールから本番トラフィックへ切り替えます。使用するSDK、エンドポイント、および1日3億件以上のメッセージを処理するSLAはすべて共通です。