# Envía leads a Epicor > Un lead del chat se convierte en un cliente, en Kinetic o en Prophet 21. Source: https://welcomeai.dev/es/docs/epicor Category: ERP Updated: 2026-09-12 --- Epicor es una conexión que cubre dos productos con dos APIs distintas. Elige cuál tienes y el resto del formulario cambia con la respuesta. | | Kinetic | Prophet 21 | | --- | --- | --- | | Escribe por | REST v2, OData | el middleware de P21 | | Inicia sesión con | una clave de API **y** un usuario | un usuario, cambiado por un token | | La URL lleva | tu id de compañía | nada más | **Los dos corren en tu servidor**, así que la dirección es un campo y la accesibilidad es tuya. ## Kinetic quiere las dos mitades Este es el detalle que conviene saber antes de empezar. La REST v2 de Kinetic rechaza una petición que lleve clave de API sin autenticación, y rechaza una que lleve autenticación sin clave de API -- y los dos rechazos se leen distinto. Un usuario perfectamente válido sin clave parece una contraseña mal. Por eso los dos campos son obligatorios en el formulario y se comprueban antes de guardar nada. Necesitas: - La **dirección del servidor**, con la ruta de la instancia, del estilo `https://erp.example.com/KineticProd`. - El **id de compañía**, porque las URLs de REST v2 van por compañía. - Una **clave de API**, del registro de aplicaciones de la API de Epicor. - Un **usuario** que pueda crear clientes, y su contraseña. ## Prophet 21 inicia sesión primero Prophet 21 no tiene clave de API. Cambia el usuario y la contraseña por un token en `/api/security/token` y lleva ese token en la llamada siguiente. El intercambio ocurre en cada envío, así que no hay nada que refrescar ni nada guardado más allá del propio usuario. Necesitas la **dirección del servidor** y el **usuario**. ## Conectar y enrutar 1. En **Destinos**, conecta Epicor y elige el producto. 2. Pega los valores. Verificamos con una llamada: para Kinetic una lectura que prueba la clave, el usuario y la compañía a la vez; para Prophet 21, el inicio de sesión. 3. Crea una **ruta** -- qué leads coge. 4. **Mapea los campos.** Nombre, email, teléfono y las partes de la dirección. ## Qué se envía Un conjunto de campos de cliente elegido, no todo lo que expone el servicio. `Erp.BO.CustomerSvc` lleva cientos de columnas, casi ninguna con sentido fuera de un almacén, y un mapeador que las ofrece todas es un mapeador que nadie termina. **Un cliente necesita nombre.** Se rellena con el email cuando el mapeo lo deja fuera. En Kinetic el id de compañía se añade también al registro, además de a la URL, para que un cliente nunca acabe en una compañía que nadie quería. ## Errores habituales Un 401 en Kinetic con un usuario que sabes que está bien casi siempre significa que falta la clave de API, está mal, o pertenece a otra aplicación. Revísalo primero. En Prophet 21, un inicio de sesión que responde 200 sin token en el cuerpo se trata como un fallo y no como un acierto -- seguir sin token produciría un rechazo confuso un paso más adelante. Qué endpoints expone tu P21 depende de la versión del middleware instalada. ## Qué no hace Crea un cliente. No lo actualiza, no deduplica, y no crea pedidos, ofertas ni contactos. Están en la lista. **Esto no se ha medido contra un sistema real.** Los dos productos corren en hardware del cliente, así que no había host contra el que probar. Está escrito contra la documentación de Epicor de las dos APIs, y la primera conexión es la primera medición.