Esquemas
Los esquemas definen la estructura de los datos que desea extraer de los documentos. Cree esquemas reutilizables para garantizar una extracción coherente en varios documentos.
Objeto de esquema
Un esquema define los campos y sus tipos para la extracción.
{
"id": "sch_abc123",
"name": "invoice",
"description": "Standard invoice extraction schema",
"fields": [
{
"name": "vendor_name",
"type": "string",
"description": "Name of the vendor or supplier"
},
{
"name": "invoice_number",
"type": "string",
"description": "Invoice reference number"
},
{
"name": "date",
"type": "date",
"description": "Invoice date"
},
{
"name": "total",
"type": "number",
"description": "Total amount due"
},
{
"name": "line_items",
"type": "array",
"description": "List of line items",
"items": {
"type": "object",
"fields": [
{ "name": "description", "type": "string" },
{ "name": "quantity", "type": "number" },
{ "name": "unit_price", "type": "number" },
{ "name": "amount", "type": "number" }
]
}
}
],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}Tipos de campo
| Tipo | Descripción | Ejemplo |
|---|---|---|
| string | Valor de texto | "Acme Corp" |
| number | Valor numérico (entero o decimal) | 1500.00 |
| date | Fecha en formato ISO 8601 | "2024-01-15" |
| boolean | Verdadero o falso | true |
| array | Lista de elementos (requiere la definición de items) | ["item1", "item2"] |
| object | Objeto anidado (requiere la definición de fields) | {"key": "value"} |
POST
/v1/schemas
Cree un nuevo esquema de extracción.
Cuerpo de la solicitud
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| name | String | Sí | Nombre único para el esquema |
| description | String | No | Descripción de lo que extrae este esquema |
| fields | Array | Sí | Array de definiciones de campos |
Ejemplo
curl -X POST https://api-parse.conversiontools.io/v1/schemas \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "invoice",
"description": "Standard invoice schema",
"fields": [
{ "name": "vendor_name", "type": "string", "description": "Vendor name" },
{ "name": "total", "type": "number", "description": "Total amount" },
{ "name": "date", "type": "date", "description": "Invoice date" }
]
}'Respuesta
{
"success": true,
"schema": {
"id": "sch_abc123",
"name": "invoice",
"description": "Standard invoice schema",
"fields": [
{ "name": "vendor_name", "type": "string", "description": "Vendor name" },
{ "name": "total", "type": "number", "description": "Total amount" },
{ "name": "date", "type": "date", "description": "Invoice date" }
],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
}GET
/v1/schemas
Liste todos los esquemas de su cuenta.
Ejemplo
curl https://api-parse.conversiontools.io/v1/schemas \
-H "Authorization: Bearer YOUR_API_KEY"Respuesta
{
"success": true,
"schemas": [
{
"id": "sch_abc123",
"name": "invoice",
"description": "Standard invoice schema",
"fields": [...],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
]
}GET
/v1/schemas/:id
Recupere un único esquema por su ID.
Ejemplo
curl https://api-parse.conversiontools.io/v1/schemas/sch_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"PUT
/v1/schemas/:id
Actualice un esquema existente. Se reemplazan todos los campos.
Ejemplo
curl -X PUT https://api-parse.conversiontools.io/v1/schemas/sch_abc123 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "invoice_v2",
"description": "Updated invoice schema",
"fields": [
{ "name": "vendor_name", "type": "string", "description": "Vendor name" },
{ "name": "total", "type": "number", "description": "Total amount" },
{ "name": "date", "type": "date", "description": "Invoice date" },
{ "name": "currency", "type": "string", "description": "Currency code" }
]
}'DELETE
/v1/schemas/:id
Elimine un esquema. Esta acción no se puede deshacer.
Ejemplo
curl -X DELETE https://api-parse.conversiontools.io/v1/schemas/sch_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"Respuesta
{
"success": true,
"message": "Schema deleted"
}