Comprobantes electrónicos
Emití comprobantes por POST, consultá su estado y obtené el XML firmado, el PDF, el ticket o la respuesta de Hacienda.
API REST · FE 4.4
Conectá tu sistema con SD Invoice para emitir comprobantes, sincronizar catálogos y consultar el resultado de Hacienda sin duplicar la lógica fiscal.
Emití comprobantes por POST, consultá su estado y obtené el XML firmado, el PDF, el ticket o la respuesta de Hacienda.
Creá, actualizá y consultá clientes; consultá el catálogo de productos para conectar tu comercio electrónico, CRM, ERP u operación interna.
Buscá códigos CABYS desde la integración para validar y clasificar productos o servicios antes de facturar.
Cada llave se limita por alcance de lectura o escritura. La autenticación y los datos permanecen separados por empresa.
Enviá Idempotency-Key al emitir para que un reintento del mismo request no duplique el comprobante.
La API devuelve JSON y códigos HTTP claros para validaciones, autenticación, recursos inexistentes y errores operativos.
Solicitud y respuesta reales
Este ejemplo usa datos ficticios, pero respeta el payload que acepta la API. El receptor puede enviarse completo o referenciarse por clientId. La respuesta entrega identificadores y enlaces relativos para continuar el flujo.
Solicitud
curl https://sdinvoice.com/api/v1/invoices \
-H "Authorization: Bearer $SD_API_KEY" \
-H "Idempotency-Key: orden-1842" \
-H "Content-Type: application/json" \
--data '{
"tipoDoc": "01",
"receptor": {
"idType": "02",
"idNumber": "3101123456",
"legalName": "Cliente Ejemplo S.A.",
"email": "facturas@cliente.example"
},
"condicionVenta": "01",
"medioPago": ["01"],
"moneda": "CRC",
"lines": [{
"cabysCode": "8311100000000",
"description": "Servicio profesional",
"unit": "Sp",
"quantity": 1,
"unitPrice": 25000,
"ivaRate": 13
}]
}'Respuesta 201
HTTP/2 201
{
"id": "6aaebdd3-6d65-4d34-a9ad-85a03db71c95",
"clave": "50610082600310112345600100001010000000001199999999",
"consecutivo": "00100001010000000001",
"status": "processing",
"links": {
"self": "/api/v1/invoices/6aaebdd3-...",
"xml": "/api/v1/invoices/6aaebdd3-.../xml",
"pdf": "/api/v1/invoices/6aaebdd3-.../pdf"
}
}Usá Authorization: Bearer con una llave creada en Configuración → API. Los permisos de lectura y escritura son independientes: facturas, catálogo y módulos especializados usan alcances separados.
La cuota estándar es 300 lecturas y 60 escrituras por minuto por llave, con protección adicional por IP. Cada respuesta expone X-RateLimit-Limit y X-RateLimit-Remaining; un 429 incluye Retry-After.
Los errores conservan la forma { error: { code, message } }. Un 401 identifica autenticación, 403 permisos, 409 idempotencia, 422 validación o reglas de negocio y 429 exceso de cuota.
Recursos disponibles
Empezá con una llave de permisos mínimos, validá el payload con un borrador de ensayo y conservá la misma Idempotency-Key en cualquier reintento de red.
Emitir, listar, consultar estado y descargar XML, PDF, ticket o respuesta de Hacienda.
Buscar, listar y crear o actualizar por identificación.
Consultar SKU, CABYS, precio, moneda y tarifa de IVA.
Buscar por código o descripción dentro del catálogo activo.
Endpoints adicionales para Cobranza y Veterinaria según la licencia contratada.
Consultá endpoints, permisos, validaciones, idempotencia, límites y códigos de error en la documentación técnica pública.