Bentian Bentian | Documentación
Descargar v0.3.8
Esquemas & Tipos · 5 min de lectura · Actualizado v0.3.8

Esquema JSON de Pedidos (OrderPayload) y Validación Zod

Estructura formal de datos para la ingesta de pedidos: cliente, dirección de entrega, líneas de producto, IVA y recargo.

Para garantizar que ningún pedido malformado o incompleto llegue a corromper la base de datos de Factusol, Bentian valida cada objeto entrante contra un esquema TypeScript estricto validado en runtime mediante la biblioteca Zod.

1. Especificación del Esquema JSON

Estructura completa de un pedido válido procesable por el conector:

{
  "id": "ORD-2026-9041",
  "series": "1",
  "createdAt": "2026-10-05T08:30:00Z",
  "customer": {
    "name": "Suministros Industriales Levante S.L.",
    "cif": "B98765432",
    "email": "[email protected]",
    "phone": "+34 961 234 567",
    "billingAddress": {
      "address": "Calle Mayor 12, Nave 3",
      "city": "Valencia",
      "postalCode": "46001",
      "province": "Valencia",
      "country": "ES"
    }
  },
  "lines": [
    {
      "sku": "TAL-BOSCH-750",
      "description": "Taladro Percutor Bosch GSB 750W",
      "quantity": 2,
      "unitPrice": 89.00,
      "discountPercent": 0.0,
      "vatRate": 21.0,
      "equivalenceSurchargeRate": 5.2
    }
  ],
  "shipping": {
    "cost": 6.50,
    "vatRate": 21.0
  },
  "paymentMethod": "stripe",
  "total": 222.18
}

2. Campos de Cabecera y Cliente

  • id (string): Identificador único del pedido en la tienda web (utilizado para evitar duplicidades).
  • series (string, 1 char): Serie de facturación de Factusol (por defecto "1").
  • customer.cif (string): NIF, CIF o NIE del cliente para matching en F_CLI.

3. Campos de Detalle de Líneas de Producto

  • sku (string): Código de artículo en Factusol (F_ART.CODART).
  • quantity (number): Número de unidades (soporta decimales para venta a peso/metros).
  • unitPrice (number): Precio unitario base sin impuestos.
  • vatRate (number): Tipo impositivo de IVA (21, 10, 4 o 0).
  • equivalenceSurchargeRate (number, opcional): Recargo de equivalencia aplicable (5.2, 1.4, 0.5 o 0).

4. Validación en TypeScript con Zod

El pipeline de ingesta de Bentian ejecuta OrderSchema.parse(payload). Si falta algún campo obligatorio o los importes no cuadran matemáticamente, el pedido no se inserta en Factusol y queda registrado en la cola de inspección con una notificación humanizada.

¿Tienes dudas sobre la configuración en tu empresa?

Nuestro equipo de ingeniería te asiste con tu base de datos Factusol o red local.

Contactar con Soporte