Gestion des erreurs
Ce guide vous explique comment gérer les erreurs et les problèmes courants avec l'API ParseMyFile.
Codes d'erreur HTTP
200 - Succès
La requête a été traitée avec succès.
{
"execution_time": "2.4"
"status": "success",
"data": {
/* ... */
}
}Pour chaque code d'erreur, il y a un message associé en retour
{
"detail": "Message qui détail l'erreur",
}400 - Requête malformée
La requête contient des données invalides.
401 - Non autorisé
La clé API est manquante ou invalide.
402 - Crédit insuffisant ou abonnement terminé
Limite atteint, type de fichier non supporté, taille dépassé
422 - Erreur de validation
Les paramètres de la requête ne respectent pas le schéma attendu.
500 - Erreur interne du serveur
Une erreur s'est produite côté serveur.
Gestion des erreurs en code
JavaScript/TypeScript
async function processDocument(file, yamlFile, apiKey) {
try {
const formData = new FormData();
formData.append('file', file);
formData.append('yaml_file', yamlFile);
const response = await fetch('https://api.parsemyfile.com/api/v1/generate', {
method: 'POST',
headers: {
'X-API-KEY': apiKey
},
body: formData
});
if (!response.ok) {
const errorData = await response.json();
throw new Error(`Erreur ${response.status}: ${errorData.message || response.statusText}`);
}
const result = await response.json();
return result;
} catch (error) {
console.error('Erreur lors du traitement:', error.message);
throw error;
}
}Python
import requests
from requests.exceptions import RequestException
def process_document(file_path, yaml_path, api_key):
try:
url = "https://api.parsemyfile.com/api/v1/generate"
headers = {"X-API-KEY": api_key}
files = {
'file': ('document.pdf', open(file_path, 'rb'), 'application/pdf'),
'yaml_file': ('config.yaml', open(yaml_path, 'rb'), 'text/yaml')
}
response = requests.post(url, headers=headers, files=files)
if response.status_code == 200:
return response.json()
else:
error_data = response.json()
raise Exception(f"Erreur {response.status_code}: {error_data.get('message', 'Erreur inconnue')}")
except RequestException as e:
print(f"Erreur de requête: {e}")
raise
except Exception as e:
print(f"Erreur de traitement: {e}")
raise
finally:
# Fermer les fichiers
if 'files' in locals():
for file_obj in files.values():
if hasattr(file_obj[1], 'close'):
file_obj[1].close()Problèmes courants et solutions
Problème : Erreur 401 Unauthorized
Cause : Clé API manquante ou invalide.
Solutions :
- Vérifiez que l'en-tête
X-API-KEYest présent - Vérifiez que la clé API est correcte
- Connectez-vous sur le site pour obtenir une nouvelle clé
# Vérifiez votre clé API
echo "Votre clé API : $API_KEY"Problème : Erreur 402 Validation Error
Cause : Paramètres manquants ou invalides.
Solutions :
- Vérifiez que les deux fichiers sont fournis
- Vérifiez le format des fichiers
- Vérifiez la taille des fichiers (max 10 MB)
# Vérifiez les fichiers
ls -la document.pdf configuration.yamlProblème : Extraction de faible qualité
Cause : Qualité du document ou configuration inadéquate.
Solutions :
- Améliorez la qualité du document source
- Ajustez le seuil de confiance dans le YAML
- Activez le préprocessing approprié
Problème : Erreur 402 Fichier trop volumineux
Cause : Le fichier dépasse la limite autorisée par votre abonnement.
Solutions :
- Compressez le fichier
- Divisez le document en plusieurs pages
- Réduisez la résolution des images
Problème : Erreur 402 Format de fichier non supporté
Cause : Le format du fichier n'est pas supporté soit votre abonnement ne permet pas d'utiliser ce type de fichier.
Formats supportés :
- JPG, JPEG
- PNG
- DOCX
- XLSX
Solutions :
- Convertissez le fichier dans un format supporté
- Utilisez un outil de conversion en ligne
- Vérifiez l'extension du fichier
Support et dépannage
Si vous rencontrez des problèmes persistants :
- Consultez les logs de votre application
- Vérifiez la configuration YAML
- Testez avec des fichiers simples d'abord
- Contactez le support technique avec :
- Le message d'erreur complet
- Le type de fichier utilisé
- La configuration YAML
- Les logs de votre application