Zum Hauptinhalt springen

Dokument analysieren API

Was dieser Endpunkt bewirkt

PDF4me Dokument analysieren Führt Ihre gespeicherte Parse-Vorlage gegen eine PDF und gibt die extrahierten Felder zurück als JSON in einem einzigen REST Anruf. Senden Sie die PDF als Base64, Die TemplateId vom Dashboard und einem vom Kunden generierten ParseIdund erhalten eine strukturierte Antwort, die anhand der in der Vorlage definierten Namen indiziert ist. Die Vorlage enthält die Extraktionslogik (Regex-Ausdruck für stabile Muster, JavaScript Ausdruck für bedingte Regeln), sodass dieser Aufruf Rechnungen, Verträge, Quittungen und alle von Ihnen konfigurierten benutzerdefinierten Dokumentlayouts extrahiert.

Verwandte Blog-Beiträge
Zu dieser Funktion gibt es noch keinen Blogbeitrag – folgt in Kürze.
Schauen Sie sich in der Zwischenzeit im PDF4me-Blog Tutorials und Arbeitsabläufe für alle Plattformen an.
Besuchen Sie den Blog

Bevor Sie diesen Endpunkt aufrufen: Erstellen Sie eine Parse-Vorlage im PDF4me Dashboard. Siehe Parse-Informationen für Dokument vorbereiten Für eine vollständige Einrichtungsanleitung, Beispiele für reguläre Ausdrücke (INV-\d{6,10} für Rechnungsnummern, \d{2}/\d{2}/\d{4} für Termine) und zwei arbeiten JavaScript Beispiele für Ausdrucksklassifikatoren.

Authentifizierung Ihres API Anfrage

Jeder PDF4me REST Der Anruf muss Ihre API Schlüssel im Authorization Header. Erstellen oder wählen Sie einen Schlüssel im Entwickler-Dashboard aus und verwalten Sie ihn serverseitig. Geben Sie ihn niemals im Browsercode preis.

Wichtige Fakten, die Sie nicht verpassen sollten

Die Mindestnutzlast beträgt drei Felder, nicht fünf.
Nur docContent, docName, Und asynchron sind erforderlich. TemplateId, TemplateName, Und ParseId sind optional und werden nur benötigt, wenn die Antwort anhand Ihrer benutzerdefinierten Erfassungsfelder kodiert werden soll. Ohne sie API Gibt weiterhin nützliche Standardfelder zurück, wie zum Beispiel Dokumenttyp Und SeitenanzahlDie
Die Antwort lautet: JSON, nicht binär
Das Parse-Dokument gibt Folgendes zurück application/json mit einem Feld pro Erfassungsschlüssel in Ihrer Vorlage plus Standardfeldern. Dies unterscheidet sich von den Endpunkten „Schützen“, „Komprimieren“ und „Konvertieren“, die rohe Binärdaten zurückgeben. PDFs. Parse Document gibt immer zurück JSON weil es strukturierte Daten und keine Datei zurückgibt.
Verwenden Sie in der Produktion die TemplateId, nicht den TemplateNamen.
TemplateId ist ein stabiler GUID Die TemplateId wird beim Speichern der Änderungen im Dashboard zugewiesen und bleibt während der gesamten Lebensdauer der Vorlage unverändert. TemplateName dient als Alternative zur Namensauflösung, funktioniert aber nicht mehr, wenn Sie die Vorlage umbenennen. Kopieren Sie daher immer die TemplateId aus dem Detailbereich der Vorlage und fixieren Sie sie in Ihrem Code.

REST API Endpunkt

Verfahren: POST
URL: https://api.pdf4me.com/api/v2/ParseDocument

Schicken Content-Type: application/json und ein Genehmigung Kopfzeile mit Ihrem API Schlüssel. Satz asynchron Zu FALSCH für eine synchrone Antwort (HTTP 200 mit analysiert JSON), oder WAHR um zu erhalten HTTP 202 plus a Standort Der Header wird so lange abgefragt, bis er den Statuscode 200 mit dem geparsten Wert zurückgibt. JSONDie

Postman-Anfrage einrichten

