Buscar categorías de carga
GET/categories/find
Propósito
Busca categorías de carga (headings y subheadings del sistema armonizado) por un término de búsqueda de texto libre.
Objetivo
Permitir que los usuarios encuentren rápidamente la categoría de mercancía adecuada al crear o editar un eCMR, mostrando resultados combinados de capítulos (headings) y subcapítulos (subheadings).
Casos de uso
- Buscar "animal" para encontrar categorías relacionadas con animales vivos.
- Filtrar categorías de carga al rellenar el campo de mercancía de un eCMR.
- Autocompletar un selector de tipo de mercancía en la interfaz.
Flujo de búsqueda
flowchart TD
A[Recibir GET /categories/find?term=X] --> B{¿term proporcionado y no vacío?}
B -->|No| C[404 TERM_NOT_FOUND]
B -->|Sí| D[Buscar en cargo_heading por regex en title/label]
D --> E[Buscar en cargo_subheading por regex en title/label]
E --> F[Combinar resultados - máx 20 de cada colección]
F --> G[Limpiar títulos y unir etiquetas]
G --> H[Ordenar alfabéticamente por title]
H --> I[200 OK - Lista de categorías]
Detalles técnicos
- La búsqueda se ejecuta con
$regexy opcióni(case-insensitive) sobre los campostitleylabelde ambas colecciones. - Se limita a 20 resultados de
cargo_headingy 20 resultados decargo_subheading, que se combinan y ordenan alfabéticamente portitle(máximo 40 resultados totales). - Los títulos se limpian eliminando el prefijo
"heading ". - Las etiquetas (
label, almacenadas como array) se unen con espacios y se eliminan guiones (-) y dos puntos (:). - El campo
urlse devuelve recortado; puede estar vacío.
Autenticación
Requiere JWT Bearer token o API Key (isLoged middleware).
Request
Responses
- 200
- 401
- 404
Lista de categorías encontradas, combinadas de headings y subheadings, ordenadas alfabéticamente por título
Response Headers
Token JWT o API Key ausente, expirado o inválido
Response Headers
El parámetro term no fue proporcionado o está vacío