| name | enterprise-three-factor-auth |
| description | 验证企业名称、统一社会信用代码和法人姓名三要素是否一致,适用于企业身份核实、工商信息验证等场景 |
| license | MIT |
能力概述
调用企业三要素验证接口,传入企业名称、统一社会信用代码和法人姓名,校验三要素是否与工商信息一致,并返回具体不一致项。
- Endpoint:
GET https://app-bo4w33bsdqm9-api-Aa2PZnjE80BL-gateway.appmiaoda.com/company_three/get
- 认证方式: platform_managed(密钥由平台注入,读取
INTEGRATIONS_API_KEY)
- Content-Type:
application/json;charset=UTF-8
- 响应格式: JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|
companyName | string | 是 | 公司名称 |
creditNo | string | 是 | 统一社会信用代码 |
legalPerson | string | 是 | 法人姓名 |
响应字段说明
成功响应(success: true, code: 200):
| 字段路径 | 类型 | 说明 |
|---|
success | boolean | 请求成功标识,true 为成功 |
code | number | 状态码,成功为 200 |
msg | string | 状态描述 |
data.order_no | string | 订单号 |
data.result | number | 验证结果码(见下表) |
data.desc | string | 结果描述 |
result 结果对照表:
| result | 说明 |
|---|
| 0 | 一致 |
| 1 | 企业名称不一致 |
| 2 | 社会统一信用代码不一致 |
| 3 | 法人名称不一致 |
| 9 | 不一致 |
失败响应(success: false):
| 字段路径 | 类型 | 说明 |
|---|
success | boolean | false |
code | number | 错误状态码(如 400) |
msg | string | 错误描述(如"入参错误") |
data | object | 空对象 {} |
响应示例
{
"msg": "成功",
"success": true,
"code": 200,
"data": {
"order_no": "426621381069965596",
"result": 0,
"desc": "一致"
}
}
生成期用法(Agent 直接调用)
const apiKey = process.env["INTEGRATIONS_API_KEY"]!;
interface CompanyThreeFactorResult {
order_no: string;
result: number;
desc: string;
}
async function verifyCompanyThreeFactors(
companyName: string,
creditNo: string,
legalPerson: string
): Promise<CompanyThreeFactorResult> {
const params = new URLSearchParams({ companyName, creditNo, legalPerson });
const response = await fetch(
`https://app-bo4w33bsdqm9-api-Aa2PZnjE80BL-gateway.appmiaoda.com/company_three/get?${params.toString()}`,
{
method: "GET",
headers: {
"Content-Type": "application/json;charset=UTF-8",
"X-Gateway-Authorization": `Bearer ${apiKey}`,
},
}
);
(!response.) ();
json = response.();
(!json. || json. !== ) {
();
}
json.;
}
result = (
,
,
);
.();
生成后用法(应用内通过 Edge Function 调用)
Edge Function
import { serve } from "https://deno.land/std/http/server.ts";
serve(async (req: Request): Promise<Response> => {
if (req.method !== "POST") {
return new Response("Method Not Allowed", { status: 405 });
}
let companyName: string;
let creditNo: string;
let legalPerson: string;
try {
const body = await req.json();
companyName = body.companyName;
creditNo = body.creditNo;
legalPerson = body.legalPerson;
if (!companyName) throw new Error("Missing companyName");
if (!creditNo) throw new Error("Missing creditNo");
if (!legalPerson) throw new Error("Missing legalPerson");
} {
(.({ : }), {
: ,
: { : },
});
}
apiKey = ..();
(!apiKey) {
(.({ : }), {
: ,
: { : },
});
}
params = ({ companyName, creditNo, legalPerson });
upstream = (
,
{
: ,
: {
: ,
: ,
},
}
);
(upstream. === || upstream. === ) {
errText = upstream.();
(errText, {
: upstream.,
: { : },
});
}
(!upstream.) {
(
.({ : }),
{ : , : { : } }
);
}
data = upstream.();
(.(data), {
: ,
: { : },
});
});
前端调用代码
Web 和 MiniProgram 均可使用 supabase client 调用,响应为标准 JSON,无平台差异。
推荐方式(supabase client 可用时):
interface CompanyThreeFactorResult {
order_no: string;
result: number;
desc: string;
}
async function verifyCompanyThreeFactors(
companyName: string,
creditNo: string,
legalPerson: string
): Promise<CompanyThreeFactorResult> {
const { data, error } = await supabase.functions.invoke("company-three-factor-auth", {
body: { companyName, creditNo, legalPerson },
});
if (error) throw error;
if (!data.success || data.code !== 200) {
throw new Error(`API 错误 ${data.code}:${data.msg}`);
}
return data.data;
}
备用方式(无法使用 supabase client 时):
async function verifyCompanyThreeFactors(
companyName: string,
creditNo: string,
legalPerson: string
): Promise<CompanyThreeFactorResult> {
const res = await fetch(
`${import.meta.env.VITE_SUPABASE_URL}/functions/v1/company-three-factor-auth`,
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ companyName, creditNo, legalPerson }),
}
);
if (res.status === 429) {
const err = await res.json();
throw new Error(`配额已用尽:${err.message ?? res.statusText}`);
}
if (res.status === 402) {
const err = await res.();
();
}
(!res.) ();
json = res.();
(!json. || json. !== ) {
();
}
json.;
}
注意事项
- 密钥安全:
INTEGRATIONS_API_KEY 仅可在 Edge Function 服务端读取,严禁暴露到前端。
- 错误处理:务必处理 429(配额超限)和 402(余额不足)两种错误状态码。
- 计费:每次调用按次计费,折扣价 ¥3.75 / 次(原价 ¥4.50 / 次),避免不必要的重复调用。
- 结果判断:
data.result === 0 表示三要素完全一致;其他值表示具体哪项不一致,详见 result 对照表。
- 必填参数:
companyName、creditNo、legalPerson 三个参数均为必填,任一缺失将返回 400 入参错误。
- Plugin ID:
a7c30985-2084-4205-9dbd-9d84238e0b3f
- API ID:
api-Aa2PZnjE80BL
- third_part_domain:
app-bo4w33bsdqm9-api-Aa2PZnjE80BL-gateway.appmiaoda.com