Ir al contenido
Developers

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.

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ónAPI 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
FormatoJSON en request y response. Fechas en ISO 8601
Límite de tasa40 llamadas por minuto por usuario, compartidas. Al pasarte devuelve 429
EntornosPreproducció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á.

Información: ¿No sos desarrollador?

Podés pasarle este link a tu proveedor de software: todo lo que necesita para integrarse está acá.