メインコンテンツまでスキップ

一括 SMS API

本 API を使用することで、1 回のリクエストで 1~5000 通の国際 SMS を一括送信できます。大規模な通知、プロモーションキャンペーン、リマインダー、および自動化されたメッセージ送信に適しています。PaaSoo は高集中的な送信シナリオに特化して最適化されており、さまざまなビジネスニーズを満たすための柔軟なパラメータ設定オプションを提供しています。

機能および利用シナリオ

  • 大規模な通知:緊急通知、イベントの告知、システムメンテナンスのリマインダーなど、一度に大量のユーザーにリーチする必要がある場合。
  • マーケティングキャンペーン:クーポン、割引情報、ホリデープロモーションなどを一括送信し、プロモーションのカバレッジを迅速に拡大します。
  • プラットフォームサービス通知:宅配便の配送状況の更新、会員更新のリマインダー、予約の確認など。
  • 自動化タスク:スケジュールやイベント駆動の方式により、特定のターゲット層へ SMS を一括送信し、効率を向上させます。

この API を通じて、複数の番号を一度にパッケージ化して送信すると同時に、各 SMS の送信ステータスやメッセージ ID を追跡および管理できます。また、後で batchid を使用して照会、統計、または照合を行うことも可能です。一括 SMS の配信結果や成功率を確認する必要がある場合は、詳細について 一括送信成功率照会 API をご参照ください。


1. 呼び出し方法

呼び出し方法
  • HTTP MethodPOST
  • Content-Typeapplication/x-www-form-urlencoded
  • リクエスト URLhttps://api.paasoo.com/batch_json
注意事項
  • 1 回のリクエストでの一括送信数は 1~5000 通の間である必要があります。この範囲を超えると、エラーステータスコードが返されます。
  • 無効な番号や重複した番号による失敗を減らすため、一括送信先の番号の重複排除と有効性チェックを行ってください。
  • 大規模な配信を行う前に、テンプレートとパラメータが正しいことを確認するため、テスト環境または小規模な範囲で事前に検証することをお勧めします。

2. リクエスト形式

以下は POST リクエストの典型的なサンプルです。リクエストボディに URL エンコードapplication/x-www-form-urlencoded)形式でパラメータを渡す必要があります:

cURL
curl -X POST "https://api.paasoo.com/batch_json" \ 
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=API_KEY&secret=API_SECRET&from=TEST&to=819011111111,819022222222&text=This+is+test+sms+from+TEST"

上記のサンプルにおいて:

  • to パラメータは、カンマで区切られた複数の番号を受け付けます(例:819011111111,819022222222)。
  • text パラメータは URL エンコードされています。This+is+test+sms+from+TEST は実際の SMS 本文を表します。
  • keysecret は、それぞれ PaaSoo の管理コンソールで取得した認証情報に置き換え、大切に保管してください。

3. リクエストパラメータの説明

以下のパラメータのうち、「インドのみ適用」と記載されているものは、インドの国内番号へ送信する(またはインドの国内通信ゲートウェイを使用する)場合のみ適用されます。その他の国/地域では入力しないでください。送信に失敗する可能性があります。

パラメータ必須説明サンプル
keystringはいAPI Key(英数字8桁)。アカウントの一意の識別子として使用します。PaaSoo の管理コンソールで取得できます。Abcdefgh
secretstringはいAPI Secret(英数字8桁)。key と組み合わせて認証に使用します。PaaSoo の管理コンソールで取得できます。Abc123EF
fromstringはいSMS 送信元の表示名(Sender ID)。一部の国/地域でのみカスタマイズ可能であり、長さや文字種に制限がある場合があります。特定の Sender ID を使用する必要がある場合は、アカウントマネージャーまたはテクニカルサポート(support@paasoo.com)までご連絡ください。TEST
tostringはい宛先番号。形式は 国番号 + 携帯電話番号 です(先頭の 00 や + は含みません)。
  • 1 ~ 5000 個の携帯電話番号をサポートします。
  • 複数の番号は半角カンマ (,) で区切ります。
  • 番号のコンプライアンスを検証した上で送信することをお勧めします。
819011111111,819022222222
textstringはいSMS の本文(URL エンコード処理を行ってください)。文字列の長さが制限を超えた場合、複数通に分割され、追加料金が発生する可能性があります。This is test sms from TEST
peidstringいいえインドテンプレートの Principal Entity ID。インドのみ適用。インドの DLT プラットフォームでの登録を完了し、アカウントマネージャーに有効化を申請する必要があります。1401480220000021629
templateidstringいいえインドテンプレート ID。インドのみ適用。DLT プラットフォーム上のテンプレート名に対応します。登録を完了し、アカウントマネージャーに連絡して有効化する必要があります。1407160568716357486

注意

  • from の表示は、国やキャリアの環境によって現地のポリシーによる制限を受けます。
  • text にスペースや特殊文字が含まれる場合は、URL エンコードが必要です。
  • セキュリティ確保のため、フロントエンドアプリケーションや公開された場所に API Key と API Secret を露出させないでください。
  • 大量の SMS を送信する必要がある場合は、本 API を複数回呼び出すことで大規模な送信を実現できます。

4. レスポンスパラメータの説明

一括 SMS リクエストが成功すると、バッチレベルのステータス情報と、各番号に対応する送信結果が返されます。後で batchid を使用して照会、統計、または追跡を行うことができます。

