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.