Referencia · Panel
Credenciales del negocio (panel, con sesión)
GET /api/configuracion/api-externa/credenciales
Ver en MarkdownGET/api/configuracion/api-externa/credenciales
Dueña o administradora (la Super Recepción no pasa). Nunca devuelve la clave ni su hash.
Autenticación: sesión del panel de Turnova (dueña o administradora). No se llama con una clave de la API.
Ejemplo
// Desde el panel de Turnova, con la sesión iniciada (cookie).
const res = await fetch("/api/configuracion/api-externa/credenciales", {
method: "GET",
});
const r = await res.json();Respuestas
| HTTP | Qué significa |
|---|---|
| 200 | Lista |
| 401 | Clave faltante, inválida o revocada. |
| 403 | Origen no permitido, permiso faltante, clave secreta desde un navegador o plan sin la API (PLAN_SIN_API). |
| 404 | No existe o no es de este negocio. |
Respuesta 200
{
"ok": true,
"datos": {
"plan": {
"incluyeApi": false
},
"credenciales": [
{
"id": "cmh4k2n9x0001",
"nombre": "Masaje descontracturante",
"tipo": "PUBLICA",
"prefijo": "tnv_pk_ab12cd34",
"scopes": [
"catalogo:leer",
"disponibilidad:leer",
"reservas:crear"
],
"origenes": [
"https://mi-spa.com"
],
"createdAt": "2026-11-01T13:00:00.000Z",
"ultimoUsoEn": "2026-11-01T13:05:00.000Z",
"revocadaEn": null
}
]
}
}| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
datos.plan | object | No | |
datos.plan.incluyeApi | boolean | No | false: el plan no incluye la API; las claves existentes no funcionan. |
datos.credenciales | array de object | No | |
datos.credenciales[].id | string | No | |
datos.credenciales[].nombre | string | No | |
datos.credenciales[].tipo | PUBLICA, SECRETA | No | |
datos.credenciales[].prefijo | string | No | |
datos.credenciales[].scopes | array de string | No | |
datos.credenciales[].origenes | array de string | No | |
datos.credenciales[].createdAt | string (date-time) | No | |
datos.credenciales[].ultimoUsoEn | string (date-time) o null | No | |
datos.credenciales[].revocadaEn | string (date-time) o null | No |
Los errores siguen el formato común: ver Errores.