# 接口说明

> 查看发卡 API 的公共请求 Header、响应结构、币种与时间戳规则、响应码。

接入发卡 API 前，请先阅读本页公共规则。除非具体接口页另有说明，发卡商户 API 均使用 `/api/v1/merchant` base path 下的 `POST` 请求。

### 请求 Header

| Header | Type | Required | 说明 |
| --- | --- | --- | --- |
| `Content-Type` | String | Yes | 使用 `application/json;charset=UTF-8`。 |
| `ApiKey` | String | Yes | Onerway 分配的发卡 API 商户身份凭据。 |

### 响应结构

| 字段 | Type | 说明 |
| --- | --- | --- |
| `respCode` | String | 响应码。`20000` 表示请求处理成功。 |
| `respMsg` | String | 响应信息。 |
| `data` | Object / Array | 业务数据。请求失败时可为 `null`。 |

### 币种

币种值使用 ISO 4217 国际标准。

### 时区

Long 类型时间戳均为 UTC 时间戳。查询参数默认使用秒，除非具体接口页另有说明；操作、结算、授权和交易事件时间可按毫秒返回。

### 响应码

当 HTTP 状态码不是 `200` 时：

| HTTP 状态码 | 说明 |
| --- | --- |
| `401 Unauthorized` | API 凭据无效。 |
| `403 Forbidden` | 触发 IP 白名单限制或 API 权限不足。 |

当 HTTP 状态码为 `200` 时，请读取业务响应码：

| Code | 说明 |
| --- | --- |
| `20000` | 成功。 |
| `40000` | 参数错误。 |
| `80000` | 内部服务错误，请联系 Onerway。 |
| `80001` | 持卡人不存在。 |
| `80002` | 持卡人邮箱已存在。 |
| `80003` | 持卡人所属商户号不正确。 |
| `80004` | 商户状态无效。 |
| `80005` | 商户未开通发卡业务。 |
| `80006` | 商户账户不存在。 |
| `80007` | 商户余额不足。 |
| `80008` | 充值金额超过最大限制。 |
| `80009` | 充值金额低于最小限制。 |
| `80010` | 数据重复。 |
| `80011` | 持卡人卡数量达到限制。 |
| `81000` | 未授权商户。 |
| `81001` | 业务不存在。 |
| `40004` | 系统异常：`NoHandlerFoundException`。 |
| `40005` | 系统异常：`HttpRequestMethodNotSupportedException`。 |
| `40013` | 系统异常：`HttpMessageNotReadableException`。 |
| `40015` | 系统异常：`HttpMediaTypeNotSupportedException`。 |
