Dokumente schützen
Laden Sie eine PDF- oder DOCX-Datei hoch, führen Sie einen Dokumentjob aus und laden Sie das geschwärzte PDF, den geschützten Text und die Entitäten herunter.
Ein Dokumentjob liest eine PDF- oder DOCX-Datei. Er liefert das geschwärzte PDF, den geschützten Text und die Entitäten. Er läuft im Hintergrund mit dem Batch-Gewicht.
Ablauf eines Dokumentauftrags
- Datei hochladen:
POST /v2/uploads - Dokumentjob mit der Upload-ID starten:
POST /v2/jobs - Job-Status abfragen, bis er succeeded lautet:
GET /v2/jobs/{id} - Laden Sie die Artefakte herunter und löschen Sie danach den Job.
Senden Sie die Datei-Bytes mit application/pdf oder dem DOCX-Medientyp. Ein Dokument ist höchstens 10 MB groß.
Datei hochladen und Job starten
UPLOAD=$(curl -s https://api.getshinrai.com/v2/uploads -H "Authorization: Bearer $SHINRAI_API_KEY" \
-H "Content-Type: application/pdf" --data-binary @contract.pdf | python3 -c 'import sys, json; print(json.load(sys.stdin)["id"])')
JOB=$(curl -s https://api.getshinrai.com/v2/jobs -H "Authorization: Bearer $SHINRAI_API_KEY" -H "Content-Type: application/json" \
-H "Idempotency-Key: contract-4815" \
-d '{"kind": "document", "inputs": [{"kind": "file", "source": {"upload": "'$UPLOAD'"}, "language": "de"}]}' \
| python3 -c 'import sys, json; print(json.load(sys.stdin)["id"])')Die Antwort ist 202 mit dem Job und einem Location-Header. Eine Wiederholung mit demselben Idempotency-Key und Body liefert denselben Job und wird nicht erneut berechnet.
Status abfragen und Artefakte herunterladen
curl -s https://api.getshinrai.com/v2/jobs/$JOB -H "Authorization: Bearer $SHINRAI_API_KEY"
curl -s https://api.getshinrai.com/v2/jobs/$JOB/artifacts/protected -H "Authorization: Bearer $SHINRAI_API_KEY" -o contract.redacted.pdf
curl -s https://api.getshinrai.com/v2/jobs/$JOB/artifacts/text -H "Authorization: Bearer $SHINRAI_API_KEY" -o contract.protected.txt
curl -s -X DELETE https://api.getshinrai.com/v2/jobs/$JOB -H "Authorization: Bearer $SHINRAI_API_KEY"Verwenden Sie die Artefakt-URLs aus der Statusantwort. Auf Auftrag und Artefakte kann nur das Konto zugreifen, das den Auftrag erstellt hat.
| Artefakt | Inhalte |
|---|---|
protected | Das geschwärzte PDF: reine Bildseiten mit 144 dpi, ein schwarzer Kasten über jeder geschützten Entität, keine Textebene |
text | Der geschützte Text des Dokuments |
entities | JSON: die Entitäten mit Positionen im extrahierten Text |
mapping | JSON: die Originalwerte und ihre Ersetzungen, nur auf Anfrage |
Das geschwärzte PDF hat keine Textebene. Nehmen Sie den geschützten Text aus dem Artefakt text. Fordern Sie die Zuordnung nur an, wenn Sie Werte wiederherstellen müssen: Sie enthält die Originalwerte.
Was der Dienst speichert
- Der Upload wird gelöscht, sobald der letzte Job endet, der ihn liest.
- Ein Upload, der mit
POST /v2/uploads?keep=trueerstellt wurde, besteht 24 Stunden; jeder Job, der ihn liest, verlängert diese Frist. - Das Löschen des Jobs löscht auch einen behaltenen Upload, sobald kein anderer Job ihn mehr liest.
- Die Ergebnisse bleiben 24 Stunden erhalten. Löschen Sie den Job, um sie früher zu entfernen.
- Andere Konten können Ihre Jobs nicht lesen: Sie erhalten 404.
Fehler sicher behandeln
Leiten Sie die Originaldatei nicht weiter, wenn der Schutz fehlschlägt.
| Status | Bedeutung |
|---|---|
415 | Die Datei ist keine PDF- oder DOCX-Datei, oder ihre Bytes passen nicht zu ihrem Medientyp. |
413 | Die Datei ist größer als 10.000.000 Bytes. |
402 | Ihr Guthaben enthält zu wenige Records. |
422 | Die Anfrage ist ungültig, zum Beispiel weil der Upload abgelaufen ist. |
429 | Der Jobspeicher Ihres Kontos ist voll, und limit_name nennt das Limit. Löschen Sie abgeschlossene Jobs. |
429 | Die Job-Warteschlange ist voll. Warten Sie die Zeit im Retry-After-Header ab. |
503 | Der Jobdienst ist nicht verfügbar, oder sein Speicher ist voll. Wiederholen Sie die Anfrage nach der Zeit im Retry-After-Header. |
- Ein Dokument, das nicht gelesen werden kann, lässt den Job fehlschlagen. Der Job hat dann den Status failed und einen Fehlercode.
- Wiederholen Sie nur, wenn der Fehler angibt, dass eine Wiederholung gelingen kann, und warten Sie die Zeit im Retry-After-Header ab.
Kosten
Ein Dokumentjob kostet die Records seines extrahierten Texts mit dem Batch-Gewicht 0,5. Ihr Guthaben muss beim Start des Jobs mindestens einen Record enthalten.