Changelog debug

Cambios del API /api/v1 para front-end, mobile e integradores.

← Volver al índice
cliente admin

2026-08-15 — Datos de facturación del cliente

Para el front-end y mobile del cliente, y el panel admin.

Summary

El cliente ya puede registrar sus datos de facturación y reutilizarlos en cada pedido. Se guardan en su perfil y al crear una orden se copian a ella, de modo que la orden conserva con qué datos se facturó aunque el cliente los edite después. Por ahora solo se recolecta la información: no se emite ningún documento fiscal.

Es opcional, así que el flujo actual de creación de pedidos no cambia mientras el admin no lo exija.

New

Método Endpoint Rol Para qué sirve
GET /billing-profiles cliente Listar sus datos de facturación, el predeterminado primero.
POST /billing-profiles cliente Registrar datos de facturación (máximo 5).
PUT /billing-profiles/{id} cliente Reemplazar unos datos ya guardados.
PUT /billing-profiles/{id}/default cliente Marcar cuáles usar por defecto.
DELETE /billing-profiles/{id} cliente Eliminar unos datos guardados.

Cada registro lleva entityType (PERSONAL o JURIDICA), idNumber, name, address y phone. En PERSONAL, name es el nombre de la persona y el idNumber es una cédula (V- o E-); en JURIDICA, name es la razón social y el idNumber es un RIF (J- o G-). Un idNumber que no corresponda al entityType se rechaza con 422.

El idNumber se normaliza antes de guardarse: v12345678 y V-12.345.678 quedan ambos como V-12345678.

La address de estos endpoints es la dirección de facturación: texto libre, sin coordenadas, y sin relación con las direcciones de entrega de addresses.

Changes

POST /orders (cliente)

Acepta un billingProfileId opcional. Si se omite, se usa el registro predeterminado del cliente; si el cliente no tiene ninguno, la orden se crea sin datos de facturación.

La response incluye un objeto billing con entity_type, id_number, name, address y phone, o null si la orden no tiene datos. Aparece en la vista del cliente y en la del admin; la vista del conductor nunca lo incluye.

Un billingProfileId desconocido o de otro cliente devuelve 422.

GET /admin/orders/{orderId} (admin)

El detalle de la orden incluye el mismo objeto billing.

GET y PATCH /admin/config/orders (admin)

Nuevo campo booleano billing_required. Con true, POST /orders responde 422 si el cliente no tiene datos de facturación registrados. Viene en false.