Aller au contenu
Sandbox

En-têtes

Chaque en-tête de requête et de réponse de Noryo Merchant API, sa valeur, et sur quelles réponses il est présent.

Voir en Markdown

Les noms d'en-têtes HTTP sont insensibles à la casse : l'API les écrit en minuscules dans ses réponses (noryo-request-id), la documentation les écrit avec des majuscules (Noryo-Request-Id). C'est le même en-tête.

En-têtes de requête

En-têteRoutesObligatoireValeur
AuthorizationtoutesouiBearer nry_mer_<env>_<key_id>.<secret>. Voir Authentification.
Content-TypePOSTouiapplication/json. Un paramètre comme ; charset=utf-8 est accepté. Tout autre type rend 415.
Idempotency-KeyPOST /merchant/v1/enrichmentsnon, mais voir ci-dessous1 à 255 octets d'ASCII visible (0x21 à 0x7E), sans normalisation.
Idempotency-KeyPOST …/refreshouiMême format. Son absence rend 400 identifier_required.

Précisions :

  • Sur la création, l'Idempotency-Key est facultative à condition que le corps porte un external_transaction_id ; sans aucun des deux, la requête est refusée en 400 identifier_required. Voir Les deux identifiants.
  • Un en-tête Idempotency-Key présent mais vide, trop long, contenant un espace ou un caractère hors de l'ASCII visible, ou répété, est refusé en 400 invalid_idempotency_key. Sa forme est contrôlée sur toutes les routes, y compris GET, où il n'a aucun effet.
  • Un Noryo-Request-Id envoyé par le client est ignoré et remplacé : vous ne choisissez pas l'identité Noryo de votre requête.

En-têtes de réponse

En-têtePrésent surValeur
Noryo-Request-Idtoutes les réponsesreq_<uuid>, l'identifiant de cette tentative. Identique au request_id du corps d'une erreur. Voir Identifiants de requête.
Content-Typetoutes les réponsesapplication/json pour un succès, application/problem+json pour une erreur
Cache-Controltoutes les réponsesno-store
Noryo-Idempotency-Replayed200 des deux routes POSTtrue si la réponse vient de la mémoire d'idempotence, false sinon
Noryo-RateLimit-Limit200 des trois routes, et 429La capacité de rafale du seau de votre clé
Noryo-RateLimit-Remaining200 des trois routes, et 429Les jetons restant dans votre seau
Retry-After429, 503 busy, 503 pricing_not_activatedUn nombre entier de secondes à attendre
Location200 du rafraîchissementLe chemin relatif du nouvel enrichissement, par exemple /merchant/v1/enrichments/enr_dd424f15-…
WWW-Authenticate401, 403 insufficient_scopeBearer realm="noryo-merchant-api", error="invalid_token" ou error="insufficient_scope"
X-Content-Type-Optionstoutes les réponsesnosniff
Referrer-Policytoutes les réponsesno-referrer
X-Robots-Tagtoutes les réponsesnoindex, nofollow
Note

Les réponses d'erreur autres que 429 ne portent pas les en-têtes Noryo-RateLimit-*, même quand elles ont consommé un jeton. Pour suivre votre solde, lisez-les sur vos réponses 200.

Location est relatif

Le rafraîchissement annonce le nouvel enrichment_id par un chemin relatif, jamais par une URL absolue : aucun nom d'hôte n'entre dans le contrat. Résolvez-le contre votre URL de base configurée.

Retry-After n'est posé que là où reprendre a un sens

Un Retry-After n'apparaît que sur les refus qu'une reprise de la même requête peut lever : la limite de débit, une contention passagère (busy), et une facturation pas encore activée (pricing_not_activated). Il n'apparaît jamais sur un 400 ou un 409. Voir Reprises.

Publié le 2026-10-09 10:18 UTC (version 2).

Cette page vous a-t-elle aidé ?