Categoría para agrupar comercios en un marketplace. Se asignan comercios (o grupos de comercios) a la categoría manualmente y se usan para navegar el catálogo de comercios.
branch_category_id apunta a la categoría padre; children son las
subcategorías, ordenadas por in_order.pivot_branch_categories (relaciones
branches y branchGroups), con su propio in_order.image_url / image_landscape_url se resuelven a
URLs absolutas y vuelven a la imagen por defecto si se dejan vacías.| Atributo | Tipo | Descripción |
|---|---|---|
id |
int |
|
name |
string |
Nombre de la categoría. |
image_url |
string\|null |
URL de la imagen (logo) de la categoría; imagen por defecto si no se define. |
image_landscape_url |
string\|null |
URL de la imagen apaisada de la categoría; imagen por defecto si no se define. |
created_at |
datetime\|null |
Fecha de creación. |
updated_at |
datetime\|null |
Fecha de última modificación. |
company_id |
int |
Compañía dueña de la categoría (oculto en la respuesta). |
branch_category_id |
int\|null |
Categoría padre; null si es de primer nivel. |
in_order |
int |
Posición de la categoría en su nivel. |
color |
string\|null |
Color de la categoría (en minúsculas); puede ser null. |
date_beg |
datetime |
- |
date_end |
datetime |
- |
day_time_blocks |
json |
- |
allLogs |
ApiLog> |
Registros de auditoría de la API, incluidos los internos. |
branchGroups |
BranchGroup> |
Grupos de comercios asignados a la categoría. |
branches |
Branch> |
Comercios asignados a la categoría. |
children |
Collection<int, BranchCategory> |
Subcategorías, ordenadas por in_order. |
company |
Company |
Compañía dueña de la categoría. |
directPivots |
PivotBranchCategory> |
Asignaciones directas de comercios/grupos a esta categoría (oculto en la respuesta). |
logs |
ApiLog> |
Registros de auditoría de la API visibles. |
parent |
BranchCategory\|null |
Categoría padre. |
parentPivots |
PivotBranchCategory> |
Asignaciones heredadas de las categorías padre (oculto en la respuesta). |
promotedBanners |
PromotedBanner> |
Banners promocionales enlazados a la categoría, ordenados por in_order. |
resources |
UploadedResource> |
Archivos subidos asociados a la categoría. |
{
"id": 1,
"name": "Mercado",
"image_url": "http://127.0.0.1:8000/storage/companies/69/branch/branch_category_image_1_1738876875.png",
"image_landscape_url": "http://127.0.0.1:8000/storage/static/default/product_category_logo.png",
"created_at": "2020-05-03 18:55:46",
"updated_at": "2025-02-06 21:21:15",
"branch_category_id": null,
"in_order": 2,
"color": "/docs/3/branch_category#e7f6f4",
"date_beg": null,
"date_end": null,
"day_time_blocks": null
}
Crear una categoría de comercios
Crea una BranchCategory (name, color, in_order, branch_category_id
para anidar).
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{companyId}/branch-categories |
Authorization |
{
"name": "required|string|max:64",
"color": "nullable|string|regex:/^#[0-9a-fA-F]{6}$/",
"branch_category_id": "integer",
"in_order": "integer|min:1"
}
{info} Soporta: Paginación Filters Carga dinámica
Listar categorías de comercios
Devuelve las BranchCategory de la compañía, paginadas.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{companyId}/branch-categories |
N/A |
{info} Soporta: Paginación Filters
Listar las categorías de un comercio
Devuelve las BranchCategory a las que está asignado el comercio indicado.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{companyId}/branches/{branchId}/branch-categories |
N/A |
{info} Soporta: Paginación Filters Carga dinámica
Listar las categorías de un grupo de comercios
Devuelve las BranchCategory a las que está asignado el grupo indicado.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{companyId}/branch-groups/{branchGroupId}/branch-categories |
N/A |
{info} Soporta: Carga dinámica
Ver una categoría de comercios
Devuelve la BranchCategory indicada.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{companyId}/branch-categories/{branchCategoryId} |
N/A |
Actualizar una categoría de comercios
Modifica la BranchCategory indicada.
| Método | URI | Cabeceras |
|---|---|---|
| PATCH | /companies/{companyId}/branch-categories/{branchCategoryId} |
Authorization |
{
"name": "string|max:64",
"color": "nullable|string|regex:/^#[0-9a-fA-F]{6}$/",
"in_order": "integer|min:1"
}
Modifica los datos del enlace (in_order) entre el BranchGroup y la
BranchCategory.
| Método | URI | Cabeceras |
|---|---|---|
| PATCH | /companies/{companyId}/branch-categories/{branchCategoryId}/branch-groups/{branchGroupId} |
Authorization |
{
"in_order": "integer|min:1"
}
Enlaza el BranchGroup a la BranchCategory, con su in_order en
la categoría.
| Método | URI | Cabeceras |
|---|---|---|
| PUT | /companies/{companyId}/branch-categories/{branchCategoryId}/branch-groups/{branchGroupId} |
Authorization |
{
"in_order": "integer|min:1"
}
Elimina el enlace entre el BranchGroup y la BranchCategory.
| Método | URI | Cabeceras |
|---|---|---|
| DELETE | /companies/{companyId}/branch-categories/{branchCategoryId}/branch-groups/{branchGroupId} |
Authorization |
Eliminar una categoría de comercios
Borra la BranchCategory indicada.
| Método | URI | Cabeceras |
|---|---|---|
| DELETE | /companies/{companyId}/branch-categories/{branchCategoryId} |
Authorization |
Guarda el archivo como image_url (logo) de la BranchCategory.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{companyId}/branch-categories/{branchCategoryId}/upload-image |
Authorization |
{
"image": "required|image|mimes:jpeg,png,bmp|max:8192|dimensions:min_width=600,ratio=1/1"
}
Guarda el archivo como image_landscape_url de la BranchCategory.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{companyId}/branch-categories/{branchCategoryId}/upload-image-landscape |
Authorization |
{
"image": "required|image|mimes:jpeg,png,bmp|max:8192|dimensions:min_width=600,min_height=600"
}
Variante por branchId del endpoint de asignación; equivale a asignar el grupo del comercio.
| Método | URI | Cabeceras |
|---|---|---|
| PUT | /companies/{companyId}/branch-categories/{branchCategoryId}/branches/{branchId} |
Authorization |
Variante por branchId del endpoint de desasignación.
| Método | URI | Cabeceras |
|---|---|---|
| DELETE | /companies/{companyId}/branch-categories/{branchCategoryId}/branches/{branchId} |
Authorization |
allLogs HasMany ApiLogbranchGroups HasMany BranchGroupbranches HasMany Branchchildren HasMany BranchCategorycompany BelongsTo CompanydirectPivots HasMany PivotBranchCategorylogs HasMany ApiLogparent BelongsTo BranchCategoryparentPivots HasMany PivotBranchCategorypromotedBanners HasMany PromotedBanner