ProyectoGrupal/VerifactuMidAPI/documentacion/config.md

90 lines
1.6 KiB
Markdown
Raw Normal View History

# Configuración
## Fichero config.yml
```yaml
server:
port: 6789
verifactu:
production: false
certificates:
storage_path: ./data/certs/
crypto:
keys_path: ./keys/
name: "VeriFactu API"
email: "admin@ejemplo.com"
```
## Explicación de Parametros
### server.port
Puerto TCP donde escucha la API.
### verifactu.production
- `false`: Entorno de testing (prewww2.aeat.es)
- `true`: Entorno de producción (www2.agenciatributaria.gob.es)
### certificates.storage_path
Directorio donde se almacenan los certificados registrados.
### crypto.keys_path
Directorio donde se almacenan las claves RSA.
### crypto.name
Nombre para generar nuevas claves RSA (si no existen).
### crypto.email
Email para generar nuevas claves RSA.
## Variables de Entorno
```bash
# Sobrescribir configuración
VERIFACTU_PORT=8080
VERIFACTU_PRODUCTION=true
```
## Estructura de Directorios
```
proyecto/
├── api/
├── internal/
├── verifactu/
├── documentacion/
├── test/
├── data/
│ └── certs/ # Certificados registrados
├── keys/ # Claves RSA
├── config.yml # Configuración
├── validate_cert.ps1 # Script de validación
└── main.go
```
## Primera Ejecución
1. Compilar: `go build -o verifactu-api.exe ./main.go`
2. Ejecutar: `./verifactu-api.exe`
3. La API genera claves RSA automaticamente
4. Crea estructura de directorios
## Cambio de Entorno
Para cambiar de test a producción:
1. Editar `config.yml`:
```yaml
verifactu:
production: true
```
2. Reiniciar la API
## Puertos
- 6789: Puerto por defecto
- 443: HTTPS producción
- 80: HTTP (no recomendado)