# 补货API
此接口为充值卡生成专用接口,主要是为了方便独立出售充值卡,且具备一定开发能力的站长提供的。
在独立出售充值卡时,为避免出现后台生成的充值卡库存不足又无法及时生成,使用此API可避免出现这种情况。
**API调用地址**为`http://domain/action/lovekk?card=&do=api`
## 数据请求
API请求方式必须为Post请求,其余请求皆会返回错误。
## 提交参数
API请求时需提交相应参数,所有参数皆为必选项,提交参数如下:
**token**:安全效验码,此参数在[基础设置](option/base.md)中进行配置,API接收请求时将与配置进行比对,比对一致则允许请求。
**trade**:唯一标识,此参数为请求的唯一标识,API在接收到请求后,使用唯一标识查询是否生成过此充值卡,若生成过则直接返回该条记录,未生成过则自动生成一张充值卡并返回。
!> 唯一标识并非充值卡号,而是一个作为充值卡数据的标识编号,比如可设置为充值卡购买订单编号。
**level**:获取级别,作为充值卡生成的对应级别,参数值为整数,按照月付会员:1,季度会员:2,年度会员:3,终身会员:4的对应关系,API接收到后,若未生成过充值卡,则根据此参数生成对应的充值卡数据。
**user**:登录账号,此账号必须为管理员权限账号,其余账号无请求权限。
**pass**:登录密码,登录账号对应密码。
## 返回数据
API返回数据有两种,一种为文本格式错误信息,一种为Json格式返回信息。
文本格式错误信息仅在非Post请求时返回,返回内容为`fail`,表示请求错误。
Json格式返回信息则在正常请求后的返回,数据格式为:`{code: int, msg: string|array}`。
其中`code`表示请求错误代码,可根据返回的错误代码得知当前请求的成功与否。
```
1:请求成功
-1:请求参数不完整
-2:登录错误
-3:API未开启
-4:token验证失败
-5:level参数错误
-6:充值卡创建错误
```
`msg`表示返回的数据,包含错误信息或充值卡数据,错误信息均为文本数据,充值卡数据为数组格式。
```
trade:当前请求的唯一标识
number:充值卡卡号
password:充值卡密码
price:充值卡对应价格
```
## 实例代码
```php
<?php
function card($api, $data) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_NOBODY, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_URL, $api);
$response = curl_exec($ch);
curl_close($ch);
if ( $json = json_decode($response) ) {
return $json;
}
}
$data = [
'trade' => '12345678', // 唯一标识
'token' => '123456789', // 安全效验码
'level' => 1, // 获取月付会员充值卡
'user' => 'lovekk', // 管理员账号
'pass' => 'lovekk.org' // 管理员密码
];
$json = card('http://domain/action/lovekk?card=&do=api', $data);
var_dump($json);
```