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​
| Header | Valor | Descripción |
|---|---|---|
Content-Type | application/json | Formato de datos enviado en la request |
Headers Recomendados​
| Header | Valor | Descripción |
|---|---|---|
Accept | application/json | Formato esperado en la response |
Authorization | Bearer {token} | Token JWT de acceso para endpoints protegidos |
User-Agent | Navegador / App | Identificación del cliente (enviado automáticamente) |
Headers Opcionales​
| Header | Valor | Descripción |
|---|---|---|
Accept-Language | es, en, etc. | Idioma preferido para respuestas |
X-Request-ID | UUID | Identificador único para trazabilidad y debugging |
x-device | web o app | Tipo 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-devicede 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-AgentHostConnection
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