Occurrence API
Occurrencesは、Schedule(スケジュール)API によって設定されたイベントの実行予定日を表すオブジェクトです。 例えば、2017年1月1日から3か月間、月の第1月曜日に決済するスケジュールを設定した場合、Occurrenceは次のようになります。
- 2017年 1月2日 月曜日
- 2017年 2月6日 月曜日
- 2017年 3月6日 月曜日
- 2017年 1月2日 月曜日 - 成功
- 2017年 2月6日 月曜日 - 失敗
- 2017年 2月7日 火曜日 - 再試行 成功
- 2017年 3月6日 月曜日 - 成功
- 2017年 1月2日 月曜日 - 成功
- 2017年 2月6日 月曜日 - 失敗
- 2017年 2月7日 火曜日 - 再試行 失敗
- 2017年 2月8日 水曜日 - 再試行 失敗
- スケジュール停止
Attributes
| Name | Type | Description |
|---|---|---|
| object | string | 固定値 |
| id | object_id |
|
| livemode | boolean | 本番モード ( |
| location | string | 現在の |
| created | datetime | ISO 8601 形式( |
| message | string | オカレンス処理が失敗した場合のエラーの説明。 |
| processed_at | datetime | ISO 8601形式のオカレンスが処理されたUTC日時。 |
| result | object_id | オカレンス処理の結果のオブジェクト。 |
| retry_date | date | オカレンス処理が失敗した際の再試行日。 |
| schedule | object_id | このオカレンスが属する |
| schedule_date | date | オカレンスが処理される予定のISO 8601形式( |
| status | string | スケジュールされたオカレンスの状況。 |
Occurrenceを取得
- GET https://api.omise.co/occurrences/{id}Occurrence IDで指定した特定のOccurrenceを返します。
Example
-
Occurrenceを取得
- curl
- php
- ruby
- C#
- python
- go
- elixir
curl https://api.omise.co/occurrences/occu_test_4xso2s8ivdej29pqnhz \ -u $OMISE_SECRET_KEY:<?php require './omise-php/lib/Omise.php'; define('OMISE_SECRET_KEY', 'skey_test_51fl8dfabe7sqnj8th2'); $schedule = OmiseSchedule::retrieve('schd_test_58eszkc69f6xl05ws1s'); $occurrence = $schedule->occurrences()->retrieve('occu_test_58eszkc7yyuj0c8vj8i');require "omise" Omise.secret_api_key = "skey_test_4xs8breq3htbkj03d2x" schedule = Omise::Schedule.retrieve("schd_test_4xsjvylia03ur542vn6") occurrence = schedule.occurrences.retrieve("occu_test_4xso2s8ivdej29pqnhz") # Or directly through the Occurrence class occurrence = Omise::Occurrence.retrieve("occu_test_4xso2s8ivdej29pqnhz")var occurrenceId = "occu_test_58965eudn25i1gpip0w"; var occurrence = await Client.Occurrences.Get(occurrenceId); Console.WriteLine($"this occurrence is on: {occurrence.ScheduleDate}");import omise omise.api_secret = "skey_test_no1t4tnemucod0e51mo" occurrence = omise.Occurrence.retrieve("occu_test_587bugap9mm42nuddig")client, _ := omise.NewClient( "pkey_test_no1t4tnemucod0e51mo", "skey_test_no1t4tnemucod0e51mo", ) result := &omise.Occurrence{} err := client.Do(result, &operations.RetrieveOccurrence{"occu_test_no1t4tnemucod0e51mo"}) if err != nil { log.Fatalln(err) } log.Println(result)Omise.configure(secret_key: "skey_test_4xs8breq3htbkj03d2x") Omise.Occurrence.retrieve("occu_test_4xso2s8ivdej29pqnhz")
特定のスケジュールに関する全てのOccurrenceのリストを取得
- GET https://api.omise.co/schedules/{id}/occurrencesoccurrenceに属するすべての オブジェクトの list を返します。
Request Parameters
| Name | Type | Description |
|---|---|---|
| from | datetime | (任意, default: |
| limit | integer | (任意, default: 20, maximum: 100) 返されるレコードの数。 |
| offset | integer | (任意, default: 0) 返される最初のレコードのオフセット(先頭からスキップするレコードの数)。 |
| order | string | (任意, default: |
| to | datetime | (任意, default: current UTC datetime) ISO 8601形式 ( |
Example
-
特定のスケジュールに関する全てのOccurrenceのリストを取得
- curl
- php
- ruby
- C#
- python
- elixir
curl https://api.omise.co/schedules/schd_test_5g022yhk1zcvkf7zbt7/occurrences \ -u $OMISE_SECRET_KEY:<?php require './omise-php/lib/Omise.php'; define('OMISE_SECRET_KEY', 'skey_test_51fl8dfabe7sqnj8th2'); $schedule = OmiseSchedule::retrieve('schd_test_58eszkc69f6xl05ws1s'); $occurrences = $schedule->occurrences();require "omise" Omise.secret_api_key = "skey_test_4xs8breq3htbkj03d2x" schedule = Omise::Schedule.retrieve("schd_test_4xsjvylia03ur542vn6") occurrences = schedule.occurrencesvar scheduleId = "schd_test_58fiiv0w9m9tl9xnd55"; var occurrences = await Client .Schedule(scheduleId) .Occurrences .GetList(order: Ordering.ReverseChronological); Console.WriteLine($"occurrences so far: {occurrences.Total}");import omise omise.api_secret = 'skey_test_4xs8breq3htbkj03d2x' occurrence = omise.Occurrence.retrieve()Omise.configure(secret_key: "skey_test_4xs8breq3htbkj03d2x") Omise.Schedule.list_occurrences("schd_test_4xsjvylia03ur542vn6")