本文へスキップ
OKAERI
  • 料金
  • コラム
  • 会社情報
  • お問い合わせ
無料で始める
  • 料金
  • コラム
  • 会社情報
  • お問い合わせ
  • 無料で始める
開発者向けドキュメント › API リファレンス ›

API リファレンス:文面

文面(messages)の操作です。共通の決まり(認証・レート制限・エラーの形)は概要を、型の詳細はスキーマを参照してください。

AI・コーディングエージェント向けにこのページの Markdown 版とllms.txtがあります。

  • サイト
  • 同意の設定
  • キャンペーン
  • シナリオ
  • 文面
  • リード
  • 配信
  • 配信スイッチ
  • 除外リスト
  • レポート
  • Webhook
  • スキーマ
  • GET /api/v1/messages 文面の一覧(listMessages)
  • POST /api/v1/messages 文面の作成(createMessage)
  • GET /api/v1/messages/{message_id} 文面の取得(getMessage)
  • PATCH /api/v1/messages/{message_id} 文面の更新(updateMessage)
  • DELETE /api/v1/messages/{message_id} 文面の削除(deleteMessage)
  • POST /api/v1/messages/{message_id}/duplicate 文面の複製(duplicateMessage)
  • GET /api/v1/message_variables 文面で使える変数の一覧(listMessageVariables)
  • GET /api/v1/message_examples 文面の例文の一覧(listMessageExamples)
  • POST /api/v1/message_previews 文面のプレビュー(previewMessage)
  • POST /api/v1/messages/estimate SMS の文字数と課金通数の見積(estimateSmsSegments)

GET /api/v1/messages

文面の一覧

operationId:listMessages 必要なスコープ:messages:read

パラメータ

名前場所型必須説明
channelクエリstring(null 可)—値:sms・email(今後増えることがある)
limitクエリinteger—1〜200・既定値 50
cursorクエリstring(null 可)——

応答

ステータス説明型
200成功MessageListOut
401APIキーが無効・失効(authentication_error)Error
403スコープ不足(permission_error / scope_insufficient)・プランの上限(plan_limit_exceeded)・APIキーではできない操作(session_required 等)Error
422パラメータ不正(invalid_request)。param に対象の項目名、message に理由(日本語)Error
429レート制限の超過(rate_limit_error)。上限はテナント単位(テナント内の全キーの合計)の直近60秒の回数で、プラン別に Free 60 / Starter 60 / Growth 300 / Pro 1,000 回。個別の設定がある場合は応答ヘッダ X-RateLimit-Limit の値が正。Retry-After(秒)の後に再試行するError
5XXサーバ側の失敗(api_error)。request_id を添えて問い合わせてください。時間をおいた再試行で解消することがある(POST は同じ Idempotency-Key を付けて再試行する)Error

POST /api/v1/messages

文面の作成

operationId:createMessage 必要なスコープ:messages:write

リクエストの本文(JSON)

型:MessageIn(必須)

項目型必須説明
channelstring必須値:sms・email(今後増えることがある)
subjectstring(null 可)——
bodystring(null 可)——
body_htmlstring(null 可)——
header_image_urlstring(null 可)——
link_urlstring(null 可)——
link_paramsobject(項目は未掲載)—既定値 {}
blocks任意の値 の配列(null 可)——

応答

ステータス説明型
201成功MessageOut
401APIキーが無効・失効(authentication_error)Error
403スコープ不足(permission_error / scope_insufficient)・プランの上限(plan_limit_exceeded)・APIキーではできない操作(session_required 等)Error
409状態の衝突(invalid_request)。idempotency_key_in_progress(同じ Idempotency-Key の要求が処理中)Error
422パラメータ不正(invalid_request)。param に対象の項目名、message に理由(日本語)Error
429レート制限の超過(rate_limit_error)。上限はテナント単位(テナント内の全キーの合計)の直近60秒の回数で、プラン別に Free 60 / Starter 60 / Growth 300 / Pro 1,000 回。個別の設定がある場合は応答ヘッダ X-RateLimit-Limit の値が正。Retry-After(秒)の後に再試行するError
5XXサーバ側の失敗(api_error)。request_id を添えて問い合わせてください。時間をおいた再試行で解消することがある(POST は同じ Idempotency-Key を付けて再試行する)Error

