FAQ

一括SMS APIの質問と回答

アカウント、送信、価格、配信レポート、APIに関する39の回答が、コード内の制限に照らして確認されています。エンドポイントとフィールドの詳細については、APIリファレンスをご覧ください。

サービスについて

BulkSMSAPIとは?

開発者向けの一括SMS API:1回のリクエストで1件または最大10,000件の番号に227ヶ国へ送信可能。REST経由で、署名付きWebhooksで各メッセージを追跡、プリペイド残高からメッセージ単位で支払い。コード不要でWebコンソールからリスト貼り付けまたはCSVでキャンペーン送信可能。

一括SMS APIのユーザーは?

自社システムからテキストを送信するプロダクトチームやエンジニアリングチーム:ログイン・サインアップコード、注文・配送更新、予約リマインダー、支払い通知、サービス案内、マーケティングキャンペーンなど。HTTPSリクエストを送信できる人なら誰でも利用可能。

送信可能な国は?

227の国と地域。価格ページと国別ページに価格が掲載されています。1リクエストで複数の国を混在させることが可能で、各番号は所属国ごとに課金されます。

月額料金や契約はありますか?

いいえ。プリペイド残高からメッセージセグメント単位で支払い、月額料金、初期費用、最低利用量はありません。残高に有効期限はありません。

無料トライアルはありますか?

アカウントは残高0で開始し、初回チャージですべての機能が利用可能になります。初回チャージで最大40%のボーナスが付与されるため、最初のメッセージは低コストで送信できます。価格は公開されており、見積もりエンドポイントとコンソールで送信前の正確なコストを確認できます。

アカウントとAPIキー

アカウントの作成方法は?

Get API keyを開きます。ブラウザがacct_で始まるアカウントキーを生成するので、コピーするかテキストファイルとして保存し、保存を確認するとアカウントが準備完了です。アカウントキーが唯一のログイン情報で、メールアドレスやパスワードはありません。

アカウントキーを紛失した場合どうなりますか?

当社はキー付きハッシュのみを保存しているため、サポートチームを含め誰も再度表示することはできません。パスワードマネージャーに保管してください。サインイン中はコンソールが動作し続け、そこからサポートに連絡できます。

APIキーの取得方法は?

コンソールのAPIキーページで、最初のチャージが反映された後、キーに名前を付け、作成し、一度コピーします。キーはbsa_live_で始まります。1つのアカウントで10個のアクティブなキーを保持でき、それぞれに名前とレートリミットカウンターがあります。

本番環境とステージング環境で異なるキーを使用できますか?

はい。アプリまたは環境ごとに1つのキーを作成し、名前を付けます。各キーは最後に使用された日時を表示し、1つを無効にしても他のキーは引き続き機能します。

いくつのアカウントを作成できますか?

ネットワークアドレスごとに最大3つのアカウントを作成できます。ほとんどのチームは、複数のAPIキーを持つ1つのアカウントで十分です。

メッセージの送信

1つのリクエストでいくつの番号を扱えますか?

POST /v1/batchesは1リクエストあたり最大10,000件の番号を扱えます。全員に同じテキストを送るか、番号ごとに個別のテキストを送ることができます。コンソールでは1キャンペーンあたり50,000件の番号を扱え、それ以上のリストは複数のリクエストに分割されます。

メッセージはどのくらいの速さで送信されますか?

キューは2秒ごとに実行され、アカウントごとに1分間に最大1,200件のメッセージをネットワークに渡します。順番は受け取った順です。単一のメッセージは通常、リクエストから数秒以内に送信されます。

電話番号はどの形式にする必要がありますか?

国際形式E.164:プラス記号、国コード、国内番号(例:+14155550123)。スペース、ダッシュ、括弧、00プレフィックスは自動的に削除されます。重複番号や読み取れない番号は除外され、課金されません。

メッセージはどのくらいの長さにできますか?

最大10セグメント:GSM-7で1,530文字、Unicodeで670文字。1セグメントはGSM-7で160文字、Unicodeで70文字です。長いテキストは153文字または67文字の部分に分割され、電話で再結合されます。

なぜメッセージが予想より多くのセグメントを使用したのですか?

GSM-7アルファベット外の1文字(例:カギ括弧、絵文字、áやçなどの文字)があると、テキスト全体がUnicodeに切り替わり、1セグメントあたり70文字になります。コンソールのコンポーザーはそれらの文字を表示し、POST /v1/estimatesは送信前にエンコーディングを返します。

メッセージをスケジュールできますか?

はい。APIリクエストにsend_atを追加するか、コンソールで2分後から45日後までの時間を選択できます。スケジュールされたバッチは開始前までキャンセル可能で、全額が残高に戻ります。

各受信者に異なるテキストを送信できますか?

はい。APIを使用して、各受信者ごとに{to, text}を含むバッチを送信できます。コンソールでは、追加の列を含むリストを貼り付けるかアップロードし、テキスト内でマージフィールド{{1}}から{{9}}を使用します。

メッセージに受信拒否の文が追加されますか?

設定で受信拒否の文言(例:リンクやメールアドレス)を一度設定すると、コンソールはチェックボックスをオンにしたときにキャンペーンテキストにそれを追加します。APIでは全文を制御するため、マーケティングメッセージに自分でその文を追加してください。送信除外リストにある番号はコンソールとAPIでスキップされ、課金されません。

