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

マルチSMS送信

詳細

SMSをマルチ送信するためには、異なるメッセージを含む sms_messages オブジェクトの配列を用意し、Multi SMS APIエンドポイントに対して、POSTメソッドでリクエストを行う必要があります。

エンドポイントEndpoint URL: https://api.cpaas.symphony.rakuten.net/sms/v1/multi/submit

メソッド: POST

HTTP ヘッダー

パラメーター要否
Authentication必須Type: Bearer
Token: JWT Token
Accept必須application/json
Content-Type必須application/json; charset=UTF-8

リクエストボディスキーマ: application/json

パラメーター要否詳細/値
sms_messages必須個々のSMSメッセージを表すオブジェクトの配列。各オブジェクトには、必須パラメータとして
  • from
  • to
  • message_type
が含まれ、条件付きまたはオプションのパラメータ(例:validity_period)を追加で含めることができます。
from必須要件と設定に応じて、アルファベットまたは数字になります。送信元IDは事前登録が必要となっております。詳しくは 送信元IDを参照してください。
to必須送信先電話番号は下記の形式になります。国コード + 電話番号(MSISDN)
  • "+" or "0"先頭に"+" または "0"を付けないでください
  • 例: 日本国内電話番号070-9830-2393 の場合は、 "817098302393"となります
message_type必須以下のいずれかになります:
  • text
  • unicode
  • binary
  • template
ここに示された値に応じて
  • text_message
  • unicode_message
  • binary_message
  • template_message
の要素がJSON形式の中に必要となります。
text_message条件付き必須message_type = text の場合はこちらの要素も必要となります。
┗textGSMアルファベットを使用して送信される通常の7/8ビットテキストメッセージの説明になります。通常では、テキストフィールドは複数の連結メッセージを自動的に分割いたします。しかしながら、手動でメッセージを結合させたい場合は、各セグメントのテキストとそれに対応するUDHを16進文字列で指定して、個々のメッセージを送信してください。

連結SMSでの配信時では、最大1520文字となります。

改行の際に利用される"/n"は1文字としてカウントされます。

注: 連結されたメッセージがメッセージの種類と文字の長さに応じてどのように分割されるかの詳細については、連結されたメッセージの分割セクションを参照してください
┗udhUDHのための16進文字列
unicode_message条件付き必須message_type = Unicode の場合はこちらの要素も必要となります。
┗textこれは、UCS-2アルファベットを用いたUnicodeテキストメッセージになります。通常では、テキストフィールドは複数の連結メッセージを自動的に分割いたします。しかしながら、手動でメッセージを結合させたい場合は、各セグメントのテキストとそれに対応するUDHを16進文字列で指定して、個々のメッセージを送信してください。

連結SMSでの配信時では、最大660文字となります。

改行の際に利用される"/n"は1文字としてカウントされます

注: 連結されたメッセージがメッセージの種類と文字の長さに応じてどのように分割されるかの詳細については、連結されたメッセージの分割セクションを参照してください
┗udhUDHのための16進文字列
binary_message条件付き必須message_type = binary の場合はこちらの要素も必要となります。
┗bodyこの説明はバイナリーメッセージについてです。バイナリーメッセージでは自動的に結合されないため、メッセージ本文とUDHコンテンツは単一で140バイトのGSMメッセージに収まる必要があります。
┗udhUDHのための16進文字列
template_message条件付き必須message_type = template の場合、次の要素を含めてください。
┗template_idこれは設定されたテンプレートIDを指します。

テンプレートは、GSMアルファベットを使用して送信される通常の7/8ビットテキストメッセージを使用して設定でき、文字数制限は1520文字となります。

また、テンプレートでは、UCS-2アルファベット(日本語テキストに使用されるUCS-2アルファベット)を使用して設定することもでき、文字数制限は660文字となっております。

通常では、テキストフィールドは複数の連結メッセージを自動的に分割いたします。

