Saltar al contenido principal
POST
/
auth
/
token
curl -X POST "https://firespark.vercel.app/api/integrations/v1/auth/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET" \
  -d "scope=menus:write stores:read orders:read"
{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "menus:write stores:read orders:read"
}
La API de integraciones usa OAuth 2.0 (RFC 6749) con el grant de client credentials para autenticación servidor a servidor.

Requisitos previos

Registra tu integración en el panel de Fire spark para obtener un client_id y un client_secret. Guarda el client secret solo en tu servidor.

Grant de client credentials

Usa este grant para integraciones máquina a máquina, como conectores de POS, RMS y agregadores. Solicita un access token directamente en el endpoint de token.
curl -X POST "https://firespark.vercel.app/api/integrations/v1/auth/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET" \
  -d "scope=menus:write stores:read orders:read"
{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "menus:write stores:read orders:read"
}

Parámetros de la solicitud de token

ParámetroRequeridoDescripción
grant_typeDebe ser client_credentials.
client_idEl client ID de tu integración.
client_secretEl client secret de tu integración.
scopeNoLista de scopes separados por espacios. Por defecto, los configurados para tu integración.

Scopes disponibles

ScopeAcceso
menus:readLeer menús, categorías y productos
menus:writeCrear y actualizar menús
stores:readLeer configuración de tiendas
stores:writeActualizar configuración de tiendas
channels:readLeer canales de venta
channels:writeActualizar canales de venta
orders:readLeer pedidos
orders:writeCrear y actualizar pedidos
fulfillment:readLeer opciones de fulfillment
fulfillment:writeActualizar opciones de fulfillment

Usar el access token

Incluye el access token en el header Authorization de cada solicitud autenticada.
curl "https://firespark.vercel.app/api/integrations/v1/menus" \
  -H "Authorization: Bearer ACCESS_TOKEN"
Los access tokens expiran después del número de segundos indicado en expires_in. Solicita un token nuevo antes de que expire. No expongas client secrets ni access tokens en código del lado del cliente.

Respuestas de error

Los errores de token y autorización siguen RFC 6749. El endpoint de token devuelve application/json con un campo error.
ErrorDescripción
invalid_requestFalta un parámetro requerido o está mal formado.
invalid_clientFalló la autenticación del cliente.
invalid_grantLas credenciales proporcionadas son inválidas.
unauthorized_clientEl cliente no está autorizado para este tipo de grant.
unsupported_grant_typeEl valor de grant_type no es compatible.
invalid_scopeEl scope solicitado es inválido o excede lo permitido.
Error
{
  "error": "invalid_client",
  "error_description": "Client authentication failed."
}