Analizza il documento API
Cosa fa questo endpoint
PDF4me Analizza il documento esegue il tuo modello di analisi salvato rispetto a PDF e restituisce i campi estratti come JSON in un singolo REST chiamata. Invia il PDF COME Base64, IL TemplateId dalla dashboard e da un client generato ParseIde ricevere una risposta strutturata indicizzata dai nomi definiti nel modello. Il modello contiene la logica di estrazione (Espressione regolare per modelli stabili, JavaScript Espressione per le regole condizionali), quindi questa stessa chiamata estrae fatture, contratti, ricevute e qualsiasi layout di documento personalizzato che hai configurato.
Prima di chiamare questo endpoint: creare un modello di analisi nel PDF4me dashboard. Vedi Prepara le informazioni di analisi per il documento per la procedura di configurazione completa, esempi di espressioni Regex (INV-\d{6,10} per i numeri di fattura, \d{2}/\d{2}/\d{4} per le date) e due lavori JavaScript Esempi di classificatori di espressioni.
Autenticazione del tuo API Richiesta
Ogni PDF4me REST la chiamata deve includere il tuo API chiave nel Authorization Intestazione. Crea o seleziona una chiave dalla dashboard per sviluppatori e mantienila lato server. Non esporla mai nel codice del browser.
Informazioni importanti da non perdere
docContent, docName, E asincrono sono obbligatori. TemplateId, TemplateName, E ParseId sono facoltativi e necessari solo quando si desidera che la risposta sia indicizzata dai campi di acquisizione personalizzati. Senza di essi API restituisce ancora campi predefiniti utili come tipo di documento E Conteggio pagine.applicazione/json con un campo per ogni chiave di acquisizione nel tuo modello più i campi predefiniti. Questo è diverso dagli endpoint Protect, Compress e Convert che restituiscono dati binari non elaborati. PDFs. Analizza documento restituisce sempre JSON perché restituisce dati strutturati, non un file.REST API endpoint
Metodo: INVIARE
URL: https://api.pdf4me.com/api/v2/ParseDocument
Inviare Content-Type: application/json e un Autorizzazione intestazione con il tuo API chiave. Imposta asincrono A falso per una risposta sincrona (HTTP 200 con analisi JSON), O VERO ricevere HTTP 202 più un Posizione intestazione che viene interrogata fino a quando non restituisce 200 con l'analisi JSON.
configurazione della richiesta Postman
| Collocamento | Valore |
|---|---|
| Method | POST |
| URL | https://api.pdf4me.com/api/v2/ParseDocument |
| Headers | Content-Type: application/json |
| Authorization | Basic Auth with your API key, or header Authorization: Basic YOUR_API_KEY |
| Body | raw JSON with docContent, docName, async (and optional TemplateId, TemplateName, ParseId) |
| Response (sync) | When async is false: HTTP 200 with parsed JSON containing one field per template key plus default fields such as documentType and pageCount. |
| Response (async) | When async is true: HTTP 202 with a Location header. GET that URL until you receive 200 with the parsed JSON. Useful for large PDFs or batch processing. |
Parametri
Sempre richiesto: docContent, docName, asincrono. Condizionale (estrazione basata su modello): TemplateId (consigliato) o TemplateName altro ParseId. Senza questi il API Restituisce comunque campi predefiniti utili (documentType, pageCount) ma nessun valore con chiave personalizzata.
| Parametro | Necessario | Tipo | Cosa fa | Esempio |
|---|---|---|---|---|
docContent | Yes | Base64 String | The source PDF file encoded as Base64 (no data: prefix). Read the file as bytes and run it through your language's Base64 encoder. | JVBERi0xLjQK... |
docName | Yes | String | Filename of the source PDF including .pdf extension. Used for tracking and error messages. | invoice.pdf |
async | Yes | Boolean | Processing mode. false returns parsed JSON immediately with HTTP 200. true returns HTTP 202 plus a Location header that you poll until it returns 200 with the parsed JSON. Use true for large PDFs or batch processing. | true |
TemplateId | Conditional | String (GUID) | GUID of the saved parse template. Recommended over TemplateName for stable production automation. Get it from the template detail panel after Save Changes in the dashboard. | 12345678-1234-1234-1234-123456789abc |
TemplateName | Conditional | String | Template name as typed in the dashboard. Lookup alternative to TemplateId. Renaming the template breaks calls that reference it by name, so prefer TemplateId in production. | invoice_template |
ParseId | Conditional | String (GUID) | Client-generated GUID per call. Used to correlate the request with the parse output for logging and audit trails. Generate with uuid.uuid4 (Python), Guid.NewGuid (C#), UUID.randomUUID (Java). | 87654321-4321-4321-4321-cba987654321 |
Esempi di richieste
Esempio A: Carico utile minimo (nessun modello)
Il più piccolo chiama il API Accetta. Restituisce i campi predefiniti (documentType, pageCount) ma nessun valore con chiave personalizzata perché non viene fatto riferimento ad alcun modello.
{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"async": true
}
Esempio B: Estrazione basata su modelli (modello di produzione)
Il payload di produzione consigliato. Restituisce un campo per ogni chiave di acquisizione definita nel modello, oltre ai campi predefiniti.
{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}
Esempio C: Ricerca del modello per nome
Ricerca alternativa quando non si ha a disposizione un TemplateId. Da evitare in produzione perché la ridenominazione del template interrompe questa chiamata.
{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateName": "invoice_template",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}
Risposta positiva (sincronizzazione, async: false)
HTTP 200 con l'analisi JSON. Ogni chiave di acquisizione dal tuo modello diventa un campo. Campi predefiniti (documentType, pageCount) vengono sempre restituiti.
{
"parsedData": {
"invoiceNumber": "INV-2024-001",
"invoiceDate": "15/01/2024",
"totalAmount": "$1,250.50",
"customerName": "Acme Corporation"
},
"documentType": "invoice",
"pageCount": 1
}
Risposta positiva (asincrona, async: true)
HTTP 202 con un Location intestazione. Sondaggio su URL con GET (stessa intestazione di autorizzazione) fino a quando non ricevi HTTP 200 con l'analisi JSON.
HTTP/1.1 202 Accepted
Location: https://api.pdf4me.com/api/v2/ParseDocumentStatus/<job-id>
esempio di riccio
curl -X POST https://api.pdf4me.com/api/v2/ParseDocument \
-H "Content-Type: application/json" \
-H "Authorization: Basic YOUR_API_KEY" \
-d '{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}'
Impostazione del modello
Il modello di analisi contiene tutta la logica di estrazione. Configuralo una volta nella dashboard, quindi chiamalo tramite TemplateId da qualsiasi luogo.
Espressione regolareModelli stabiliINV-\d{6,10}), date (\d{2}/\d{2}/\d{4}), importi ($?\d{1,3}(?:,\d{3})*(?:.\d{2})?), codici fiscali, codici postali. Utilizzati per circa l'80% delle chiavi di produzione.Espressione JavaScriptLogica condizionale e classificatoritesto; la tua funzione restituisce una stringa. Vedi Prepara le informazioni di analisi per il documento per due esempi di classificatori funzionanti (functionFormatTextDate1 e functionGetInvoiceOrder).Esempi di codice
Esempi predefiniti che caricano un PDF, codificalo come Base64, POST A /api/v2/ParseDocumente gestire la risposta sincrona/asincrona.
Esempi di integrazione
Modelli comuni di integrazione RESTTypical ways developers call Parse Document.
- Un osservatore individua un nuovo venditore PDFs da una casella di posta elettronica o da una cartella cloud.
- Il tuo servizio legge ogni PDF come byte e lo codifica come Base64.
- POST A
/api/v2/ParseDocumentcon il TemplateId della fattura e un nuovo ParseId. - Mappare il risultato
Numero fattura,importo totale, Edata fatturadirettamente in un database INSERT.
- UN JavaScript La chiave di espressione nel modello restituisce il tipo di documento (fattura, ordine, condizioni).
- POST restituisce il tipo insieme ai campi estratti tramite regex in un JSON risposta.
- Il tuo codice si dirama in base al campo tipo e instrada i dati strutturati al sistema a valle corretto.
- Per i file di dimensioni superiori a pochi MB, POST con
asincrono: vero. - Leggi il
Posizioneintestazione dalla risposta 202. - Sondare il URL con GET ogni 10 secondi (il Python Il campione utilizza un massimo di 15 tentativi.
- Quando lo stato della risposta è 200, analizza il JSON corpo e continuare l'elaborazione a valle.