Belgeyi Ayrıştır API
Bu uç noktanın işlevi
PDF4me Belgeyi Ayrıştır Kaydedilmiş ayrıştırma şablonunuzu bir PDF ve çıkarılan alanları şu şekilde döndürür: JSON tek bir REST Çağrı. Gönder PDF gibi Base64, o Şablon Kimliği kontrol panelinden ve müşteri tarafından oluşturulan ParseIdve şablonda tanımladığınız adlara göre yapılandırılmış bir yanıt alacaksınız. Şablon, çıkarma mantığını içerir (Düzenli İfade istikrarlı desenler için, JavaScript İfade (koşullu kurallar için), bu nedenle aynı çağrı faturaları, sözleşmeleri, makbuzları ve yapılandırdığınız tüm özel belge düzenlerini çıkarır.
Bu uç noktayı çağırmadan önce: ayrıştırma şablonu oluşturun PDF4me Kontrol paneli. Bakınız. Belge için Ayrıştırma Bilgilerini Hazırlayın Kurulum kılavuzunun tamamı için, Regex İfade örneklerine bakın (INV-\d{6,10} fatura numaraları için, \d{2}/\d{2}/\d{4} (tarihler için) ve iki çalışan JavaScript İfade sınıflandırıcı örnekleri.
Kimliğinizi Doğrulama API Rica etmek
Her PDF4me REST Çağrınızda mutlaka sizin de bulunmanız gerekiyor. API anahtara Authorization Başlık. Geliştirici kontrol panelinden bir anahtar oluşturun veya seçin ve sunucu tarafında tutun. Asla tarayıcı kodunda ifşa etmeyin.
Kaçırmamanız Gereken Önemli Bilgiler
belge içeriği, belge adı, Ve asenkron gereklidir. Şablon Kimliği, Şablon Adı, Ve ParseId Bunlar isteğe bağlıdır ve yalnızca yanıtın özel yakalama alanlarınızla anahtarlanmasını istediğinizde gereklidir. Bunlar olmadan, API yine de aşağıdakiler gibi kullanışlı varsayılan alanlar döndürür: belgeTürü Ve sayfa sayısı.uygulama/json Şablonunuzda yakalama anahtarı başına bir alan ve varsayılan alanlar bulunur. Bu, ham ikili veri döndüren Protect, Compress ve Convert uç noktalarından farklıdır. PDFs. Parse Document her zaman geri döner JSON Çünkü dosya değil, yapılandırılmış veri döndürüyor.REST API uç nokta
Yöntem: POSTALAMAK
URL: https://api.pdf4me.com/api/v2/ParseDocument
Göndermek İçerik Türü: application/json ve bir Yetkilendirme başlığınızla birlikte API Anahtar. Ayarla. asenkron ile YANLIŞ senkron bir yanıt için (HTTP 200 ayrıştırılmış JSON), veya doğru almak için HTTP 202 artı bir Konum Başlığı, ayrıştırılmış değerle 200 değerini döndürene kadar yoklarsınız. JSON.
Postman isteği kurulumu
| Ayar | Değer |
|---|---|
| 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. |
Parametreler
Her zaman gerekli: belge içeriği, belge adı, asenkron. Koşullu (şablon tabanlı çıkarma): Şablon Kimliği (önerilen) veya Şablon Adı artı ParseIdBunlar olmadan API Yine de kullanışlı varsayılan alanları (documentType, pageCount) döndürüyor ancak özel anahtarlı değerleri döndürmüyor.
| Parametre | Gerekli | Tip | Ne işe yarar? | Örnek |
|---|---|---|---|---|
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 |
Örnekler isteyin
Örnek A: Minimum veri yükü (şablon yok)
En küçük çağrı API Kabul eder. Şablon referans alınmadığı için varsayılan alanları (documentType, pageCount) döndürür, ancak özel anahtarlı değerleri döndürmez.
{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"async": true
}
Örnek B: Şablon tabanlı veri çıkarma (üretim modeli)
Önerilen üretim yükü. Şablonunuzda tanımlanan her yakalama anahtarı için bir alan ve varsayılan alanlar döndürür.
{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}
Örnek C: İsimle şablon arama
Şablon Kimliği (TemplateId) elinizde yoksa alternatif arama yöntemini kullanın. Şablonun yeniden adlandırılması bu çağrıyı bozacağından üretim ortamında kullanmaktan kaçının.
{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateName": "invoice_template",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}
Başarılı yanıt (senkronizasyon, async: false)
HTTP 200 ayrıştırılmış haliyle JSONŞablonunuzdaki her yakalama anahtarı bir alan haline gelir. Varsayılan alanlar (documentType, pageCount) her zaman geri döndürülür.
{
"parsedData": {
"invoiceNumber": "INV-2024-001",
"invoiceDate": "15/01/2024",
"totalAmount": "$1,250.50",
"customerName": "Acme Corporation"
},
"documentType": "invoice",
"pageCount": 1
}
Başarılı yanıt (eşzamansız, async: true)
HTTP 202 ile Location başlık. Anket URL ile GET (aynı Yetkilendirme başlığı) alana kadar HTTP 200 ayrıştırılmış haliyle JSON.
HTTP/1.1 202 Accepted
Location: https://api.pdf4me.com/api/v2/ParseDocumentStatus/<job-id>
curl örneği
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
}'
Şablon kurulumu
Ayrıştırma şablonu tüm çıkarma mantığını içerir. Bunu kontrol panelinde bir kez yapılandırın, ardından çağırın. TemplateId her yerden.
Düzenli İfadeİstikrarlı desenlerINV-\d{6,10}), tarihler (\d{2}/\d{2}/\d{4}), miktarlar ($?\d{1,3}(?:,\d{3})*(?:.\d{2})?Vergi kimlik numaraları, posta kodları gibi bilgiler, üretim anahtarlarının yaklaşık %80'inde kullanılır.JavaScript İfadesiKoşullu mantık ve sınıflandırıcılarmetinFonksiyonunuz bir dize döndürüyor. Bakınız. Belge için Ayrıştırma Bilgilerini Hazırlayın İki çalışan sınıflandırıcı örneği için (functionFormatTextDate1 ve functionGetInvoiceOrder).Kod örnekleri
Önceden oluşturulmuş ve yüklenen örnekler PDFBunu şu şekilde kodlayın: Base64, POST ile /api/v2/ParseDocumentve senkron/asenkron yanıtı ele alır.
Entegrasyon örnekleri
Yaygın REST entegrasyon kalıplarıTypical ways developers call Parse Document.
- Bir gözlemci yeni bir satıcıyı tespit ediyor. PDFs Bir e-posta gelen kutusundan veya bulut klasöründen.
- Hizmetiniz her birini okuyor. PDF bayt olarak ve onu şu şekilde kodlar: Base64.
- POST ile
/api/v2/ParseDocumentFatura TemplateId'si ve yeni bir ParseId ile. - Geri dönenleri haritada göster
fatura numarası,ToplamTutar, VefaturaTarihidoğrudan bir veritabanına INSERT.
- A JavaScript Şablondaki ifade anahtarı, belge türünü (fatura, sipariş, şartlar) döndürür.
- POST Türü ve regex ile çıkarılan alanları tek bir şekilde döndürür. JSON cevap.
- Kodunuz, tür alanına göre dallanıyor ve yapılandırılmış verileri doğru alt sisteme yönlendiriyor.
- Birkaç MB'tan büyük dosyalar için, POST ile
asenkron: doğru. - Okuyun
Konum202 yanıtından gelen başlık. - Ankete katılın URL ile GET her 10 saniyede bir (o Python Örnekte en fazla 15 yeniden deneme yapılıyor.
- Yanıt durumu 200 olduğunda, aşağıdaki işlemi gerçekleştirin: JSON gövde ve aşağı yönlü işleme devam eder.