注: 連結されたメッセージがメッセージの種類と文字の長さに応じてどのように分割されるかの詳細については、連結されたメッセージの分割セクションを参照してください
┗substitutionsこれらは複数の名前/値要素を含む「配列」タイプです。名前/値のペアは、テンプレート内の実際の値に置き換えられる必要があります。例えば、テンプレート「Hi {fname}」では、{fname}を含めれることにより置き換えることができます。
┗namefname
┗valueJohn
validity_period任意メッセージの有効期限を設定することができます。メッセージが宛先の端末に到達するまで、ネットワーク内でメッセージを滞留させることができる期間を指定できます。期間は時間、分、秒、または、Raw SMPP形式の有効期限文字列で表記することができます。絶対時間または相対時間のどちらかになります。

この要素のフィールドでは1つのみを指定することができ、複数指定た場合はリクエストが拒否されます。

注:最長有効期限ページにあるMNOごとの値を参照してください。
┗days
┗hours時間
┗minutes
┗seconds
┗smpp_validity_period_stringSMPP形式の有効期限
※応用的な方法となります。詳細については、適切なGSM仕様をご確認ください。
https://smpp.org/SMPP_v3_4_Issue1_2.pdf
delivery_receipts任意この要素は、送信されたSMSメッセージの配信結果を確認するために必要になります。配信結果を受信するかしないかを選択することができます。(指定しない場合は、falseに設定されています。)ダウンストリームネットワークでサポートされている場合は、オプションで中間配信結果を確認することもできます。

そして、配信結果を確認するためのWebhook URLを指定することもできます。指定した場合、アカウント設定手順の一部として、ダッシュボードで設定されたURLを上書きします。通常、APIリクエストでここに何も指定されていない場合、ダッシュボードのURLが使用されます。
┗requiredtrue または false
┗intermediate_dlrtrue または false
┗custom_callback_urlCallback URL は配信レシートを受け取る先になります。 例:https://<WEBHOOK URL>
advanced_settings任意これらの要素により、送信するメッセージをさらに制御することが可能になります。この値は、特別な用途のために設定する必要がある場合があります。この要素を使用する場合、サポートされている値の範囲内のフィールドとサポートされている値の意味を熟知していることを前提としています。

※応用的な方法となります。詳細については、適切なGSM仕様をご確認ください。

https://smpp.org/SMPP_v3_4_Issue1_2.pdf
┗message_class0, 1, 2, 3
┗message_waiting_indicator1または 2
┗protocol_id0 から 255
metadata任意この要素を使用すると、一意のクライアント証明書をメッセージに添付することができます。この値は、APIレスポンスの中で反映、返信され、メッセージに関連する連続した配信結果のWebhook呼び出しも同様になります。
┗client_referenceclient_referenceフィールドはフリーテキスト形式で最大50文字まで含むことができます。
correlation_id任意correlation_id は、最大50文字まで含むことができるフリーテキスト形式のフィールドです。これにより、リクエスト内のすべてのメッセージを関連付けることができます(この値は配信レシートに表示されます)。

サンプルリクエスト

{
"sms_messages": [
{
"from": "sender address",
"to": "destination-phone-number-1",
"message_type": "text",
"text_message": {
"text": "message #1"
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-1"
}
},
{
"from": "sender address",
"to": "destination-phone-number-2",
"message_type": "text",
"text_message": {
"text": "message #2"
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-2"
}
},
{
"from": "sender address",
"to": "destination-phone-number-3",
"message_type": "text",
"text_message": {
"text": "message #3"
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-3"
}
},
{
"from": "sender address",
"to": "destination-phone-number-4",
"message_type": "text",
"text_message": {
"text": "message #4"
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-4"
}
},
{
"from": "sender address",
"to": "destination-phone-number-5",
"message_type": "text",
"text_message": {
"text": "message #5"
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-5"
}
},
{
"from": "sender address",
"to": "destination-phone-number-6",
"message_type": "text",
"text_message": {
"text": "message #6"
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-6"
}
},
{
"from": "sender address",
"to": "destination-phone-number-7",
"message_type": "text",
"text_message": {
"text": "message #7"
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-7"
}
},
{
"from": "sender address",
"to": "destination-phone-number-8",
"message_type": "text",
"text_message": {
"text": "message #8"
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-8"
}
},
{
"from": "sender address",
"to": "destination-phone-number-9",
"message_type": "text",
"text_message": {
"text": "message #9"
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-9"
}
},
{
"from": "sender address",
"to": "destination-phone-number-10",
"message_type": "text",
"text_message": {
"text": "message #10"
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-10"
}
}
],
"correlation_id": "correlation-id-1"
}

