Con la API proporcionada por Modela podemos realizar las siguientes acciones:
- Obtener la información necesaria para rellenar una solicitud. Existen una serie de métodos en la API que nos permiten obtener toda la información para generar una nueva solicitud.
- Obtener el estado actual de una solicitud.
- Crear una nueva solicitud o actualizar una existente.
- Existen las siguientes limitaciones a la hora de crear una solicitud desde la API
- Modela no nos proporciona un servicio para obtener los usuarios de Azure, por lo que para informar campos del tipo “Lista de usuarios”, a los que debemos enviar el “object id” del usuario en Azure, debemos conocer de antemano dicho valor.
- Existen las siguientes limitaciones a la hora de crear una solicitud desde la API
- Ejecutar una acción sobre una solicitud.
- Obtener toda la información de una solicitud.
- Actualizar datos de tablas paremétricas.
Como usar
Para que podamos realizar las llamadas a la API, tenemos que tener configurado un token del tipo correspondiente a la acción que vamos a ejecutar.
El token configurado debemos enviarlo en la cabecera de las peticiones con el nombre “token”.
Además debemos enviar una cabecera con nombre “Company-Id” y valor el ID de la sociedad sobre la que vamos a realizar la acción, este ID debe solicitarse a Midway.
Ejemplo de una llamada, donde {REPLACE_INSTANCE_GENERATED_TOKEN} debe ser el valor del token:
curl --location 'https://demo.getmodela.com/public/external/company' \
--header 'token: {REPLACE_INSTANCE_GENERATED_TOKEN}'
--header 'Company-Id: {REPLACE_COMPANY_ID}'
Posibles errores de uso
En caso de error al enviar el Token (no se envía, no es valido, está caducado, no es de la sociedad correspondiente a la solicitud), Modela nos devolverá el error 401 (Unauthorized)
Si el error es al procesar la petición realizada a la API, Modela devolverá el error 400 (Bad Request) junto con una mensaje indicando el código de error. En el apartado de cada método podemos ver que posibles errores nos devolverá.
Respuesta
Todos los servicios de la API devuelven la misma estructura en el mensaje de respuesta.
Ejemplo de mensaje de respuesta:
{
"success" = false,
"errorCode" = "NOT_FOUND",
"errorMessage" = "Proceso no encontrado",
"result" = null
}
En este mensaje existen las siguiente propiedades:
- Success: es un valor “Verdadero” o “Falso” que indica si la petición se ha ejecutado correctamente.
- ErrorCode: En caso de error (Success = false), devuelve el código del error. Si ha sido correcto (Sucess = true) la propiedad estará vacía.
- ErrorMessage: En caso de error (Success = false), devuelve el texto del error. Si ha sido correcto (Sucess = true) la propiedad estará vacía
- Result: Resultado de la ejecución. Contendrá un objeto del tipo que se ha solicitado. Sólo está informado si la ejecución ha sido correcta (Success = true)
Paginación
Para los métodos que devuelven un listado, los resultados estarán paginados. En estos casos, en la propiedad “Result” de la respuesta, vendrá la información de la página actual y un link para obtener la siguiente página si existe.
En estos casos, se pueden enviar los parámetros (en la URL):
- pagesize: indica el tamaño de cada página, con un tope de 50. Si la propiedad no se envía, es menor a 0 o mayor a 50 devolverá 10 registros
- page: indica la página solicitada (la primera página es la 0). Si no se envía devuelve la primera página
Ejemplo de petición con paginación:
curl --location 'https://demo.getmodela.com/public/external/company?page=0&pagesize=20' \
--header 'token: {REPLACE_INSTANCE_GENERATED_TOKEN}'
Métodos
Los métodos que tiene la API nos servirán para:
- Obtener las sociedades
- Obtener los usuarios de BDD
- Obtener las opciones de selección de un campo del formulario (check box, radio button, combo)
- Obtener los listados personalizados
- Obtener los datos de un listado personalizado
- Obtener las acciones que ejecutar de un proceso para la última versión publicada
- Obtener el JSON para crear una solicitud
- Obtener el JSON de una versión concreta de un proceso
- Crear solicitud
- Actualizar solicitud
- Obtener acciones a ejecutar para una solicitud
- Avanzar de estado una solicitud
- Obtener estado actual de una solicitud
- Obtener solicitud
- Actualizar listado personalizado
- Actualizar datos de listados personalizados
- Obtener adjuntos de una solicitud
- Añadir adjuntos a una solicitud
- Eliminar adjuntos de una solicitud