Aller au contenu

Catalogue des erreurs

Une erreur a la forme {"object":"error","error":{"code","message","type","details":[{"field","code","message"}],"suggestion"},"meta":{"request_id"}}. Une erreur de validation liste chaque défaut dans details. Les messages sont en français.

Chaque code a sa page, à l’adresse /erreurs/<code en minuscules>, par exemple /erreurs/validation_error.

Statut Code Sens, et que faire
401 (aucun : le corps est vide) Clé inconnue, révoquée ou expirée ; clé de test en production ; appelant hors de la liste d’adresses. Vérifiez la clé et vos adresses de sortie, IPv6 comprise.
403 INSUFFICIENT_SCOPE La clé n’a pas le droit que la route demande (Clés API et droits).
403 PLATFORM_KEY_REQUIRED Le moyen d’authentification n’est pas une clé de plateforme.
403 PARTNER_SUSPENDED Votre compte est suspendu : les écritures sont refusées, la lecture et les factures acceptées continuent. Contactez-nous.
403 PARTNER_ENDED Votre partenariat a pris fin : les écritures pendant les 90 jours de lecture, et tout appel entre leur fin et la révocation de vos clés. Une clé révoquée répond un 401 vide.
429 RATE_LIMIT_EXCEEDED Trop d’appels, ou trop à la fois. Attendez Retry-After, renvoyez le même appel.
503 PLATFORM_LIMITS_UNAVAILABLE Un incident passager avant que rien ne soit pris ni écrit. Renvoyez le même appel avec la même clé.
503 QUERY_TIMEOUT Une liste a pris trop de temps. Resserrez le filtre.
500, 503 INTERNAL_SERVER_ERROR et autres Rejouez avec la même clé. Si cela persiste, écrivez-nous avec meta.request_id.
Statut Code Sens, et que faire
400 IDEMPOTENCY_REQUIRED Ni Idempotency-Key ni external_reference sur une facture ou un avoir.
400 IDEMPOTENCY_KEY_REQUIRED / IDEMPOTENCY_KEY_INVALID L’en-tête générique manque, ou n’est pas de 8 à 128 caractères parmi A-Za-z0-9_- (64 pour une facture).
409 IDEMPOTENCY_REQUEST_IN_PROGRESS Le premier appel avec cette clé tourne encore. Attendez Retry-After (2 secondes).
422 IDEMPOTENCY_KEY_REUSED Cette clé ou cette référence a servi à une autre requête. Prenez-en une nouvelle.
Statut Code Sens, et que faire
404 BUSINESS_NOT_FOUND Pas la vôtre, inconnue, ou passée ses 90 jours.
409 NIF_ALREADY_REGISTERED, RCCM_ALREADY_REGISTERED Déjà connu chez nous. Contactez-nous (Entreprises).
409 EXTERNAL_ID_OTHER_NIF Cet external_id désigne déjà une de vos entreprises, avec un autre NIF. Vérifiez le NIF, ou prenez un autre identifiant.
409 EXTERNAL_ID_RETIRED Cet external_id désignait une entreprise terminée, passée ses 90 jours. Contactez-nous.
409 BUSINESS_IDENTIFIER_LOCKED nif ou rccm était déjà renseigné et ne peut plus changer.
400 INVALID_NIF_FORMAT, INVALID_FIELD_VALUE, VALIDATION_ERROR, INVALID_CURSOR Un champ est mal formé ; lisez details. Un curseur doit être un de ceux que nous avons renvoyés pour cette entreprise.
409 BUSINESS_ENDED L’entreprise est terminée : les nouvelles écritures sont refusées.
409 BUSINESS_PAUSED Vous l’avez mise en pause : reprenez-la d’abord.
409 BUSINESS_SUSPENDED Nous l’avons suspendue. Contactez-nous.
409 BUSINESS_CLOSED L’entreprise est fermée.
404 POINT_OF_SALE_NOT_FOUND Inconnu, ou celui d’une autre entreprise.
409 POS_HAS_QUEUED_INVOICES Attendez que ses factures soient normalisées avant de le désactiver.
409 ENTITY_NID_CLAIMED Cet e-MCF est déjà actif ailleurs ; un NID, un compte.
409 ENTITY_NID_EXISTS Cette entreprise a déjà un point de vente avec ce NID, actif ou désactivé.
400 DGI_TOKEN_NIF_MISMATCH, DGI_TOKEN_NID_MISMATCH Le jeton appartient à un autre contribuable ou à un autre point de vente.
422 DGI_TOKEN_INVALID, DGI_TOKEN_EXPIRED La DGI a refusé le jeton. Obtenez-en un nouveau.
Statut Code Sens, et que faire
400 DELIVERY_NOT_AVAILABLE Retirez delivery.
400 CREDIT_NOTE_ROUTE_REQUIRED type vaut FA ou EA : utilisez la route des avoirs.
400 TARGET_CONFLICT, TARGET_INVALID Deux points de vente différents, ou une cible qui n’en désigne aucun ou deux.
400 CLIENT_NAME_REQUIRED, CLIENT_NIF_REQUIRED, CLIENT_NIF_INVALID, INVALID_CLIENT_TYPE, EXEMPTION_CERTIFICATE_REQUIRED Le client ne correspond pas à son type (Factures).
400 INVALID_ARTICLE_TYPE, INVALID_TAX_GROUP, INVALID_PRICE_MODE, INVALID_PAYMENT_METHOD, PAYMENT_CURRENCY_MISMATCH, PAYMENTS_TOTAL_MISMATCH, COMMENT_LINE_TOO_LONG Une ligne ou un paiement est faux ; lisez details.
400 CURRENCY_RATE_REQUIRED, CURRENCY_RATE_MUST_BE_POSITIVE, CURRENCY_RATE_INVALID_FORMAT, CURRENCY_RATE_NOT_ALLOWED La règle du taux de change (Factures).
400 INVALID_FIELD_VALUE sur un texte Un texte contient un caractère nul (U+0000) : retirez-le. Une telle requête ne peut jamais réussir, ce n’est donc pas un 503.
400 ORIGINAL_INVOICE_REQUIRED, ORIGINAL_INVOICE_AMBIGUOUS, CREDIT_NOTE_FIELD_NOT_ALLOWED, INVALID_CREDIT_NOTE_TARGET, CREDIT_QUANTITY_EXCEEDED La forme ou les quantités de l’avoir (Avoirs).
404 INVOICE_NOT_FOUND Inconnue, celle d’une autre entreprise, ou non créée par cette API.
409 NO_ENTITY, ENTITY_INACTIVE, ENTITY_NO_DGI_TOKEN, ENTITY_TOKEN_EXPIRED, BUSINESS_NO_NIF Aucun point de vente ne peut normaliser. Corrigez, puis renvoyez le même appel.
409 ORIGINAL_NOT_NORMALISED L’origine n’est pas normalisée et ne le sera pas : aucun avoir ne peut être créé dessus.
409 INVOICE_ALREADY_NORMALISED, INVOICE_NOT_NORMALISED La facture est normalisée et ne peut plus changer ; ou elle ne l’est pas, et l’opération le demande.
409 CREDIT_NOTE_NOTHING_LEFT_TO_CREDIT L’origine n’a plus rien à créditer.
409 INVOICE_DRAFT_UNFINISHED Une tentative précédente avec cette clé a été interrompue : contactez-nous avec la clé.
409 PIPELINE_NOT_ENABLED La normalisation n’est pas encore ouverte sur cet environnement (Rapports).
400 INVALID_JSON, BATCH_SIZE_INVALID, BATCH_ITEM_INVALID, BATCH_LARGER_THAN_BURST Fautes de lot (Limites de débit).
413 BATCH_TOO_LARGE Découpez le lot.
413 REQUEST_BODY_TOO_LARGE Un corps de plus de 2 Mio sur toute route sauf le lot ; error.params.max_bytes donne la limite. Une facture de 1 000 lignes y tient largement.
Statut Code Sens, et que faire
400 VALIDATION_ERROR avec le champ after after n’est pas un entier, ou il est en avance sur le flux.
410 FEED_CURSOR_EXPIRED Plus ancien que les 30 jours. Reprenez depuis error.params.resume_after.
400 WEBHOOK_URL_INVALID L’adresse n’est pas en https://, n’est pas publique, ou n’est pas sur le port 443/8443.
404 NOT_FOUND sur GET /webhook Vous n’avez pas encore de webhook.
Statut Code Sens, et que faire
400 INVALID_REPORT_TYPE, INVALID_REPORT_PERIOD, POINT_OF_SALE_REQUIRED Le type, la période ou le point de vente de la demande.
404 REPORT_NOT_FOUND, REPORT_FILE_NOT_FOUND Rapport inconnu, ou son fichier a disparu.
409 REPORT_NOT_READY, REPORT_NOT_FAILED Le fichier n’est pas prêt ; ou relance d’un rapport qui n’a pas échoué.
429 REPORT_QUEUE_FULL Trop de rapports en attente. Attendez Retry-After (60 s), ou utilisez le Z automatique.
(état failed) REPORT_TOO_LARGE, BUSINESS_MOVED Portés par le rapport, pas par un statut : voir la page Rapports.
404 EXPORT_NOT_FOUND Export inconnu.
409 EXPORT_NOT_READY Attendez ready.
410 EXPORT_EXPIRED Passé available_until : redemandez-en un.
429 EXPORT_DOWNLOADS_BUSY Deux téléchargements à la fois par partenaire.
503 EXPORT_UNAVAILABLE, STORAGE_UNAVAILABLE Passager. Réessayez plus tard.

En reason_code d’une facture en échec : DGI_NORMALISATION_FAILED (la DGI l’a refusée ou n’a pas abouti), DGI_NORMALISATION_INTERRUPTED (interrompue avant la confirmation de la DGI), INVOICE_NOT_NORMALISABLE (elle ne pourra jamais être normalisée en l’état), INVOICE_IN_NORMALISATION et INVOICE_NOT_IN_NORMALISATION (elle était traitée ailleurs à ce moment-là). REQUEST_NOT_PROCESSED, ici ou comme code d’une erreur, dit que nous n’avons pas pu lui donner de code plus précis : citez meta.request_id.

Tout le reste que nous n’avons pas listé et qui porte un reason_code sur une facture en échec vient de la DGI ou de la normalisation elle-même ; reason est écrit pour que vous le transmettiez.

Écrivez à support@getripa.com en citant meta.request_id.