Skip to main content
Traitez chaque réponse d’erreur selon son code de statut, son type de contenu et les identifiants de diagnostic disponibles. Ne traitez jamais une réponse en erreur comme un résultat réussi.

Traitez la réponse

Distinguez les corps de réponse et les diagnostics

Les erreurs 400, 401, 422, les erreurs applicatives par défaut et le 429 de POST /public/v1/issues utilisent des Problem Details. Ce 429 contient code: rate_limited. Le corps contient traceId ; lorsqu’il est émis par Immoteur, l’en-tête X-Trace-Id porte le même identifiant de corrélation. Conservez les identifiants disponibles avec le code de statut, l’endpoint et l’heure de la requête. Ne supposez pas qu’une réponse 403 ou 404 contient ce corps ou ces en-têtes. La réponse 409 est un corps application/json de configuration qui contient message, configurationUrl et documentationUrl ; elle ne promet pas de trace ID. Suivez configurationUrl ou ouvrez API → Accès aux données dans le dashboard, puis envoyez une nouvelle requête. Le 429 du quota d’abonnement reste un corps application/json { "message": "Too Many Requests" }. Attendez Retry-After avant de reprendre ; cette représentation ne s’applique pas à POST /public/v1/issues.

Lisez les en-têtes de limite et de diagnostic

Les en-têtes RateLimit-* décrivent les trois fenêtres — seconde, minute et jour — du quota d’abonnement. Leurs valeurs dépendent de votre abonnement : lisez la réponse plutôt que de coder des valeurs d’exemple en dur. Ils ne décrivent pas le limiteur de POST /public/v1/issues. Cet endpoint utilise des compteurs de signalement indépendants ; la limite par seconde et par minute suit le forfait d’accès aux données courant, tandis que la limite quotidienne est plafonnée à 2 500. Les réponses 201 et 429 de POST /public/v1/issues n’utilisent pas ces tableaux. Elles renvoient X-RateLimit-Limit et X-RateLimit-Remaining ; le 429 ajoute Retry-After et X-RateLimit-Reset.

Reprenez les échecs temporaires en sécurité

Une indisponibilité 503 du limiteur de quota d’abonnement utilise application/json avec { "message": "Rate limit service unavailable" } et un délai Retry-After. Respectez ce délai avant de réessayer ; la réponse d’indisponibilité actuellement observée indique une seconde. Pour les autres réponses 5xx transitoires ou les erreurs réseau, utilisez un backoff avec un nombre de réessais borné. Journalisez les trace IDs disponibles, le code de statut et le contexte de la requête pour analyser un échec persistant. Ne réessayez pas 400, 401, 403, 409, 404 ou 422 avant d’avoir appliqué la correction indiquée plus haut. Utilisez curl --include pendant l’intégration pour consulter les en-têtes et le corps de réponse :
Pour les tokens et les data access, consultez Tokens API et accès aux données. Pour les erreurs propres à un endpoint, utilisez la référence API générée.