Schémas
Les schémas définissent la structure des données que vous souhaitez extraire des documents. Créez des schémas réutilisables pour garantir une extraction cohérente sur plusieurs documents.
Objet schéma
Un schéma définit les champs et leurs types pour l’extraction.
{
"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"
}Types de champ
| Type | Description | Exemple |
|---|---|---|
| string | Valeur textuelle | "Acme Corp" |
| number | Valeur numérique (entier ou décimal) | 1500.00 |
| date | Date au format ISO 8601 | "2024-01-15" |
| boolean | Vrai ou faux | true |
| array | Liste d’éléments (nécessite la définition de items) | ["item1", "item2"] |
| object | Objet imbriqué (nécessite la définition de fields) | {"key": "value"} |
POST
/v1/schemas
Créez un nouveau schéma d’extraction.
Corps de la requête
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| name | String | Oui | Nom unique pour le schéma |
| description | String | Non | Description de ce que ce schéma extrait |
| fields | Array | Oui | Tableau de définitions de champs |
Exemple
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" }
]
}'Réponse
{
"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
Listez tous les schémas de votre compte.
Exemple
curl https://api-parse.conversiontools.io/v1/schemas \
-H "Authorization: Bearer YOUR_API_KEY"Réponse
{
"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
Récupérez un seul schéma par son ID.
Exemple
curl https://api-parse.conversiontools.io/v1/schemas/sch_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"PUT
/v1/schemas/:id
Mettez à jour un schéma existant. Tous les champs sont remplacés.
Exemple
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
Supprimez un schéma. Cette action est irréversible.
Exemple
curl -X DELETE https://api-parse.conversiontools.io/v1/schemas/sch_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"Réponse
{
"success": true,
"message": "Schema deleted"
}