调用说明
1. 网关地址
https://api.hao598.cn/api/gateway/call
支持 GET、POST 表单、POST JSON 三种请求方式,超时时间建议设置 30 秒以上。
2. 公共请求参数
| 参数名 | 必填 | 说明 |
| app_key | 必填 | 客户公钥,注册后在客户中心获取 |
| timestamp | 必填 | 当前 Unix 时间戳(秒级),与服务器时间相差超过 5 分钟将被拒绝 |
| api_code | 必填 | 接口编码,见文末接口列表 |
| req_params | 必填 | 业务参数的 JSON 字符串,字段见各接口的「请求参数」,例如 {"company":"贵州茅台酒股份有限公司"} |
| sign | 必填 | 签名串,计算方式见下方第 3 节 |
3. 签名算法(sign)
| 步骤 | 内容 |
| ① | 取出除 sign 以外的所有非空请求参数(含 app_key、timestamp、api_code、req_params) |
| ② | 按参数名 ASCII 升序排序(ksort) |
| ③ | 拼接为 k1=v1&k2=v2 格式(URL 键值对形式,值为原始字符串,不要额外编码) |
| ④ | 末尾追加 &secret=你的app_secret |
| ⑤ | 对拼接结果做 MD5,取小写十六进制即为 sign |
4. req_params 业务字段对照
| 字段名 | 说明 |
| 1 | 企业名称(工商全称) |
| 2 | 姓名 |
| 3 | 身份证号 |
| 4 | 手机号 |
企业类接口的企业名称必须填写工商全称(与营业执照一致),简称可能查询无结果;查无记录属于正常查询结果,同样计费。
5. 返回格式
{
"code": 0, // 0=成功,其他为错误码,见下表
"msg": "ok", // 结果说明
"cached": 0, // 1=命中缓存结果
"time": 1718000000, // 服务器时间戳
"data": { ... }, // 业务数据,查无记录时为空数组/空对象
"balance": "95.00", // 调用后账户余额
"low_balance": 0 // 1=余额已低于20元,请及时充值
}
| 返回码 | 含义 |
| 0 | 调用成功(含查无记录的空结果) |
| 1001 | 缺少必要参数 / 参数格式错误(不扣费) |
| 1002 | 签名错误(不扣费) |
| 1003 | 时间戳过期(不扣费) |
| 1004 | 接口不存在或已下架(不扣费) |
| 1005 | app_key 不存在(不扣费) |
| 1006 | 账号已被禁用(不扣费) |
| 1007 | 余额不足,请充值后重试(不扣费) |
| 1008 | 触发限流,请降低调用频率(不扣费) |
| 1009 | 上游数据源异常,本次未扣费,请稍后重试(不扣费) |
计费规则:仅 code=0 时扣费;查无记录(data 为空)属于正常查询结果照常计费;参数错误、签名错误、上游异常等一律不扣费。
6. 缓存说明
相同接口 + 相同参数的查询结果默认缓存 24 小时,缓存内重复调用直接返回缓存结果(cached=1)并照常计费;缓存可保证同一次业务链路中的结果一致性,如需最新数据请在缓存过期后再查。
7. PHP 调用示例
$appKey = '您的app_key';
$appSecret = '您的app_secret';
$params = [
'app_key' => $appKey,
'timestamp' => time(),
'api_code' => 'company_info',
'req_params' => json_encode(['company' => '贵州茅台酒股份有限公司'], JSON_UNESCAPED_UNICODE),
];
// 计算签名
ksort($params);
$pairs = [];
foreach ($params as $k => $v) {
if ($v !== '') { $pairs[] = $k . '=' . $v; }
}
$params['sign'] = md5(implode('&', $pairs) . '&secret=' . $appSecret);
// 发起请求(POST 表单)
$ch = curl_init('https://api.hao598.cn/api/gateway/call');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($params),
CURLOPT_TIMEOUT => 30,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($result);
8. curl 示例
curl -X POST 'https://api.hao598.cn/api/gateway/call' \
-d 'app_key=您的app_key' \
-d 'timestamp=1718000000' \
-d 'api_code=company_info' \
--data-urlencode 'req_params={"company":"贵州茅台酒股份有限公司"}' \
-d 'sign=按上方算法计算后的md5'