レスポンス: 成功した場合は、APIの呼び出しに対するレスポンスが、JSON形式で200 OKとなります。失敗時のレスポンスの詳細はSMS APIリクエストのエラー/拒否を参照してください。

パラメーター詳細
smsResponses各SMSメッセージの送信状況に関する詳細情報を提供するオブジェクトの配列。それぞれのオブジェクトには以下が含まれます。
result_code結果コードを参照する。
result_message結果コードの詳細
client_referenceクライアント証明書はリクエストで指定された時のみ返されます。"client reference" は"Additional/Advanced Options" の下で確認することができます。
correlation_idCorrelation IDは、リクエストで指定された場合にのみ返されます。
message_id自動的に生成されるID
how_many_message_partsメッセージが何通分に分割されたかを示します。例えば、日本語で660文字の長さのメッセージの場合、この値は10になります。

サンプルレスポンス

{
"smsResponses" : [
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-1",
"message_id" : "message-id-1",
"how_many_message_parts" : 1
},
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-2",
"message_id" : "message-id-2",
"how_many_message_parts" : 1
},
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-3",
"message_id" : "message-id-3",
"how_many_message_parts" : 1
},
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-4",
"message_id" : "message-id-4",
"how_many_message_parts" : 1
},
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-5",
"message_id" : "message-id-5",
"how_many_message_parts" : 1
},
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-6",
"message_id" : "message-id-6",
"how_many_message_parts" : 1
},
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-7",
"message_id" : "message-id-7",
"how_many_message_parts" : 1
},
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-8",
"message_id" : "message-id-8",
"how_many_message_parts" : 1
},
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-9",
"message_id" : "message-id-9",
"how_many_message_parts" : 1
},
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-10",
"message_id" : "message-id-10",
"how_many_message_parts" : 1
}
],
"correlation_id" : "correlation-id-1"
}

テンプレートを含めたサンプルリクエスト

{
"sms_messages": [
{
"from": "sender address",
"to": "destination-phone-number-1",
"message_type": "template",
"template_message":
{
"template_id": "template-id-1",
"substitutions": [
{
"name": "fname",
"value": "John"
}
]
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-1"
}
},
{
"from": "sender address",
"to": "destination-phone-number-2",
"message_type": "template",
"template_message": {
"template_id": "template-id-1",
"substitutions": [
{
"name": "fname",
"value": "Jane"
}
]
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-2"
}
},
{
"from": "sender address",
"to": "destination-phone-number-3",
"message_type": "template",
"template_message": {
"template_id": "template-id-1",
"substitutions": [
{
"name": "fname",
"value": "Jill"
}
]
},
"validity_period": {
"days": "1",
"hours": "2",
"minutes": "45",
"seconds": "32"
},
"metadata": {
"client_reference": "client-ref-3"
}
}
]
}

レスポンス: 成功した場合は、APIの呼び出しに対するレスポンスが、JSON形式で200 OKとなります。失敗時のレスポンスの詳細はSMS APIリクエストのエラー/拒否を参照してください。

パラメーター詳細
smsResponses各SMSメッセージの送信状況に関する詳細情報を提供するオブジェクトの配列。それぞれのオブジェクトには以下が含まれます。
result_code結果コードを参照する。
result_message結果コードの詳細
client_referenceクライアント証明書はリクエストで指定された時のみ返されます。"client reference" は"Additional/Advanced Options" の下で確認することができます。
correlation_idCorrelation IDは、リクエストで指定された場合にのみ返されます。
message_id自動的に生成されるID
how_many_message_partsメッセージが何通分に分割されたかを示します。例えば、日本語で660文字の長さのメッセージの場合、この値は10になります。

サンプルレスポンス

{
"smsResponses" : [
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-1",
"message_id" : "message-id-1",
"how_many_message_parts" : 1
},
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-2",
"message_id" : "message-id-2",
"how_many_message_parts" : 1
},
{
"result_code" : 0,
"result_message" : "Message successfully submitted",
"client_reference" : "client-ref-3",
"message_id" : "message-id-3",
"how_many_message_parts" : 1
}
"correlation_id" : "correlation-id-1"
}