① 判断纳税人开票资格
收购企业开票资格校验:一次调用同时查纳税人基本信息与风险信息(信用等级/风险类型/预警级别),合并研判后直接给出 eligible 结论。建单前的第一道闸。数据类接口。
属「乐企联用 · 报废产品收购(9 个业务接口)」——底层编排 乐企原子接口,你只调这一个。
接口(数据类)
POST https://openapi.kailingteck.com/api/v1/invoice/reverse/lqbiz/taxpayer/check
鉴权:X-App-Key + X-Timestamp(Unix 秒) + X-Sign(= sha256(appKey + 时间戳 + 报文 + appSecret))。正式 AppKey/AppSecret 请联系开灵商务或您的开灵项目经理获取,联调期可先用演示密钥。
内置能力:基本信息与风险信息双查合并研判,一次调用出结论 内部编排:CXNSRJBXX + CXNSRFXXX
请求参数
| 参数 | 必填 | 说明 |
|---|---|---|
nsrsbh | 必填 | 回收企业纳税人识别号/统一社会信用代码(18 位) |
返回参数(data)
| 参数 | 说明 |
|---|---|
eligible | boolean,是否具备开票资格=基本信息正常 且 未命中风险记录 |
base.nsrmc | 纳税人名称 |
base.djxh | 登记序号(接口②⑤要用,建议缓存) |
base.nsrlx | 纳税人类型:1 一般纳税人/2 小规模/3 转登记小规模/4 辅导期一般人/5 自然人 |
base.fddbrxm | 法定代表人姓名 |
base.scjydz | 生产经营地址 |
risk.fxnsrbz | 风险纳税人标志:Y 风险/N 正常 |
risk.fxnsrlx | 风险类型:01 高/02 中/03 低,空=非风险 |
risk.nsrxydj | 纳税信用等级:A/B/C/D/M |
risk.nsryjjb | 预警级别:01 红/02 黄/03 蓝,空=无预警 |
hint | 研判结论(可开票/建议人工复核) |
请求示例
{ "nsrsbh": "91371100MA3XXXXX0X" }返回示例(成功)
{ "code": "CYT_00000", "msg": "success", "requestId": "cyt_xxx", "data": {
"eligible": true,
"base": { "nsrsbh": "91371100MA3XXXXX0X", "nsrmc": "某再生资源回收有限公司", "djxh": "10113700000123456",
"nsrlx": "2", "fddbrxm": "王某某", "scjydz": "山东省日照市某区某路 1 号" },
"risk": { "fxnsrbz": "N", "fxnsrlx": "", "nsrxydj": "B", "nsryjjb": "" },
"hint": "基本信息正常且无风险记录,可开票"
} }返回示例(失败/业务拦截)
{ "code": "CYT_00000", "msg": "success", "data": {
"eligible": false,
"risk": { "fxnsrbz": "Y", "fxnsrlx": "02", "nsrxydj": "D", "nsryjjb": "02" },
"hint": "存在风险纳税人信息,建议人工复核后再开票"
} }异常与报错
| 情形 | 含义与处理 |
|---|---|
| HTTP 502 · CYT_50200 | 基本信息查询失败,data.hint 透传乐企 returnmsg;常见:税号有误、乐企凭证未配置 |
| HTTP 200 · eligible=false | 命中风险纳税人:接口本身成功,按 hint 人工复核后决定是否放行开票 |
前端怎么用
const r = await post('/lqbiz/taxpayer/check', { nsrsbh });
if (!r.data.eligible) return alert(r.data.hint); // 风险纳税人 → 人工复核
cache.djxh = r.data.base.djxh; // 登记序号存下来,②⑤要用建议企业开通时调一次并缓存 djxh;风险状态会变,开票高峰期可每日复查。
