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.
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
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 SeitenanzahlDieapplication/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.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
| Einstellung | Wert |
|---|---|
| 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. |
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.
| Parameter | Erforderlich | Typ | Was es tut | Beispiel |
|---|---|---|---|---|
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 |
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 MusterINV-\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 KlassifikatorenTextIhre 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.
- Ein Beobachter wählt einen neuen Verkäufer aus PDFs aus einem E-Mail-Posteingang oder einem Cloud-Ordner.
- Ihr Service liest jeden einzelnen. PDF als Bytes und kodiert es als Base64Die
- POST Zu
/api/v2/ParseDocumentmit der Rechnungsvorlage-ID und einer neuen Parse-ID. - Ordnen Sie die zurückgegebenen Daten zu.
Rechnungsnummer,Gesamtbetrag, UndRechnungsdatumdirekt in eine Datenbank INSERTDie
- A JavaScript Der Ausdrucksschlüssel in der Vorlage gibt den Dokumenttyp (Rechnung, Bestellung, Zahlungsbedingungen) zurück.
- POST gibt den Typ zusammen mit den per regulärem Ausdruck extrahierten Feldern in einem JSON Antwort.
- Ihr Code verzweigt sich beim Feld „Typ“ und leitet die strukturierten Daten an das richtige nachgelagerte System weiter.
- Für Dateien, die einige Megabyte überschreiten, POST mit
async: trueDie - Lesen Sie die
StandortHeader der 202-Antwort. - Befragen Sie die URL mit GET alle 10 Sekunden (die Python Das Beispiel verwendet maximal 15 Wiederholungsversuche.
- Wenn der Antwortstatus 200 lautet, analysieren Sie die JSON und die nachgelagerte Verarbeitung fortsetzen.