Integrar punto de venta
Cómo sincronizar catálogo y consumo entre R2 y un sistema de punto de venta.
Un punto de venta necesita dos cosas de R2: qué se vende y a qué precio de lista, y qué se ha consumido. Los permisos son read:items y read:orders.
Traer el catálogo#
El catálogo cambia poco: basta sincronizarlo una vez al día o cuando el negocio te avise. Filtra por product_type para quedarte con lo que tu sistema maneja.
const catálogo = await leerTodo("items");
// Un punto de venta de restaurante normalmente ignora las habitaciones
const vendibles = catálogo.filter(
(a) => a.status === "active" && a.product_type !== "room"
);Leer el consumo#
Las comandas del restaurante llegan como órdenes de tipo command, y el servicio a la habitación como room_service. Cada renglón trae el artículo, la cantidad y el precio realmente cobrado.
curl -H "Authorization: Bearer TU_LLAVE" \
"https://api.r2-os.com/api/connect/v1/orders?type=command&created_from=2026-07-16&limit=50"Cargos del huésped a su cuenta
Cuando un huésped consume en el restaurante y lo carga a su habitación, el consumo aparece como un renglón adicional dentro de la reserva de hospedaje, no como una orden aparte. Si tu punto de venta necesita ver esos consumos, pide también read:reservations y recorre el arreglo lines.
Escritura#
La versión 1 de esta API es de solo lectura: tu sistema no puede crear órdenes ni cobros en R2 todavía. La escritura está en el mapa de ruta; escríbenos si tu integración la necesita, para priorizarla con casos reales.