Saltar al contenido principal

Headers HTTP Globales

Todos los endpoints del sistema SwapBits aceptan y/o requieren ciertos headers HTTP para funcionar correctamente.
Estos headers se aplican a toda la API, no solo a autenticación.


Headers Requeridos​

HeaderValorDescripción
Content-Typeapplication/jsonFormato de datos enviado en la request

Headers Recomendados​

HeaderValorDescripción
Acceptapplication/jsonFormato esperado en la response
AuthorizationBearer {token}Token JWT de acceso para endpoints protegidos
User-AgentNavegador / AppIdentificación del cliente (enviado automáticamente)

Headers Opcionales​

HeaderValorDescripción
Accept-Languagees, en, etc.Idioma preferido para respuestas
X-Request-IDUUIDIdentificador único para trazabilidad y debugging
x-deviceweb o appTipo de cliente que realiza la request

Header x-device (Tipo de Cliente)​

El header x-device indica desde qué tipo de cliente se está realizando la request.

Valores Permitidos​

  • x-device: web
    Request originada desde un navegador web.

  • x-device: app
    Request originada desde una aplicación móvil o cliente nativo.


Comportamiento del Servidor​

El backend utiliza este header para aplicar lógica específica según el tipo de cliente, principalmente en flujos de autenticación y manejo de sesiones.

Ejemplos de uso interno:

  • Gestión de sesiones activas por tipo de cliente
  • Revocación de sesiones previas en aplicaciones móviles
  • Diferenciación entre tráfico web y app a nivel de seguridad

Valor por Defecto​

Si el header no se envía o contiene un valor no reconocido, el backend asume:

  • x-device: web

Recomendaciones​

Buenas Prácticas

  • Enviar x-device de forma consistente según la plataforma.
  • Usar siempre valores en minúsculas: web / app.
  • Mantener el mismo valor durante toda la sesión del usuario.
  • No utilizar este header como mecanismo de seguridad por sí solo.

Ejemplo de Request Completa​

curl -X POST https://api.swapbits.com/users/me \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X)" \
-H "x-device: app"

Headers Automáticos

Algunos headers son enviados automáticamente por el cliente (browser o app):

  • User-Agent
  • Host
  • Connection

En la mayoría de los casos no es necesario agregarlos manualmente.


Headers Sensibles

Nunca expongas públicamente:

  • El valor del header Authorization
  • Tokens JWT en logs o frontend público
  • Información sensible en headers custom

Respuestas de la API​

Todos los endpoints devuelven respuestas en formato JSON con una estructura estándar:

{
"code": 1001,
"message": "Success",
"data": {
// contenido específico del endpoint
}
}

Para más información sobre los códigos utilizados, ver: 👉 Códigos de Respuesta