EinstellungWert
MethodPOST
URLhttps://api.pdf4me.com/api/v2/ParseDocument
HeadersContent-Type: application/json
AuthorizationBasic Auth with your API key, or header Authorization: Basic YOUR_API_KEY
Bodyraw 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.

Parameter

Immer erforderlich: docContent, docName, asynchronDie Bedingte Extraktion (vorlagenbasierte Extraktion): TemplateId (empfohlen) oder TemplateName plus ParseIdOhne diese API Es werden weiterhin nützliche Standardfelder (Dokumenttyp, Seitenanzahl) zurückgegeben, jedoch keine benutzerdefinierten Werte.

ParameterErforderlichTypWas es tutBeispiel
docContentYesBase64 StringThe source PDF file encoded as Base64 (no data: prefix). Read the file as bytes and run it through your language's Base64 encoder.JVBERi0xLjQK...
docNameYesStringFilename of the source PDF including .pdf extension. Used for tracking and error messages.invoice.pdf
asyncYesBooleanProcessing 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
TemplateIdConditionalString (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
TemplateNameConditionalStringTemplate 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
ParseIdConditionalString (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

Beispiele anfordern

Beispiel A: Minimale Nutzlast (ohne Vorlage)

Der kleinste Anruf API Akzeptiert. Gibt Standardfelder (Dokumenttyp, Seitenanzahl) zurück, jedoch keine benutzerdefinierten Werte, da keine Vorlage referenziert wird.

{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"async": true
}

Beispiel B: Vorlagenbasierte Extraktion (Produktionsmuster)

Die empfohlene Produktionsnutzlast. Gibt ein Feld pro in Ihrer Vorlage definiertem Erfassungsschlüssel sowie Standardfelder zurück.

{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}

Beispiel C: Vorlagensuche anhand des Namens

Alternative zum Nachschlagen, wenn keine TemplateId verfügbar ist. In der Produktionsumgebung vermeiden, da das Umbenennen der Vorlage diesen Aufruf unterbricht.

{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateName": "invoice_template",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}

Erfolgreiche Antwort (Synchronisation, async: false)

HTTP 200 mit dem analysierten JSONJeder Erfassungsschlüssel aus Ihrer Vorlage wird zu einem Feld. Standardfelder (documentType, pageCount) werden immer zurückgegeben.

{
"parsedData": {
"invoiceNumber": "INV-2024-001",
"invoiceDate": "15/01/2024",
"totalAmount": "$1,250.50",
"customerName": "Acme Corporation"
},
"documentType": "invoice",
"pageCount": 1
}

Erfolgreiche Antwort (asynchron, async: true)

HTTP 202 mit einem Location Überschrift. Frage das URL mit GET (derselbe Autorisierungsheader), bis Sie erhalten HTTP 200 mit dem analysierten JSONDie

HTTP/1.1 202 Accepted
Location: https://api.pdf4me.com/api/v2/ParseDocumentStatus/<job-id>

Beispiel für curl

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
}'

Vorlageneinrichtung

Die Parse-Vorlage enthält die gesamte Extraktionslogik. Konfigurieren Sie sie einmalig im Dashboard und rufen Sie sie dann auf. TemplateId von überall aus.

Regex-AusdruckStabile Muster
Rechnungsnummern (INV-\d{6,10}), Daten (\d{2}/\d{2}/\d{4}), Beträge ($?\d{1,3}(?:,\d{3})*(?:.\d{2})?), Steueridentifikationsnummern, Postleitzahlen. Werden für etwa 80 % der Produktionsschlüssel verwendet.
JavaScript-AusdruckBedingte Logik und Klassifikatoren
Multi-Marker-Klassifizierung, Fallback-Regeln, Dokumenttyperkennung. Der extrahierte Text wird als Variable übergeben. TextIhre Funktion gibt einen String zurück. Siehe Parse-Informationen für Dokument vorbereiten für zwei funktionierende Klassifikatorbeispiele (functionFormatTextDate1 und functionGetInvoiceOrder).

Codebeispiele

Vorgefertigte Beispiele, die ein PDF, kodieren Sie es als Base64, POST Zu /api/v2/ParseDocumentund die synchrone/asynchrone Antwort verarbeiten.

Integrationsbeispiele

Gängige REST-IntegrationsmusterTypical ways developers call Parse Document.
Rechnungseingang an Buchhaltungsdatenbank
  1. Ein Beobachter wählt einen neuen Verkäufer aus PDFs aus einem E-Mail-Posteingang oder einem Cloud-Ordner.
  2. Ihr Service liest jeden einzelnen. PDF als Bytes und kodiert es als Base64Die
  3. POST Zu /api/v2/ParseDocument mit der Rechnungsvorlage-ID und einer neuen Parse-ID.
  4. Ordnen Sie die zurückgegebenen Daten zu. Rechnungsnummer, Gesamtbetrag, Und Rechnungsdatum direkt in eine Datenbank INSERTDie
Klassifizierung und Extraktion gemischter Dokumente
  1. A JavaScript Der Ausdrucksschlüssel in der Vorlage gibt den Dokumenttyp (Rechnung, Bestellung, Zahlungsbedingungen) zurück.
  2. POST gibt den Typ zusammen mit den per regulärem Ausdruck extrahierten Feldern in einem JSON Antwort.
  3. Ihr Code verzweigt sich beim Feld „Typ“ und leitet die strukturierten Daten an das richtige nachgelagerte System weiter.
Batch-asynchrone Verarbeitung großer Datenmengen PDFs
  1. Für Dateien, die einige Megabyte überschreiten, POST mit async: trueDie
  2. Lesen Sie die Standort Header der 202-Antwort.
  3. Befragen Sie die URL mit GET alle 10 Sekunden (die Python Das Beispiel verwendet maximal 15 Wiederholungsversuche.
  4. Wenn der Antwortstatus 200 lautet, analysieren Sie die JSON und die nachgelagerte Verarbeitung fortsetzen.

Häufig gestellte Fragen

What is the minimum payload required by the Parse Document REST API?+
Three fields: docContent (the PDF as Base64), docName (filename with .pdf), and async (boolean for sync vs polling). TemplateId, TemplateName, and ParseId are optional. Without a template the API returns default information (documentType, pageCount) but no custom-keyed values.
Should I use TemplateId or TemplateName?+
Use TemplateId in production. It is a stable GUID generated by the dashboard at Save Changes and never changes for the life of the template. TemplateName works as a lookup alternative but breaks if you rename the template. Always pin TemplateId in your code.
What is ParseId and where does it come from?+
ParseId is a client-generated GUID you create per call: uuid.uuid4 in Python, Guid.NewGuid in C#, UUID.randomUUID in Java. Pass it in the request body for logging and audit trail correlation. The API does not validate it against a registry, so any valid GUID works.
Is the response JSON or binary?+
JSON. The response body is application/json containing one field per capture key in your template plus default fields such as documentType and pageCount. This is different from Protect, Compress, and Convert endpoints which return raw binary PDFs.
How does async work for large or batch PDFs?+
Set async to true. The API responds with 202 Accepted plus a Location header containing a poll URL. GET that URL with the same Authorization header. While the document is still processing the poll URL returns 202; when finished it returns 200 with the parsed JSON. Use async true for files over a few MB or when processing in batches.
How is this different from regex parsing in Python with pdfplumber?+
Python libraries like pdfplumber, PyMuPDF, and pdfminer give you raw text extraction primitives and you write the matching logic in your application code. PDF4me Parse Document uses templates you configure once in a hosted dashboard, then calls run that template from any language or platform. The matching logic lives in the template, not your code, which keeps it consistent across systems.
Where do I learn the Regex Expression and JavaScript Expression syntax?+
See the full Prepare Parse Info for Document setup guide. It covers Regex patterns for invoice numbers, dates, and amounts, and includes two working JavaScript Expression classifier samples (functionFormatTextDate1 for Terms and Conditions vs Order classification, functionGetInvoiceOrder for invoice vs order detection).
Can I run the same template from Make, Zapier, Power Automate, or n8n?+
Yes. The TemplateId is the same across all platforms. The Make, Zapier, Power Automate, and n8n PDF4me modules call this same endpoint under the hood. Build and test the template once in the dashboard, then reference its TemplateId from any platform.

Ähnliche Aktionen

Dieselbe Aufgabe auf anderen Plattformen

Hilfe erhalten