GET /api/v1/messages/{message_id}

文面の取得

operationId:getMessage 必要なスコープ:messages:read

パラメータ

名前場所型必須説明
message_idパスstring(uuid)必須—

応答

ステータス説明型
200成功MessageOut
401APIキーが無効・失効(authentication_error)Error
403スコープ不足(permission_error / scope_insufficient)・プランの上限(plan_limit_exceeded)・APIキーではできない操作(session_required 等)Error
404対象が見つからない(not_found)。他のテナントの ID を指した時も同じ 404Error
422パラメータ不正(invalid_request)。param に対象の項目名、message に理由(日本語)Error
429レート制限の超過(rate_limit_error)。上限はテナント単位(テナント内の全キーの合計)の直近60秒の回数で、プラン別に Free 60 / Starter 60 / Growth 300 / Pro 1,000 回。個別の設定がある場合は応答ヘッダ X-RateLimit-Limit の値が正。Retry-After(秒)の後に再試行するError
5XXサーバ側の失敗(api_error)。request_id を添えて問い合わせてください。時間をおいた再試行で解消することがある(POST は同じ Idempotency-Key を付けて再試行する)Error

PATCH /api/v1/messages/{message_id}

文面の更新

operationId:updateMessage 必要なスコープ:messages:write

パラメータ

名前場所型必須説明
message_idパスstring(uuid)必須—

リクエストの本文(JSON)

型:MessagePatch(必須)

項目型必須説明
channelstring(null 可)—値:sms・email(今後増えることがある)
subjectstring(null 可)——
bodystring(null 可)——
body_htmlstring(null 可)——
header_image_urlstring(null 可)——
link_urlstring(null 可)——
link_paramsobject(項目は未掲載)(null 可)——
blocks任意の値 の配列(null 可)——

応答

ステータス説明型
200成功MessageOut
401APIキーが無効・失効(authentication_error)Error
403スコープ不足(permission_error / scope_insufficient)・プランの上限(plan_limit_exceeded)・APIキーではできない操作(session_required 等)Error
404対象が見つからない(not_found)。他のテナントの ID を指した時も同じ 404Error
422パラメータ不正(invalid_request)。param に対象の項目名、message に理由(日本語)Error
429レート制限の超過(rate_limit_error)。上限はテナント単位(テナント内の全キーの合計)の直近60秒の回数で、プラン別に Free 60 / Starter 60 / Growth 300 / Pro 1,000 回。個別の設定がある場合は応答ヘッダ X-RateLimit-Limit の値が正。Retry-After(秒)の後に再試行するError
5XXサーバ側の失敗(api_error)。request_id を添えて問い合わせてください。時間をおいた再試行で解消することがある(POST は同じ Idempotency-Key を付けて再試行する)Error

DELETE /api/v1/messages/{message_id}

文面の削除

operationId:deleteMessage 必要なスコープ:messages:write

パラメータ

名前場所型必須説明
message_idパスstring(uuid)必須—

応答

ステータス説明型
204成功(本文なし)—
401APIキーが無効・失効(authentication_error)Error
403スコープ不足(permission_error / scope_insufficient)・プランの上限(plan_limit_exceeded)・APIキーではできない操作(session_required 等)Error
404対象が見つからない(not_found)。他のテナントの ID を指した時も同じ 404Error
409状態の衝突(invalid_request)。message_in_use(ステップが使っている文面)Error
422パラメータ不正(invalid_request)。param に対象の項目名、message に理由(日本語)Error
429レート制限の超過(rate_limit_error)。上限はテナント単位(テナント内の全キーの合計)の直近60秒の回数で、プラン別に Free 60 / Starter 60 / Growth 300 / Pro 1,000 回。個別の設定がある場合は応答ヘッダ X-RateLimit-Limit の値が正。Retry-After(秒)の後に再試行するError
5XXサーバ側の失敗(api_error)。request_id を添えて問い合わせてください。時間をおいた再試行で解消することがある(POST は同じ Idempotency-Key を付けて再試行する)Error

