Saltar al contenido principal

Headers requeridos

Toda request necesita un mínimo de headers antes de hacer algo útil — algunos se verifican justo en el borde, antes de que la request llegue siquiera a la API. Esta página los junta a todos en un solo lugar; autenticación y firma de solicitudes cubren en profundidad los dos más elaborados.

La lista completa​

HeaderRequerido enValor
User-AgentToda requestNo vacío, identificando tu sistema — por ejemplo acme-payments/2.3
AcceptToda requestapplication/json
AuthorizationToda requestBasic en /oauth2/token, Bearer <token> en el resto
Content-TypeRequests con bodyapplication/json
signature + nonceEndpoints firmadosFirma RSA-SHA256 y nonce en epoch ms
X-Idempotency-KeySolo POST /ordersUn string único que elegís vos — ver idempotencia

User-Agent y Accept​

Estos dos se verifican en el borde del gateway, antes de que la request llegue a la API. Si falta cualquiera de los dos, recibís un rechazo genérico del gateway en lugar del sobre de error JSON descripto en errores — no hay code, no hay category, nada sobre lo que ramificar.

  • User-Agent tiene que ser no vacío y debería identificar tu sistema, no quedarse en el valor por defecto de una librería — acme-payments/2.3 en lugar de nada.
  • Accept debería ser application/json.

curl y la mayoría de las librerías HTTP mandan ambos por defecto (Accept: */* y un User-Agent de librería), por eso esto casi nunca aparece probando con curl. Se nota con los clientes que no los completan: java.net.http.HttpClient de Java no manda ningún header Accept, y algunas librerías HTTP mínimas o runtimes serverless mandan un User-Agent vacío. Ambos casos quedan bloqueados.

curl "https://api.gateway.sandbox.retorna.app/me/routes?sourceCurrency=USDR" \
-H "User-Agent: acme-payments/2.3" \
-H "Accept: application/json" \
-H "Authorization: Bearer $TOKEN" \
-H "signature: $SIGNATURE" -H "nonce: $NONCE"

Si usás uno de los SDKs​

Los SDKs de TypeScript, Java y Python mandan User-Agent, X-Retorna-Client y Accept: application/json en cada request automáticamente. Si integrás a través de alguno de ellos, no tenés que agregar nada.