CPaaS NOW

Download OpenAPI specification:Download

ご利用いただくために

このセクションではCPaaS NOWのAPIを利用するための共通仕様について説明します。

ヘッダーフィールド

リクエスト

すべてのAPIアクセスはHTTPS経由で行われ、すべてのデータはJSON形式で受信されます。

Authorization : Bearer YOUR_API_TOKEN
Content-Type  : application/json
項目名 説明
Authorization YOUR_API_TOKEN部分を提供されたAPIトークンで置き換えます。
APIトークンはログイン後の設定画面よりご確認ください。
Content-Type JSON形式 application/json を指定します。

レスポンス

すべてのデータはJSON形式で送信されます。

項目名 説明
Content-Type JSON形式 application/json を指定します。

開発環境について

稼働時間は、平日9:00から24:00で稼働しております。
予期せぬ事態で一時的に利用できない場合がございます。
利用できない際にはお手数ですが、お問い合わせください。
お問い合わせ受付時間は平日9:00から17:00となっております。

※ 開発環境から実際にSMSやEメールの配信はできません。
※ 稼働時間外のアクセスは、503エラーが表示される可能性があります。
※ 短時間での大量入力テストは行わないようお願いいたします。
※ 本番環境と同等のセキュリティは担保されておりません。
※ ハードウェア、ソフトウェア、設定等が本番と異なる部分がございます。

テスト用宛先一覧

テスト用宛先に配信いただくことで、予め用意された結果を返却します。
開発環境では実際にSMSやEメールを配信することはできませんので 動作確認にはテスト用宛先一覧をご利用ください。

※この番号は本番環境では、利用できません。

SMS

携帯番号 キャリア status code message
09001111101 softbank delivered
09001111102 docomo delivered
09001111103 au delivered
09001111104 rakuten delivered
09001111201 softbank failed DeviceUnreachable 端末が圏外か電源offの可能性があるため配信に失敗しました
09001111202 docomo failed DeviceUnreachable 端末が圏外か電源offの可能性があるため配信に失敗しました
09001111203 au failed DeviceUnreachable 端末が圏外か電源offの可能性があるため配信に失敗しました
09001111204 rakuten failed DeviceUnreachable 端末が圏外か電源offの可能性があるため配信に失敗しました
09002222001 unknown failed NotReceivableSMSNumber SMSが受信できない番号の可能性があるため配信に失敗しました

※ その他の携帯番号について配信結果は保証されません

Eメール

メールアドレス status code message
success@example.com delivered
failure@example.com failed SMTPFailure SMTP通信の失敗によりメール配信に失敗しました

※ その他のメールアドレスについて配信結果は保証されません

テスト用認証コード一覧

テスト用認証コードを利用することで、予め用意された結果を返却します。
開発環境では実際に認証コードを配信することはできませんので 認証確認APIの動作確認にはテスト用認証コードをご利用ください。

認証コード status code message
100000 succeeded
200000 failed Expired コードの有効期限が切れたため、認証に失敗しました
300000 failed NotFound コードを特定できないため、認証に失敗しました
400000 failed AlreadyVerified 既に認証済みのため、認証に失敗しました
500000 failed Invalid 無効なコードのため、認証に失敗しました

※ その他の認証コードについて認証結果は保証されません
※ 電話番号は結果に関わりません

Windowsからcurlサンプルを実行する場合

各APIに記載しておりますcurlのサンプルは、Windowsではそのまま利用できない場合があります。

例えば、コマンドプロンプトで実施する場合は以下のように修正して実行してください

  1. コマンドを複数行に分割して書く場合、行末は\の代わりに^を使用します。
  2. リクエストボディを送信する場合、ボディ全体を''の代わりに""で囲みます。
  3. リクエストボディに"が含まれる場合、ダブルクオーテーションを\でエスケープします。
  4. リクエストボディに日本語が含まれる場合は、2,3の代わりにリクエストボディだけをテキストファイルにUTF-8で保存し、-d @リクエストファイル名を指定します。

フォールバック配信登録APIの場合、以下のようになります。

curl "https://sandbox.cpaasnow.com/api/v1/fallback_deliveries" ^
  -X POST ^
  -d "{\"deliveries\": [{\"channel\": \"sms\",\"to\": \"09001111101\",\"text\": \"My new message\"},{\"channel\": \"email\",\"to\": {\"name\": \"To Name\",\"address\": \"success@example.com\"},\"from\": {\"name\": \"From Name\",\"address\": \"from_address@example.com\"},\"reply_to\": {\"name\": \"Reply_to Name\",\"address\": \"reply_to_address@example.com\"},\"subject\": \"Email subject\",\"text\": \"Email text\"}],\"user_reference\": \"sample\",\"bill_split_code\": \"bill_split_code-1\"}" ^
  -H "Authorization:Bearer YOUR_API_TOKEN" ^
  -H "Content-Type: application/json"

リクエストボディに日本語が含まれる場合、以下のようになります。

curl "https://sandbox.cpaasnow.com/api/v1/fallback_deliveries" ^
  -X POST ^
  -d @request.json ^
  -H "Authorization:Bearer YOUR_API_TOKEN" ^
  -H "Content-Type: application/json"

その際のrequest.jsonの内容は以下のようになります。

{"deliveries": [{"channel": "sms","to": "09001111101","text": "My new message"},{"channel": "email","to": {"name": "To Name","address": "success@example.com"},"from": {"name": "From Name","address": "from_address@example.com"},"reply_to": {"name": "Reply_to Name","address": "reply_to_address@example.com"},"subject": "【●●ショップ】会員登録ありがとうございます","text": "※このメールはシステムからの自動返信です\r\n●●様\r\n..."}],"user_reference": "sample","bill_split_code": "bill_split_code-1"}

SMS配信

携帯電話番号を指定して、SMSメッセージを配信します。

SMS配信登録

SMSによる配信を登録します。
携帯電話番号を指定して、メッセージ本文を配信します。

