/challengesにPOSTでHTTPリクエストを送信してチャレンジを開始します。
レスポンス中の呼出予定時刻(actives_at)の時刻に/challengesへPUTでHTTPリクエストを送信します。 このときチャレンジID(id)をX-Challenge-Idヘッダに付与する必要があります。
リクエストに成功すると次の呼出予定時刻を含むレスポンスが返るので、これをチャレンジ終了まで繰り返します。
呼出予定時刻と実際に処理を受付けた時刻の差分の合計が500msを超過するとチャレンジ終了となります。
チャレンジが終了するとチャレンジ結果(result)を含むレスポンスが返ります。
規定回数リクエストを送信できるとチャレンジ成功となり、応募キーワードを含むページのURLがレスポンスに含まれます。
種別 | キー | 概要 |
---|---|---|
クエリ | nickname | ランキングに使用するニックネームを指定します (1文字以上、16文字以内) |
$ curl -X 'POST' http://challenge.z2o.cloud/challenges?nickname=hoge
種別 | キー | 概要 |
---|---|---|
ヘッダ | X-Challenge-Id | APIレスポンス(チャレンジ)に含む、 チャレンジID (id) を指定します。 |
$ curl -X 'PUT' -H 'X-Challenge-Id:xxxxxxxxxx' http://challenge.z2o.cloud/challenges
{ "id": チャレンジID, "actives_at": 呼出予定時刻 (UNIXタイムミリ秒表記), "called_at": 処理受付時刻 (UNIXタイムミリ秒表記), "total_diff": 呼出予定時刻と処理受付時刻の差分の合計(ミリ秒), "result": { "attempts": 呼び出し回数, "url": 応募キーワードを含むページのURL (失敗時はnull) } }
{ "id":"xxxxxxxxxx", "actives_at":1579938264219, "called_at":1579938263720, "total_diff":0 }
{ "result": { "attempts": 100, "url": "/xxxxxxxx" } }
{ "result": { "attempts": 3, "url": null } }
{ "error": エラーメッセージ }
メッセージ | 意味 |
---|---|
invalid access method. | 不正なHTTPメソッドです。 定義されていないHTTPメソッドで `/challenges` にリクエストした場合に発生します。 |
nickname is missing | ニックネームが指定されていません。 チャレンジ作成時に `nickname` パラメータを指定していない場合に発生します。 |
challenge is not started. X-Challenge-Id: xxxxx | チャレンジが開始されていません。 チャレンジIDのチャレンジが既に終了している場合、チャレンジIDが間違っている場合、チャレンジIDを指定していない場合に発生します。 |