Errores, anulación y preguntas frecuentes
Códigos HTTP y mensajes que puede devolver la API DTE, cómo dejar sin efecto un DTE emitido usando una nota de crédito y respuestas a las preguntas más frecuentes de integración.
Errores #
Los errores devuelven { "ok": false, "error": "mensaje" } con el código HTTP correspondiente.
| Código | Significado | Causas típicas |
|---|---|---|
400 | Bad Request | type inválido, falta items, receiver.rut mal formado, refs ausente en NC/ND. |
401 | No autenticado | API key ausente, inválida o revocada. |
403 | Sin permiso | Rol viewer intentando emitir, o key sin acceso a ese emisor. |
404 | No encontrado | Emisor inexistente/inactivo o endpoint desconocido. |
405 | Método no permitido | Verbo HTTP incorrecto para el endpoint. |
422 | No procesable | Sin certificado vigente, certificado vencido o sin folios CAF disponibles. |
{ "ok": false, "error": "Sin folios disponibles para Factura electrónica. Solicita folios CAF al SII." }
Anular un DTE #
No existe un endpoint de anulación. Para dejar sin efecto un documento, emite una nota de crédito (type: 61) que lo referencie en refs.
{
"type": 61,
"receiver": { "rut": "12345678-9", "name": "Comercial Ejemplo Ltda" },
"items": [ { "name": "Anulación factura 137", "qty": 1, "price": 292740 } ],
"refs": [
{ "type": 33, "folio": 137, "date": "2026-07-25", "reason": "Anula documento" }
]
}
Preguntas frecuentes #
Dudas habituales al integrar la API de facturación electrónica.
¿Qué documentos tributarios puedo emitir con la API? ▾
Facturas (33), facturas exentas (34), boletas (39), boletas exentas (41), facturas de compra (46), guías de despacho (52), notas de débito (56) y notas de crédito (61). El tipo se indica en el campo type del mismo endpoint POST /api/{rut}/emitir.
¿Necesito instalar mi certificado digital en mi servidor? ▾
No. Tu certificado .p12 queda custodiado en YAMT y la firma electrónica ocurre en nuestros servidores. El certificado nunca viaja en las peticiones de la API.
¿Cómo me autentico en la API? ▾
Con una API key con formato yamt_… enviada en el header Authorization: Bearer. Generas y revocas tus keys desde el dashboard; cada key se asocia a un emisor y a un rol (owner, editor o viewer).
¿La API calcula el IVA automáticamente? ▾
Sí. Envías los ítems con su precio unitario en pesos y YAMT calcula neto, IVA, monto exento y total según el tipo de documento y la tasa de IVA del emisor.
¿Hay un ambiente de pruebas o sandbox? ▾
Sí. Si el emisor está en ambiente de prueba, la emisión valida y guarda el documento localmente sin enviarlo al SII (la respuesta incluye env: "sandbox" y sii: null). El mismo código funciona luego en producción sin cambios.
¿Cómo anulo una factura electrónica emitida? ▾
No existe un endpoint de anulación. Para dejar sin efecto un documento se emite una nota de crédito (type: 61) que lo referencia en el arreglo refs con su tipo y folio original.
¿Qué pasa si falla el envío al SII? ▾
El DTE se guarda igualmente y la respuesta incluye un campo warning con track_id vacío. Puedes reintentar el envío con POST /api/emision_reenviar.
¿En qué lenguaje de programación puedo integrar la API? ▾
En cualquiera que pueda hacer peticiones HTTP con cuerpo JSON: PHP, Python, Node.js, Java, .NET, Go, etc. La API es REST estándar, sin SOAP ni manejo de XML de tu lado.