Ir al contenido
Developers
Entorno
No autenticado

Primeros pasos

Tu primera llamada a la Transactions API v2, acá mismo y sin instalar nada

Actualizado el 2026-08-16Para: Principiantes · Desarrolladores

Los tres pasos de arriba hacen la llamada de verdad, contra el país y el entorno que elijas en la barra. Lo que sigue es lo mismo desde tu terminal, para cuando lo lleves a tu código.

Pedir el access token

La credencial es una API key con su secret, que se crean en la sección Desarrolladores de BistroWeb. $BISTRO_HOST es el host de tu país y entorno; el /oauth repetido no es un error de tipeo: el primero elige el servicio en el gateway y el segundo es la ruta del servicio.

curl -X POST "https://$BISTRO_HOST/oauth/oauth/token" \
  -H "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
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "transactions.read"
}

El token dura una hora. Reusalo hasta que venza en vez de pedir uno por llamada: el endpoint tiene límite de tasa.

Consultar las ventas

El token viaja en el header Authorization, con el prefijo Bearer y un espacio.

curl -G "https://$BISTRO_HOST_OAUTH/transactions/sales" \
  -H "Authorization: Bearer $BISTRO_TOKEN" \
  --data-urlencode "ShopCode=1001" \
  --data-urlencode "From=2026-07-01T00:00:00Z" \
  --data-urlencode "To=2026-08-01T00:00:00Z" \
  --data-urlencode "Limit=50"

Dos detalles que importan más de lo que parecen:

  • From es inclusivo y To es exclusivo. Para pedir todo julio, el To es el 1 de agosto a las 00:00, no el 31 de julio.
  • ShopCode se puede repetir para pedir varios locales en la misma llamada.

Para recorrer todas las páginas: mientras has_more sea true, repetí la llamada pasando el next_page que vino, en el parámetro Page.

Si algo falla

  • 401 al pedir el token: la API key o el secret no son correctos, o la key está dada de baja.
  • 400 con invalid_scope: pediste un scope que la credencial no tiene.
  • 403 en una consulta: al token le falta el scope que el endpoint exige —transactions.read para estas rutas— o el local no está entre los habilitados para la credencial.

Si todavía usás la Transactions API v1

Está discontinuada, pero sigue funcionando. Se autentica con el usuario y la contraseña de BistroWeb, y el token dura dos días sin endpoint de refresh:

curl -X POST "https://$BISTRO_HOST/bistroapi/api/v1.0/Token" \
  -H "Content-Type: application/json" \
  -d '{
        "username": "tu-usuario@empresa.com",
        "password": "tu-contraseña"
      }'

curl -G "https://$BISTRO_HOST/bistroapi/api/v1.0/sales" \
  -H "Authorization: Bearer $BISTRO_TOKEN" \
  --data-urlencode "ShopCode=1001" \
  --data-urlencode "From=2026-07-01T00:00:00Z" \
  --data-urlencode "To=2026-08-01T00:00:00Z"

Ahí los errores son otros: 401 es usuario o contraseña incorrectos, 403 al pedir el token es que al usuario le falta el rol ApiUser, y 403 en una consulta es un local que no está entre los habilitados para ese usuario.

¿Te resultó útil esta página?