Configuración básica
Puedes instalar la integración de Alegra desde nuestro Marketplace. Una vez instalada, podrás gestionar contactos, productos/servicios, crear facturas, registrar pagos y consultar catálogos directamente desde tu agente.Prerrequisitos
Antes de usar esta integración, necesitas:- Cuenta activa en Alegra — Regístrate en alegra.com
- Credenciales de API — Obtén tu email y token desde Configuración > Integraciones > API
Credenciales requeridas
| Campo | Descripción | Requerido |
|---|---|---|
| Email de tu cuenta de Alegra | Sí | |
| API Key | Token de API de Alegra | Sí |
Puedes generar tu API Key desde el dashboard de Alegra en Configuración > Integraciones > API > Generar token.
Funcionalidades
Buscar entidades
Búsqueda unificada para todas las entidades de Alegra: contactos, productos, facturas, cotizaciones, pagos y gastos. Inputs:- entity (enum:
contacts|items|invoices|estimates|payments|expenses) — Tipo de entidad a buscar. - id (opcional, number) — Obtener un registro específico por ID.
- query (opcional, string) — Buscar por nombre o referencia.
- filters (opcional, objeto) — Filtros adicionales:
- type (string) — Tipo: contact (
client|provider), item (product|service|kit), payment (in|out). - status (string) — Estado:
draft,open,closed,void. - clientId (number) — Filtrar por ID de cliente.
- providerId (number) — Filtrar por ID de proveedor.
- dateStart (string) — Fecha inicial (YYYY-MM-DD).
- dateEnd (string) — Fecha final (YYYY-MM-DD).
- type (string) — Tipo: contact (
- start (opcional, number) — Offset para paginación.
- limit (opcional, number) — Límite de resultados (máx 30).
Crear o actualizar contacto
Crea o actualiza un cliente o proveedor. Si se proporcionaidentification o email, busca coincidencias antes de crear.
Inputs:
- id (opcional, number) — ID del contacto existente (para actualizar).
- name (string) — Nombre completo o razón social.
- identification (opcional, string) — Número de identificación (NIT/CC/RUC).
- email (opcional, string) — Correo electrónico.
- phone (opcional, string) — Teléfono.
- address (opcional, string) — Dirección.
- city (opcional, string) — Ciudad.
- type (opcional, array:
client|provider) — Tipo de contacto (por defectoclient).
Eliminar contacto
Elimina un contacto de Alegra por su ID. Inputs:- id (number) — ID del contacto a eliminar.
Crear o actualizar producto/servicio
Crea o actualiza un producto o servicio. El tipo se infiere automáticamente del nombre si no se especifica. Inputs:- id (opcional, number) — ID del item existente (para actualizar).
- name (string) — Nombre del producto/servicio.
- price (number) — Precio de venta.
- description (opcional, string) — Descripción.
- reference (opcional, string) — SKU o código de referencia.
- type (opcional, enum:
product|service|kit) — Tipo (auto-inferido si no se proporciona). - taxId (opcional, number) — ID del impuesto a aplicar.
- categoryId (opcional, number) — ID de categoría.
- unit (opcional, string) — Unidad de medida.
- initialQuantity (opcional, number) — Cantidad inicial de inventario.
Eliminar producto/servicio
Elimina un producto o servicio de Alegra por su ID. Inputs:- id (number) — ID del item a eliminar.
Crear factura
Crea una nueva factura. Por defecto se crea como borrador. Inputs:- clientId (number) — ID del cliente.
- date (opcional, string) — Fecha de la factura (YYYY-MM-DD).
- dueDate (opcional, string) — Fecha de vencimiento (YYYY-MM-DD).
- items (array de objeto) — Líneas de la factura:
- id (opcional, number) — ID del producto del catálogo.
- name (opcional, string) — Nombre del item.
- description (opcional, string) — Descripción.
- price (number) — Precio unitario.
- quantity (number) — Cantidad.
- discount (opcional, number) — Porcentaje de descuento (0-100).
- taxId (opcional, number) — ID del impuesto.
- observations (opcional, string) — Notas internas.
- termsConditions (opcional, string) — Términos y condiciones.
- asDraft (opcional, boolean) — Crear como borrador (por defecto true).
Activar factura
Activa una factura en borrador para que esté lista para cobro. Inputs:- invoiceId (number) — ID de la factura a activar.
Enviar factura por email
Envía una factura por correo electrónico. Requiere confirmación en dos pasos. Inputs:- invoiceId (number) — ID de la factura a enviar.
- emails (array de string) — Direcciones de correo destinatarias.
- subject (opcional, string) — Asunto del correo.
- message (opcional, string) — Mensaje del cuerpo del correo.
- confirmationToken (opcional, string) — Token de confirmación (segundo paso).
Anular factura
Anula una factura. Requiere confirmación en dos pasos. Inputs:- invoiceId (number) — ID de la factura a anular.
- confirmationToken (opcional, string) — Token de confirmación (segundo paso).
Registrar pago
Registra un pago y lo aplica a una factura. Requiere confirmación en dos pasos. Inputs:- invoiceId (number) — ID de la factura.
- amount (number) — Monto del pago.
- date (opcional, string) — Fecha del pago (YYYY-MM-DD).
- bankAccountId (opcional, number) — ID de la cuenta bancaria.
- paymentMethod (opcional, string) — Método de pago.
- observations (opcional, string) — Notas o referencia.
- confirmationToken (opcional, string) — Token de confirmación (segundo paso).
Obtener catálogos
Obtiene datos de referencia de Alegra: impuestos, métodos de pago, cuentas bancarias, categorías, etc. Inputs:- catalog (enum) — Catálogo a consultar:
taxes— Impuestos configurados.payment_methods— Métodos de pago.bank_accounts— Cuentas bancarias.terms— Términos de pago.categories— Categorías de productos.numbering_templates— Plantillas de numeración.price_lists— Listas de precios.company— Información de la empresa.
- documentType (opcional, enum) — Tipo de documento para
numbering_templates:invoice,creditNote,debitNote,estimate,remission,bill.