Skip to main content
Las integraciones externas permiten conectar sistemas de terceros (ERPs, tiendas en línea, aplicaciones propias) con FileXpress Hub mediante una API REST autenticada con credenciales propias.

Crear una integración

1

Ir a Gestión → Integraciones → Nueva Integración

2

Ingresar el nombre descriptivo de la integración (mínimo 3 caracteres)

3

Seleccionar los endpoints permitidos

4

Configurar el rate limit (solicitudes por minuto, máximo 1,000 — por defecto 100)

5

Guardar

El sistema genera el API Key y API Secret. Copiarlos antes de cerrar el modal — el Secret no se vuelve a mostrar completo.
El API Secret solo se muestra una vez. Si se pierde, debe regenerarse desde el listado de integraciones (invalida el anterior).

Gestionar credenciales

Desde el listado de integraciones:
  • Activar / Desactivar sin eliminar la integración.
  • Regenerar API Key — nuevo key, el anterior deja de funcionar.
  • Regenerar API Secret — nuevo secret, el anterior deja de funcionar.

Estadísticas y logs

  • Estadísticas: volumen total, solicitudes exitosas, errores, tiempo promedio de respuesta, último uso, desglose por endpoint y errores recientes.
  • Logs: historial paginado de cada llamada con estado HTTP, duración y cuerpo de respuesta.

Autenticación

Todas las solicitudes deben incluir las dos cabeceras:
URL base: https://api.filexpress.app/api/external

Obtener el branch_id

El branch_id es un UUID requerido en la mayoría de endpoints. Se obtiene desde la vista de soporte del panel de administración de FileXpress (Support → Sucursales), donde se listan todos los IDs de sucursales del negocio.

Ventas

Crear venta

Este endpoint requiere que el sistema externo pre-calcule los desgloses fiscales por línea de producto y los totales globales. No los calcula automáticamente.
Cuerpo de la solicitud
Campos principales Estructura products[] Estructura payment_details[] Estructura totals Respuesta exitosa 200

Obtener venta

Respuesta exitosa 200

Gastos

Crear gasto

Al igual que ventas, el sistema externo debe pre-calcular los desgloses fiscales por línea y los totales globales.
Cuerpo de la solicitud
Campos principales Estructura products[] para gastos Estructura totals para gastos Respuesta exitosa 200

Obtener gasto

Devuelve el gasto con proveedor, líneas de detalle y totales (expense_total, expense_to_payment).

Clientes

Listar clientes de una sucursal

Devuelve todos los clientes activos de la sucursal (no paginado).

Obtener cliente


Crear cliente

Cuerpo de la solicitud
Campos requeridos: customer_name, address, country_id, state_id, city_id, phone, email, business_type, branch_id Respuesta 200: objeto del cliente creado con id.

Actualizar cliente

Mismos campos requeridos que la creación. Acepta además: legal_name, register_number, tax_number, document_type, document_number, activity_id, business_size.

Eliminar cliente

Borrado lógico (trashed = true). Responde 200 con confirmación.

Productos

Listar productos de una sucursal


Obtener producto

Incluye portions y components si el producto tiene composición avanzada.

Crear producto

Cuerpo de la solicitud
Campos requeridos: name, price_before_taxes, product_category_id, product_measurement_id, product_type, tax_method, composition_type, branch_id, availability, limit_availability Con porciones (composition_type: with_portions) — campos adicionales:
Con receta (composition_type: with_recipe) — campos adicionales:
Al crear un producto físico con availability > 0, se registra automáticamente un movimiento de inventario de entrada.

Actualizar producto

Acepta los mismos campos. Si cambia availability, se genera un movimiento de ajuste automático. Al cambiar composition_type, las porciones o componentes anteriores se eliminan y reemplazan.

Eliminar producto

Borrado lógico. Responde 200 con confirmación.

Proveedores

Listar proveedores de una sucursal


Crear proveedor

El cuerpo debe enviarse dentro de una clave data:
Campos requeridos (dentro de data): provider_name, address, country_id, state_id, city_id, phone, email, business_type, branch_id

Actualizar proveedor

Mismos campos que la creación (sin wrapper data en update).

Eliminar proveedor


Catálogos (solo lectura)