# Convenciones

> Formatos, identificadores, fechas, decimales y códigos de la API de Trevol.

Fuente: https://platform.trevol.si/docs/convenciones

- **Dirección:** `https://api.trevol.si/v1`. JSON en UTF-8; los campos van en inglés y los mensajes en español.
- **Montos:** en los pedidos, número o texto decimal con punto (`"150000.50"`); en las respuestas, siempre texto con 2 decimales. Las cantidades admiten hasta 6 decimales. Los SDK mandan los montos como texto, sin errores de coma flotante.
- **Precios sin impuestos:** `unit_price` va antes de IVA; Trevol calcula impuestos, retenciones y totales.
- **Códigos de la DIAN como texto:** `"01"`, `"31"`, `"47"`.
- **Identificadores con prefijo:** `inv_` factura, `cn_` nota crédito, `dn_` nota débito, `sd_` documento soporte, `sda_` su nota de ajuste, `pos_` documento equivalente (de cualquier tipo), `posa_` su nota de ajuste, `pr_` nómina, `pra_` su nota de ajuste y `rev_` evento RADIAN.
- **`external_id`:** tu identificador, opcional. Es único entre facturas, notas, documentos soporte y equivalentes (y sus notas); aparte, entre nóminas y sus ajustes; y aparte, entre eventos RADIAN. El `existing_id` de un conflicto puede ser el id de cualquiera de los recursos de su grupo.
- **Código de seguridad:** se llama como lo llama la DIAN: `cufe` en la factura, `cude` en las notas, el documento equivalente y los eventos, `cuds` en el documento soporte y `cune` en la nómina.
- **Fechas:** ISO 8601; `issued_at` en hora de Bogotá (`-05:00`).
- **Campos desconocidos:** un campo que Trevol no conoce es un error ([`validation_error`](/docs/errores#validation_error)); no se ignora en silencio.
- **Cabeceras de respuesta:** `Request-Id` (`req_…`) en cada respuesta, `Trevol-Version` con la versión usada e `Idempotent-Replayed: true` cuando se repite una respuesta guardada.

> **Cuando pidas ayuda:** Comparte el `Request-Id` (`req_…`). Con él ubicamos tu petición en el [registro](https://platform.trevol.si/registro) sin ver los datos de tus clientes.
