API 文档

Feat Oauth2 Token 异常列表

异常返回范例

{
    "error": "invalid_request"
    "error_description": "device_id is required"
}

其中“error”字段为异常错误的代码,“error_description”为异常错误的可读描述文本,对接时注意“error_description”字段不是一定返回的。

标准的错误代码

以下是Oauth2标准的错误代码:

invalid_request

状态代码:HTTP 400

该请求缺少必需的参数、包含不支持的参数值(授权类型除外)、重复参数、包含多个凭据、使用一种以上的机制来验证客户端,或者请求格式不正确。

注意:

  • 返回 “error_description”值为 “device_id is required”,这表示在grant_type为”password”时,请求必须带上”device_id”值。

invalid_client

状态代码:HTTP 401

客户端身份验证失败(例如,未知客户端、不包含客户端身份验证或不支持的身份验证方法)。 此时服务器返回 HTTP 401(未授权)状态代码。

invalid_grant

状态代码:HTTP 400

提交的客户端身份认证授权(例如,授权code、资源所有者身份凭据)或刷新令牌无效、已过期、已撤销、与授权请求中使用的重定向 URI 不匹配,或已派发给另一个客户端。

unauthorized_client

状态代码:HTTP 400

该客户端的身份验证无权使用该grant类型。

unsupported_grant_type

状态代码:HTTP 400

服务器不支持该grant类型。

invalid_scope

状态代码:HTTP 400

请求的scope无效或scope的格式错误或超出资源所有者授予的范围。

参考文档链接:https://datatracker.ietf.org/doc/html/rfc6749#section-5.2

Service: Status

这是服务需求项目的状态,根据需求项目的当前状态,界面需要展示对应可操作的按钮。

Status List

DRAFT = 0  # 草稿
REVIEW = 100  # 审核中(暂时未实装)
OPEN = 200  # 已发布
CLOSED = 300  # 关闭
COMPLETED = 400  # 已完成
CANCELLED = 500  # 已取消

DRAFT 草稿

调用需求创建接口成功后,创建状态为DRAFT的需求项目。此时需求处于草稿状态,待发布后才可以公开给其他用户查看或互动。

OPEN 已发布

调用需求发布接口成功后,需求状态从DRAFT变成OPEN,之后该需求会公开到机会广场中,其他用户可以查看或互动。

CLOSED 关闭

需求执行了关闭操作后,或者需求到达了关闭时间,则需求状态从OPEN变成CLOSED。在此状态下不允许有新的参与者或新的竞标出价,需求项目的拥有者需要从参与者中选出胜出者。

COMPLETED 已完成

待需求项目的拥有者选出胜出者后,需求项目进入COMPLETED状态。

CANCELLED 已取消

需求项目在在OPENCLOSED的状态下,可以调用取消操作,取消该需求项目。

Auth API:Feat手机账号注册接口流程文档

FEAT Auth API 是一组提供用户注册账号和登录账号功能的接口,FEAT网站的注册流程必须以手机号码作为注册账号,同时亦作为登录账号使用。注册过程涉及获取短信验证码、获取注册许可Token的安全认证步骤,必须按照以下步骤的顺序调用对应接口。

继续阅读

Auth: login(已弃用)

这是用户登录接口,使用场景为已经注册的用户提交正确手机号码和密码到该接口,请求成功后返回用户的Authorization Token。前端获取该Token后,在调用需要用户登录的FEAT API时,将Token配置在请求头Authorization,即可正常访问。

Request

HTTP request

POST https://www.featapi.com/api/auth/login/

继续阅读

Auth: vcode verification

这是短信验证码检验接口,使用场景为用户进行注册流程,已经调用过“短信验证码发送接口”,并且收到了短信验证码。用户输入短信验证码,前端提交参数到该接口进行验证,验证成功后,根据form_id不同,进行不同的操作。

目前支持的操作包括:

  • FEAT服务返回注册许可Token,前端使用许可Token调用注册账户接口完成注册流程。
  • FEAT服务返回用户登录key和uid。

Request

HTTP request

POST https://www.featapi.com/api/auth/phone/verification/

继续阅读