パラメータ説明サンプル
statusintegerバッチ全体の処理結果。0 はリクエストを正常に受信し、処理したことを示します。0
status_codestringレスポンスステータス。PaaSoo クラウド通信プラットフォームに送信された際のレスポンスステータスコード。通常、0 は成功を意味します。Invalid credentials
batchidstring一括リクエスト ID。リクエストごとに生成されるグローバルに一意の値であり、後続の照会や統計に使用されます。a0018f-e4bf51-e000
dataarray一括送信番号に対応する送信詳細のリスト。各番号に対する処理結果が含まれます。[...]

data 配列内の各要素:

パラメータ説明サンプル
tostringSMS 送信の宛先番号。819011111111
messageidstringメッセージ ID。単一の SMS 送信レコードを区別するために使用されます。00018f-e4bf51-e002
statusinteger単一の番号の送信ステータスコード。0 は成功を意味します。0
status_codestring該当番号のエラー原因または説明。問題の特定に役立ちます。Missing parameters

以下は一般的な戻り値のサンプルです:

4.1 成功のサンプル

{ 
"status": 0,
"status_code": "success",
"batchid": "a0018f-e4bf51-e000",
"data": [
{
"status": 0,
"to": "819011111111",
"messageid": "00018f-e4bf51-e002"
},
{
"status": 0,
"to": "819022222222",
"messageid": "00018f-e4bf51-e003"
}
]
}

4.2 失敗のサンプル

{ "status": 4, "status_code": "Invalid credentials."}

5. API ステータスコード一覧

  • 0 - success:成功
  • 2 - Missing parameters:必須パラメータの欠落
  • 3 - Invalid parameters:パラメータ形式のエラー
  • 4 - Invalid credentials:API Key または API Secret のエラー
  • 5 - Unauthorized IP:IP 制限
  • 6 - Invalid phone number:番号形式のエラー
  • 7 - Invalid sender id:from パラメータの形式エラー
  • 8 - Message bombing detected:3 秒以内の重複リクエスト
  • 9 - Quota exceeded:残高不足またはクレジット制限の超過
  • 10 - Throttling error:レート制限の超過
  • 11 - System error:システムエラー
  • 14 - Nb of messages per request should be between 1 and 5000
  • 19 - Invalid peid / Invalid templateid

本 API はデフォルトで非常に高い送信弾力性を提供します。呼び出し時にエラーコード status=10 を受信した場合、業務の取り決めに従ってアカウントにカスタムレート制限が有効になっていることを示します。制限のしきい値を調整する必要がある場合は、アカウントマネージャーまたは PaaSoo テクニカルサポートチーム(support@paasoo.com)までご連絡ください。


6. コードサンプル

以下は、主要なプログラミング言語で「国際一括 SMS 送信 API」を統合するための簡単なサンプルです。

import requests

# API エンドポイント
url = "https://api.paasoo.com/batch_json"

# フォームデータ
payload = {
"key": "API_KEY", # あなたの API Key に置き換えてください
"secret": "API_SECRET", # あなたの API Secret に置き換えてください
"from": "TEST", # 送信元 ID
"to": "819011111111,819022222222", # 宛先番号、カンマ区切り
"text": "これは TEST からのテスト SMS です" # SMS 本文
}

# リクエストヘッダー
headers = {
"Content-Type": "application/x-www-form-urlencoded"
}

try:
# HTTP POST リクエストを送信
response = requests.post(url, data=payload, headers=headers)
response.raise_for_status()

# JSON レスポンスを解析して出力
data = response.json()
if data.get("status") == 0:
print("一括 SMS の送信に成功しました。batchid:", data.get("batchid"))
else:
print(f"一括 SMS の送信に失敗しました。ステータス: {data.get('status')},メッセージ: {data.get('status_code')}")

except requests.exceptions.RequestException as e:
print(f"リクエストに失敗しました: {e}")

HTTP/HTTPS をサポートする任意の言語やフレームワークで簡単に統合でき、同じ POST メソッドと application/x-www-form-urlencoded を使用してリクエストを行うだけです。


7. ベストプラクティス

  1. 番号の検証とクリーニング:一括送信の前に無効な番号や重複した番号を取り除き、無効な番号による無駄やエラーを減らします。
  2. 送信頻度制限の遵守:極端に短い時間内に一度に大量の SMS を送信することは避けてください。大規模なニーズがある場合は、本 API を複数回呼び出すことができます。
  3. コンテンツとエンコード:SMS 本文は URL エンコードする必要があります。超長文が複数通に分割される場合は、費用や課金に特に注意してください。
  4. 送信ログと監視:バックエンドで batchid を記録し、各 SMS の statusmessageid を保存して追跡を容易にします。
  5. 再試行と冪等性:ネットワークの変動やその他の異常が発生した場合に備えて再試行メカニズムを設定し、重複送信を避けるために一意のリクエスト ID を使用します。
  6. データのセキュリティとコンプライアンス:ターゲットとなる各国のプライバシーおよび SMS 送信規制を遵守してください。マーケティング系 SMS の場合は、事前にユーザーの同意を得る必要があります。

上記の手順とベストプラクティスを通じて、世界中のユーザーへの一括 SMS 送信を迅速に実現できます。一括 SMS の配信結果や成功率を把握したい場合は、詳細について 一括送信成功率照会 API をご確認ください。

テクニカルサポート

API 連携の過程で技術的な問題やビジネスに関する疑問が生じた場合は、いつでも当社の開発者サポートチーム(support@paasoo.com)までご連絡ください。誠心誠意、技術的なサポートを提供いたします。