POST /api/v1/messages/{message_id}/duplicate

文面の複製

operationId:duplicateMessage 必要なスコープ:messages:write

複製(実体コピー)。作成と同じ検証・権限(body_html の直書きは owner / admin だけ)。

パラメータ

名前場所型必須説明
message_idパスstring(uuid)必須—

応答

ステータス説明型
201成功MessageOut
401APIキーが無効・失効(authentication_error)Error
403スコープ不足(permission_error / scope_insufficient)・プランの上限(plan_limit_exceeded)・APIキーではできない操作(session_required 等)Error
404対象が見つからない(not_found)。他のテナントの ID を指した時も同じ 404Error
409状態の衝突(invalid_request)。idempotency_key_in_progress(同じ Idempotency-Key の要求が処理中)Error
422パラメータ不正(invalid_request)。param に対象の項目名、message に理由(日本語)Error
429レート制限の超過(rate_limit_error)。上限はテナント単位(テナント内の全キーの合計)の直近60秒の回数で、プラン別に Free 60 / Starter 60 / Growth 300 / Pro 1,000 回。個別の設定がある場合は応答ヘッダ X-RateLimit-Limit の値が正。Retry-After(秒)の後に再試行するError
5XXサーバ側の失敗(api_error)。request_id を添えて問い合わせてください。時間をおいた再試行で解消することがある(POST は同じ Idempotency-Key を付けて再試行する)Error

GET /api/v1/message_variables

文面で使える変数の一覧

operationId:listMessageVariables 必要なスコープ:messages:read

パラメータ

名前場所型必須説明
campaign_idクエリstring(uuid)必須—

応答

ステータス説明型
200成功MessageVariablesOut
401APIキーが無効・失効(authentication_error)Error
403スコープ不足(permission_error / scope_insufficient)・プランの上限(plan_limit_exceeded)・APIキーではできない操作(session_required 等)Error
404campaign_id のキャンペーンが見つからない(not_found)Error
422パラメータ不正(invalid_request)。param に対象の項目名、message に理由(日本語)Error
429レート制限の超過(rate_limit_error)。上限はテナント単位(テナント内の全キーの合計)の直近60秒の回数で、プラン別に Free 60 / Starter 60 / Growth 300 / Pro 1,000 回。個別の設定がある場合は応答ヘッダ X-RateLimit-Limit の値が正。Retry-After(秒)の後に再試行するError
5XXサーバ側の失敗(api_error)。request_id を添えて問い合わせてください。時間をおいた再試行で解消することがある(POST は同じ Idempotency-Key を付けて再試行する)Error

GET /api/v1/message_examples

文面の例文の一覧

operationId:listMessageExamples 必要なスコープ:messages:read

全プランで使える。プランの上限(1シナリオのステップ数)は、作った文面をステップに置く時に見る。

SMS の【ショップ名】は置き場。店名に書き換えないままでは、そのシナリオを有効化できない。

パラメータ

名前場所型必須説明
channelクエリstring(null 可)—値:sms・email(今後増えることがある)

応答

ステータス説明型
200成功MessageExampleListOut
401APIキーが無効・失効(authentication_error)Error
403スコープ不足(permission_error / scope_insufficient)・プランの上限(plan_limit_exceeded)・APIキーではできない操作(session_required 等)Error
422パラメータ不正(invalid_request)。param に対象の項目名、message に理由(日本語)Error
429レート制限の超過(rate_limit_error)。上限はテナント単位(テナント内の全キーの合計)の直近60秒の回数で、プラン別に Free 60 / Starter 60 / Growth 300 / Pro 1,000 回。個別の設定がある場合は応答ヘッダ X-RateLimit-Limit の値が正。Retry-After(秒)の後に再試行するError
5XXサーバ側の失敗(api_error)。request_id を添えて問い合わせてください。時間をおいた再試行で解消することがある(POST は同じ Idempotency-Key を付けて再試行する)Error

