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

スケジュールの作成

自動課金または送金のための新しい繰り返しスケジュールを作成します。スケジュールを使用すると、サブスクリプション課金、定期支払い、柔軟な頻度オプション(日次、週次、月次)での自動送金を設定できます。


リクエストパラメータ

必須 - 3項目スケジュール設定
`every`INTEGER(required)
スケジュール期間の頻度乗数。例:every=2でperiod=weekの場合、2週間ごとを意味します。
Example:1
Constraints:最小値: 1
`period`STRING(required)
スケジュール頻度の時間単位。
Example:"month"
Values:day, week, month
`on`OBJECT(required)
期間内でスケジュールを実行するタイミングを指定します。必須フィールドは期間タイプによって異なります。
Example:"{\"days_of_month\": [1, 15]}"
任意 - 2項目スケジュール期間
`start_date`STRING(optional)
スケジュールの開始日(ISO 8601形式:YYYY-MM-DD)。指定しない場合は本日がデフォルトとなります。
Example:"2025-01-01"
`end_date`STRING(optional)
スケジュールの終了日(ISO 8601形式:YYYY-MM-DD)。この日以降、スケジュールは期限切れとなります。
Example:"2025-12-31"
条件付き - chargeまたはtransferを使用課金設定
`charge`OBJECT(optional)
繰り返し課金の設定。transferを使用しない場合は必須。
Example:"{\"amount\": 100000, \"currency\": \"THB\", \"customer\": \"cust_test_xxx\"}"
条件付き - chargeまたはtransferを使用送金設定

レスポンス

200

スケジュール作成完了

新しく作成されたスケジュールオブジェクトが、すべての設定詳細と今後の実行日を含めて返されます。

スケジュールオブジェクトに含まれる項目:
  • id - スケジュール識別子(schd_*)
  • livemode - 本番モードまたはテストモード
  • location - オブジェクトへのAPIパス
  • status - 初期ステータス(通常は"active")
  • active - スケジュールが現在実行中かどうか
  • every - 頻度乗数
  • period - 時間単位(day、week、month)
  • on - タイミング設定
  • in_words - スケジュールの人間が読める説明
  • start_on - スケジュール開始日
  • end_on - スケジュール終了日
  • next_occurrences_on - 最大30件の今後の実行日の配列
  • occurrences - 実行オブジェクトのリスト
  • chargeまたはtransfer - 操作パラメータ
  • created_at - スケジュール作成タイムスタンプ(ISO 8601)
  • deleted - スケジュールが削除されたかどうか

400

不正なリクエスト

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

一般的な原因:
  • 必須パラメータの欠落(every、period、on)
  • 無効なperiod値
  • 指定されたperiodに対する無効なon設定
  • chargeもtransferも指定されていない
  • 無効な顧客IDまたは受取人ID
  • 開始日が過去
  • 終了日が開始日より前

401

認証エラー

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

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

404

見つかりません

参照されたリソースが見つかりません。

一般的な原因:
  • 課金設定の顧客IDが無効
  • 送金設定の受取人IDが無効
  • 指定されたカードIDが無効
  • 顧客にデフォルトカードがない

5xx

サーバーエラー

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

対処方法:

コードサンプル

課金スケジュールの作成

# 毎月1日と15日の課金スケジュール
curl https://api.omise.co/schedules \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d every=1 \
-d period=month \
-d "on[days_of_month][]=1" \
-d "on[days_of_month][]=15" \
-d start_date=2025-01-01 \
-d end_date=2025-12-31 \
-d "charge[amount]=100000" \
-d "charge[currency]=THB" \
-d "charge[customer]=cust_test_5xuy4w91xqz7d1w9u0t" \
-d "charge[description]=Monthly subscription"

送金スケジュールの作成

# 毎週月曜日の送金スケジュール - 残高の75%
curl https://api.omise.co/schedules \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d every=1 \
-d period=week \
-d "on[weekdays][]=monday" \
-d start_date=2025-01-01 \
-d end_date=2025-12-31 \
-d "transfer[recipient]=recp_test_5xuy4w91xqz7d1w9u0t" \
-d "transfer[percentage_of_balance]=75"

# 毎月1日の固定金額送金
curl https://api.omise.co/schedules \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d every=1 \
-d period=month \
-d "on[days_of_month][]=1" \
-d start_date=2025-01-01 \
-d "transfer[recipient]=recp_test_5xuy4w91xqz7d1w9u0t" \
-d "transfer[amount]=1000000"

エラーコードと結果コード

一般的なエラーコード

コード説明解決方法
authentication_failure無効なAPIキーシークレットキーが正しいことを確認
invalid_schedule無効なスケジュール設定every、period、onパラメータを確認
invalid_customer顧客が見つからない顧客IDが存在することを確認
invalid_recipient受取人が見つからない受取人IDが存在することを確認
invalid_cardカードが見つからないか期限切れカードIDを確認するか顧客のデフォルトを使用

スケジュール期間の設定

期間必須のonパラメータ
day不要N日ごとに実行
weekweekdays{"weekdays": ["monday", "friday"]}
monthdays_of_monthまたはweekday_of_month{"days_of_month": [1, 15]}

🔑API認証情報

試してみる

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