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.
63 Comentarios
excelente actualización!
Excelente!! Felicitaciones!!!
Consulta, pueden hacer un video o un blog para las transformaciones de productos por favor!!
Saludos!
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?
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
Estimados,
Como puedo obtener el vendedor asignado a cada cliente y la forma de pago?
Quedo atento a sus comentarios.
Saludos,
Matias
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
si quisiera instalar Laudus en mi pc portátil con que sistema operativo funciona bien el programa??
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
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.
Hola, se puede al crear una orden vía api pedir que se emita la Boleta y obtener el pdf generado?
Estimados,
¿Se puede obtener una lista de familias y subfamilias con asociadas con su id de padre?
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?
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
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.
Estimados,
¿Se pueden ingresar pedidos a través de la API?
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.
Hola, buena tarde.
Me gustaría obtener mayor información para generar integración con Prestashop 1.7.4. y Laudus RDP.
gracias!
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.
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.
Algun desarrollador que tenga lista la api para conectar con bsale?
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
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
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?
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.
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
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.
«Estimados, ¿cómo puedo vincular un pedido de venta (sales/orders) con una factura (sales/invoices) utilizando la API? Estoy realizando las solicitudes a través de la documentación de Swagger. ¿Existe algún campo específico que permita establecer la relación entre estos dos recursos?»