Aller au contenu

Démarrage rapide

Voici le cycle complet avec curl. Il vous faut une clé API et un PDF. Exportez d’abord la clé :

Terminal window
export ACCESSFUL_API_KEY="ak_votre_cle_ici"
export BASE="https://api.accessful.de/api/v1/upload-service"
  1. Téléversez le PDF. Envoyez-le comme champ multipart files :

    Terminal window
    curl --fail-with-body --silent --show-error \
    -X POST "$BASE/pdf/upload" \
    -H "X-API-Key: $ACCESSFUL_API_KEY" \
    -F "files=@document.pdf"

    La réponse liste un caseId par fichier accepté :

    {
    "successfulUploads": ["7c2f1e4a-9b0d-4a1e-8f3c-2d6b5a9e1c40"],
    "duplicateFiles": [],
    "message": "Upload completed successfully. Uploaded 1 files. 0 duplicates found.",
    "callbackUrl": null
    }
  2. Interrogez le statut de la tâche avec ce caseId jusqu’à ce qu’il soit completed :

    Terminal window
    curl --fail-with-body --silent --show-error \
    "$BASE/job-status/7c2f1e4a-9b0d-4a1e-8f3c-2d6b5a9e1c40" \
    -H "X-API-Key: $ACCESSFUL_API_KEY"
    { "jobStatus": "completed", "stage": "finished", "score": 87 }

    score est la qualité d’accessibilité du résultat (0–100). Voir toutes les valeurs de jobStatus.

  3. Téléchargez le PDF/UA converti :

    Terminal window
    curl --fail-with-body --silent --show-error --location \
    "$BASE/download/7c2f1e4a-9b0d-4a1e-8f3c-2d6b5a9e1c40" \
    -H "X-API-Key: $ACCESSFUL_API_KEY" \
    -o document-pdfua.pdf
  4. Supprimez le cas lorsque vous n’en avez plus besoin (facultatif, mais recommandé — il s’agit d’une suppression définitive) :

    Terminal window
    curl --fail-with-body --silent --show-error \
    -X DELETE "$BASE/delete/7c2f1e4a-9b0d-4a1e-8f3c-2d6b5a9e1c40" \
    -H "X-API-Key: $ACCESSFUL_API_KEY"
#!/usr/bin/env bash
set -euo pipefail
# Requires curl and jq. Pass a PDF path as the first argument.
: "${ACCESSFUL_API_KEY:?Set ACCESSFUL_API_KEY first}"
BASE="https://api.accessful.de/api/v1/upload-service"
FILE="${1:-document.pdf}"
AUTH=(-H "X-API-Key: $ACCESSFUL_API_KEY")
upload=$(curl --fail-with-body --silent --show-error \
-X POST "$BASE/pdf/upload" \
"${AUTH[@]}" \
-F "files=@$FILE")
case_id=$(jq -er '.successfulUploads[0]' <<<"$upload")
echo "Uploaded: $case_id"
terminal='^(completed|failed|analyzer_failed|canceled|quota_exceeded)$'
while true; do
status_json=$(curl --fail-with-body --silent --show-error \
"$BASE/job-status/$case_id" "${AUTH[@]}")
status=$(jq -r '.jobStatus' <<<"$status_json")
echo "Status: $status"
[[ $status =~ $terminal ]] && break
sleep 2
done
if [[ $status != completed ]]; then
echo "Conversion ended with status: $status" >&2
exit 1
fi
curl --fail-with-body --silent --show-error --location \
"$BASE/download/$case_id" \
"${AUTH[@]}" \
--output document-pdfua.pdf
score=$(jq -r '.score // "n/a"' <<<"$status_json")
echo "Saved document-pdfua.pdf (score: $score)"

Vous préférez cliquer plutôt que taper ? Exécutez le même flux dans le navigateur sur la page Tester en direct.