Bistrosoft Developers
Los datos de tu restaurante, disponibles por API
Catálogo, ventas, pagos y caja de todos tus locales, en formato JSON y con las mismas reglas en cada país donde operamos.
Productos, categorías, combos y menús: la estructura sobre la que se apoya todo lo demás. Se lee y se escribe.
Transactions APIVentas, pagos y movimientos de caja, con el detalle línea por línea. Es de lectura.
Authorization APIEmite los access tokens de las otras dos a partir de tu API key y tu secret. Es por donde se empieza.
Cómo funciona
Es una API REST sobre HTTPS. Pedís un token, lo mandás en el header y leés JSON. No hay SDK obligatorio ni webhooks que configurar para empezar.
| Autenticación | API key y secret con OAuth2 client_credentials para la Catalog API y la Transactions API v2. La Transactions API v1, discontinuada, usa usuario y contraseña de BistroWeb |
| Formato | JSON en request y response. Fechas en ISO 8601 |
| Límite de tasa | 40 llamadas por minuto por usuario, compartidas. Al pasarte devuelve 429 |
| Entornos | Preproducción y producción, con hosts y credenciales separados por país |
La primera llamada
Son dos pedidos: cambiás tu API key y tu secret por un access token, y con ese token consultás las ventas. Las credenciales se sacan de la sección Desarrolladores de BistroWeb.
# 1. Access token (dura una hora; reusalo hasta que venza)
curl --request POST \
--url 'https://preprod-ar-apigw.bistrosoft.com/oauth/oauth/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--data grant_type=client_credentials \
--data client_id=<tu-api-key> \
--data client_secret=<tu-secret> \
--data scope=transactions.read
# 2. Las ventas del período
curl --request GET \
--url 'https://preprod-ar-apigw-oauth.bistrosoft.com/transactions/sales?From=2026-08-01T00:00:00Z&To=2026-08-16T00:00:00Z' \
--header 'Authorization: Bearer <access-token>'
El /oauth repetido del primer pedido no es un error de tipeo: el primero le dice
al gateway a qué servicio ir y el segundo es la ruta del servicio.
Si todavía usás la Transactions API v1
Está discontinuada —para integraciones nuevas va la v2 de arriba— pero sigue funcionando. Se autentica con el usuario y la contraseña de BistroWeb, y devuelve un JWT de 48 horas:
curl --request GET \
--url 'https://preprod-ar-apigw.bistrosoft.com/bistroapi/api/v1.0/sales?From=2026-08-01T00:00:00Z&To=2026-08-16T00:00:00Z' \
--header 'Authorization: Bearer <tu-token>'
Lo que conviene saber antes de empezar
El token de la Transactions API dura dos días y no hay refresh
POST /api/v1.0/Token devuelve un JWT con vencimiento a 48 horas. No hay
endpoint de refresh: cuando vence, se pide uno nuevo con las mismas
credenciales. Un proceso que corre todas las noches tiene que pedir token en
cada corrida.
El límite de 40 llamadas por minuto es compartido
Los cuatro endpoints de consulta comparten 40 requests por minuto por usuario: no son 40 para cada uno. Cambiar de endpoint no esquiva el límite.
Los datos que ves dependen de tu usuario
El token lleva adentro los shop_code habilitados para tu usuario y la API
filtra por ellos. Pedir un local que no te corresponde devuelve vacío o 403,
nunca datos de otro cliente.
Un host por país
Cada país tiene su propio host y sus propios datos: Argentina, México y España son entornos separados, sin un endpoint global que los junte. El selector de país de la barra superior cambia el host contra el que se arman los ejemplos y el que se usa al probar un endpoint desde acá.
Podés pasarle este link a tu proveedor de software: todo lo que necesita para integrarse está acá.