Authorizations:
Authorization
Request Body schema: application/json
required
to
required
string^((0|\+81)(20|70|90)[0-9]{8}|(0|\+81)80[1-9][...

宛先携帯電話番号
070、080、090から始まる11桁の番号、または020から始まる11桁か14桁の番号。
ただし、0800から始まる11桁の番号には配信できません。
先頭に「+81」を指定した場合「0」に変換されます。
ハイフンを含めることはできません。

text
required
string [ 1 .. 660 ] characters

SMSの本文
文字コードはUTF-8です。
また4バイト文字は使用できません。
改行コードは全てCRLFに変換され、2文字でカウントされます。
URLを入れる場合、前後に半角スペースまたは改行を挿入してください。
配信停止URLを利用する場合は本文に{{配信停止URL}}を入力してください。
本文中の配信停止URL数は1個以内にしてください。

click_tracking
boolean or null

クリックトラッキング

  • trueの場合
    URLは短縮して配信されます。
    本文中に入力できるURLは最大2件までとなります。

  • false または指定しない場合
    URLは短縮せずに配信されます。
    本文中に入力できるURLの上限はありません。
user_reference
string or null [ 1 .. 40 ] characters

ユーザー識別子
リクエスト時に指定可能な識別子です。
SMS配信結果取得APIのレスポンス、WebhookでのSMS配信結果通知にて同じ値が返却されます。
使用可能文字は半角英数字 、 -(半角ハイフン)、 _(半角アンダースコア)です。

bill_split_code
string or null [ 1 .. 20 ] characters

請求明細分割コード
請求明細を分割コード毎に作成します。
使用可能文字は半角英数字 、 -(半角ハイフン)、 _(半角アンダースコア)です。

Responses

Response Schema: application/json
delivery_order_id
required
integer

配信オーダーID

accepted_at
required
string <date-time>

配信オーダーの受付日時

Request samples

Content type
application/json
{
  • "to": "09001111101",
  • "text": "会員登録ありがとうございます http://example.com {{配信停止URL}}",
  • "click_tracking": true,
  • "user_reference": "sample",
  • "bill_split_code": "bill_split_code-1"
}

Response samples

Content type
application/json
{
  • "delivery_order_id": 1,
  • "accepted_at": "2023-11-28T14:15:22+09:00"
}

SMS配信結果取得

SMS配信登録APIで配信した結果を取得します。
配信オーダーIDを指定しない場合は直近100件を取得します。

Authorizations:
Authorization
query Parameters
delivery_order_ids
string
Example: delivery_order_ids=10001,10002,10003

CPaaS NOWが発行した配信オーダーID
カンマ区切りの数字で100件以内にしてください。

Responses

Response Schema: application/json
total
required
integer

配信オーダーの取得件数

required
Array of objects

配信オーダー

Array
id
required
integer

配信オーダーID

status
required
string (DeliveryOrderStatus)
Enum: "accepted" "completed" "failed"

ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み

  • completed: 配信成功

  • failed: 配信失敗

accepted_at
required
string <date-time>

配信オーダーの受付日時

end_at
required
string or null <date-time>

配信オーダーの完了日時
配信オーダー完了日時を基準に課金計算を行います。

user_reference
required
string or null [ 1 .. 40 ] characters

ユーザー識別子
SMS配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

bill_split_code
required
string or null [ 1 .. 20 ] characters

請求明細分割コード
SMS配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

required
Array of objects (SMS) = 1 items

配信情報

Array (= 1 items)
id
required
integer

配信ID

channel
required
string
Value: "sms"

配信したチャネル
sms 固定になります。

carrier
required
string
Enum: "unconfirmed" "unknown" "docomo" "au" "softbank" "rakuten"

配信したキャリア
unconfirmedは未確定の状態です。
unknownは配信キャリアが不明の状態です。

to
required
string

配信した携帯電話番号

status
required
string
Enum: "accepted" "dispatching" "dispatched" "delivered" "failed"

配信ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み

  • dispatching: 配信開始

  • dispatched: 配信処理中

  • delivered: 配信成功

  • failed: 配信失敗

delivered_at
required
string or null <date-time>

配信成功日時
配信ステータスがdeliveredの場合のみ日時が入ります。

usage_count
required
integer (UsageCount)

通数
配信ステータスがdeliveredの場合、カウントされます。
配信したSMSの通数の仕様は以下になります。

  • carrierがdocomoの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は66文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがauの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがsoftbankの場合
    1通は660文字(半角全角文字問わず)までとなります。

  • carrierがrakutenの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

※ 「配信者英字表示」をオプション契約している場合
 キャリア問わず1通は70文字(半角文字のみの場合は140文字)までとなります。
 70文字を超えた場合は67文字(半角文字のみの場合は134文字)毎に1通で計算します。

opted_out
required
boolean

配信停止希望
true の場合、SMS受信者が配信停止を希望しています。

required
Array of objects [ 0 .. 2 ] items

クリックトラッキング

Array ([ 0 .. 2 ] items)
url
required
string [ 1 .. 660 ] characters

クリックトラッキングの対象URL

first_clicked_at
required
string or null <date-time>

初回クリック日時

last_clicked_at
required
string or null <date-time>

最終クリック日時

count
required
integer

クリック回数

SMSUnderMaintenance (object) or CarrierIssue (object) or DeviceUnreachable (object) or NotReceivableSMSNumber (object) or SameNumberLimitExceeded (object) or DeliveryTimeout (object) or SystemFailure (object)

配信されなかった場合のエラーの情報
配信でエラーが発生した場合に返されます。

One of
code
required
string
Value: "SMSUnderMaintenance"
message
required
string
Value: "SMS配信機能のメンテナンス中です"

Request samples

curl "https://sandbox.cpaasnow.com/api/v1/short_messages?delivery_order_ids=10001,10002,10003" \
-X GET \
-H "Authorization:Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"

Response samples

Content type
application/json
[
  • {
    • "total": 2,
    • "delivery_orders": [
      • {
        • "id": 2,
        • "status": "completed",
        • "accepted_at": "2023-11-28T14:15:22+09:00",
        • "end_at": "2023-11-28T14:18:22+09:00",
        • "user_reference": "sample",
        • "bill_split_code": "bill_split_code-1",
        • "deliveries": [
          • {
            • "id": 2,
            • "channel": "sms",
            • "carrier": "softbank",
            • "to": "09001111101",
            • "status": "delivered",
            • "delivered_at": "2023-11-28T14:16:22+09:00",
            • "usage_count": 1,
            • "opted_out": true,
            • "click_trackings": [
              • {
                • "first_clicked_at": "2023-11-28T14:26:34+09:00",
                • "last_clicked_at": "2023-11-28T15:14:21+09:00",
                • "count": 2
                },
              • {}
              ]
            }
          ]
        },
      • {
        • "id": 1,
        • "status": "failed",
        • "accepted_at": "2023-11-28T14:10:22+09:00",
        • "end_at": "2023-11-28T14:12:22+09:00",
        • "user_reference": "sample",
        • "bill_split_code": "bill_split_code-1",
        • "deliveries": [
          • {
            • "id": 1,
            • "channel": "sms",
            • "carrier": "softbank",
            • "to": "09001111201",
            • "status": "failed",
            • "delivered_at": null,
            • "usage_count": 0,
            • "opted_out": false,
            • "click_trackings": [ ],
            • "error": {
              • "code": "DeviceUnreachable",
              • "message": "端末が圏外か電源offの可能性があるため配信に失敗しました"
              }
            }
          ]
        }
      ]
    }
]

Eメール配信

メールアドレスを指定して、Eメールを配信します。

Eメール配信登録

Eメールによる配信を登録します。
メールアドレスをを指定して、メッセージ本文を配信します。

Authorizations:
Authorization
Request Body schema: application/json
required
required
object (EmailReceiver)

Eメール受信者

name
string or null [ 1 .. 255 ] characters

宛先の表示名

address
required
string <email> [ 6 .. 255 ] characters

宛先アドレス

required
object (EmailSender)

Eメール差出人

name
string or null [ 1 .. 255 ] characters

差出人の表示名

address
required
string <email> [ 6 .. 255 ] characters

差出人アドレス
DKIM登録したドメインのアドレスを指定してください。
開発環境ではドメインがexample.comのアドレスを利用してください。

object or null (ReplyTo)

返信先

name
string or null [ 1 .. 255 ] characters

返信先の表示名

address
required
string <email> [ 6 .. 255 ] characters

返信先アドレス

subject
required
string [ 1 .. 256 ] characters

Eメールの件名

text
required
string [ 1 .. 256000 ] characters

テキストメールの本文
URLを入れる場合、前後に半角スペースまたは改行を挿入してください。
配信停止URLを利用する場合は本文に{{配信停止URL}}を入力してください。
本文中の配信停止URL数は1個以内にしてください。
受信者が本文中の配信停止URLから配信停止を希望すると、Eメール配信結果取得の配信情報の「配信停止希望」がtrueになります。

html
string or null [ 1 .. 256000 ] characters

HTMLメールの本文
配信停止URLを利用する場合は本文に<a href="{{配信停止URL}}">配信停止はこちら</a>のような形式で入力してください。
本文中の配信停止URL数は1個以内にしてください。
受信者が本文中の配信停止URLから配信停止を希望すると、Eメール配信結果取得の配信情報の「配信停止希望」がtrueになります。

oneclick_unsubscribe
boolean
Default: false

ワンクリック購読解除

  • trueの場合
    ワンクリック購読解除が可能なEメールとして配信します。
    メーラーのインタフェースに「購読解除」リンクが表示されます。
    「購読解除」リンクをクリックした場合、Eメール配信結果取得の配信情報の「配信停止希望」がtrueになります。
    また、Webhookの設定をしている場合は、配信停止希望のイベントを送信します。
    配信停止URLで既に配信停止希望がtrueになっている場合はイベントを送信しません。
    ※RFC8058の規定に準拠した機能です。メーラーの仕様により「購読解除」リンクが表示されない場合があります。
open_tracking
boolean
Default: false

開封トラッキング

  • trueの場合
    配信されたメールを受信者が開封したかどうかを確認できます。
    true を指定した場合 html が必須になります。
    受信者がメールを開封した場合、Eメール配信結果取得APIの配信情報の「開封ステータス」がopenedになります。
    また、Webhookの設定をしている場合は、Eメール開封のイベントを送信します。
user_reference
string or null [ 1 .. 40 ] characters

ユーザー識別子
リクエスト時に指定可能な識別子です。
Eメール配信結果取得APIのレスポンス、WebhookでのEメール配信結果通知にて同じ値が返却されます。
使用可能文字は半角英数字 、 -(半角ハイフン)、 _(半角アンダースコア)です。

bill_split_code
string or null [ 1 .. 20 ] characters

請求明細分割コード
請求明細を分割コード毎に作成します。
使用可能文字は半角英数字 、 -(半角ハイフン)、 _(半角アンダースコア)です。

Responses

Response Schema: application/json
delivery_order_id
required
integer

配信オーダーID

accepted_at
required
string <date-time>

配信オーダーの受付日時

Request samples

Content type
application/json
{
  • "to": {
    • "name": "To Name",
    • "address": "success@example.com"
    },
  • "from": {
    • "name": "From Name",
    • "address": "from_address@example.com"
    },
  • "reply_to": {
    • "name": "Reply_to Name",
    • "address": "reoly_to_address@example.com"
    },
  • "subject": "【●●ショップ】会員登録ありがとうございます",
  • "text": "●●様 ※このメールはシステムからの自動返信です 配信停止はこちら {{配信停止URL}}",
  • "html": "<html><body>●●様<br>※このメールはシステムからの自動返信です。<br><a href=\"{{配信停止URL}}\">配信停止はこちら</a></body></html>",
  • "oneclick_unsubscribe": false,
  • "open_tracking": true,
  • "user_reference": "sample",
  • "bill_split_code": "bill_split_code-1"
}

Response samples

Content type
application/json
{
  • "delivery_order_id": 1,
  • "accepted_at": "2023-11-28T14:15:22+09:00"
}

Eメール配信結果取得

Eメール配信登録APIで配信した結果を取得します。
配信オーダーIDを指定しない場合は直近100件を取得します。

Authorizations:
Authorization
query Parameters
delivery_order_ids
string
Example: delivery_order_ids=10001,10002,10003

CPaaS NOWが発行した配信オーダーID
カンマ区切りの数字で100件以内にしてください。

Responses

Response Schema: application/json
total
required
integer

配信オーダーの取得件数

required
Array of objects

配信オーダー

Array
id
required
integer

配信オーダーID

status
required
string (DeliveryOrderStatus)
Enum: "accepted" "completed" "failed"

ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み

  • completed: 配信成功

  • failed: 配信失敗

accepted_at
required
string <date-time>

配信オーダーの受付日時

end_at
required
string or null <date-time>

配信オーダーの完了日時
配信オーダー完了日時を基準に課金計算を行います。

user_reference
required
string or null [ 1 .. 40 ] characters

ユーザー識別子
Eメール配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

bill_split_code
required
string or null [ 1 .. 20 ] characters

請求明細分割コード
Eメール配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

required
Array of objects (Eメール) = 1 items

配信情報

Array (= 1 items)
id
required
integer

配信ID

channel
required
string
Value: "email"

配信したチャネル
email 固定になります。

to
required
string

配信したメールアドレス

status
required
string
Enum: "accepted" "dispatching" "dispatched" "delivered" "failed"

配信ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み

  • dispatching: 配信開始

  • dispatched: 配信処理中

  • delivered: 配信成功

  • failed: 配信失敗

delivered_at
required
string or null <date-time>

配信成功日時
配信ステータスがdeliveredの場合のみ日時が入ります。

usage_count
required
integer

通数
配信ステータスがdeliveredfailedの場合、1になります。
※ただしSystemFailureのうちCPaaS NOWから送信が確認できていない場合は、0になります。

opted_out
required
boolean

配信停止希望
true の場合、Eメール受信者が配信停止を希望しています。

open_status
required
string
Enum: "disabled" "unopened" "opened"

開封ステータス
各ステータスの説明は以下の通りです。

  • disabled: 無効

  • unopened: 未開封

  • opened: 開封済

SMTPFailure (object) or DeliveryTimeout (object) or SystemFailure (object)

配信されなかった場合のエラーの情報
配信でエラーが発生した場合に返されます。

One of
code
required
string
Value: "SMTPFailure"
message
required
string

SMTP通信の失敗によるメール配信に失敗した際のエラーメッセージ
以下のように詳細なエラー内容もあわせて返します。

SMTP通信の失敗によりメール配信に失敗しました - Recipient address <failure@example.com> is suppressed to send mail. (in reply to RCPT TO)

Request samples

curl "https://sandbox.cpaasnow.com/api/v1/emails?delivery_order_ids=10001,10002,10003" \
-X GET \
-H "Authorization:Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"

Response samples

Content type
application/json
[
  • {
    • "total": 2,
    • "delivery_orders": [
      • {
        • "id": 2,
        • "status": "completed",
        • "accepted_at": "2023-11-28T14:15:22+09:00",
        • "end_at": "2023-11-28T14:18:22+09:00",
        • "user_reference": "sample",
        • "bill_split_code": "bill_split_code-1",
        • "deliveries": [
          • {
            • "id": 2,
            • "channel": "email",
            • "to": "success@example.com",
            • "status": "delivered",
            • "delivered_at": "2023-11-28T14:16:22+09:00",
            • "usage_count": 1,
            • "opted_out": false,
            • "open_status": "opened"
            }
          ]
        },
      • {
        • "id": 1,
        • "status": "failed",
        • "accepted_at": "2023-11-28T14:10:22+09:00",
        • "end_at": "2023-11-28T14:12:22+09:00",
        • "user_reference": "sample",
        • "bill_split_code": "bill_split_code-1",
        • "deliveries": [
          • {
            • "id": 1,
            • "channel": "email",
            • "to": "failure@example.com",
            • "status": "failed",
            • "delivered_at": null,
            • "usage_count": 1,
            • "opted_out": false,
            • "open_status": "disabled",
            • "error": {
              • "code": "DeliveryTimeout",
              • "message": "一定時間内に配信を完了できませんでした"
              }
            }
          ]
        }
      ]
    }
]

フォールバック配信

1つの送信リクエストで、最大2つの宛先への送信を試みる機能です。
2つのチャネル、宛先情報を入力することで、1番目の宛先が失敗した場合、
CPaaS NOW 側で自動に2番目の宛先への送信処理を行います。

フォールバック配信登録

フォールバックによる配信を登録します。
携帯電話番号やメールアドレスを指定して、メッセージ本文を配信します。

Authorizations:
Authorization
Request Body schema: application/json
required
Array of SMS (object) or Email (object) (Delivery) [ 1 .. 2 ] items

配信情報
指定した順番に従ってSMSやEメールの配信を行います。
配信情報は最大2件まで指定できます。
配信に成功した場合、次の配信は行いません。
配信に失敗した場合、次の配信を行います。

Array ([ 1 .. 2 ] items)
One of
channel
required
string
Value: "sms"

配信チャネル
sms を指定してください。

to
required
string^((0|\+81)(20|70|90)[0-9]{8}|(0|\+81)80[1-9][...

宛先携帯電話番号
070、080、090から始まる11桁の番号、または020から始まる11桁か14桁の番号。
ただし、0800から始まる11桁の番号には配信できません。
先頭に「+81」を指定した場合「0」に変換されます。
ハイフンを含めることはできません。

text
required
string [ 1 .. 660 ] characters

SMSの本文
文字コードはUTF-8です。
また4バイト文字は使用できません。
改行コードは全てCRLFに変換され、2文字でカウントされます。
URLを入れる場合、前後に半角スペースまたは改行を挿入してください。

user_reference
string or null [ 1 .. 40 ] characters

ユーザー識別子
リクエスト時に指定可能な識別子です。
フォールバック配信結果取得APIのレスポンス、Webhookでのフォールバック配信結果通知にて同じ値が返却されます。
使用可能文字は半角英数字 、 -(半角ハイフン)、 _(半角アンダースコア)です。

bill_split_code
string or null [ 1 .. 20 ] characters

請求明細分割コード
請求明細を分割コード毎に作成します。
使用可能文字は半角英数字 、 -(半角ハイフン)、 _(半角アンダースコア)です。

Responses

Response Schema: application/json
delivery_order_id
required
integer

配信オーダーID

accepted_at
required
string <date-time>

配信オーダーの受付日時

Request samples

Content type
application/json
{
  • "deliveries": [
    • {
      • "channel": "sms",
      • "to": "09001111101",
      • "text": "会員登録ありがとうございます"
      },
    • {
      • "channel": "email",
      • "to": {
        • "name": "To Name",
        • "address": "success@example.com"
        },
      • "from": {
        • "name": "From Name",
        • "address": "from_address@example.com"
        },
      • "reply_to": {
        • "name": "Reply_to Name",
        • "address": "reply_to_address@example.com"
        },
      • "subject": "【●●ショップ】会員登録ありがとうございます",
      • "text": "●●様 ※このメールはシステムからの自動返信です"
      }
    ],
  • "user_reference": "sample",
  • "bill_split_code": "bill_split_code-1"
}

Response samples

Content type
application/json
{
  • "delivery_order_id": 1,
  • "accepted_at": "2023-11-28T14:15:22+09:00"
}

フォールバック配信結果取得

フォールバック配信登録APIで配信した結果を取得します。
配信オーダーIDを指定しない場合は直近100件を取得します。

Authorizations:
Authorization
query Parameters
delivery_order_ids
string
Example: delivery_order_ids=10001,10002,10003

CPaaS NOWが発行した配信オーダーID
カンマ区切りの数字で100件以内にしてください。

Responses

Response Schema: application/json
total
required
integer

配信オーダーの取得件数

required
Array of objects

配信オーダー

Array
id
required
integer

配信オーダーID

status
required
string (DeliveryOrderStatus)
Enum: "accepted" "completed" "failed"

ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み

  • completed: 配信成功

  • failed: 配信失敗

accepted_at
required
string <date-time>

配信オーダーの受付日時

end_at
required
string or null <date-time>

配信オーダーの完了日時
配信オーダー完了日時を基準に課金計算を行います。

user_reference
required
string or null [ 1 .. 40 ] characters

ユーザー識別子
フォールバック配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

bill_split_code
required
string or null [ 1 .. 20 ] characters

請求明細分割コード
フォールバック配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

required
Array of SMS (object) or Email (object) [ 1 .. 2 ] items

配信情報

Array ([ 1 .. 2 ] items)
One of
id
required
integer

配信ID

channel
required
string
Value: "sms"

配信したチャネル
sms 固定になります。

carrier
required
string
Enum: "unconfirmed" "unknown" "docomo" "au" "softbank" "rakuten"

配信したキャリア
unconfirmedは未確定の状態です。
unknownは配信キャリアが不明の状態です。

to
required
string

配信した携帯電話番号

status
required
string (FallbackDeliveryStatus)
Enum: "accepted" "dispatching" "dispatched" "delivered" "failed" "canceled"

配信ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み

  • dispatching: 配信開始

  • dispatched: 配信処理中

  • delivered: 配信成功

  • failed: 配信失敗

  • canceled: 配信キャンセル

delivered_at
required
string or null <date-time>

配信成功日時
配信ステータスがdeliveredの場合のみ日時が入ります。

usage_count
required
integer (UsageCount)

通数
配信ステータスがdeliveredの場合、カウントされます。
配信したSMSの通数の仕様は以下になります。

  • carrierがdocomoの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は66文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがauの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがsoftbankの場合
    1通は660文字(半角全角文字問わず)までとなります。

  • carrierがrakutenの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

※ 「配信者英字表示」をオプション契約している場合
 キャリア問わず1通は70文字(半角文字のみの場合は140文字)までとなります。
 70文字を超えた場合は67文字(半角文字のみの場合は134文字)毎に1通で計算します。

SMSUnderMaintenance (object) or CarrierIssue (object) or DeviceUnreachable (object) or NotReceivableSMSNumber (object) or SameNumberLimitExceeded (object) or DeliveryTimeout (object) or SystemFailure (object)

配信されなかった場合のエラーの情報
配信でエラーが発生した場合に返されます。

One of
code
required
string
Value: "SMSUnderMaintenance"
message
required
string
Value: "SMS配信機能のメンテナンス中です"

Request samples

curl "https://sandbox.cpaasnow.com/api/v1/fallback_deliveries?delivery_order_ids=10001,10002,10003" \
-X GET \
-H "Authorization:Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"

Response samples

Content type
application/json
[
  • {
    • "total": 2,
    • "delivery_orders": [
      • {
        • "id": 2,
        • "status": "completed",
        • "accepted_at": "2023-11-28T14:15:22+09:00",
        • "end_at": "2023-11-28T14:18:22+09:00",
        • "user_reference": "sample",
        • "bill_split_code": "bill_split_code-1",
        • "deliveries": [
          • {
            • "id": 3,
            • "channel": "sms",
            • "carrier": "softbank",
            • "to": "09001111101",
            • "status": "delivered",
            • "delivered_at": "2023-11-28T14:16:22+09:00",
            • "usage_count": 1
            },
          • {
            • "id": 4,
            • "channel": "email",
            • "carrier": null,
            • "to": "success@example.com",
            • "status": "canceled",
            • "delivered_at": null,
            • "usage_count": 0
            }
          ]
        },
      • {
        • "id": 1,
        • "status": "completed",
        • "accepted_at": "2023-11-28T14:10:22+09:00",
        • "end_at": "2023-11-28T14:12:22+09:00",
        • "user_reference": "sample",
        • "bill_split_code": "bill_split_code-1",
        • "deliveries": [
          • {
            • "id": 1,
            • "channel": "sms",
            • "carrier": "softbank",
            • "to": "09001111201",
            • "status": "failed",
            • "delivered_at": null,
            • "usage_count": 0,
            • "error": {
              • "code": "DeviceUnreachable",
              • "message": "端末が圏外か電源offの可能性があるため配信に失敗しました"
              }
            },
          • {
            • "id": 2,
            • "channel": "email",
            • "carrier": null,
            • "to": "success@example.com",
            • "status": "delivered",
            • "delivered_at": "2023-11-28T14:11:22+09:00",
            • "usage_count": 1
            }
          ]
        }
      ]
    }
]

認証コード

携帯電話番号を指定して、認証コードを配信します。

認証コード生成配信

認証コード生成配信を登録します。
宛先電話番号を指定して、認証コードを配信します。

Authorizations:
Authorization
Request Body schema: application/json
to
required
string

宛先電話番号
配信する電話番号を指定します。
channelの設定によらない共通の仕様

  • 先頭に「+81」を指定した場合「0」に変換されます。
  • ハイフンを含めることはできません。
  • 海外キャリアには配信できません。
  • 0120と0570から始まる10桁の番号はフリーダイヤルであるため、音声もSMSも配信できません。

channel を sms に設定した場合

  • 070、080、090から始まる11桁の番号、または020から始まる11桁か14桁の番号に配信できます。
  • 0800から始まる11桁の番号には配信できません。

channel を voice に設定した場合

  • 070、080、090から始まる11桁の番号、または050から始まる11桁の番号、または0から始まる10桁の番号に配信できます。
channel
required
string
Enum: "sms" "voice"

配信方法
smsでSMSによる配信、voiceで音声による配信が行われます

message
required
string non-empty

配信メッセージ
{{verification_code}}{{expiration_minutes}}が必須です。
{{verification_code}}は認証コードに置換されます。
{{expiration_minutes}}は認証コードの有効期間(分)に置換されます。
{{verification_code}}{{expiration_minutes}}以外の{{}}で囲まれた文字列は入力できません。
その他の文字列はそのまま配信されます。
{{verification_code}}{{expiration_minutes}}の置換後の情報を含めて70文字以下にしてください。
改行コードは全てCRLFに変換され、2文字でカウントされます。

code_type
required
string
Enum: "alphanumeric" "numeric"

認証コード文字種
認証コードの文字種を指定します。
alphanumericで半角英数字、numericで半角数字の認証コードが生成されます。

code_size
required
integer [ 4 .. 12 ]

認証コード文字数
認証コードの文字数を指定します。

expiration_minutes
required
integer [ 5 .. 60 ]

有効期限
認証コードの有効期限(分)を指定します。

※「配信の受付日時 + 5分」または「配信の完了日時」のどちらか小さいほうを有効期限のスタート時刻とします。

user_reference
string or null [ 1 .. 40 ] characters

ユーザー識別子
リクエスト時に指定可能な識別子です。
フォールバック配信結果取得APIのレスポンス、Webhookでのフォールバック配信結果通知にて同じ値が返却されます。
使用可能文字は半角英数字 、 -(半角ハイフン)、 _(半角アンダースコア)です。

bill_split_code
string or null [ 1 .. 20 ] characters

請求明細分割コード
請求明細を分割コード毎に作成します。
使用可能文字は半角英数字 、 -(半角ハイフン)、 _(半角アンダースコア)です。

Responses

Response Schema: application/json
delivery_order_id
required
integer

配信オーダーID

accepted_at
required
string <date-time>

配信オーダーの受付日時

Request samples

Content type
application/json
{
  • "to": "09001111101",
  • "channel": "sms",
  • "message": "認証コード:{{verification_code}}\r\n{{expiration_minutes}}分間有効",
  • "code_type": "alphanumeric",
  • "code_size": 6,
  • "expiration_minutes": 30,
  • "user_reference": "sample",
  • "bill_split_code": "bill_split_code-1"
}

Response samples

Content type
application/json
{
  • "delivery_order_id": 1,
  • "accepted_at": "2023-11-28T14:15:22+09:00"
}

認証コード配信結果取得

認証コード生成配信APIで配信した結果を取得します。
配信オーダーIDを指定しない場合は直近100件を取得します。

Authorizations:
Authorization
query Parameters
delivery_order_ids
string
Example: delivery_order_ids=10001,10002,10003

CPaaS NOWが発行した配信オーダーID
カンマ区切りの数字で100件以内にしてください。

Responses

Response Schema: application/json
total
required
integer

配信オーダーの取得件数

required
Array of objects

配信オーダー

Array
id
required
integer

配信オーダーID

status
required
string (DeliveryOrderStatus)
Enum: "accepted" "completed" "failed"

ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み

  • completed: 配信成功

  • failed: 配信失敗

accepted_at
required
string <date-time>

配信オーダーの受付日時

end_at
required
string or null <date-time>

配信オーダーの完了日時

user_reference
required
string or null [ 1 .. 40 ] characters

ユーザー識別子
認証コード生成配信APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

bill_split_code
required
string or null [ 1 .. 20 ] characters

請求明細分割コード
認証コード生成配信APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

required
Array of objects (SMS) = 1 items

配信情報

Array (= 1 items)
id
required
integer

配信ID

channel
required
string
Enum: "sms" "voice"

配信したチャネル
sms voice

carrier
required
string or null
Enum: "unconfirmed" "unknown" "docomo" "au" "softbank" "rakuten" null

配信したキャリア
unconfirmedは未確定の状態です。
unknownは配信キャリアが不明の状態です。
channelがvoiceの場合はnullになります。

to
required
string

配信した電話番号

status
required
string
Enum: "accepted" "dispatching" "dispatched" "delivered" "failed"

配信ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み

  • dispatching: 配信開始

  • dispatched: 配信処理中

  • delivered: 配信成功

  • failed: 配信失敗

delivered_at
required
string or null <date-time>

配信成功日時
配信ステータスがdeliveredの場合のみ日時が入ります。

usage_count
required
integer (VerificationUsageCount)

通数
配信ステータスがdeliveredの場合、カウントされます。

channelがsmsの場合
配信したSMSの通数の仕様は以下になります。

  • carrierがdocomoの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は66文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがauの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがsoftbankの場合
    1通は660文字(半角全角文字問わず)までとなります。

  • carrierがrakutenの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

※ 「配信者英字表示」をオプション契約している場合
 キャリア問わず1通は70文字(半角文字のみの場合は140文字)までとなります。
 70文字を超えた場合は67文字(半角文字のみの場合は134文字)毎に1通で計算します。

channelがvoiceの場合
配信した音声の通数は通話時間(単位:分)となります。

音声システムの都合上、コール音が鳴ったタイミングから通話時間をカウントし始めます。
実際の音声が流れる時間と異なりますので、ご了承ください。

分単位での課金となりますので、課金単位未満の通話時間は切り上げて計算されます。
(例) 通話時間が1分1秒の場合、 切り上げて2分として計算

SMSUnderMaintenance (object) or CarrierIssue (object) or DeviceUnreachable (object) or NotReceivableSMSNumber (object) or SameNumberLimitExceeded (object) or DeliveryTimeout (object) or VoiceSystemIssue (object) or SystemFailure (object)

配信されなかった場合のエラーの情報
配信でエラーが発生した場合に返されます。

One of
code
required
string
Value: "SMSUnderMaintenance"
message
required
string
Value: "SMS配信機能のメンテナンス中です"

Request samples

curl "https://sandbox.cpaasnow.com/api/v1/verification_codes/deliveries?delivery_order_ids=10001,10002,10003" \
-X GET \
-H "Authorization:Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"

Response samples

Content type
application/json
[
  • {
    • "total": 2,
    • "delivery_orders": [
      • {
        • "id": 2,
        • "status": "completed",
        • "accepted_at": "2023-11-28T14:15:22+09:00",
        • "end_at": "2023-11-28T14:18:22+09:00",
        • "user_reference": "sample",
        • "bill_split_code": "bill_split_code-1",
        • "deliveries": [
          • {
            • "id": 2,
            • "channel": "sms",
            • "carrier": "softbank",
            • "to": "09001111101",
            • "status": "delivered",
            • "delivered_at": "2023-11-28T14:16:22+09:00",
            • "usage_count": 1
            }
          ]
        },
      • {
        • "id": 1,
        • "status": "failed",
        • "accepted_at": "2023-11-28T14:10:22+09:00",
        • "end_at": "2023-11-28T14:12:22+09:00",
        • "user_reference": "sample",
        • "bill_split_code": "bill_split_code-1",
        • "deliveries": [
          • {
            • "id": 1,
            • "channel": "sms",
            • "carrier": "softbank",
            • "to": "09001111201",
            • "status": "failed",
            • "delivered_at": null,
            • "usage_count": 0,
            • "error": {
              • "code": "DeviceUnreachable",
              • "message": "端末が圏外か電源offの可能性があるため配信に失敗しました"
              }
            }
          ]
        }
      ]
    }
]

認証確認

認証コード生成配信で生成、配信したコードの認証確認を行います。
認証成功した後はコードが無効となります。
また、同一電話番号で5回連続認証失敗すると、コードが無効となります。

Authorizations:
Authorization
Request Body schema: application/json
to
required
string

電話番号

verification_code
required
string [ 4 .. 12 ] characters

認証コード

bill_split_code
string or null [ 1 .. 20 ] characters

請求明細分割コード
請求明細を分割コード毎に作成します。
使用可能文字は半角英数字 、 -(半角ハイフン)、 _(半角アンダースコア)です。

Responses

Response Schema: application/json
status
required
string

結果ステータス
succeeded 認証成功
failed 認証失敗

Expired (object) or NotFound (object) or AlreadyVerified (object) or Invalid (object)

認証失敗した場合のエラーの情報
ステータスがfailedの時に返されます。

One of
code
required
string
Value: "Expired"
message
required
string
Value: "コードの有効期限が切れたため、認証に失敗しました"

Request samples

Content type
application/json
{
  • "to": "09001111101",
  • "verification_code": "123456",
  • "bill_split_code": "bill_split_code-1"
}

Response samples

Content type
application/json
{
  • "status": "succeeded"
}

Webhook通知

CPaaS NOW APIのイベントを貴社で用意されたURLに送信します。
デフォルトで全てのイベントを送信する設定になっています。
受け取りを希望しない場合はログイン後の設定画面より設定してください。
レスポンスはHTTPステータス200を返してください。
レスポンスのHTTPステータスが200系以外の場合、 5回まで同内容のイベントを再送します。
再送間隔は10分となります。

SMS配信結果 Webhook

Request Body schema: application/json
event_id
required
integer (EventId)

イベントID

event
required
string
Enum: "short_message_delivery:completed" "short_message_delivery:failed"
イベント名 説明
short_message_delivery:completed SMS配信成功
short_message_delivery:failed SMS配信失敗
timestamp
required
string <date-time>

イベントが発生した日時

required
object
delivery_order_id
required
integer

配信オーダーID

end_at
required
string <date-time>

配信オーダーの完了日時
配信オーダー完了日時を基準に課金計算を行います。

accepted_at
required
string <date-time>

配信オーダーの受付日時

user_reference
required
string or null [ 1 .. 40 ] characters

ユーザ識別子
SMS配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

bill_split_code
required
string or null [ 1 .. 20 ] characters

請求明細分割コード
SMS配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

required
Array of objects = 1 items

配信

Array (= 1 items)
id
required
integer

配信ID

channel
required
string
Value: "sms"

配信チャネル

sms 固定になります。

carrier
required
string
Enum: "unconfirmed" "unknown" "docomo" "au" "softbank" "rakuten"

配信キャリア

to
required
string

宛先携帯電話番号

status
required
string
Enum: "accepted" "delivered" "failed"

配信ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み

  • delivered: 配信成功

  • failed: 配信失敗

delivered_at
required
string or null <date-time>

配信成功日時
配信ステータスがdeliveredの場合のみ日時が入ります。

usage_count
required
integer (UsageCount)

通数
配信ステータスがdeliveredの場合、カウントされます。
配信したSMSの通数の仕様は以下になります。

  • carrierがdocomoの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は66文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがauの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがsoftbankの場合
    1通は660文字(半角全角文字問わず)までとなります。

  • carrierがrakutenの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

※ 「配信者英字表示」をオプション契約している場合
 キャリア問わず1通は70文字(半角文字のみの場合は140文字)までとなります。
 70文字を超えた場合は67文字(半角文字のみの場合は134文字)毎に1通で計算します。

SMSUnderMaintenance (object) or CarrierIssue (object) or DeviceUnreachable (object) or NotReceivableSMSNumber (object) or SameNumberLimitExceeded (object) or DeliveryTimeout (object) or SystemFailure (object)

配信されなかった場合のエラーの情報
配信でエラーが発生した場合に返されます。

One of
code
required
string
Value: "SMSUnderMaintenance"
message
required
string
Value: "SMS配信機能のメンテナンス中です"

Responses

Request samples

Content type
application/json
Example
{
  • "event_id": 1,
  • "event": "short_message_delivery:completed",
  • "timestamp": "2023-11-28T14:16:22+09:00",
  • "payload": {
    • "delivery_order_id": 10001,
    • "end_at": "2023-11-28T14:16:22+09:00",
    • "accepted_at": "2023-11-28T14:15:22+09:00",
    • "user_reference": "sample",
    • "bill_split_code": "bill_split_code-1",
    • "deliveries": [
      • {
        • "id": 10001,
        • "channel": "sms",
        • "carrier": "softbank",
        • "to": "09001111101",
        • "status": "delivered",
        • "delivered_at": "2023-11-28T14:15:32+09:00",
        • "usage_count": 1
        }
      ]
    }
}

SMS配信URLクリック Webhook

Request Body schema: application/json
event_id
required
integer (EventId)

イベントID

event
required
string
Value: "short_message_delivery:url_clicked"
timestamp
required
string <date-time>

イベントが発生した日時

required
object
delivery_order_id
required
integer

配信オーダーID

delivery_id
required
integer

配信ID

click_event_id
required
integer

クリックイベントID

url
required
string <uri>

クリックされたURL

Responses

Request samples

Content type
application/json
{
  • "event_id": 3,
  • "event": "short_message_delivery:url_clicked",
  • "timestamp": "2023-11-28T14:16:22+09:00",
  • "payload": {
    • "delivery_order_id": 10001,
    • "delivery_id": 10001,
    • "click_event_id": 10001,
    }
}

Eメール配信結果 Webhook

Request Body schema: application/json
event_id
required
integer (EventId)

イベントID

event
required
string
Enum: "email_delivery:completed" "email_delivery:failed"
イベント名 説明
email_delivery:completed Eメール配信成功
email_delivery:failed Eメール配信失敗
timestamp
required
string <date-time>

イベントが発生した日時

required
object
delivery_order_id
required
integer

配信オーダーID

end_at
required
string <date-time>

配信オーダーの完了日時
配信オーダー完了日時を基準に課金計算を行います。

accepted_at
required
string <date-tim>

配信オーダーの受付日時

user_reference
required
string or null [ 1 .. 40 ] characters

ユーザ識別子
Eメール配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

bill_split_code
required
string or null [ 1 .. 20 ] characters

請求明細分割コード
Eメール配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

required
Array of objects = 1 items

配信

Array (= 1 items)
id
required
integer

配信ID

channel
required
string
Value: "email"

配信チャネル

email 固定になります。

to
required
string

宛先Eメールアドレス

status
required
string
Enum: "accepted" "delivered" "failed"

配信ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み

  • delivered: 配信成功

  • failed: 配信失敗

delivered_at
required
string or null <date-time>

配信成功日時
配信ステータスがdeliveredの場合のみ日時が入ります。

usage_count
required
integer

通数
配信ステータスがdeliveredfailedの場合、1になります。
※ただしSystemFailureのうちCPaaS NOWから送信が確認できていない場合は、0になります。

SMTPFailure (object) or DeliveryTimeout (object) or SystemFailure (object)

配信されなかった場合のエラーの情報
配信でエラーが発生した場合に返されます。

One of
code
required
string
Value: "SMTPFailure"
message
required
string

SMTP通信の失敗によるメール配信に失敗した際のエラーメッセージ
以下のように詳細なエラー内容もあわせて返します。

SMTP通信の失敗によりメール配信に失敗しました - Recipient address <failure@example.com> is suppressed to send mail. (in reply to RCPT TO)

Responses

Request samples

Content type
application/json
Example
{
  • "event_id": 4,
  • "event": "email_delivery:completed",
  • "timestamp": "2023-11-28T14:16:22+09:00",
  • "payload": {
    • "delivery_order_id": 10001,
    • "end_at": "2023-11-28T14:16:22+09:00",
    • "accepted_at": "2023-11-28T14:15:22+09:00",
    • "user_reference": "sample",
    • "bill_split_code": "bill_split_code-1",
    • "deliveries": [
      • {
        • "id": 10001,
        • "channel": "email",
        • "to": "success@example.com",
        • "status": "delivered",
        • "delivered_at": "2023-11-28T14:15:32+09:00",
        • "usage_count": 1
        }
      ]
    }
}

Eメール開封 Webhook

Request Body schema: application/json
event_id
required
integer (EventId)

イベントID

event
required
string
Value: "delivery:opened"
timestamp
required
string <date-time>

イベントが発生した日時

required
object
delivery_order_id
required
integer

配信オーダーID

delivery_id
required
integer

配信ID

channel
required
string
Value: "email"

配信チャネル

to
required
string

宛先アドレス

Responses

Request samples

Content type
application/json
{
  • "event_id": 6,
  • "event": "delivery:opened",
  • "timestamp": "2023-11-28T14:16:22+09:00",
  • "payload": {
    • "delivery_order_id": 10001,
    • "delivery_id": 10001,
    • "channel": "email",
    • "to": "user@example.com"
    }
}

フォールバック配信結果 Webhook

Request Body schema: application/json
event_id
required
integer (EventId)

イベントID

event
required
string
Enum: "fallback_delivery:completed" "fallback_delivery:failed"
イベント名 説明
fallback_delivery:completed フォールバック配信成功
fallback_delivery:failed フォールバック配信失敗
timestamp
required
string <date-time>

イベントが発生した日時

required
object
delivery_order_id
required
integer

配信オーダーID

end_at
required
string <date-time>

配信オーダーの完了日時
配信オーダー完了日時を基準に課金計算を行います。

accepted_at
required
string <date-time>

配信オーダーの受付日時

user_reference
required
string or null [ 1 .. 40 ] characters

ユーザ識別子
フォールバック配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

bill_split_code
required
string or null [ 1 .. 20 ] characters

請求明細分割コード
フォールバック配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

delivered_channel
required
string or null
Enum: "sms" "email" null

配信したチャネル
送信に失敗した場合はnullになります。

required
Array of SMS (object) or Email (object) [ 1 .. 2 ] items

配信

Array ([ 1 .. 2 ] items)
One of
id
required
integer

配信ID

channel
required
string
Value: "sms"

配信チャネル

sms 固定になります。

carrier
required
string
Enum: "unconfirmed" "unknown" "docomo" "au" "softbank" "rakuten"

配信キャリア

to
required
string

宛先携帯電話番号

status
required
string
Enum: "accepted" "delivered" "failed" "canceled"

配信ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み

  • delivered: 配信成功

  • failed: 配信失敗

  • canceled: 配信キャンセル

delivered_at
required
string or null <date-time>

配信成功日時
配信ステータスがdeliveredの場合のみ日時が入ります。

usage_count
required
integer (UsageCount)

通数
配信ステータスがdeliveredの場合、カウントされます。
配信したSMSの通数の仕様は以下になります。

  • carrierがdocomoの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は66文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがauの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがsoftbankの場合
    1通は660文字(半角全角文字問わず)までとなります。

  • carrierがrakutenの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

※ 「配信者英字表示」をオプション契約している場合
 キャリア問わず1通は70文字(半角文字のみの場合は140文字)までとなります。
 70文字を超えた場合は67文字(半角文字のみの場合は134文字)毎に1通で計算します。

SMSUnderMaintenance (object) or CarrierIssue (object) or DeviceUnreachable (object) or NotReceivableSMSNumber (object) or SameNumberLimitExceeded (object) or DeliveryTimeout (object) or SystemFailure (object)

配信されなかった場合のエラーの情報
配信でエラーが発生した場合に返されます。

One of
code
required
string
Value: "SMSUnderMaintenance"
message
required
string
Value: "SMS配信機能のメンテナンス中です"

Responses

Request samples

Content type
application/json
Example
{
  • "event_id": 7,
  • "event": "fallback_delivery:completed",
  • "timestamp": "2023-11-28T14:16:22+09:00",
  • "payload": {
    • "delivery_order_id": 10001,
    • "end_at": "2023-11-28T14:16:22+09:00",
    • "accepted_at": "2023-11-28T14:15:22+09:00",
    • "user_reference": "sample",
    • "bill_split_code": "bill_split_code-1",
    • "delivered_channel": "sms",
    • "deliveries": [
      • {
        • "id": 10001,
        • "channel": "sms",
        • "carrier": "softbank",
        • "to": "09001111101",
        • "status": "delivered",
        • "delivered_at": "2023-11-28T14:15:32+09:00",
        • "usage_count": 1
        },
      • {
        • "id": 10002,
        • "channel": "email",
        • "carrier": null,
        • "to": "success@example.com",
        • "status": "canceled",
        • "delivered_at": null,
        • "usage_count": 0
        }
      ]
    }
}

認証コード配信結果 Webhook

Request Body schema: application/json
event_id
required
integer (EventId)

イベントID

event
required
string
Enum: "verification_code_delivery:completed" "verification_code_delivery:failed"
イベント名 説明
verification_code_delivery:completed 認証コード配信成功
verification_code_delivery:failed 認証コード配信失敗
timestamp
required
string <date-time>

イベントが発生した日時

required
object
delivery_order_id
required
integer

配信オーダーID

end_at
required
string <date-time>

配信オーダーの完了日時
配信オーダー完了日時を基準に課金計算を行います。

accepted_at
required
string <date-time>

配信オーダーの受付日時

user_reference
required
string or null [ 1 .. 40 ] characters

ユーザ識別子
認証コード配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

bill_split_code
required
string or null [ 1 .. 20 ] characters

請求明細分割コード
認証コード配信登録APIのリクエスト時に指定した値です。
指定がなかった場合は空文字になります。

required
Array of objects = 1 items

配信

Array (= 1 items)
id
required
integer

配信ID

channel
required
string
Enum: "sms" "voice"

配信チャネル

carrier
required
string or null
Enum: "unconfirmed" "unknown" "docomo" "au" "softbank" "rakuten" null

配信したキャリア
unconfirmedは未確定の状態です。
unknownは配信キャリアが不明の状態です。
channelがvoiceの場合はnullになります。

to
required
string

宛先電話番号

status
required
string
Enum: "accepted" "delivered" "failed"

配信ステータス
各ステータスの説明は以下の通りです。

  • accepted: 配信受付済み
  • delivered: 配信成功
  • failed: 配信失敗
delivered_at
required
string or null <date-time>

配信成功日時
配信ステータスがdeliveredの場合のみ日時が入ります。

usage_count
required
integer (VerificationUsageCount)

通数
配信ステータスがdeliveredの場合、カウントされます。

channelがsmsの場合
配信したSMSの通数の仕様は以下になります。

  • carrierがdocomoの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は66文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがauの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

  • carrierがsoftbankの場合
    1通は660文字(半角全角文字問わず)までとなります。

  • carrierがrakutenの場合
    1通は70文字(半角全角文字問わず)までとなります。
    70文字を超えた場合は67文字(半角全角文字問わず)毎に1通で計算します。

※ 「配信者英字表示」をオプション契約している場合
 キャリア問わず1通は70文字(半角文字のみの場合は140文字)までとなります。
 70文字を超えた場合は67文字(半角文字のみの場合は134文字)毎に1通で計算します。

channelがvoiceの場合
配信した音声の通数は通話時間(単位:分)となります。

音声システムの都合上、コール音が鳴ったタイミングから通話時間をカウントし始めます。
実際の音声が流れる時間と異なりますので、ご了承ください。

分単位での課金となりますので、課金単位未満の通話時間は切り上げて計算されます。
(例) 通話時間が1分1秒の場合、 切り上げて2分として計算

SMSUnderMaintenance (object) or CarrierIssue (object) or DeviceUnreachable (object) or NotReceivableSMSNumber (object) or SameNumberLimitExceeded (object) or DeliveryTimeout (object) or VoiceSystemIssue (object) or SystemFailure (object)

配信されなかった場合のエラーの情報
配信でエラーが発生した場合に返されます。

One of
code
required
string
Value: "SMSUnderMaintenance"
message
required
string
Value: "SMS配信機能のメンテナンス中です"

Responses

Request samples

Content type
application/json
Example
{
  • "event_id": 9,
  • "event": "verification_code_delivery:completed",
  • "timestamp": "2023-11-28T14:16:22+09:00",
  • "payload": {
    • "delivery_order_id": 10001,
    • "end_at": "2023-11-28T14:16:22+09:00",
    • "accepted_at": "2023-11-28T14:15:22+09:00",
    • "user_reference": "sample",
    • "bill_split_code": "bill_split_code-1",
    • "deliveries": [
      • {
        • "id": 10001,
        • "channel": "sms",
        • "carrier": "softbank",
        • "to": "09001111101",
        • "status": "delivered",
        • "delivered_at": "2023-11-28T14:15:32+09:00",
        • "usage_count": 1
        }
      ]
    }
}

配信停止希望 Webhook

Request Body schema: application/json
event_id
required
integer (EventId)

イベントID

event
required
string
Value: "delivery:opted_out"
timestamp
required
string <date-time>

イベントが発生した日時

required
object
delivery_order_id
required
integer

配信オーダーID

delivery_id
required
integer

配信ID

channel
required
string
Enum: "sms" "email"

配信チャネル

to
required
string

宛先携帯電話番号または宛先アドレス

Responses

Request samples

Content type
application/json
{
  • "event_id": 11,
  • "event": "delivery:opted_out",
  • "timestamp": "2023-11-28T14:16:22+09:00",
  • "payload": {
    • "delivery_order_id": 10001,
    • "delivery_id": 10001,
    • "channel": "sms",
    • "to": "09001111101"
    }
}

変更履歴

2024/12/11

  • Eメール配信APIの「text」、「html」で「配信停止URL」を利用できるよう変更

2024/11/06

  • 管理画面で受け取る Webhook イベントを選択できるようになったことに伴い Webhook をイベントごとに分割して表示するよう変更
  • WebhookのパラメータにイベントIDを追加

2024/10/01

  • Eメール配信APIのリクエストパラメータに「open_tracking」を追加
  • Eメール配信結果取得APIのレスポンスに要素「open_status」を追加
  • Webhookに以下のイベントを追加
    • delivery:opened

2024/08/28

  • Eメール配信API の追加
    これに伴い、
    • Eメール配信登録APIを追加
    • Eメール配信結果取得APIを追加
  • Webhookに以下のイベントを追加
    • email_delivery:completed
    • email_delivery:failed
  • 以下のAPIで取得できる配信の件数を50件から100件に変更
    • SMS配信結果取得
    • フォールバック配信結果取得
    • 認証コード配信結果取得
  • フォールバック配信結果取得とWebhookフォールバック配信完了通知のEメール配信の「通数」の説明に以下を追加
    • 「ただしSystemFailureの場合は0になることがあります。」
  • フォールバック配信結果取得のEメール配信がSMTPFailureで失敗した場合に詳細なエラーメッセージを返すよう修正

2024/07/30

  • 全てのAPIの401エラーのmessageを「CPaaSの認証に失敗しました」から「認証に失敗しました」に変更
  • SMS配信結果取得のレスポンスに要素「click_trackings」を追加
  • Webhookに以下のイベントを追加
    • short_message_delivery:url_clicked

2024/06/26

  • 認証コードのAPIを追加
    これに伴い、
    • 認証コード生成配信API を追加
    • 認証コード配信結果取得API を追加
    • 認証確認API を追加
  • Webhookに以下のイベントを追加
    • verification_code_delivery:completed
    • verification_code_delivery:failed
  • SMS配信結果取得、フォールバック配信結果取得、Webhook の fallback_delivery、short_message_delivery イベントの配信のエラーに SystemFailure を追加
  • 以下に要素数を追記
    • SMS配信結果取得のレスポンスの deliveries
    • フォールバック配信結果取得のレスポンスの deliveries
    • Webhook のリクエストの deliveries
  • SMS配信結果取得API の opted_out の説明を「配信停止URLクリック」から「配信停止希望」に変更

2024/05/21

  • SMS配信登録 のAPIを追加
    これに伴い、
    • SMS配信登録API を追加
    • SMS配信結果取得API を追加
  • 「チャンネル」と表記していた箇所を「チャネル」に変更
  • Webhookに以下のイベントを追加
    • short_message_delivery:completed
    • short_message_delivery:failed
    • delivery:opted_out

2024/03/25

  • 「配信リクエスト」と表記していた箇所を「配信オーダー」に変更
  • フォールバック配信結果取得の配信オーダーのステータスのcompletedの日本語表記を「配信成功」に変更
  • フォールバック配信結果取得の配信ステータスのdeliveredの日本語表記を「配信成功」に変更
  • フォールバック配信結果取得とフォールバック配信完了通知のdelivered_atの日本語表記を「配信成功日時」に変更
  • フォールバック配信結果取得とフォールバック配信完了通知の「配信成功日時」の説明にステータスが配信成功の場合のみ日時が入る旨を追記

2024/02/14

  • 「案件」と表記していた箇所を「配信リクエスト」に変更

2023/12/19

  • フォールバック配信結果取得のSMSのdeliveriesのerrorにSameNumberLimitExceededを追加
  • フォールバック配信完了通知のSMSのdeliveriesのerrorにSameNumberLimitExceededを追加

2023/11/29

  • 初版発行