Vendor Portal (Portal Partners)
| Campo | Valor |
|---|
| Handler | admin/handlers/portal_partners.go |
| Ruta base | /admin/portal-partners |
| Modelo | portal_partners, portal_partner_tenants |
| Estado | Implementado |
Descripción
El módulo de Vendor Portal permite gestionar partners/marcas que pueden acceder a un portal dedicado para ver sus ventas, productos, y estadísticas. Los partners se asocian a tenants y pueden gestionar múltiples tiendas.
Endpoints
| Método | Ruta | Acción |
|---|
| GET | /admin/portal-partners | Listar partners |
| GET | /admin/portal-partners/new | Formulario de nuevo partner |
| POST | /admin/portal-partners/ | Crear partner |
| GET | /admin/portal-partners/:id | Detalle del partner |
| PUT | /admin/portal-partners/:id | Actualizar partner |
| DELETE | /admin/portal-partners/:id | Eliminar partner |
| POST | /admin/portal-partners/:id/tenants | Asociar tenant |
| POST | /admin/portal-partners/:id/tenants/:tenant_id/remove | Desasociar tenant |
Campos
PortalPartner
| Campo | Tipo | Descripción |
|---|
id | UUID | Identificador único |
email | string | Email del partner |
name | string | Nombre completo |
company | string | Nombre de la empresa |
password_hash | string | Hash de contraseña |
status | enum | active, inactive, suspended |
created_at | timestamp | Fecha de creación |
updated_at | timestamp | Última actualización |
PortalPartnerTenant (relación)
| Campo | Tipo | Descripción |
|---|
partner_id | UUID | Partner asociado |
tenant_id | UUID | Tenant asociado |
created_at | timestamp | Fecha de asociación |
Dashboard del Partner
Al ver un partner (Detail), se muestra:
- Información del partner - Email, nombre, empresa
- Tenants asociados - Lista de tiendas que puede gestionar
- Acciones - Agregar/remover tenants
Flujo de Creación
- Admin hace clic en "Nuevo Partner"
- Ingresa email, contraseña, nombre, empresa
- Se crea el partner con status
active
- Admin asocia tenants manualmente
- Partner puede hacer login al portal dedicado
Portal del Partner (separado)
El portal del partner es una aplicación separada que permite:
- Ver ventas por tenant
- Gestionar productos (si tiene permisos)
- Ver comisiones y payouts
- Descargar reportes
Notas
- Los partners no son usuarios del admin panel (son una entidad separada)
- La contraseña se hashea con bcrypt
- Un partner puede estar asociado a múltiples tenants
- Un tenant puede tener múltiples partners (relación many-to-many)
- El portal del partner usa autenticación separada del admin
- La eliminación de un partner remueve todas sus asociaciones