← 返回 Skill 列表
extension
分类: 数据与分析需要 API Key

公司企业工商信息·主体档案

提供企业主体信息档案查询,覆盖工商登记、法人、高管、股东、资本、经营范围、风险记录、行政许可与联系方式;可使用企业名称、注册号或统一社会信用代码发起查询,通过微信支付按量付费获取数据。

person作者: u_1f0efec2hubenterprise

企业工商信息·主体档案

触发条件

当用户要建立或补充某家企业的主体档案,并希望查询工商基本信息、法人、高管、股东、注册资本、经营范围、注册地址、分支机构或经营异常时,使用本 Skill。

当用户仅明确要求查询行政处罚记录时,改用“企业行政处罚·综合信息” Skill,不要同时调用两个服务。

接口

  • 方法:POST
  • 地址:https://api.shopbuy.top/api/agent/company/record
  • 请求体:{"keyword":"企业名称、注册号或统一社会信用代码"}
  • keyword 支持:公司名称、工商注册号、社会统一信用代码

接口固定使用 https://api.shopbuy.top,生产调用必须使用 HTTPS。

前置检查

进入支付流程前,Agent 必须先检查微信支付技能 weixinpay 是否已安装:

  • 若未安装,提示用户执行 npx -y @tenpay/weixinpay-ai-installer 一键完成 weixinpay 插件安装,待安装完成后再继续,不要在缺少支付技能的情况下发起付费调用。
  • 若已安装,直接进入下方支付流程。

支付流程

  1. 首次请求不要携带 X-Out-Trade-No。
  2. 服务会返回 HTTP 402,并在 WeixinPay-Required 响应头中返回支付触发标识(payment_code),同时在 X-Out-Trade-No 响应头中返回商户订单号。
  3. 将完整的 WeixinPay-Required 交给微信支付技能 weixinpay_pay,向用户申请本次支付授权,不要修改、截断或放进请求体。买家侧首次使用需绑定微信支付 AI 专属卡。
  4. 支付完成后,使用完全相同的 keyword 重试,并添加请求头:X-Out-Trade-No: <商户订单号>。
  5. 只有 HTTP 200 且响应中的 fulfillment_confirmed=true、Payment-Validation 存在时,才读取 data。

返回字段

成功响应顶层字段:code 返回码;msg 返回描述;charge 计费标志,true 表示计费、false 表示不计费;taskNo 本次请求号;data 企业工商全维度数据。字段名大小写必须按接口原样读取。

  • Changes 企业变更:ChangeAfter 变更后内容;ChangeDate 变更日期;ChangeField 变更事项;ChangeBefore 变更前内容。
  • ShiXinItems 失信:Iname 公司名称;RegDate 立案日期;CaseCode 立案文书号;CardNum 组织机构代码;GistCid 执行依据文号;PublishDate 发布时间;Performance 被执行人的履约情况;DisreputTypeName 行为备注;CourtName 执行法院。
  • Branches 分支机构:CompanyCode 注册号;CompanyName 分支机构名称;Authority 登记机关;CreditNo 社会统一信用代码;LegalPerson 法人姓名。
  • Pledges 股权出质:RegistNo 质权登记编号;Pledgor 出质人;PledgorNo 出质人证照编号;Pledgee 质权人;PledgeeNo 质权人证照编号;PledgedAmount 出质股权数额;RegDate 设立登记日期;PublicDate 公示时间;Status 出质状态。
  • Employees 企业高管:Position 职位;EmployeeName 姓名。
  • OriginalName 曾用名:Name 曾用名;ChangeDate 变更日期。
  • TaxCreditItems 纳税信息:TaxPayerNo 纳税人识别号;TaxPayerName 纳税人名称;Year 评价年度;Level 信用等级。
  • Base 工商基本信息:BusinessDateFrom 营业开始日期;Authority 登记机关;CompanyStatus 企业状态;BusinessScope 经营范围;IssueDate 发照日期;BusinessDateTo 营业结束日期;Capital 注册资本;CompanyType 企业类型;LegalPerson 法人名;EstablishDate 成立日期;Province 省份编码;KeyNo 内部 keyNo;CompanyAddress 企业地址;CompanyName 公司名称;OrgCode 组织机构代码;IsOnStock 是否上市,0 未上市、1 已上市;CreditNo 社会统一信用代码;CompanyCode 注册号;RevokeDate 吊销日期;StockNumber 上市公司代码;StockType 上市类型。
  • Industry 行业信息:Industry 国民经济行业分类大类名称;SubIndustry 小类名称。
  • Partners 股东信息:StockName 股东;StockType 股东类型;StockPercent 出资比例;StockCapital 认缴出资额;StockRealCapital 实缴出资额;InvestType 认缴出资方式;CapiDate 实缴时间;InvestName 实际出资方式。
  • Penalties 行政处罚:DocNo 行政处罚决定书文号;PenaltyType 违法行为类型;OfficeName 行政处罚决定机关名称;Content 行政处罚内容;PenaltyDate 作出行政处罚决定日期;PublicDate 作出行政公示日期;Remark 备注。
  • ZhiXingItems 被执行:CaseState 状态;PartyCardnum 身份证号码/组织机构代码;ZxId 官网系统 ID;Pname 名称;CaseCreateTime 立案时间;CaseCode 立案号;ExecCourtName 执行法院;ExecMoney 执行标的。
  • Exceptions 经营异常:AddReason 列入原因;AddDate 列入日期;RemoveReason 移出原因;RemoveDate 移出日期;DecisionOffice 作出决定机关;CasRemoveDecisionOfficeeCode 移出决定机关代码。
  • Permissions 行政许可:Name 项目名称;Province 地域;Liandate 决定日期;CaseNo 决定文书号。
  • ContactInfo 联系信息:Website[].Url 网站地址;Website[].Name 网站名称;PhoneNumber 联系电话;Email 联系邮箱。
  • MPledges 动产抵押:RegisterNo 登记编号;RegisterDate 登记时间;PublicDate 公示时间;RegisterOffice 登记机关;DebtSecuredAmount 被担保债权数额;Status 状态。
  • SpotChecks 企业抽查检查:No 登记编号;ExecutiveOrg 检查实施机关;Type 类型;Date 日期;Consequence 结果;Remark 备注。

