Bibliotheques client & SDKs
Clients Python et Node.js disponibles uniquement en source pour la surface actuelle de l'API Parsurai. Non publies sur PyPI ni npm.
Le depot inclut des clients Python et TypeScript sous sdks/python et sdks/node. Ils couvrent extraction, detection de doublons, analyses fournisseurs, usage et feedback.
Ces clients ne sont pas publies. Il n'existe pas encore de SDK Parsurai officiel sur PyPI ni sur npm, et pip install invoiceextract / npm install @invoiceextract/sdk echouent. Construire depuis un checkout du depot, comme indique ci-dessous, sert uniquement a l'evaluation locale et n'est pas un chemin d'integration supporte. L'API REST est la surface d'integration supportee prevue une fois le point de terminaison de production configure et Parsurai lance publiquement.
Les deux clients conservent une base_url par defaut https://api.invoiceextract.com. Ce nom d'hote est obsolete, n'est pas exploite par Parsurai et ne doit jamais etre utilise. Transmettez toujours l'URL de base explicitement, comme dans chaque exemple de cette page.
Chaque exemple ci-dessous utilise https://api.parsurai.com, l'hote API de production.
SDK Python
Installation depuis les sources
Depuis un checkout du depot:
pip install ./sdks/python
Demarrage rapide
from invoiceextract import InvoiceExtract
client = InvoiceExtract(api_key="sk_live_your_key_here", base_url="https://api.parsurai.com")
result = client.extract(
text="Facture de Acme Ltd. INV-2026-001. Total: 1200 GBP.",
locale="auto",
)
print(result.invoice["total_amount"])
duplicate = client.check_duplicate(invoice_id=result.invoice_id)
print(duplicate.score, duplicate.reason)
vendors = client.vendor_analytics(limit=10)
print(vendors.items)
usage = client.usage()
print(usage.calls_this_month, usage.quota)
Pour extraire un fichier, transmettez les bytes PDF:
with open("invoice.pdf", "rb") as file_obj:
result = client.extract(pdf_bytes=file_obj.read(), locale="auto")
SDK Node.js / TypeScript
Installation depuis les sources
Construisez le client dans un checkout du depot, puis referencez ce repertoire depuis votre projet:
cd sdks/node
npm install
npm run build
npm install file:/chemin/vers/invoice-extractor/sdks/node
Le nom du package dans le checkout reste @invoiceextract/sdk; c'est le nom que vous importez, pas un package installable depuis npm.
Demarrage rapide
import { InvoiceExtract } from '@invoiceextract/sdk';
const client = new InvoiceExtract({
apiKey: 'sk_live_your_key_here',
baseUrl: 'https://api.parsurai.com',
});
const result = await client.extract({
text: 'Facture de Acme Ltd. INV-2026-001. Total: 1200 GBP.',
locale: 'auto',
});
console.log(result.invoice.total_amount);
const duplicate = await client.checkDuplicate({ invoiceId: result.invoice_id });
console.log(duplicate.score, duplicate.reason);
const vendors = await client.vendorAnalytics({ limit: 10 });
console.log(vendors.items);
const usage = await client.usage();
console.log(usage.calls_this_month, usage.quota);
Pour les uploads PDF dans le client TypeScript, transmettez un PDF encode en base64:
const resultFromPdf = await client.extract({
pdfBase64,
locale: 'auto',
});
Methodes client supportees
| Capacite | Python | TypeScript |
|---|---|---|
| Extraire texte, URL ou PDF bytes/base64 | extract | extract |
| Detection de doublons | check_duplicate | checkDuplicate |
| Analyses fournisseurs | vendor_analytics | vendorAnalytics |
| Resume d'usage | usage | usage |
| Envoyer du feedback de champ | submit_feedback | submitFeedback |