Saltar al contenido principal

API Publica

La API Publica de Fidely permite a integradores externos conectarse a la plataforma para gestionar clientes, transacciones, canjes y mas.

URL Base

https://fidely20backend.azurewebsites.net/api/v1

Autenticacion

Todos los endpoints de la API publica requieren autenticacion mediante Client ID y Client Secret en los headers HTTP:

X-Client-Id: tu-client-id
X-Client-Secret: tu-client-secret

Obtener credenciales

Las credenciales se generan desde el backoffice de Fidely:

  1. Ingresa al backoffice de tu comercio
  2. Ve a Configuracion > API Clients
  3. Crea un nuevo API Client indicando un nombre descriptivo (ej: "POS Externo", "ERP")
  4. Se generara un client_id (UUID) y un client_secret
Importante

El client_secret solo se muestra una vez al momento de la creacion. Guardalo en un lugar seguro. Si lo perdes, podes regenerarlo desde el backoffice (esto invalida el anterior inmediatamente).

Scopes

Cada API Client puede tener permisos granulares (scopes) que limitan que operaciones puede realizar:

ScopeDescripcion
clients:readConsultar clientes, beneficios, tipos de cliente
clients:writeCrear clientes
transactions:readConsultar historial de transacciones
transactions:writeCrear transacciones (sumar puntos)
swap:writeCanjear puntos / cash / stamps
catalog:readConsultar catalogo de productos
giftcards:readConsultar saldo de giftcards
giftcards:writeCargar / descontar saldo de giftcards
*Acceso total

Si no se configuran scopes, el client tiene acceso total.

Ejemplo de request

curl -X GET https://fidely20backend.azurewebsites.net/api/v1/store \
-H "X-Client-Id: a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
-H "X-Client-Secret: 1a2b3c4d5e6f7890abcdef1234567890abcdef123456"

Errores de autenticacion

CodigoMensajeCausa
401X-Client-Id and X-Client-Secret headers are requiredFaltan los headers
401Invalid client credentialsClient ID no existe o secret incorrecto
403API client is disabledEl client fue deshabilitado
403Insufficient permissions. Required scope: ...El client no tiene el scope necesario

Formato de respuesta

  • Todas las respuestas son JSON
  • Los errores devuelven { "error": "mensaje" } con el codigo HTTP apropiado
  • Las fechas usan formato YYYY-MM-DD HH:mm:ss

Rate Limiting

Cada API Client tiene un limite de requests por minuto (default: 60). Si se excede, la API responde 429 Too Many Requests.

Auditoria

Todas las operaciones realizadas via API publica quedan registradas con:

  • El client_id que realizo la operacion
  • IP de origen
  • Timestamp
  • Duracion del request

Cuando se crean clientes o transacciones via API, el campo created_by_api_client queda registrado en la base de datos.