不存在记录时,数组通常为空数组;未提供的字段可能为空字符串。

服务端支付安全实现

本 Skill 对应的服务端已实现完整的微信支付按量付费闭环;客户端或 Agent 只需要按照“支付流程”发送和重试请求,不能自行跳过服务端验付。

订单持久化

服务端在返回 HTTP 402 之前,先持久化微信支付订单。订单至少保存:out_trade_no、total_amount、api_product=company_full、resource_id=api/company/full、pay_before、status=PENDING_PAYMENT、fulfillment_status=UNFULFILLED。

X-Out-Trade-No 验付

携带 X-Out-Trade-No 重试时,服务端会以该订单号调用微信支付「按商户订单号查单」接口,确认本次微信支付已成功:

微信支付「按商户订单号查单」

服务端以 X-Out-Trade-No 作为微信支付商户订单号 out_trade_no 查单,只有在下列条件全部满足时才允许履约:

  1. 微信支付返回 trade_state=SUCCESS。
  2. 查单返回的 out_trade_no 与本地订单一致。
  3. 查单返回的 amount.total 与本地订单金额一致。
  4. 本地订单的 resource_id 与当前资源 api/company/full 一致。
  5. 查单返回的 transaction_id 未被其他订单使用。
  6. 本地订单未取消、首次履约尚未超过 pay_before,且状态允许履约。

任一校验失败时,服务端不会返回工商数据。

幂等履约与履约确认

服务端用数据库事务锁定订单,先将首次有效支付原子更新为 PENDING_CONFIRM,并保存微信支付交易单号(写入 trade_no),从而防止同一订单或同一微信支付交易被重复交付。

数据生成后,服务端保存结果快照,并将订单标记为已履约:

本地履约确认(微信支付已完成收款,无需再次调用支付接口)

付款成功后,订单更新为 fulfillment_status=FULFILLED 并向 Agent 返回 HTTP 200、资源数据和 Payment-Validation。

若资源已生成但履约确认暂时失败,订单保留 PENDING_CONFIRM 和结果快照;Agent 必须携带同一个 X-Out-Trade-No 重试,服务端不会再次查询或再次收费。已完成订单的重复请求直接返回已保存的同一结果,不重复调用数据源。

失败处理

  • 402:支付凭证缺失、失效或订单不匹配。继续使用微信支付流程,不要把它当成业务查询失败。
  • 503:服务端微信支付配置不完整或暂时不可用,不要重复扣款。
  • 502:履约确认暂时失败,使用同一个 X-Out-Trade-No 重试,不要创建第二笔支付。

生产配置

WECHAT_MCHID=你的微信支付商户号
WECHAT_APPID=你的微信 AppID
WECHAT_SERIAL_NO=你的微信 API 证书序列号
WECHAT_APIV3_KEY=你的微信 APIv3 密钥
SKILLHUB_DEVELOPER_ID=你的 SkillHub 开发者 ID

生产环境必须关闭 JUMDATA_MOCK,使用真实的企业工商数据配置,并通过 HTTPS 对外提供接口。