POST /api/v1/message_previews

文面のプレビュー

operationId:previewMessage 必要なスコープ:messages:read

リクエストの本文(JSON)

型:MessagePreviewIn(必須)

項目型必須説明
campaign_idstring(uuid)必須—
subjectstring(null 可)——
blocks任意の値 の配列必須—

応答

ステータス説明型
200成功MessagePreviewOut
401APIキーが無効・失効(authentication_error)Error
403スコープ不足(permission_error / scope_insufficient)・プランの上限(plan_limit_exceeded)・APIキーではできない操作(session_required 等)Error
404campaign_id のキャンペーンが見つからない(not_found)Error
409状態の衝突(invalid_request)。idempotency_key_in_progress(同じ Idempotency-Key の要求が処理中)Error
422パラメータ不正(invalid_request)。param に対象の項目名、message に理由(日本語)Error
429レート制限の超過(rate_limit_error)。上限はテナント単位(テナント内の全キーの合計)の直近60秒の回数で、プラン別に Free 60 / Starter 60 / Growth 300 / Pro 1,000 回。個別の設定がある場合は応答ヘッダ X-RateLimit-Limit の値が正。Retry-After(秒)の後に再試行するError
5XXサーバ側の失敗(api_error)。request_id を添えて問い合わせてください。時間をおいた再試行で解消することがある(POST は同じ Idempotency-Key を付けて再試行する)Error

POST /api/v1/messages/estimate

SMS の文字数と課金通数の見積

operationId:estimateSmsSegments 必要なスコープ:messages:read

SMS 本文から文字数と課金通数の目安を返す。保存しない(読み取りスコープ messages:read)。数え方は文面の保存時に入る通数の目安(sms_segments)と同じ。

  • 目安である:URL の変数は送信時と同じ長さで展開するが、商品名({{product_name}})は字面(16文字)のまま数える。実際の商品名の長さは使うキャンペーンで変わるので、送信時の通数とはずれうる(実績は配信の segments)
  • キャリアが分からないのでワーストケース(docomo の刻み)で数える
  • 本文が上限(URL 展開後で660文字)を超えると 422 sms_body_too_long
  • POST なのでテストキーでは OKAERI-Dry-Run: true が付くが、そもそも何も保存しない

リクエストの本文(JSON)

型:SmsEstimateIn(必須)

項目型必須説明
bodystring必須1文字以上

応答

ステータス説明型
200成功SmsEstimateOut
401APIキーが無効・失効(authentication_error)Error
403スコープ不足(permission_error / scope_insufficient)・プランの上限(plan_limit_exceeded)・APIキーではできない操作(session_required 等)Error
409状態の衝突(invalid_request)。idempotency_key_in_progress(同じ Idempotency-Key の要求が処理中)Error
422パラメータ不正(invalid_request)。param に対象の項目名、message に理由(日本語)Error
429レート制限の超過(rate_limit_error)。上限はテナント単位(テナント内の全キーの合計)の直近60秒の回数で、プラン別に Free 60 / Starter 60 / Growth 300 / Pro 1,000 回。個別の設定がある場合は応答ヘッダ X-RateLimit-Limit の値が正。Retry-After(秒)の後に再試行するError
5XXサーバ側の失敗(api_error)。request_id を添えて問い合わせてください。時間をおいた再試行で解消することがある(POST は同じ Idempotency-Key を付けて再試行する)Error

OKAERI

カゴ落ち・離脱防止|フォーム離脱者を定額で呼び戻す

サイト

  • ホーム
  • 料金
  • コラム
  • 会社情報
  • お問い合わせ
  • ヘルプ・よくある質問
  • 開発者向け(API)

規約・ポリシー

  • 利用規約
  • 特定商取引法に基づく表記
  • プライバシーポリシー
  • 外部送信規律に基づく公表
  • プライバシーポリシーの記載例(導入事業者向け)

© 2026 株式会社OTEGAMI