API

Référence API Struct20022

La même API sert l'interface web, les fichiers, les clés API et les intégrations ERP. Les routes sont versionnées sous /v1.

Base URL et auth

Production
https://api.struct20022.cloud
Documentation
https://struct20022.cloud/api-reference
  • JWT Supabase : Authorization: Bearer <jwt>
  • Clé API : X-API-Key: struct20022_live_...

Options combinables

Option APINomCoût maxUsage
structuringStructuration1 créditAdresse complète attendue, sans vérification d'existence.
completionComplétion1 créditComplète une adresse incomplète. Un résultat partiel ou non abouti garde la meilleure structure avec une fiabilité basse, sans débit en cas d'échec.
validationValidation1 créditSource officielle, seulement pour les pays couverts.

Adresse unique

curl -X POST https://api.struct20022.cloud/v1/addresses/structure \
  -H "X-API-Key: struct20022_live_..." \
  -H "Content-Type: application/json" \
  -d '{"address":"12 rue de la paix, 75002 Paris","features":{"structuring":true,"completion":true,"validation":false},"country":"FR"}'

# Validation seule : structured_address complet obligatoire
curl -X POST https://api.struct20022.cloud/v1/addresses/structure \
  -H "X-API-Key: struct20022_live_..." \
  -H "Content-Type: application/json" \
  -d '{"structured_address":{"street_name":"Rue de la Paix","building_number":"12","post_code":"75002","town_name":"Paris","country":"FR"},"features":{"structuring":false,"completion":false,"validation":true}}'

Fichiers

curl -X POST https://api.struct20022.cloud/v1/files/detect-columns \
  -H "X-API-Key: struct20022_live_..." \
  -F "file=@clients.xlsx"

curl -X POST https://api.struct20022.cloud/v1/files \
  -H "X-API-Key: struct20022_live_..." \
  -F "file=@clients.xlsx" \
  -F "structuring=true" \
  -F "completion=true" \
  -F "validation=false" \
  -F "output_format=xlsx" \
  -F "output_layout=enriched"

curl https://api.struct20022.cloud/v1/jobs/<job_id> \
  -H "X-API-Key: struct20022_live_..."

Le fichier source est supprimé en fin de job. Le résultat reste téléchargeable selon la durée de conservation du compte, de 0 à 365 jours. Côté API, cette durée s'envoie en heures via file_retention_hours. La validation seule sur fichier est acceptée ; les lignes non confirmées remontent en avertissement, sans débit du crédit de validation.

Crédits, paiements et confidentialité

curl https://api.struct20022.cloud/v1/billing/pricing

curl https://api.struct20022.cloud/v1/credits \
  -H "X-API-Key: struct20022_live_..."

curl https://api.struct20022.cloud/v1/billing/payments \
  -H "Authorization: Bearer <jwt>"

curl -X PUT https://api.struct20022.cloud/v1/legal/privacy-settings \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{"file_retention_hours":0}'

Playground et erreurs

Le Playground dans /app/cles appelle l'endpoint réel avec la session active et affiche les champs ISO 20022.

auth_requiredOption payante ou ressource protégée appelée sans authentification.
insufficient_creditsSolde insuffisant pour le coût maximal estimé.
structured_address_requiredAucune adresse exploitable n'est fournie.
validation_unsupported_countryCode historique, aujourd'hui renvoyé comme avertissement (warning).
unsupported_formatFichier hors xlsx/xls/csv/tsv/txt/xml.
api_key_expiredClé API expirée.
file_retention_ack_requiredRègle de conservation des fichiers non acceptée.