Uraikan Dokumen API
Fungsi dari endpoint ini
PDF4me Uraikan Dokumen menjalankan templat parse yang Anda simpan terhadap PDF dan mengembalikan bidang yang diekstrak sebagai JSON dalam satu REST Telepon. Kirim PDF sebagai Base64, itu ID Templat dari dasbor, dan yang dihasilkan oleh klien. ParseId, dan menerima respons terstruktur yang dikunci berdasarkan nama yang Anda definisikan dalam templat. Templat tersebut memuat logika ekstraksi (Ekspresi Regex untuk pola yang stabil, JavaScript Ekspresi (untuk aturan bersyarat), jadi panggilan yang sama ini mengekstrak faktur, kontrak, tanda terima, dan tata letak dokumen khusus apa pun yang telah Anda konfigurasi.
Sebelum Anda memanggil endpoint ini: buat templat parse di PDF4me Dasbor. Lihat Siapkan Informasi Penguraian untuk Dokumen untuk panduan pengaturan lengkap, contoh Ekspresi Regex (INV-\d{6,10} untuk nomor faktur, \d{2}/\d{2}/\d{4} (untuk tanggal), dan dua orang yang bekerja JavaScript Contoh pengklasifikasi ekspresi.
Memverifikasi Identitas Anda API Meminta
Setiap PDF4me REST panggilan harus menyertakan Anda API kunci di Authorization header. Buat atau pilih kunci dari dasbor pengembang dan simpan di sisi server. Jangan pernah mengeksposnya dalam kode browser.
Fakta Penting yang Tidak Boleh Anda Lewatkan
Konten dokumen, Nama dokumen, Dan asinkron diperlukan. ID Templat, Nama Templat, Dan ParseId bersifat opsional dan hanya diperlukan jika Anda ingin respons dikunci berdasarkan kolom tangkapan kustom Anda. Tanpa kolom tersebut, API tetap mengembalikan kolom default yang berguna seperti Jenis dokumen Dan Jumlah halaman.aplikasi/json dengan satu field per kunci pengambilan data di template Anda ditambah field default. Ini berbeda dari endpoint Protect, Compress, dan Convert yang mengembalikan data biner mentah. PDFs. Parse Document selalu mengembalikan JSON karena mengembalikan data terstruktur, bukan file.REST API titik akhir
Metode: POS
URL: https://api.pdf4me.com/api/v2/ParseDocument
Mengirim Content-Type: application/json dan sebuah Otorisasi header dengan milik Anda API kunci. Atur asinkron ke PALSU untuk respons sinkron (HTTP 200 dengan diuraikan JSON), atau BENAR untuk menerima HTTP 202 ditambah a Lokasi header yang Anda periksa terus-menerus hingga mengembalikan kode 200 dengan data yang telah diuraikan. JSON.
Pengaturan permintaan Postman
| Pengaturan | Nilai |
|---|---|
| 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
Selalu diperlukan: Konten dokumen, Nama dokumen, asinkron. Bersyarat (ekstraksi berbasis templat): ID Templat (disarankan) atau Nama Templat ditambah ParseIdTanpa ini, API masih mengembalikan kolom default yang berguna (documentType, pageCount) tetapi tidak ada nilai dengan kunci khusus.
| Parameter | Diperlukan | Jenis | Apa fungsinya? | Contoh |
|---|---|---|---|---|
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 |
Minta contoh
Contoh A: Muatan minimum (tanpa templat)
Panggilan terkecil API Menerima. Mengembalikan bidang default (documentType, pageCount) tetapi tidak ada nilai kunci khusus karena tidak ada templat yang dirujuk.
{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"async": true
}
Contoh B: Ekstraksi berbasis templat (pola produksi)
Payload produksi yang direkomendasikan. Mengembalikan satu field per kunci pengambilan data yang ditentukan dalam template Anda ditambah field default.
{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}
Contoh C: Pencarian templat berdasarkan nama
Alternatif pencarian saat Anda tidak memiliki TemplateId. Hindari penggunaan di lingkungan produksi karena penggantian nama templat akan merusak panggilan ini.
{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateName": "invoice_template",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}
Respons berhasil (sinkronisasi, async: false)
HTTP 200 dengan yang diuraikan JSONSetiap kunci tangkapan dari templat Anda menjadi sebuah field. Field default (documentType, pageCount) selalu dikembalikan.
{
"parsedData": {
"invoiceNumber": "INV-2024-001",
"invoiceDate": "15/01/2024",
"totalAmount": "$1,250.50",
"customerName": "Acme Corporation"
},
"documentType": "invoice",
"pageCount": 1
}
Respons berhasil (asinkron, async: true)
HTTP 202 dengan sebuah Location Judul. Lakukan jajak pendapat tentang itu. URL dengan GET (header Otorisasi yang sama) hingga Anda menerima HTTP 200 dengan yang diuraikan JSON.
HTTP/1.1 202 Accepted
Location: https://api.pdf4me.com/api/v2/ParseDocumentStatus/<job-id>
contoh 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
}'
Pengaturan templat
Template parse berisi semua logika ekstraksi. Konfigurasikan sekali di dasbor, lalu panggil dengan TemplateId dari mana saja.
Ekspresi RegexPola yang stabilINV-\d{6,10}), tanggal (\d{2}/\d{2}/\d{4}), jumlah ($?\d{1,3}(?:,\d{3})*(?:.\d{2})?), nomor identifikasi pajak, kode pos. Digunakan untuk sekitar 80% kunci produksi.Ekspresi JavaScriptLogika kondisional dan pengklasifikasiteksFungsi Anda mengembalikan string. Lihat Siapkan Informasi Penguraian untuk Dokumen untuk dua contoh pengklasifikasi yang berfungsi (functionFormatTextDate1 dan functionGetInvoiceOrder).Contoh kode
Sampel yang sudah jadi yang memuat PDF, mengkodekannya sebagai Base64, POST ke /api/v2/ParseDocumentdan menangani respons sinkron/asinkron.
Contoh integrasi
Pola integrasi REST umumTypical ways developers call Parse Document.
- Seorang pengamat menemukan vendor baru. PDFs dari kotak masuk email atau folder cloud.
- Layanan Anda membaca setiap PDF sebagai byte dan mengkodekannya sebagai Base64.
- POST ke
/api/v2/ParseDocumentdengan TemplateId faktur dan ParseId baru. - Petakan yang dikembalikan
Nomor faktur,Jumlah total, DanTanggal fakturlangsung ke dalam basis data INSERT.
- A JavaScript Kunci ekspresi dalam templat mengembalikan tipe dokumen (faktur, pesanan, syarat pembayaran).
- POST mengembalikan tipe beserta kolom yang diekstrak menggunakan regex dalam satu tampilan. JSON tanggapan.
- Kode Anda bercabang berdasarkan bidang tipe dan mengarahkan data terstruktur ke sistem hilir yang tepat.
- Untuk file yang berukuran lebih dari beberapa MB, POST dengan
asinkron: benar. - Bacalah
LokasiHeader dari respons 202. - Jajak pendapat URL dengan GET setiap 10 detik (itu Python Contoh ini menggunakan maksimal 15 kali percobaan ulang.
- Ketika status responsnya adalah 200, uraikan JSON tubuh dan melanjutkan pemrosesan hilir.