Proteger documentos
Suba un archivo PDF o DOCX, ejecute un trabajo de documento y descargue el PDF censurado, el texto protegido y las entidades.
Un trabajo de documento lee un archivo PDF o DOCX. Devuelve el PDF censurado, el texto protegido y las entidades. Se ejecuta en segundo plano con el peso de lote.
Flujo de un trabajo de documento
- Suba el archivo:
POST /v2/uploads - Inicie un trabajo de documento con el ID de la subida:
POST /v2/jobs - Consulte el trabajo hasta que su estado sea succeeded:
GET /v2/jobs/{id} - Descargue los artefactos y después elimine el trabajo.
Envíe los bytes del archivo con application/pdf o el tipo multimedia de DOCX. Un documento ocupa como máximo 10 MB.
Subir el archivo e iniciar el trabajo
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"])')La respuesta es 202 con el trabajo y un encabezado Location. Un reintento con la misma Idempotency-Key y el mismo cuerpo devuelve el mismo trabajo y no se cobra de nuevo.
Consultar y descargar artefactos
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"Usa las URL de artefactos de la respuesta de estado. Solo la cuenta que creó el trabajo puede acceder al trabajo y a sus artefactos.
| Artefacto | Contenido |
|---|---|
protected | El PDF censurado: páginas solo de imagen a 144 dpi, un recuadro negro sobre cada entidad protegida y sin capa de texto |
text | El texto protegido del documento |
entities | JSON: las entidades con sus posiciones en el texto extraído |
mapping | JSON: los valores originales y sus sustituciones, solo si se solicitan |
El PDF censurado no tiene capa de texto. Tome el texto protegido del artefacto text. Solicite el mapeo solo cuando deba restaurar valores: contiene los valores originales.
Lo que conserva el servicio
- La subida se elimina cuando termina el último trabajo que la lee.
- Una subida creada con
POST /v2/uploads?keep=truese conserva 24 horas, y cada trabajo que la lee amplía ese plazo. - Al eliminar el trabajo también se elimina una subida conservada en cuanto ningún otro trabajo la lee.
- Los resultados se conservan 24 horas. Elimine el trabajo para borrarlos antes.
- Otras cuentas no pueden leer sus trabajos: reciben 404.
Gestionar los fallos de forma segura
No reenvíe el archivo original si la protección falla.
| Estado | Significado |
|---|---|
415 | El archivo no es un PDF ni un DOCX, o sus bytes no coinciden con su tipo de medio. |
413 | El archivo supera los 10.000.000 bytes. |
402 | Su saldo tiene muy pocos registros. |
422 | La solicitud no es válida, por ejemplo porque la subida caducó. |
429 | El almacenamiento de trabajos de su cuenta está lleno, y limit_name indica el límite. Elimine los trabajos terminados. |
429 | La cola de trabajos está llena. Espere el tiempo del encabezado Retry-After. |
503 | El servicio de trabajos no está disponible, o su almacenamiento está lleno. Vuelva a intentarlo después del tiempo del encabezado Retry-After. |
- Un documento que no se puede leer hace fallar el trabajo. El trabajo tiene entonces el estado failed y un código de error.
- Reintente solo cuando el error indique que un reintento puede tener éxito, y espere el tiempo del encabezado Retry-After.
Coste
Un trabajo de documento cuesta los registros de su texto extraído con el peso de lote 0,5. Su saldo debe tener al menos un registro al iniciar el trabajo.
Probar el ejemplo de documento → · Todos los tipos de trabajo →