VerifactuMidAPI/AGENTS.md

1.6 KiB

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