base: project structure and configuration
This commit is contained in:
commit
f0b3dc4e13
|
|
@ -0,0 +1,43 @@
|
|||
# Binarios
|
||||
*.exe
|
||||
*.dll
|
||||
*.so
|
||||
*.dylib
|
||||
verifactu-api.exe
|
||||
|
||||
# Build
|
||||
/build/
|
||||
/dist/
|
||||
|
||||
# Go
|
||||
*.test
|
||||
coverage.txt
|
||||
|
||||
# IDE
|
||||
.idea/
|
||||
.vscode/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Configuración sensible
|
||||
.env
|
||||
.env.local
|
||||
config.local.yml
|
||||
|
||||
# Certificados y claves
|
||||
certs/
|
||||
keys/
|
||||
*.p12
|
||||
*.pem
|
||||
*.key
|
||||
|
||||
# Documentación (no incluir en el repo)
|
||||
Documentacion de Verifactu/
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
# AGENTS.md
|
||||
|
||||
## Project
|
||||
- Go 1.26.1
|
||||
- No external dependencies yet
|
||||
- Entry point: `main.go`
|
||||
|
||||
## Architecture
|
||||
```
|
||||
proyecto/
|
||||
├── api/ → HTTP exposure, endpoints, routing
|
||||
├── internal/ → business logic, validation, normalization
|
||||
└── verifactu/ → AEAT communication, XML, signing, crypto chaining
|
||||
```
|
||||
|
||||
## VeriFactu Protocol
|
||||
- **Transport:** SOAP 1.1 / HTTPS
|
||||
- **Format:** XML (UTF-8), document/literal
|
||||
- **Auth:** Qualified electronic certificate (.p12)
|
||||
- **Hash:** SHA-256, hex uppercase, chained with previous record
|
||||
- **Max records per request:** 1,000
|
||||
- **Environments:** Testing (sandbox) / Production
|
||||
- **Current:** Testing only
|
||||
- **Config:** Change via config file or env var (not code)
|
||||
- **PDF generation:** Handled by Dolibarr (not this API's responsibility)
|
||||
|
||||
## VeriFactu Documentation
|
||||
See `Documentacion de Verifactu/` folder:
|
||||
- `01_que_es_verifactu.md` - Overview, legal framework
|
||||
- `02_como_funciona.md` - Flow, operations, responses
|
||||
- `03_entornos_y_urls.md` - URLs for test/prod, XSD, WSDL
|
||||
- `04_encadenamiento_hash.md` - Crypto chaining, hash calculation
|
||||
- `05_estructura_xml.md` - XML structure, fields
|
||||
- `06_operaciones.md` - Alta, anulación, subsanación
|
||||
- `07_consultas.md` - Query sent records
|
||||
- `08_errores_y_respuestas.md` - Error codes
|
||||
- `09_control_de_flujo.md` - Rate limits
|
||||
- `10_pasar_a_produccion.md` - Prod migration steps
|
||||
|
||||
## Dependencies
|
||||
- Use Go modules (`go.mod`), no vendoring
|
||||
|
||||
## Pending Decisions (to discuss)
|
||||
- Exact input JSON format
|
||||
- Authentication mechanism
|
||||
- Persistence (database, file, etc.)
|
||||
- Documentation language
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
server:
|
||||
port: 6789
|
||||
|
||||
verifactu:
|
||||
environment: test
|
||||
|
||||
certificates:
|
||||
storage_path: ./certs/
|
||||
|
||||
crypto:
|
||||
keys_path: ./keys/
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
module VerifactuMidAPI
|
||||
|
||||
go 1.26
|
||||
|
||||
require gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
Loading…
Reference in New Issue