最初にテストメッセージを送信できますか?

はい。コンソールではキャンペーンの前に1つの番号にテスト送信ができ、APIではPOST /v1/messagesを使用して自分の電話に単一のメッセージを送信できます。

価格と支払い

1通のSMSの料金はいくらですか?

番号の国によって異なります。各国の1セグメントあたりの料金は米ドルで表示され、$0.00247(ブラジル)からです。価格ページとGET /v1/pricingで各国の料金を確認できます。

バッチの料金はどのように計算されますか?

各受信者について、その国の1セグメントあたりの料金にテキストのセグメント数を掛けます。合計はリクエストが受け取られたときに残高から引き落とされ、レスポンスにcostとして表示されます。

最小チャージ額はいくらですか?

$40。チャージ額は$40から$5,000の間で任意の金額を選択できます。初回チャージでは最大40%のボーナスが付与され、支払い前に各金額に表示されます。

支払い方法

コンソールの「Billing」を開くと、ページ上にホスト型チェックアウトが表示されます。金額を選択し暗号通貨で支払うと、支払いページに正確な金額とアドレスが表示されます。支払いページには各手順が記載されています。

失敗したメッセージは返金されますか?

はい。メッセージが失敗すると、その料金は自動的に残高に返金され、台帳に返金明細として記録されます。スケジュール済みバッチをキャンセルした場合も全額返金されます。

残高を引き出せますか?

残高はメッセージ送信に使用され、アカウントに無期限で保持されます。失敗またはキャンセルされたメッセージの返金も残高に戻ります。

料金は変わりますか?

ネットワークコストの変動に伴い料金が変更される場合があります。最新の料金表には日付が記載され、APIは各料金と共に日付を返します。既に受理されたメッセージは請求時の料金が適用されます。

配信とレポート

メッセージが配信されたかどうかを確認する方法

各メッセージは、queued(キュー待ち)からsent(送信済み)を経て、delivered(配信済み)またはfailed(失敗)に遷移します。コンソールでwebhook URLを追加すると、すべての最終ステータスの署名付きイベントを受け取ることができます。または、GET /v1/messages/{id} と GET /v1/batches/{id} を参照してください。

Webhookの署名方法

Standard Webhooks形式で、webhook-id、webhook-timestamp、webhook-signatureヘッダーを使用します。署名はid、タイムスタンプ、生ボディをwhsec_シークレットでHMAC-SHA256したものです。ドキュメントにはNode.js、Python、PHP、Go用の検証コードがあります。

Webhookエンドポイントがダウンしている場合

各イベントは約24時間に10回再試行され、各試行はHTTPステータスと共にコンソールに表示されます。メッセージエンドポイントを随時ポーリングすることも可能です。

メッセージが失敗する理由

端末の電源が長時間切れている、番号が使用不能になっている、またはネットワークがメッセージを拒否した可能性があります。失敗ステータスにはエラーコードが付随し、料金は返金されます。

メッセージ記録の保持期間

バッチ、メッセージ、残高台帳はアカウントとAPIに保持されます。リクエストログには直近500件のAPI呼び出し、webhookログには直近500件の配信が記録されます。

開発者向け

SDKはありますか?

APIはHTTPS経由のプレーンJSONなので、各言語の標準ライブラリで十分です。ドキュメントにはcurl、Node.js、Python、PHP、Goの完全なサンプルがあり、/openapi.jsonのOpenAPI仕様からほとんどの言語で型付きクライアントを生成できます。

レート制限について

APIキーごとに1分あたり600リクエストです。各応答にはX-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Resetヘッダーが含まれ、429応答にはRetry-Afterが付きます。

タイムアウト後の安全な再試行方法

POSTリクエストにIdempotency-Keyヘッダーを付与し、同じキーで再試行してください。24時間以内であれば、同じキーとボディで再送信せず最初の応答が返されます。

APIキーなしで料金を確認できますか?

はい。GET /v1/pricing と GET /v1/pricing/{country} は公開されているため、チェックアウトページやダッシュボードで最新料金を表示できます。

コードで送信した内容を確認する方法

コンソールには、最後の500回のAPI呼び出しのメソッド、パス、ステータス、時間が記録されたリクエストログがあり、バッチ、メッセージ、ウェブフックログの隣に表示されます。

コンソール

コードを書かずに送信できますか?

はい。コンソールで、番号を貼り付けるか、最大50,000行のCSVファイルをアップロードし、マージフィールドを含むテキストを記述し、各受信者ごとのプレビューと国ごとのコストを確認して、今すぐまたは指定した時間に送信できます。

コンソールには何が表示されますか?

残高、ライブカウント付きの最近のバッチ、各バッチのメッセージとステータス、チャージと元帳、APIキー、ウェブフック設定と配信、リクエストログ、価格表、サポートチケットと設定。

サポートに連絡するにはどうすればいいですか?

コンソールのサポートページから。支払いに関する質問は初日から可能です。その他のトピックは、最初のチャージが反映された後に利用可能になります。

まだ質問がありますか?

ログイン済みのアカウントは、コンソールからサポートチケットを開くことができます。支払いに関する質問は初日から可能です。

一括SMS API FAQ:キー、送信、価格、Webhooks | BulkSMSAPI