cURL
curl --request POST \
--url https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"ai_function": 1425,
"app_name": "高速版发票抽取应用",
"app_label": [
"invoice",
"high-speed"
],
"extract_fields": [
{
"field_key": "invoice_no",
"field_name": "发票号码",
"field_type": "string",
"field_prompt": "抽取发票上的唯一发票号码。"
},
{
"field_key": "invoice_date",
"field_name": "开票日期",
"field_type": "date",
"field_prompt": "抽取发票开具日期。"
},
{
"field_key": "line_items",
"field_name": "明细",
"field_type": "table",
"sub_fields": [
{
"field_key": "item_name",
"field_name": "商品名称",
"field_type": "string"
},
{
"field_key": "item_date",
"field_name": "日期",
"field_type": "date"
}
]
}
],
"enable_field_value_translation": false
}
'const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ai_function: 1425,
app_name: '高速版发票抽取应用',
app_label: ['invoice', 'high-speed'],
extract_fields: [
{
field_key: 'invoice_no',
field_name: '发票号码',
field_type: 'string',
field_prompt: '抽取发票上的唯一发票号码。'
},
{
field_key: 'invoice_date',
field_name: '开票日期',
field_type: 'date',
field_prompt: '抽取发票开具日期。'
},
{
field_key: 'line_items',
field_name: '明细',
field_type: 'table',
sub_fields: [
{field_key: 'item_name', field_name: '商品名称', field_type: 'string'},
{field_key: 'item_date', field_name: '日期', field_type: 'date'}
]
}
],
enable_field_value_translation: false
})
};
fetch('https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
response = requests.post(
"https://adp.laiye.com/open/agentic_doc_processor/laiye/v1/app-manage/create",
headers={"X-API-KEY": "YOUR_API_KEY"},
json={
"ai_function": 1406,
"app_name": "采购单抽取应用",
"extract_fields": [
{"field_name": "订单号", "field_type": "string"}
],
"parse_mode": "standard",
},
timeout=60,
)
response.raise_for_status()
result = response.json()
if result.get("code") not in ("success", 200, "200"):
raise RuntimeError(result.get("message") or result.get("code"))
HttpResponse<String> response = Unirest.post("https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ai_function\": 1425,\n \"app_name\": \"高速版发票抽取应用\",\n \"app_label\": [\n \"invoice\",\n \"high-speed\"\n ],\n \"extract_fields\": [\n {\n \"field_key\": \"invoice_no\",\n \"field_name\": \"发票号码\",\n \"field_type\": \"string\",\n \"field_prompt\": \"抽取发票上的唯一发票号码。\"\n },\n {\n \"field_key\": \"invoice_date\",\n \"field_name\": \"开票日期\",\n \"field_type\": \"date\",\n \"field_prompt\": \"抽取发票开具日期。\"\n },\n {\n \"field_key\": \"line_items\",\n \"field_name\": \"明细\",\n \"field_type\": \"table\",\n \"sub_fields\": [\n {\n \"field_key\": \"item_name\",\n \"field_name\": \"商品名称\",\n \"field_type\": \"string\"\n },\n {\n \"field_key\": \"item_date\",\n \"field_name\": \"日期\",\n \"field_type\": \"date\"\n }\n ]\n }\n ],\n \"enable_field_value_translation\": false\n}")
.asString();const url = 'https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create';
const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ai_function: 1425,
app_name: '高速版发票抽取应用',
app_label: ['invoice', 'high-speed'],
extract_fields: [
{
field_key: 'invoice_no',
field_name: '发票号码',
field_type: 'string',
field_prompt: '抽取发票上的唯一发票号码。'
},
{
field_key: 'invoice_date',
field_name: '开票日期',
field_type: 'date',
field_prompt: '抽取发票开具日期。'
},
{
field_key: 'line_items',
field_name: '明细',
field_type: 'table',
sub_fields: [
{field_key: 'item_name', field_name: '商品名称', field_type: 'string'},
{field_key: 'item_date', field_name: '日期', field_type: 'date'}
]
}
],
enable_field_value_translation: false
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create"
payload := strings.NewReader("{\n \"ai_function\": 1425,\n \"app_name\": \"高速版发票抽取应用\",\n \"app_label\": [\n \"invoice\",\n \"high-speed\"\n ],\n \"extract_fields\": [\n {\n \"field_key\": \"invoice_no\",\n \"field_name\": \"发票号码\",\n \"field_type\": \"string\",\n \"field_prompt\": \"抽取发票上的唯一发票号码。\"\n },\n {\n \"field_key\": \"invoice_date\",\n \"field_name\": \"开票日期\",\n \"field_type\": \"date\",\n \"field_prompt\": \"抽取发票开具日期。\"\n },\n {\n \"field_key\": \"line_items\",\n \"field_name\": \"明细\",\n \"field_type\": \"table\",\n \"sub_fields\": [\n {\n \"field_key\": \"item_name\",\n \"field_name\": \"商品名称\",\n \"field_type\": \"string\"\n },\n {\n \"field_key\": \"item_date\",\n \"field_name\": \"日期\",\n \"field_type\": \"date\"\n }\n ]\n }\n ],\n \"enable_field_value_translation\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}using RestSharp;
var options = new RestClientOptions("https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-API-KEY", "<api-key>");
request.AddJsonBody("{\n \"ai_function\": 1425,\n \"app_name\": \"高速版发票抽取应用\",\n \"app_label\": [\n \"invoice\",\n \"high-speed\"\n ],\n \"extract_fields\": [\n {\n \"field_key\": \"invoice_no\",\n \"field_name\": \"发票号码\",\n \"field_type\": \"string\",\n \"field_prompt\": \"抽取发票上的唯一发票号码。\"\n },\n {\n \"field_key\": \"invoice_date\",\n \"field_name\": \"开票日期\",\n \"field_type\": \"date\",\n \"field_prompt\": \"抽取发票开具日期。\"\n },\n {\n \"field_key\": \"line_items\",\n \"field_name\": \"明细\",\n \"field_type\": \"table\",\n \"sub_fields\": [\n {\n \"field_key\": \"item_name\",\n \"field_name\": \"商品名称\",\n \"field_type\": \"string\"\n },\n {\n \"field_key\": \"item_date\",\n \"field_name\": \"日期\",\n \"field_type\": \"date\"\n }\n ]\n }\n ],\n \"enable_field_value_translation\": false\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ai_function' => 1425,
'app_name' => '高速版发票抽取应用',
'app_label' => [
'invoice',
'high-speed'
],
'extract_fields' => [
[
'field_key' => 'invoice_no',
'field_name' => '发票号码',
'field_type' => 'string',
'field_prompt' => '抽取发票上的唯一发票号码。'
],
[
'field_key' => 'invoice_date',
'field_name' => '开票日期',
'field_type' => 'date',
'field_prompt' => '抽取发票开具日期。'
],
[
'field_key' => 'line_items',
'field_name' => '明细',
'field_type' => 'table',
'sub_fields' => [
[
'field_key' => 'item_name',
'field_name' => '商品名称',
'field_type' => 'string'
],
[
'field_key' => 'item_date',
'field_name' => '日期',
'field_type' => 'date'
]
]
]
],
'enable_field_value_translation' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"code": "success",
"message": "",
"tips": null,
"data": {
"app_id": "app_abc123",
"app_name": "高速版发票抽取应用",
"app_label": [
"invoice",
"high-speed"
],
"config_version": "v1"
}
}应用管理
创建抽取应用
创建标准版或高速版自定义抽取应用,并设置标签、字段配置和抽取配置。标准版支持 parse_mode、显示来源位置、PDF 文本优先、印章识别等解析配置;创建高速版自定义抽取应用时,设置 ai_function 为 1425,且字段和表格子字段需要提供 field_key,不支持标准版解析配置。注意:HTTP 200 也可能表示业务失败,调用方必须同时检查响应中的业务 code。
POST
/
open
/
agentic_doc_processor
/
{tenant_name}
/
v1
/
app-manage
/
create
cURL
curl --request POST \
--url https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"ai_function": 1425,
"app_name": "高速版发票抽取应用",
"app_label": [
"invoice",
"high-speed"
],
"extract_fields": [
{
"field_key": "invoice_no",
"field_name": "发票号码",
"field_type": "string",
"field_prompt": "抽取发票上的唯一发票号码。"
},
{
"field_key": "invoice_date",
"field_name": "开票日期",
"field_type": "date",
"field_prompt": "抽取发票开具日期。"
},
{
"field_key": "line_items",
"field_name": "明细",
"field_type": "table",
"sub_fields": [
{
"field_key": "item_name",
"field_name": "商品名称",
"field_type": "string"
},
{
"field_key": "item_date",
"field_name": "日期",
"field_type": "date"
}
]
}
],
"enable_field_value_translation": false
}
'const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ai_function: 1425,
app_name: '高速版发票抽取应用',
app_label: ['invoice', 'high-speed'],
extract_fields: [
{
field_key: 'invoice_no',
field_name: '发票号码',
field_type: 'string',
field_prompt: '抽取发票上的唯一发票号码。'
},
{
field_key: 'invoice_date',
field_name: '开票日期',
field_type: 'date',
field_prompt: '抽取发票开具日期。'
},
{
field_key: 'line_items',
field_name: '明细',
field_type: 'table',
sub_fields: [
{field_key: 'item_name', field_name: '商品名称', field_type: 'string'},
{field_key: 'item_date', field_name: '日期', field_type: 'date'}
]
}
],
enable_field_value_translation: false
})
};
fetch('https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
response = requests.post(
"https://adp.laiye.com/open/agentic_doc_processor/laiye/v1/app-manage/create",
headers={"X-API-KEY": "YOUR_API_KEY"},
json={
"ai_function": 1406,
"app_name": "采购单抽取应用",
"extract_fields": [
{"field_name": "订单号", "field_type": "string"}
],
"parse_mode": "standard",
},
timeout=60,
)
response.raise_for_status()
result = response.json()
if result.get("code") not in ("success", 200, "200"):
raise RuntimeError(result.get("message") or result.get("code"))
HttpResponse<String> response = Unirest.post("https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ai_function\": 1425,\n \"app_name\": \"高速版发票抽取应用\",\n \"app_label\": [\n \"invoice\",\n \"high-speed\"\n ],\n \"extract_fields\": [\n {\n \"field_key\": \"invoice_no\",\n \"field_name\": \"发票号码\",\n \"field_type\": \"string\",\n \"field_prompt\": \"抽取发票上的唯一发票号码。\"\n },\n {\n \"field_key\": \"invoice_date\",\n \"field_name\": \"开票日期\",\n \"field_type\": \"date\",\n \"field_prompt\": \"抽取发票开具日期。\"\n },\n {\n \"field_key\": \"line_items\",\n \"field_name\": \"明细\",\n \"field_type\": \"table\",\n \"sub_fields\": [\n {\n \"field_key\": \"item_name\",\n \"field_name\": \"商品名称\",\n \"field_type\": \"string\"\n },\n {\n \"field_key\": \"item_date\",\n \"field_name\": \"日期\",\n \"field_type\": \"date\"\n }\n ]\n }\n ],\n \"enable_field_value_translation\": false\n}")
.asString();const url = 'https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create';
const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ai_function: 1425,
app_name: '高速版发票抽取应用',
app_label: ['invoice', 'high-speed'],
extract_fields: [
{
field_key: 'invoice_no',
field_name: '发票号码',
field_type: 'string',
field_prompt: '抽取发票上的唯一发票号码。'
},
{
field_key: 'invoice_date',
field_name: '开票日期',
field_type: 'date',
field_prompt: '抽取发票开具日期。'
},
{
field_key: 'line_items',
field_name: '明细',
field_type: 'table',
sub_fields: [
{field_key: 'item_name', field_name: '商品名称', field_type: 'string'},
{field_key: 'item_date', field_name: '日期', field_type: 'date'}
]
}
],
enable_field_value_translation: false
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create"
payload := strings.NewReader("{\n \"ai_function\": 1425,\n \"app_name\": \"高速版发票抽取应用\",\n \"app_label\": [\n \"invoice\",\n \"high-speed\"\n ],\n \"extract_fields\": [\n {\n \"field_key\": \"invoice_no\",\n \"field_name\": \"发票号码\",\n \"field_type\": \"string\",\n \"field_prompt\": \"抽取发票上的唯一发票号码。\"\n },\n {\n \"field_key\": \"invoice_date\",\n \"field_name\": \"开票日期\",\n \"field_type\": \"date\",\n \"field_prompt\": \"抽取发票开具日期。\"\n },\n {\n \"field_key\": \"line_items\",\n \"field_name\": \"明细\",\n \"field_type\": \"table\",\n \"sub_fields\": [\n {\n \"field_key\": \"item_name\",\n \"field_name\": \"商品名称\",\n \"field_type\": \"string\"\n },\n {\n \"field_key\": \"item_date\",\n \"field_name\": \"日期\",\n \"field_type\": \"date\"\n }\n ]\n }\n ],\n \"enable_field_value_translation\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}using RestSharp;
var options = new RestClientOptions("https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-API-KEY", "<api-key>");
request.AddJsonBody("{\n \"ai_function\": 1425,\n \"app_name\": \"高速版发票抽取应用\",\n \"app_label\": [\n \"invoice\",\n \"high-speed\"\n ],\n \"extract_fields\": [\n {\n \"field_key\": \"invoice_no\",\n \"field_name\": \"发票号码\",\n \"field_type\": \"string\",\n \"field_prompt\": \"抽取发票上的唯一发票号码。\"\n },\n {\n \"field_key\": \"invoice_date\",\n \"field_name\": \"开票日期\",\n \"field_type\": \"date\",\n \"field_prompt\": \"抽取发票开具日期。\"\n },\n {\n \"field_key\": \"line_items\",\n \"field_name\": \"明细\",\n \"field_type\": \"table\",\n \"sub_fields\": [\n {\n \"field_key\": \"item_name\",\n \"field_name\": \"商品名称\",\n \"field_type\": \"string\"\n },\n {\n \"field_key\": \"item_date\",\n \"field_name\": \"日期\",\n \"field_type\": \"date\"\n }\n ]\n }\n ],\n \"enable_field_value_translation\": false\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ai_function' => 1425,
'app_name' => '高速版发票抽取应用',
'app_label' => [
'invoice',
'high-speed'
],
'extract_fields' => [
[
'field_key' => 'invoice_no',
'field_name' => '发票号码',
'field_type' => 'string',
'field_prompt' => '抽取发票上的唯一发票号码。'
],
[
'field_key' => 'invoice_date',
'field_name' => '开票日期',
'field_type' => 'date',
'field_prompt' => '抽取发票开具日期。'
],
[
'field_key' => 'line_items',
'field_name' => '明细',
'field_type' => 'table',
'sub_fields' => [
[
'field_key' => 'item_name',
'field_name' => '商品名称',
'field_type' => 'string'
],
[
'field_key' => 'item_date',
'field_name' => '日期',
'field_type' => 'date'
]
]
]
],
'enable_field_value_translation' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"code": "success",
"message": "",
"tips": null,
"data": {
"app_id": "app_abc123",
"app_name": "高速版发票抽取应用",
"app_label": [
"invoice",
"high-speed"
],
"config_version": "v1"
}
}授权
生产环境 API Key,可在 ADP 平台的「我的 API」中查看。请确保 API Key 有效且属于生产环境。
路径参数
租户名称,默认 laiye。
请求体
application/json
- 创建高速版抽取应用
- 创建标准版自定义抽取应用
先设置 ai_function。ai_function 为 1406 时使用标准版自定义抽取应用参数;为 1425 时使用高速版自定义抽取应用参数。
应用类型。创建高速版自定义抽取应用固定传 1425。
可用选项:
1425 应用名称。
Required string length:
1 - 100高速版抽取字段配置列表,最多 50 个字段。每个字段都需要提供 field_key。
Required array length:
1 - 50 elementsShow child attributes
Show child attributes
应用标签列表,最多 5 个。
Maximum array length:
5是否开启抽取结果翻译,默认关闭。