n8n-nodes-comercia
Integración de Comercia.io con n8n para automatizar la gestión de clientes, direcciones y ventas.
Tabla de Contenidos
Descripción
n8n-nodes-comercia es un paquete de nodos personalizados para n8n que permite la integración con la plataforma Comercia.io. Este paquete facilita la automatización de tareas relacionadas con la gestión de clientes, direcciones y ventas en tu instancia de Comercia.
- Versión: 1.0.58
- Licencia: MIT
- Requisitos: Node.js >= 18.10
Instalación
Instalación en n8n
- En tu instancia de n8n, ve a Settings > Community Nodes
- Busca
n8n-nodes-comercia
- Haz clic en Install
Instalación Manual
npm install n8n-nodes-comercia
Configuración de Credenciales
Antes de usar el nodo Comercia, debes configurar las credenciales de tu API:
Comercia API
- En n8n, ve a Credentials > New
- Busca y selecciona Comercia API
- Configura los siguientes campos:
| Campo |
Descripción |
Ejemplo |
| URL de Comercia |
La URL completa de tu instancia de Comercia |
https://comercia.io/tuempresa |
| Comercia Key |
Tu clave de API de Comercia |
tu-comercia-key |
Nodo Comercia
El nodo Comercia permite realizar diversas operaciones en tu instancia de Comercia.io.
Operaciones Disponibles
- Crear Cliente - Crea un nuevo cliente en Comercia
- Crear Dirección - Crea una nueva dirección para un cliente existente
- Crear Venta - Registra una nueva venta con productos
Crear Cliente
Crea un nuevo cliente en tu sistema Comercia con información detallada y configuraciones específicas.
Campos Requeridos
| Campo |
Tipo |
Descripción |
| Nombre del Cliente |
String |
Nombre de la cuenta/cliente en Comercia |
| Usuario Asignado |
Select |
Usuario al que se asigna la cuenta |
Información Personal
| Campo |
Tipo |
Descripción |
| Nombre (Persona) |
String |
Nombre de la persona de contacto |
| Apellidos |
String |
Apellidos de la persona de contacto |
| Teléfono principal |
String |
Número de teléfono del cliente |
| Correo electrónico principal |
String |
Email principal del cliente |
| Descripción |
Text |
Notas o descripción adicional del cliente |
Datos Fiscales para Facturación
| Campo |
Tipo |
Descripción |
| Razón Social |
String |
Razón social de la empresa |
| RFC |
String |
RFC del cliente |
| CP del RFC |
Number |
Código postal asociado al RFC |
| Régimen Fiscal |
String |
ID o clave del régimen fiscal |
| Método de Pago |
Select |
PUE (Pago en una sola exhibición) o PPD (Pago en parcialidades) |
| Forma de Pago |
Select |
Forma de pago predeterminada (Efectivo, Transferencia, etc.) |
| Uso de CFDI |
Select |
Uso del CFDI para facturación |
Configuración en Tienda
| Campo |
Tipo |
Descripción |
| Contraseña Tienda |
Password |
Contraseña para acceso a la tienda en línea |
| Tipo Pub.General |
Boolean |
Define si es cliente de público general |
| Lista de Precios |
Select |
Lista de precios asignada al cliente |
| Envíos Disponibles |
Multi-Select |
Métodos de envío habilitados para el cliente |
Direcciones Predeterminadas
| Campo |
Tipo |
Descripción |
| Dirección de Facturación |
Select |
Dirección predeterminada para facturación |
| Dirección de Envío |
Select |
Dirección predeterminada para envíos |
Configuración de Crédito
| Campo |
Tipo |
Descripción |
| Límite de Crédito |
Number |
Monto máximo de crédito disponible |
| Días de Crédito |
Number |
Plazo en días para pago a crédito |
Información Adicional
| Campo |
Tipo |
Descripción |
| Carrito Predeterminado (TPV) |
Select |
Carrito predeterminado para punto de venta |
| Tarjeta de Puntos |
String |
Número de tarjeta de puntos |
| Tipo de Afiliado |
Select |
Categoría o tipo de afiliado |
| Referido por |
Select |
Cliente que refirió a este nuevo cliente |
| Datos de Campaña |
String |
Información de tracking de campañas |
| Cuenta STP |
Select |
Cuenta STP asociada |
Configuración de Comunicaciones
| Campo |
Tipo |
Descripción |
Valor Predeterminado |
| Suscrito a Mercadotecnia |
Boolean |
Recibe comunicaciones de marketing |
true |
| No Enviar Correos |
Boolean |
Bloquea el envío de correos |
false |
| Notificar al Propietario |
Boolean |
Notifica al propietario de la cuenta |
false |
Campos Técnicos
| Campo |
Tipo |
Descripción |
| Timbre NdC Pendiente |
Text |
Información de timbres pendientes |
| ID Plantilla Adenda |
String |
ID de la plantilla de adenda |
Crear Dirección
Crea una nueva dirección asociada a un cliente existente.
Campos Requeridos
| Campo |
Tipo |
Descripción |
| Cliente |
Select |
Cliente al que se asignará la dirección |
| Calle y Número |
String |
Nombre de la calle |
| Número exterior |
String |
Número exterior del domicilio |
| Colonia |
String |
Colonia o barrio |
| Código Postal |
String |
Código postal de la dirección |
| Ciudad |
String |
Ciudad |
| Estado |
String |
Estado o provincia |
| País |
String |
País (predeterminado: Mexico) |
Campos Opcionales
| Campo |
Tipo |
Descripción |
| Alias |
String |
Identificador de la dirección (ej: Casa, Oficina) |
| Número interior |
String |
Número interior, departamento o suite |
| Teléfono |
String |
Teléfono de contacto en la dirección |
| Referencias |
Text |
Referencias adicionales para ubicar el domicilio |
Crear Venta
Registra una nueva venta con productos en el sistema.
Campos Requeridos
| Campo |
Tipo |
Descripción |
| Subject |
String |
Asunto o título de la venta |
| Cliente |
Select |
Cliente asociado a la venta |
| Fecha de Venta |
String |
Fecha en formato YYYY-MM-DD |
| Estado |
Select |
Estado de la venta |
| Products (JSON) |
JSON |
Array de productos en formato JSON |
Estados Disponibles
- Creado (
Created) - Venta recién creada
- Apartado (
Approved) - Venta apartada/aprobada
- Autorizado (
Delivered) - Venta autorizada/entregada
Formato de Productos
El campo de productos debe ser un array JSON con la siguiente estructura:
[
{
"quantity": 4,
"sku": "series-s",
"productid": 55453,
"pu": 5000,
"discount_percent": 0,
"comment": "Xbox Series S"
},
{
"quantity": 1,
"sku": "CXBX",
"productid": 55573,
"pu": 999,
"discount_percent": 10,
"comment": "Control Xbox con 10% descuento"
}
]
Campos de Producto
| Campo |
Tipo |
Descripción |
| quantity |
Number |
Cantidad del producto |
| sku |
String |
SKU del producto |
| productid |
Number |
ID del producto en Comercia |
| pu |
Number |
Precio unitario |
| discount_percent |
Number |
Porcentaje de descuento (0-100) |
| comment |
String |
Comentario o descripción |
Campos Opcionales
| Campo |
Tipo |
Descripción |
| Description |
Text |
Notas adicionales sobre la venta |
Funciones de Carga Dinámica
El nodo incluye varias funciones que cargan datos dinámicamente desde tu instancia de Comercia:
| Función |
Descripción |
Usado en |
| getUsers |
Carga lista de usuarios |
Usuario Asignado |
| getPriceBooks |
Carga listas de precios |
Lista de Precios |
| getAddresses |
Carga direcciones disponibles |
Direcciones predeterminadas |
| getAccounts |
Carga clientes existentes |
Selección de cliente |
| getAffiliateTypes |
Carga tipos de afiliados |
Tipo de Afiliado |
| getQuotes |
Carga cotizaciones/carritos |
Carrito Predeterminado |
| getReferrals |
Carga clientes para referidos |
Referido por |
| getProducts |
Carga productos disponibles |
Productos en ventas |
| getTreebesCyB |
Carga cuentas STP |
Cuenta STP |
Estructura del Proyecto
n8n-nodes-comercia/
├── credentials/
│ └── ComerciaApi.credentials.ts # Definición de credenciales
├── nodes/
│ └── ComerciaClientes/
│ ├── Comercia.node.ts # Nodo principal
│ ├── comercia.svg # Icono del nodo
│ ├── api/
│ │ └── loaders.ts # Funciones de carga de datos
│ └── properties/
│ ├── operation.properties.ts # Definición de operaciones
│ ├── createClient.properties.ts # Campos para crear cliente
│ ├── createAddress.properties.ts # Campos para crear dirección
│ └── createSale.properties.ts # Campos para crear venta
├── package.json
└── tsconfig.json
Scripts Disponibles
| Script |
Descripción |
npm run build |
Compila TypeScript y copia assets |
npm run dev |
Modo desarrollo con watch |
npm run clean |
Limpia el directorio dist |
npm run format |
Formatea código con Prettier |
npm run lint |
Ejecuta ESLint |
npm run lintfix |
Corrige problemas de ESLint |
Autor
Para más información sobre Comercia.io, visita la documentación oficial.