# API SMS

API de envío de SMS.

## Configuración

Edita `.env` y configura:
  - `API_KEY`: La clave secreta para autenticar clientes
  - `SMS_EXTERNAL_API_URL`: URL de la API externa de SMS
  - `SMS_EXTERNAL_API_KEY`: Credencial del proveedor externo

## Instalación

```bash
npm install
```

## Uso

Desarrollo:
```bash
npm run dev
```

## Endpoint

### POST /api/sms/send

Envía un SMS.

**Headers:**
- `X-API-Key: api_key`

**Body:**
```json
{
  "countryCode": "57",
  "to": "3504318211",
  "message": "Texto del mensaje",
  "clientName": "Nombre del cliente",
  "product": "Nombre del producto"
}
```

**Ejemplo con curl:**
```bash
curl -X POST http://localhost:3100/api/sms/send \
  -H "Content-Type: application/json" \
  -H "X-API-Key: api_key \
  -d '{"countryCode":"57","to":"3504318211","message":"Hola","clientName":"MiApp","product":"Notificaciones"}'
```

Notas:
- `countryCode` acepta formatos como `57` o `+57`.
- `to` puede llegar con separadores (espacios, guiones o paréntesis) y se normaliza a solo dígitos.

## Logs de auditoría

Los envíos se registran en archivos diarios en `./logs/` (o `LOGS_DIR`):
- Formato: `audit-YYYY-MM-DD.log`
- Cada línea es un JSON con: clientName, product, to, message, status, externalId/error, timestamp
