Laudus API para empresas en remoto
Tenemos el agrado de anunciar el estreno de la primera versión de la API de Laudus para nuestros clientes de servicio remoto. El término API seguramente es desconocido para la mayoría, pero intentaremos explicarlo de la manera más sencilla posible.
Una API (Application Programming Interface) es una colección de funciones relativas a una aplicación (Laudus en nuestro caso) que se exponen de manera pública para que otras aplicaciones las puedan utilizar. De esta manera, desarrollos de terceros pueden acceder a cierta funcionalidad de Laudus de manera automática.
La API puede ser para que accedan otras aplicaciones instaladas en el mismo computador, o para que se pueda acceder a través de internet (son dos tipos de API diferentes, pero el efecto es el mismo, aprovechar ciertas funcionalidades de un software).
Con un ejemplo se comprende mejor: con la API nueva de Laudus, que se puede acceder a través de internet, una tienda online de un cliente puede acceder a sus datos del ERP, consultando stocks, precios, o agregando los pedidos que le llegan por la página web al ERP directamente, sin intervención humana. Y la tienda online y Laudus pueden estar en servidores diferentes, la API es quien consigue que se comuniquen.
La API le sirve a nuestros clientes para conectar sus sistemas externos (e-commerce por ejemplo) con Laudus. Los detalles de la API sólo los utilizan los programadores, no es para cualquier usuario. Pero la ventaja de una API pública es que sus programadores no necesitan de nuestros servicios para conectar los sistemas, simplemente consultan la documentación y hacen uso de la funcionalidad expuesta (consultar stocks, precios, productos, hacer pedidos, …)
La API de Laudus está escrita tomando el estándar de Swagger, lo que permite que sea más fácil de implementar y robusta (grandes empresas como Amazon o IBM cada vez lo implementan más).
Técnicamente, nuestra API está basada en servicios REST, se pueden utilizar inputs JSON o XML, y la documentación se puede consultar en: erp.laudus.cl/LaudusAPI/
Desde la misma documentación puede incluso hacer pruebas, pero deberá tener conocimientos técnicos, insistimos en que la API es sólo para programadores, y suponemos que tienen experiencia en REST y el uso de este tipo de tecnologías.
Por esta misma razón es un producto para el que no damos soporte, ya que no está dentro de nuestro soporte enseñar programación en las diferentes tecnologías, y para ello hemos adoptado el estándar de Swagger, que como se muestra a continuación genera ejemplos desde los que se puede comenzar a trabajar.
Adoptar este estándar conlleva más trabajo para desarrollar la API, pero tiene innumerables ventajas para nuestros clientes. Entre ellas, mayor sencillez de uso, menores tiempos de desarrollo, y por ejemplo se puede utilizar el editor de Swagger, que permite generar automáticamente código para utilizar la API de Laudus en casi 40 lenguajes de programación. Para acceder al editor de Swagger, ingrese en editor.swagger.io e importe la siguiente URL: https://erp.laudus.cl/secureApi.yaml (si no le funciona, guarde la URL en su disco, e impórtelo con \File\Import File en el editor de Swagger).
Para comenzar a utilizar la API le indicamos los primeros pasos:
- Su empresa debe estar en el remoto de Laudus, no se puede utilizar la API si tiene Laudus instalado en su empresa. Es lógico, puesto que todo el acceso a la API son servidores que deben estar donde están sus datos.
- Debe habilitar el acceso a la API, que por defecto está deshabilitado. Se hace en \Herramientas\Opciones:
- Debe crear un usuario para que lo utilice la API como login. El login se hace con el RUT de la empresa, y un nombre de usuario y contraseña definidos en la misma (en \Herramientas\Seguridad\Usuarios). Y el usuario se crea en Laudus, no se crea desde la API.
No es necesario crear un usuario específico para la API, podría hacer un login con el nombre de usuario y contraseña de cualquier usuario, pero es buena práctica dedicar un usuario solo para la API. Y así le puede dar a dicho usuario los permisos que usted estime necesarios. Por ejemplo, puede dejarle ver la información de los productos, pero no actualizar la misma. De esta forma, usted controla lo que puede hacer el usuario de la API (es decir, el sistema externo que se conectará a su ERP). - Tenga en cuenta que para logearse hay que indicar el RUT de la empresa, y un usuario (nombre de usuario y contraseña). Si usted está utilizando alguna base de datos de prueba de su empresa con el mismo RUT, tendrá dos empresas con el mismo RUT, y la API puede tener problemas para identificar cuál es la correcta. Si va a utilizar la API, no tenga más de una copia de la misma empresa con el mismo RUT.
- Cada vez que se va a utilizar la API, hay que comenzar con un login con el usuario y contraseña. Este login devuelve un «token» de sesión, que después se tiene que incluir en la cabecera de cada llamada a la API, para tener seguridad de que nadie puede consultar información sin permiso.
Recomendamos utilizar POST para hacer el login. El método GET se incluye solo para compatibilidad hacia atrás, porque es menos seguro. - Si utiliza la documentación en: erp.laudus.cl/LaudusAPI/
primero haga un login, que devolverá un token. Copie este token, y haga click en el botón «Authorize» de arriba a la derecha y pegue el token en la casilla «Value». A partir de entonces podrá utilizar todos los métodos de la documentación de manera interactiva contra sus datos reales.
Allí puede ver los comandos curl que se han utilizado para realizar cada petición, para así utilizarlos de ayuda para su código. - Los tokens caducan a los 60 minutos.
- Los encabezados que debe enviar en el request son:
«token»: un token válido
«Accept»: valores «application-json», ó «application-xml», depende en qué formato se quieran recuperar los datos de vuelta de la API.
«Content.Type»: solo se espcifica en los POST, y siempre es «application-json», porque los datos del request siempre se envían en formato JSON
Por ejemplo:
token: 9B37E07D879GE0B90
Accept: application-json
Content-Type: application-json
Este servicio está disponible desde ahora mismo (2016), sólo para los clientes de remoto (por razones obvias) y no tiene costo para un uso razonable.
Hola, estoy agregando una integración, pero tengo el siguiente error:
Al realizar el llamado al endpoint production/recipes/list y querer traer la columna ‘discontinued’ y querer hacer el filterBy por esta columna, con el siguiente body:
{
«fields»: [
«recipeId»,
«discontinued»
],
«filterBy»: [
{
«field»: «discontinued»,
«operator»: «=»,
«value»: false
}
],
«options»: {
«offset»: 0,
«limit»: 0
},
«orderBy»: [
{
«field»: «recipeId»,
«direction»: «DESC»
}
]
}
me arroja el error:
{
«type»: «error»,
«message»: «SQL: no se encuentra la columna ‘DISCONTINUADO’.»,
«status»: 500,
«code»: «»
}
Me podrían ayudar con este error, ya que, mi objetivo es traer solo las recetas que se encuentran activas.
Hola tengo unas dudas estoy usando la api de sales/invoices para crear una facturación y al generar el pdf sale con estado pendiente, y luego al crear otra facturación para el mismo cliente lo bloquea, como hago para que la facturación no quede en estado pendiente existe un enpoint en swagger que le cambie el estado, y otra pregunta los totales se envían en 0 o yo tengo que calcularlos
Estimado Yorbis, para que la factura esté lista para enviar al cliente, primero debe enviarla al SII con el endPoint:
/DTE/SendToSII
Los totales de la factura debe calcularlos usted. Tenga en cuenta que nuestra API se utiliza mucho para enlazar con sistemas externos de facturación, que cada uno tiene sus propios cálculos.
Hola amigos, luego de varias pruebas y carga de datos, pudimos integrar Laudus al sistema interno de la empresa de nuestro cliente.
La api funciona muy bien y es estable.
Sería de gran ayuda que tuvieran una forma de notificar los cambios o actualizaciones de la api. Ya que se hace un poco dificil hacerle seguimiento a los cambios.
Estimado Cristian, gracias por el comentario. Efectivamente estamos viendo opciones para poder estar al día de los cambios/mejoras en la API (blog, newletter, …) , pero al final el día a día come al departamento de la API. Pero tomamos nota y se intentará. Gracias por la suferencia.
Muchas Gracias! Sería de gran ayuda.
Saludos amigos de laudus,
Tengo una duda acerca del API. Este podria estar disponible, aunque sea a nivel red local o a nivel del equipo mismo, si tengo laudus instalado en mis servidores?
Estimado Alejandro, la API solo está disponible en nuestros servidores. Gracias por su interés.
Hola,
estoy utilizando https://erp.laudus.cl/LaudusAPI/#/ para probar distintos comandos y en el comando para agregar una linea a una orden existente al probar este con mis datos arroja error -1 «error formato json» con el siguiente comando:
curl -X POST –header ‘Content-Type: application/json’ –header ‘Accept: application/json’ –header ‘token: XXXXXXXXXXXX’ -d ‘{«lineNumber»:X,»productId»:XXXX,»productCode»:»XXXXXX»,»description»:»XXXXXX»,»quantity»:XX,»unitPrice»:XXXXX,»discountPercentage»:0}’ ‘https://erp.laudus.cl/api/orders/detailLines/new/XXXX’
Podrian actualizar el formato del JSON pedido en ese comando? ó, en el caso de que me equivoque yo al ingresar el comando, corregirme por este medio? Gracias de antemano
Estimado Nicolás, si está comenzando un nuevo desarrollo utilizando nuestra API, le recomendamos que utilice la nueva API. Puede ver cómo comenzar con ella aquí: https//api.laudus.cl
En cualquier caso para consultas sobre la API, mejor utilizar el correo api@laudus.cl
Hola.
Estoy haciendo una consulta desde Excel con Power Query de la siguiente forma:
https://erp.laudus.cl/api/products/get/stock/13865/warehouseId=001?user=xxxxxxxxxxx&password=xxxxxx&companyVatId=XXXXXXX-X&AcceptZZZZZZZZ
Mi duda es la siguiente: ¿ Cuál es la sintaxis correcta en 13865/warehouseId=001?user=xxxxxxxxxxx
Intenté separando con / , ; ? y varias combinaciones más pero solo funciona sin warehouseId=001 y con 13865? pero no se sabe de que bodega es el stock
Muchas gracias por la ayuda
Estimado Iván, primero debe obtener un token, y después utilizar este token en el encabezado de las subsiguientes llamadas a la API. El usuario nunca se pone en la lista de parámetros.
Algun desarrollador que tenga lista la api para conectar con bsale?
Buenas noches,
Me gustaría saber si disponen de una API mediante la cual se puedan obtener los movimientos contables asociados a un determinado período y otra para las cuentas contables.
Estimado Guillermo, durante este año lo incorporaremos, hoy en día no está disponible.
Hola, ya hay avances con los movimientos contables a través de la API?
Estimado Claudio, sí se está trabajando en ello, y hay avances. Para más detalles recuerde que tenemos el correo api@laudus.cl
Estimados buenas, consulta:
Al momento de probar el login me arroja sin problemas un token, pero luego al hacer una petición (la cual la hago inmediatamente después de recibir el token), por ejemplo pedir la lista de los productos, me arroja el error «Token inválido o expirado», N° 1002.
Alguna idea de lo que pudiera estar pasando, o yo estar haciendo mal?
Gracias desde ya,
Saludos.
Estimado Alfonso, para preguntas de la API te recomiendo contactar con el correo api a laudus.cl
Hola, buena tarde.
Me gustaría obtener mayor información para generar integración con Prestashop 1.7.4. y Laudus RDP.
gracias!
Estimado José Luis, lo puede integrar con la API (https://www.laudus.cl/blog/laudus-api/).
Igual estamos preparando un plugin para PrestaShop, que estará listo durante el invierno, porque necesitamos algunas piezas más.
Lamentablemente la respuesta es bastante insuficiente ya que la página sólo presenta las diferentes herramientas de vinculación que permite el software, sin embargo no hay ningún apoyo ni asesoría de la forma a implementar. Si la idea es resolver por un plugin, por favor indiquen una fecha estimada de descarga.
gracias!
Estimado José Luis, resolvemos dudas continuamente de usuarios de la API en el correo api a laudus.cl
Pero no prestamos asesoría clásica (sentarnos con el cliente, revisar el código, proponer soluciones, etc) porque precisamente ese es el trabajo de los asesores informáticos, y depende mucho de los conocimientos de cada cual. La API está en el estándar de swagger, para que sea más fácil de implementar, y se tienen ejemplos en casi 40 lenguajes de programación.
En conclusión, ustedes no resuelven el problema, simplemente lo derivan a personas externas que las empresas debiesen tener para implementar sus sistemas. Lamentablemente ese tipo de solución para empresas pequeñas no son viables y se deben tomar otras alternativas, por lo general de ámbitos comerciales.
Estimado José Luis, efectivamente así es, es precisamente de lo que se trata una API. Una API siempre la utilizan programadores. Una API siempre exige un programador, o empresa que haga desarrollos, para que la utilice en un programa que ellos desarrollan. Las APIs no están pensadas para que las empresas normales o las personas naturales la utilicen tal cual.
Es como los lenguajes de programación. Se necesita un programador para que le haga un programa, con la API sucede lo mismo. No es que nosotros nos desentendemos de sus problemas, es que una API está pensada para que ustedes contraten a una empresa para que utilice esta API para realizarles el desarrollo que ustedes precisan.
Hay muchas empresas que pueden hacérselo, y con precios para Pymes, las Pymes también encargan desarrollos a medida. Nosotros estamos enfocados 100% en las Pymes, ustedes son nuestros clientes y queremos que les vaya lo mejor posible, y por eso intentamos hacer instrumentos como la API que le permite enlazar cualquier software externo con Laudus para que sus sistemas conversen. Pero tod esta conversación la debe hacer un profesional de la programación.
Estimados,
¿Puedo crear un usuario con conexión a la API que tenga permisos de solo lectura para ciertos elementos? Por ejemplo que solo pueda hacer login, listar productos y stock.
Saludos.
Estimado Claudio, así es. De esta manera no sólo controlan ustedes el acceso a la API con un usuario y clave suyos (en vez de tener nosotros que darles una clave API), si no que además pueden controlar qué cuestiones puede acceder y modificar la API.
Estimados,
¿Se pueden ingresar pedidos a través de la API?
Estimado Claudio, sí se puede. Para ver una relación de todas las funciones, puedes ver la documentación en el enlace que viene en la entrada:
https://erp.laudus.cl/LaudusAPI/
Estimados,
Logro conectarme a la API con el método users/login, pero me obliga a tener abierta una sesión con ese mismo usuario vía Escritorio Remoto para que la API me deje iniciar sesión y me entregue el token. Caso contrario, ese método retorna {Usuario y/o contraseña incorrecta}.
Esta dependencia entre login por escritorio remoto y login por API es normal?
Atentos,
Saludos
Estimado Francisco, son eventos separados, no deberían tener nada que ver, y ninguno de los clientes que está utilizando la API lo ha experimentado.
Lo mejor es que haga un login (sin necesidad del usuario conectado al ERP), y si da error nos envíe a la dirección api-arroba-laudus.cl el resultado con el error de conexión. Gracias.
Hola Francisco en Herramientas -> Opciones -> Extranets tienes habilitada la opción Habilitar API de web Services.
Yo la tengo asi y no me da error cuando el usuario no esta logeado por remoto. Igual tengo un usuario que es de uso exclusivo del api.
Hola.
Esta url que indican https://erp.laudus.cl/secureApi.yaml. Es para acceder a pruebas de la API, pero el productivo es la misma ?. Me pueden indicar como es la forma cuando se crea una empresa de pruebas y se le habilita el acceso a la API?
Estimado Héctor, esa URL que indica es solo para bajarse el archivo yaml que se puede importar en el editor de Swagger, y así poder generar por ejemplo código y ver ciertas características de la API. Cómo conectar una empresa lo puede revisar en el blog:
https://www.laudus.cl/blog/laudus-api/
Estimados,
¿Se puede obtener una lista de familias y subfamilias con asociadas con su id de padre?
Estimado Claudio, no se puede, pero por cada familia tienes el campo FullPath que te da la ruta completa de esa familia (con todos sus padres).
Hola, se puede al crear una orden vía api pedir que se emita la Boleta y obtener el pdf generado?
La funcion user login me esta dando el siguiente error:
{
«errorNumber»: -1,
«errorMessage»: «error formato json»
}
Pueden verificarlo por que mi usuario, password, y rut, son correctos. Esta función deberia estar devolviendo el token.
Estimados,
en cual de las plataformas funcionara su API? Si una pagina esta hecha con WooCommerce (WordPress), debería funcionar o hay otra plataforma que sera mejor al respecto de su compatibilidad?
Atte,
Alejandro
Estimado Alejandro, da igual la plataforma en la que esté su sitio de comercio electrónico, ya que la API nuestra es una API REST que se puede llamar desde cualquier plataforma. Deberá insertar el código de llamada a la API en los lugares donde le permita WooCommerce en función del data que quiera obtener o traspasar (puede, por ejemplo, obtener un stock, o pasar un pedido de su e-commerce a su ERP de manera automática).
si quisiera instalar Laudus en mi pc portátil con que sistema operativo funciona bien el programa??
Estimada Jessica, con cualquier versión de Windows. En Mac funciona con un emulador tipo Parallels.
genial muchas gracias.
Estimados tengo las siguientes duda con su api. Cuanto es el tiempo de vigencia del token para saber cuando debo renovarlo y no tener que esperar recibir el error de que esta vencido. Otra cosa hay algun problema con el api ya estoy tratando de crear una consulta consulta a un producto y tarda casi 30 segundos en realizar estos 5 llamados:
1)get token
2)get_productid
3) contruir el detalle de ese producto:
3.1) get_stock
3.2) get_price
3.3)get_product_detail
Estimado José, actualmente la duración del token es de 30 minutos. En cuanto a la demora, la primera llamada siempre es más larga porque se establecen algunos parámetros, pero no deberían ser 30 segundos. En cualquier caso, una llamada consecutiva para obtener un stock no debería demorar más de unas décimas. Una consulta de todos los stocks de todos los productos depende del volumen de datos, pero no debería exceder los 30 segundos aprox.
Estimados,
Como puedo obtener el vendedor asignado a cada cliente y la forma de pago?
Quedo atento a sus comentarios.
Saludos,
Matias
Estimado Matías, revise de nuevo ahora en la documentación en la página de documentación de la API.
Gracias, se puede obtener el id de la lista de precios igual?
Saludos,
Estimado Matías, en la formulación actual no se puede obtener el ID de la lista de precios.
Estimados,
Favor verificar las credenciales para el login de la API, ya que usando las credenciales que se piden genera un error el numero 1054.
atento a su respuesta.
saludos,
Matias
Estimado Matías, si ves en la descripción del error es por una combinación de usuario-contraseña incorrectos. Recuerde que tiene que logearse con un usuario-contraseña de cada empresa, no su usuario de acceso remoto. Recuerde que un usuario remoto puede crear múltiples empresas, y cada empresa tienen sus usuarios y contraseñas. Y con la API puede hacer operaciones con cada una de las empresas.
Estimado,
ya funciono perfecto el usuario y password, lo que si al momento de utilizar la funcion de crear un pedido mediante POST, hay un error en que se cargan todos los datos pero el id del vendedor no lo carga y no queda reflejado en el remoto el vendedor asignado.
quedo atento a sus comentarios.
Saludos,
Matias
Estimado Matías, pruebe por favor de nuevo, estaremos atentos a los parámetros utilizados.
Si, ahora funciono, pero si mando el parámetro de orden de compra no se graba al igual que lo anterior por el id del vendedor para que lo vean porfa.
gracias y quedo atento a sus comentarios.
saludos,
Matias
Estimado Matías, debe pasar la orden de compra en el parámetro «purchaseOrder» como un string. Por favor intente de nuevo y nos comenta.
Mis disculpas ya que mi consulta no tiene relación directa con el tema publicado, pero, agradecería a Uds. informar si será posible llevar la contabilidad y cumplir con lo establecido en la reforma tributaria chilena en los plazos legales. ¿Será necesario algún módulo adicional?
Estimado Ramón, la contabilidad no ha cambiado prácticamente con la reforma tributaria. Ha cambiado el cálculo del impuesto, FUT, alguna DDJJ, etc, pero no la contabilidad. Y los plazos siguen siendo los mismos. Desde el punto de vista del software no cambia gran cosa, para el contador sí cambia mucho la forma de calcular los impuestos anuales.
Muchas gracias por la clarísima respuesta.
Excelente!! Felicitaciones!!!
Consulta, pueden hacer un video o un blog para las transformaciones de productos por favor!!
Saludos!
excelente actualización!