Cargando…
Barona Contable

API Conecta

Conecta tu tienda, tu POS, tu hotel o cualquier sistema con la contabilidad y la facturación electrónica.

Cómo funciona

La API Conecta es REST con JSON. Cada empresa crea sus llaves en Conecta (API) dentro de la aplicación, y cada llave tiene solo los permisos que le des. Todas las respuestas usan valores en pesos colombianos (números con hasta 2 decimales).

  • Base: https://baronacontable-baronaenterprise.azurewebsites.net/api/v1
  • Autenticación: encabezado Authorization: Bearer bc_live_…
  • Especificación OpenAPI: /api/v1/openapi.json
  • Límite: 240 solicitudes por minuto por llave.

Permisos de las llaves

PermisoQué permite
lecturaConsultar empresa, terceros, productos, facturas y reportes
tercerosCrear terceros (también al facturar a un cliente nuevo)
productosCrear productos y servicios
facturacionEmitir facturas, notas crédito y recibos de caja
comprasRegistrar compras y gastos
contabilidadRegistrar comprobantes contables (notas de contabilidad)

Emitir una factura

El cliente se puede enviar por su id, por su documento (si no existe y la llave tiene permiso terceros, se crea) o como {"consumidorFinal": true}. La factura queda contabilizada al instante.

POST /api/v1/facturas
Authorization: Bearer bc_live_xxxxxxxx
Idempotency-Key: pedido-10482
Content-Type: application/json

{
  "cliente": { "tipoId": "13", "numero": "1070123456", "tipoPersona": "2",
               "nombres": "Laura", "apellidos": "Rojas", "email": "laura@correo.co" },
  "lineas": [
    { "codigo": "CAM-01", "descripcion": "Camisa guayabera", "cantidad": 2, "precio": 89900, "iva": "19" }
  ],
  "formaPago": "1",
  "medioPago": "47",
  "referencia": "pedido-10482"
}

Respuesta 201 con la factura completa: número, totales, retenciones y estado ante la DIAN. Valores de iva: 19, 5, E (exento) o X (excluido). Medios de pago: 10 efectivo, 47 transferencia, 48 tarjeta crédito, 49 tarjeta débito, 42 consignación.

Nunca dupliques una venta

  • Idempotency-Key: si repites la misma petición POST con la misma llave de idempotencia (24 horas), recibes la misma respuesta y el encabezado Idempotent-Replayed: true.
  • referencia: si envías el número de pedido de tu sistema, una segunda factura con la misma referencia devuelve la existente con "duplicada": true.

Otros recursos

Método y rutaPermisoUso
GET /api/v1/empresalecturaDatos de la empresa
GET /api/v1/terceros?numero=lecturaBuscar terceros
POST /api/v1/tercerostercerosCrear tercero
GET|POST /api/v1/productoslectura / productosCatálogo
GET /api/v1/facturas?desde=&hasta=&referencia=lecturaListar facturas
GET /api/v1/facturas/{id}lecturaDetalle, CUFE y estado DIAN
POST /api/v1/notas-creditofacturacionNota crédito sobre una factura
POST /api/v1/recibosfacturacionRegistrar pagos de clientes
POST /api/v1/comprascomprasRegistrar compras y gastos
POST /api/v1/asientoscontabilidadNota de contabilidad
GET /api/v1/reportes/balance-pruebalecturaBalance de prueba
GET /api/v1/reportes/resultados?desde=&hasta=lecturaEstado de resultados

Webhooks

Recibe avisos en tu servidor (solo HTTPS público) cuando ocurre algo: factura.creada, factura.dian (cambio de estado ante la DIAN), nota_credito.creada, nota_debito.creada, recibo.creado, compra.creada, tercero.creado y comprobante.creado. Si tu servidor no responde 2xx, reintentamos a los 10 segundos, 1 minuto y 10 minutos.

Cada aviso trae el encabezado X-BC-Signature: t=<unix>,v1=<hex>, donde v1 = HMAC-SHA256(secreto, t + "." + cuerpo). Verifícalo así (Node.js):

const crypto = require('crypto');
function verificar(secreto, firma, cuerpo) {
  const m = /^t=(\d+),v1=([0-9a-f]{64})$/.exec(firma || '');
  if (!m || Math.abs(Date.now() / 1000 - Number(m[1])) > 300) return false;
  const esperado = crypto.createHmac('sha256', secreto).update(m[1] + '.' + cuerpo).digest('hex');
  return crypto.timingSafeEqual(Buffer.from(esperado), Buffer.from(m[2]));
}

Errores

CódigoSignificado
401Llave inválida o revocada
402La suscripción de la empresa no está activa
403La llave no tiene el permiso necesario
422Datos inválidos (el campo error explica qué corregir)
429Superaste el límite de solicitudes

¿Necesitas ayuda para conectar tu sistema? Escríbenos a info@baronaenterprise.com.