メインコンテンツへスキップ
バージョン: 最新版

課金スケジュールの一括作成

CSVファイルをアップロードして、単一の操作で複数の課金スケジュールを作成します。このエンドポイントは非同期の一括作成ジョブを開始し、進捗の監視やステータスレポートのダウンロードに使用できるrecurring_idを返します。


🔑API認証情報

リクエストパラメータ

必須 - 1フィールド必須パラメータ
`file`FILE(required)
課金スケジュールデータを含むCSVファイル。各行は作成する1つのスケジュールを表します。
Example:"schedules.csv"
Constraints:最大ファイルサイズ:10MB, 形式:CSV, 最大行数:10,000
CSV構造CSVカラム
`customer_key`STRING(required)
ステータスレポートでこの行を追跡するための一意の識別子。システムにとって意味のある任意の文字列を使用できます。
Example:"sub_001"
`customer`STRING(required)
課金される顧客ID(cust_*)。顧客には少なくとも1枚のカードが紐付けられている必要があります。
Example:"cust_test_5xuy4w91xqz7d1w9u0t"
`card`STRING(optional)
課金する特定のカードID。指定しない場合、顧客のデフォルトカードが使用されます。
Example:"card_test_5xuy4w91xqz7d1w9u0t"
`amount`INTEGER(required)
最小通貨単位での課金額(例:THBの場合はサタン、USDの場合はセント)。
Example:100000
`description`STRING(optional)
このスケジュールによって作成される各課金に表示される説明。
Example:"Monthly subscription fee"
`every`INTEGER(required)
頻度の乗数。例えば、every=2でperiod=monthの場合、2ヶ月ごとを意味します。
Example:1
`period`STRING(required)
スケジュール頻度の時間単位。
Example:"month"
Values:day, week, month
`days_of_month`STRING(optional)
月次スケジュールの場合:課金する特定の日(1-28)。複数の日を指定するにはセミコロンを使用。
Example:"1;15"
`start_date`STRING(optional)
YYYY-MM-DD形式のスケジュール開始日。指定しない場合は今日がデフォルト。
Example:"2025-02-01"
`end_date`STRING(optional)
YYYY-MM-DD形式のスケジュール終了日。この日以降、スケジュールは期限切れになります。
Example:"2025-12-31"

レスポンス

200

アップロード受理

CSVファイルが受理され、一括作成ジョブがキューに入りました。返されたrecurring_idを使用して進捗を監視してください。

レスポンスに含まれる内容:
  • object - 常に "recurring_export"
  • id - ジョブ追跡用のRecurring export ID (recr_*)
  • livemode - 本番モードの操作かどうか
  • location - ジョブを監視するためのAPIパス
  • state - 初期状態(通常 "pending")
  • total_rows - CSVで検出された行数
  • processed_rows - 処理済みの行数(初期は0)
  • successful_rows - 作成成功数(初期は0)
  • failed_rows - 作成失敗数(初期は0)
  • created_at - ジョブ作成タイムスタンプ

400

不正なリクエスト

リクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。

一般的な原因:
  • ファイルが存在しないか空
  • 無効なCSV形式または構造
  • CSVヘッダーに必須カラムがない
  • ファイルが10MBの制限を超過
  • CSVが10,000行を超過

401

認証エラー

認証に失敗しました。APIキーが無効または欠落しています。

一般的な原因:
  • Authorizationヘッダーが欠落
  • 無効なシークレットキー
  • シークレットキーの代わりにパブリックキーを使用
  • HTTP Basic Auth形式が不正

404

見つかりません

エンドポイントが見つからないか、機能が有効になっていません。

一般的な原因:
  • アカウントで一括操作機能が有効になっていない
  • APIエンドポイントURLが不正

5xx

サーバーエラー

サーバー側でエラーが発生しました。これらは稀ですが、適切に処理する必要があります。

対処方法:
  • 指数バックオフでリクエストをリトライ
  • status.omise.coでサービスインシデントを確認
  • 詳細なガイダンスはエラー処理を参照

コードサンプル

# CSVファイルをアップロードして複数の課金スケジュールを作成
curl https://api.omise.co/schedules/upload \
-X POST \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-F "file=@/path/to/schedules.csv"

CSVファイルの例

customer_key,customer,card,amount,description,every,period,days_of_month,start_date,end_date
sub_001,cust_test_5xuy4w91xqz7d1w9u0t,,100000,Monthly premium plan,1,month,1,2025-02-01,2026-01-31
sub_002,cust_test_5xuy4w91xqz7d1w9u0t,card_test_5xuy4w91xqz7d1w9u0t,50000,Basic subscription,1,month,15,2025-02-01,
sub_003,cust_test_5xuy4w91xqz7d1w9u0t,,200000,Enterprise plan,1,month,1;15,2025-02-01,2025-12-31

エラーと結果コード

一般的なエラーコード

コード説明解決方法
authentication_failure無効なAPIキーシークレットキーが正しいことを確認
invalid_fileファイルが欠落または無効ファイルが有効なCSVであることを確認
file_too_largeファイルが10MB制限を超過より小さいファイルに分割
invalid_csv_structure必須カラムが欠落CSVヘッダー行を確認
too_many_rowsCSVが10,000行を超過複数のファイルに分割

CSV行エラーコード

コード説明解決方法
invalid_customer顧客IDが見つかりません顧客が存在することを確認
no_card_attached顧客にカードがないまず顧客にカードを紐付け
invalid_cardカードIDが見つからないか期限切れ有効なカードIDを使用
invalid_amount金額が無効正の整数を使用
invalid_period期間の値が無効day、week、またはmonthを使用
invalid_date_format日付形式が無効YYYY-MM-DD形式を使用

試してみる

必須 - 1項目
あなたのIP: ...読み込み中...