Cambios
Copia de libs/api/public-api/CHANGELOG.md, actualizado en cada PR que toca el contrato público (ver brain/como-trabajar.md).
Cambios de /public/v1
Sección titulada «Cambios de /public/v1»Historial del contrato de la API pública. Un PR que cambia libs/api/public-api de forma visible para una app agrega una entrada aquí, en el mismo PR (brain/como-trabajar.md § Documentar). El CI compara el snapshot de OpenAPI del PR contra la rama base con oasdiff y falla si hay un cambio que rompe (política de versionado: ver /usar-la-api/ en este mismo sitio).
Sin publicar
Sección titulada «Sin publicar»- Nuevo:
DELETE /public/v1/installation, la app se desinstala a sí misma (204): instalación desinstalada, tokens revocados,app.uninstalledy bitácora con actor app.POST /oauth/revokesigue sin desinstalar. - Nuevo:
GET /public/v1/channelsyGET /public/v1/payment-accounts, para elegir canal y cuenta de cobro al crear una venta. - Nuevo:
GET /public/v1/docs, página HTML con la referencia interactiva (Scalar) de esta misma API. - Mejora: los errores de validación ahora incluyen
detailscon el campo exacto que falló. - Mejora: los webhooks se intentan enviar de inmediato tras el commit, sin esperar al
CronJobde reintentos. - Corrección: al sincronizar con
updatedSince, una fila que cambiaba a mitad del recorrido podía hacer que otra no se entregara nunca. El cursor ahora sigue después de la última fila entregada y solo sirve conupdatedSinceen el mismo recurso; sigue siendo opaco. Un recorrido conupdatedSinceque estaba en curso al desplegar recibe 400invalid_cursory se reempieza desde suupdatedSince. - Corrección: el OpenAPI marca
bearerAuthenGET /business,GET /exchange-rate,DELETE /installationy/webhook-subscriptions. Siempre exigieron token; los clientes generados lo omitían. - Corrección: una entrega de webhook ya no puede enviarse dos veces cuando el intento inmediato y el reintento coinciden.
v1 (fase 0 y 1)
Sección titulada «v1 (fase 0 y 1)»Primera versión pública: catálogo, categorías, listas de precios, existencias, ubicaciones, ventas (lectura y creación), contactos (lectura, creación y edición), negocio y tasa del día. OAuth 2.0 con PKCE y apps privadas. Webhooks de catálogo, inventario, ventas y contactos.