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 |
| 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.