# 获取当前用户的每日奖励

客户端接口。获取当前用户的每日奖励。
<div class="notice"><strong>提示</strong><br><br>该方法返回分页的商品列表。最大值和默认值均为<strong>每个响应50个商品</strong>。如需获取列表中的更多商品，请使用<code>limit</code>和<code>offset</code>参数分页获取。例如，调用方法时传入<code>limit = 25</code>和<code>offset = 100</code>，响应将返回总列表中从第101个商品开始的25个商品。</div>
<br>
<div class="note">
<strong>注：</strong><br><br>
此API调用使用用户JWT进行授权。<br><br>
请在<code>Authorization</code>请求头中按以下格式传入令牌：<code>Bearer <user_JWT></code>。关于用户JWT的更多信息，请参阅此调用的<strong>安全性</strong>部分。
</div>

Endpoint: GET /v2/project/{project_id}/user/daily_chain
Version: 2.0.0
Security: XsollaLoginUserJWT

## Path parameters:

  - `project_id` (integer, required)
    项目ID。您可以在[发布商帐户](https://publisher.xsolla.com/0/projects/0/)的项目名称旁找到此参数；使用项目时，也可以在浏览器地址栏中找到此参数。URL格式如下：`https://publisher.xsolla.com/<merchant_id>/projects/<project_id>`。

## Query parameters:

  - `limit` (integer)
    页面上元素数量的限制。

  - `offset` (integer)
    生成列表时作为起始位置的元素编号（从0开始计数）。

## Response 200 fields (application/json):

  - `has_more` (boolean)
    用作指示还有更多页面。
    Example: true

  - `total_items_count` (integer)
    每日奖励总数。
    Example: 3

  - `items` (array)

  - `items.type` (string)
    决定用户可领取奖励时间的每日奖励类型。
可能值：
- `calendar_hard` — 每24小时解锁下一步骤奖励。下一步骤奖励可用后，之前未领取的奖励将永久失效。
- `rolling_skippable` — 基于`date_start`每24小时解锁下一步骤奖励。进度按顺序推进：只有领取前一个奖励后，才会解锁新的奖励。如果用户跳过一天或多天，则会从上次停留的位置继续；错过的天数不会发放多份奖励。
- `rolling_unskippable` — 基于`date_start`每24小时解锁下一步骤奖励。进度按顺序推进：只有领取前一个奖励后，才会解锁新的奖励。不过，如果用户跳过一天，进度会被重置，必须从第一步重新开始。
    Enum: "calendar_hard"

  - `items.date_start` (string)
    每日奖励开始日期。
    Example: 2020-04-15T18:16:00+05:00

  - `items.is_recurrent` (boolean)
    每日奖励是否循环。如果为`true`，每日奖励将在结束日期后自动重置。下个周期的`start_date`和`end_date`基于每日奖励步骤总数和首次`start_date`的时间设定自动计算。
    Example: true

  - `items.id` (integer)
    每日奖励ID。
    Example: 9

  - `items.name` (string)
    每日奖励名称。
    Example: Weekly quest

  - `items.description` (string | null)
    每日奖励描述。
    Example: Major weekly quest

  - `items.order` (integer)
    定义排列顺序。
    Example: 1

  - `items.date_end` (string | null)
    每日奖励结束日期。可以为`null`。类型设置为`calendar_hard`时将根据添加的步骤数量自动设置此日期，因此可以将其保留为`null`。
    Example: 2020-04-15T18:16:00+05:00

  - `items.steps` (array)

  - `items.steps.step_number` (integer)
    步骤编号。
    Example: 2

  - `items.steps.status` (string)
    定义步骤的当前领取状态。
可能值：
- `claimed` — 该步骤已领取。
- `claimable` — 该步骤可领取。
- `blocked` — 该步骤不可领取：
  - 对于未授权用户：所有步骤均被锁定。
  - 对于`calendar_hard`：该步骤未领取，且当前已过期。
  - 对于`rolling_skippable`：该步骤会被锁定，直到前一步骤被领取。
- `claim_in_future` — 该步骤未领取，且该步骤在未来可用。
    Enum: "claimed", "claimable", "blocked", "claim_in_future"

  - `items.steps.unlocked_date` (integer)
    步骤解锁时间的Unix时间戳（秒）。

  - `items.steps.items` (array)

  - `items.steps.items.item_id` (integer)
    内部唯一商品ID。
    Example: 1

  - `items.steps.items.sku` (string)
    唯一商品ID。SKU只能包含大小写英文字母、数字、句点、短横线和下划线。
    Example: booster_mega_1

  - `items.steps.items.type` (string)
    商品类型：`virtual_good`/`virtual_currency`/`bundle`/`unit`。

  - `items.steps.items.name` (string)
    商品名称。

  - `items.steps.items.description` (string | null)
    商品描述。

  - `items.steps.items.bundle_type` (string | null)
    Enum: "standard", "virtual_currency_package"

  - `items.steps.items.image_url` (string | null)
    图片URL。
    Example: https://image.example.com

  - `items.steps.items.is_free` (boolean)
    该商品是否免费。
    Example: false

  - `items.steps.items.quantity` (integer)
    商品数量。
    Example: 1

  - `items.steps.items.content` (array | null)

  - `items.date_start` (string)
    每日奖励的开始日期和时间。此时间点同时定义用户可领取奖励的每日重置时间。
    Example: 2020-04-15T18:16:00+05:00

  - `items.date_end` (string | null)
    每日奖励的结束日期。
    Example: 2020-04-15T18:16:00+05:00

  - `items.is_recurrent` (boolean)
    每日奖励是否循环。如为`true`，用户完成所有步骤后奖励将重置，可从第1步重新开始。循环仅在`date_start`和`date_end`定义的活动期间内有效。
    Example: true

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1501

  - `errorMessage` (string)
    Example: [0401-1501]: Authorization failed: Provide authorization

