Apariencia
Identidad visual pública de la entidad
Permite a tu sitio o aplicación pintar la marca de la entidad (nombre, colores, textos de bienvenida, logo, isotipo y favicon) igual que lo hace la pantalla de acceso de Panteum. Son datos públicos y no contienen información sensible.
- Autenticación: ninguna.
- URL base:
https://identidad.tu-entidad.example(marcador; ver Conceptos). - Límite de uso: 600 peticiones por minuto por IP en estos dos endpoints.
- Caché: las respuestas traen
ETag; si envíasIf-None-Matchcon el valor recibido, el servidor responde 304 sin cuerpo cuando la marca no cambió.
GET /api/v1/auth/marca — Marca vigente
Devuelve la identidad visual efectiva de la entidad.
Parámetros
No tiene parámetros de ruta ni de consulta. Cabecera opcional: If-None-Match: "<version>".
Ejemplos
curl
bash
curl -s https://identidad.tu-entidad.example/api/v1/auth/marca \
-H "Accept: application/json"JavaScript (fetch)
js
const res = await fetch("https://identidad.tu-entidad.example/api/v1/auth/marca", {
headers: { Accept: "application/json" },
});
if (res.status === 304) {
// usa la copia que ya tienes
} else {
const { data } = await res.json();
document.documentElement.style.setProperty("--color-primario", data.color_primario);
document.title = data.nombre;
}Python (requests)
python
import requests
r = requests.get(
"https://identidad.tu-entidad.example/api/v1/auth/marca",
headers={"Accept": "application/json"},
timeout=10,
)
r.raise_for_status()
marca = r.json()["data"]
print(marca["nombre"], marca["color_primario"])Respuesta de ejemplo (200)
json
{
"success": true,
"data": {
"modo": "panteum",
"nombre": "Panteum",
"tagline": "hub de aplicaciones",
"nombre_entidad": null,
"color_primario": "#2D6BFF",
"color_acento": "#19D3F0",
"logo_url": null,
"isotipo_url": null,
"favicon_url": null,
"logo_tipo": null,
"isotipo_tipo": null,
"login_titulo": "Todas las aplicaciones de tu entidad, en un solo hub.",
"login_bullets": [
"PAA, CDP y RP con trazabilidad",
"PQRS y trámites con firmas y aprobaciones"
],
"contacto_correo": null,
"contacto_sitio": null,
"con_tecnologia_panteum": false,
"es_default": true,
"version": "ab4ddf549000ed21"
},
"message": null
}| Campo | Descripción |
|---|---|
modo | panteum (marca por defecto), comarca (marca de la entidad «con tecnología Panteum») o marca_blanca. |
nombre, tagline, nombre_entidad | Textos de identificación. Pueden ser null. |
color_primario, color_acento | Colores en formato #RRGGBB. |
logo_url, isotipo_url, favicon_url | Ruta (relativa al mismo dominio) del archivo de imagen, o null si no hay. Se descarga con el endpoint de abajo. |
logo_tipo, isotipo_tipo | Tipo de la imagen (p. ej. png), o null. |
login_titulo, login_bullets | Texto y viñetas de la pantalla de acceso. |
contacto_correo, contacto_sitio | Datos de contacto de la entidad (opcionales). |
con_tecnologia_panteum | true si debe mostrarse «con tecnología Panteum». |
es_default | true si la entidad aún no personalizó su marca. |
version | Huella de la marca: cambia cuando la marca cambia. |
Errores
| HTTP | error.code | Cuándo |
|---|---|---|
| 304 | — | If-None-Match coincide: la marca no cambió. |
| 429 | RATE_LIMIT | Demasiadas consultas (ver Conceptos). |
GET /api/v1/auth/marca/archivo/{slot} — Imagen de la marca
Devuelve el binario de una imagen de la marca.
Parámetros de ruta
| Parámetro | Valores | Descripción |
|---|---|---|
slot | logo, isotipo, favicon | Qué imagen se pide. |
Ejemplos
curl
bash
curl -s -o logo.png https://identidad.tu-entidad.example/api/v1/auth/marca/archivo/logoJavaScript (fetch)
js
const res = await fetch("https://identidad.tu-entidad.example/api/v1/auth/marca/archivo/logo");
if (res.ok) {
const blob = await res.blob();
document.querySelector("#logo").src = URL.createObjectURL(blob);
}También puedes usar la ruta directamente en una etiqueta: <img src="https://identidad.tu-entidad.example/api/v1/auth/marca/archivo/logo">.
Python (requests)
python
import requests
r = requests.get("https://identidad.tu-entidad.example/api/v1/auth/marca/archivo/logo", timeout=10)
if r.status_code == 200:
open("logo.png", "wb").write(r.content)Respuesta
- 200: la imagen, con su
Content-Typereal,ETagyCache-Control. - 304: el navegador ya tiene la versión vigente.
Errores
| HTTP | error.code | Cuándo |
|---|---|---|
| 404 | NO_ENCONTRADO | Esa imagen no está configurada o el slot no existe. |
| 429 | RATE_LIMIT | Demasiadas consultas. |
json
{
"success": false,
"error": { "code": "NO_ENCONTRADO", "detalle": "Recurso no encontrado." },
"message": "Recurso no encontrado."
}