Saltar al contenido principal

Gestion de Credenciales

Los API Clients se administran desde el backoffice de Fidely. Cada comercio puede crear multiples credenciales para distintos integradores.

Crear API Client

POST /stores/{storeId}/api-clients
Authorization: Bearer {jwt-backoffice}

Request:

{
"name": "POS Externo",
"scopes": ["clients:read", "clients:write", "transactions:write", "swap:write"],
"rate_limit_per_min": 120
}

Response 201:

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"client_secret": "1a2b3c4d5e6f7890abcdef1234567890abcdef123456",
"store_id": 17,
"name": "POS Externo",
"scopes": ["clients:read", "clients:write", "transactions:write", "swap:write"],
"rate_limit_per_min": 120,
"enabled": true,
"created_at": "2026-03-16 01:00:00"
}
El client_secret solo se muestra una vez

Copia y guarda el client_secret en un lugar seguro. No se puede recuperar despues. Si lo perdes, usa el endpoint de regenerar secret.

Listar API Clients

GET /stores/{storeId}/api-clients
Authorization: Bearer {jwt-backoffice}

Response 200:

[
{
"id": "a1b2c3d4-...",
"store_id": 17,
"name": "POS Externo",
"scopes": ["clients:read", "transactions:write"],
"rate_limit_per_min": 120,
"enabled": true,
"last_used_at": "2026-03-16 10:30:00",
"created_at": "2026-03-16 01:00:00"
}
]

Actualizar API Client

POST /stores/{storeId}/api-clients/{clientId}/update
Authorization: Bearer {jwt-backoffice}

Request:

{
"name": "POS Externo v2",
"scopes": ["*"],
"rate_limit_per_min": 200,
"enabled": true
}

Deshabilitar API Client

Para revocar el acceso de un integrador sin eliminarlo:

POST /stores/{storeId}/api-clients/{clientId}/update

{ "enabled": false }

El integrador recibira 403 API client is disabled en cada request.

Regenerar Secret

Si el secret fue comprometido o perdido:

POST /stores/{storeId}/api-clients/{clientId}/regenerate-secret
Authorization: Bearer {jwt-backoffice}

Response 200:

{
"client_id": "a1b2c3d4-...",
"client_secret": "nuevo-secret-generado-aqui"
}
aviso

El secret anterior queda invalidado inmediatamente. El integrador debe actualizar su configuracion antes de hacer nuevos requests.

Eliminar API Client

POST /stores/{storeId}/api-clients/{clientId}/delete
Authorization: Bearer {jwt-backoffice}

Logs de acceso

Cada request realizado con un API Client queda registrado en la tabla api_access_log con:

CampoDescripcion
client_idUUID del API Client
store_idID del comercio
methodMetodo HTTP (GET, POST)
pathRuta del endpoint
status_codeCodigo de respuesta
ip_addressIP de origen
duration_msDuracion en milisegundos
created_atTimestamp