# Guía de Prueba en Postman Web

## Acceso a Postman Web
1. Abre tu navegador y ve a: https://web.postman.co/
2. Inicia sesión con tu cuenta de Postman (o crea una si no tienes)

## Configuración del Token de Autenticación

### Paso 1: Generar el Token
El token se genera con SHA256 de la clave API:

```
Clave API: HwfI3lUIQ7dU491uHSEnF11zcu3jAfAXYroIO0NbOMM
Token (Bearer): c06ab5c4a51ba98ac02151518cd2ecc06c38e3d24e3d10346bacf9b6210a78c7
```

## Request 1: Health Check (Sin Autenticación)

**Método:** GET  
**URL:** `https://ultranav.smartime.cl/health`

**Headers:**
```
Content-Type: application/json
```

**Respuesta esperada:**
```json
{
  "status": "ok"
}
```

---

## Request 2: Obtener Resumen de Asistencia (Con Autenticación)

**Método:** POST  
**URL:** `https://ultranav.smartime.cl/api/v1/asistencia/resumen`

### Headers:
```
Authorization: Bearer 8f8e3c5d7a2b1f9e4c6a8d3b5f7e9a1c2d4e6f8a0b2c4d6e8f0a2b4c6e8f0a
Content-Type: application/json
```

### Body (JSON):
```json
{
  "fecha": "01-01-2026 - 31-01-2026",
  "idNodo": null
}
```

### Parámetros:
- **fecha**: Rango de fechas en formato "dd-mm-yyyy - dd-mm-yyyy" (máximo 30 días) - **REQUERIDO**
- **idNodo**: ID del nodo (opcional, por defecto 26338 si es null)

### Respuesta esperada:
```json
{
  "data": [
    {
      "obs": 1,
      "division": "Nombre División",
      "nombre": "Nombre Empleado",
      "rut": "12345678-9",
      "fecha": "2026-01-15",
      "marca_entrada": "08:00",
      "marca_salida": "17:00",
      "salida_almorzar": "12:00",
      "llegada_almorzar": "13:00",
      "tiempo_antes_almuerzo": "04:00",
      "almuerzo": "01:00",
      "tiempo_despues_almuerzo": "04:00"
    }
  ],
  "count": 1,
  "filters": {
    "fecha_inicio": "01-01-2026",
    "fecha_fin": "31-01-2026",
    "id_nodo": 26338
  }
}
```

---

## Pasos en Postman Web:

### 1. Crear nueva Request
- Click en "+" o "New"
- Selecciona "HTTP Request"

### 2. Configurar Health Check
- Método: GET
- URL: `https://ultranav.smartime.cl/health`
- Click en "Send"

### 3. Configurar Asistencia (con autenticación)
- Método: POST
- URL: `https://ultranav.smartime.cl/api/v1/asistencia/resumen`
- Tab "Headers": Agregar
  - Key: `Authorization`
  - Value: `Bearer 8f8e3c5d7a2b1f9e4c6a8d3b5f7e9a1c2d4e6f8a0b2c4d6e8f0a2b4c6e8f0a`
  - Key: `Content-Type`
  - Value: `application/json`
- Tab "Body": Seleccionar "raw" y "JSON"
- Pegar el JSON del body
- Click en "Send"

---

## Códigos de Error

| Código | Mensaje | Solución |
|--------|---------|----------|
| 400 | Request body is required | Agregar body JSON |
| 400 | fecha is required | Incluir fecha en formato correcto |
| 400 | fecha format must be: dd-mm-yyyy - dd-mm-yyyy | Revisar formato de fecha |
| 400 | Date range cannot exceed 30 days | Reducir rango de fechas (máximo 30 días) |
| 401 | Missing authorization token | Agregar header Authorization |
| 401 | Invalid authorization token | Verificar token Bearer |
| 500 | Error processing request | Verificar conexión a BD |

---

## Notas Importantes

- La API requiere **HTTPS** (certificado SSL)
- El token Bearer es obligatorio para `/api/v1/asistencia/resumen`
- El rango de fechas máximo es de 30 días
- La base de datos es SQL Server en `produccion2.database.windows.net`
- Los logs están en `/var/log/apache2/ultranav.smartime.cl_*.log`
