Athento te permite configurar un campo que realice una petición externa para obtener y mostrar los valores disponibles que podrás seleccionar.
Para hacerlo, primero debes crear un campo de tipo "selección" o "selección múltiple" y luego seleccionar el subtipo "External request".
Una vez elegida esta opción, accede a la administración avanzada del campo. En la parte inferior de esta sección encontrarás el apartado "Choice API REST Metadata Type Configs", donde debes configurar los siguientes atributos:
-
Request method path (Obligatorio): Especifica la ruta del método que se encargará de realizar la petición para obtener las opciones.
-
Username (Opcional): Nombre de usuario que se utilizará para realizar la petición.
-
Password (Opcional): Contraseña que se usará en la petición.
El método configurado en "Request method path" debe ser una función en Python que cumpla con los siguientes requisitos:
-
Recibir cinco argumentos:
-
username
: Nombre de usuario configurado. -
password
: Contraseña configurada. -
page
: Página actual del selector. -
pageSize
: Número de elementos por página en el selector. -
request_search
: Término de búsqueda ingresado por el usuario en el selector.
-
-
Realizar una llamada a una URL externa utilizando estos argumentos.
-
Devolver un diccionario con la siguiente estructura:
{ 'entries': [ {'value': 'opcion1', 'label': 'Opción 1'}, {'value': 'opcion2', 'label': 'Opción 2'} ], 'hasMore': True # Indica si hay más opciones disponibles para paginación. }
Ejemplo de implementación:
def request(**kwargs):
resultado = <llamada_a_url_externa(argumentos)>
opciones = <mapeado_de_opciones_a_partir_del_resultado>
return {
'entries': opciones,
'hasMore': <determinar_si_existen_más_opciones_o_no_a_partir_del_resultado>
}
También puedes incluir datos adicionales en las opciones si necesitas más información en cada una. Por ejemplo:
{
'entries': [
{'value': '123', 'label': 'Cliente A', 'email': 'clientea@email.com'},
{'value': '456', 'label': 'Cliente B', 'email': 'clienteb@email.com'}
],
'hasMore': False
}
Con esta configuración, el campo podrá obtener dinámicamente las opciones desde una fuente externa, facilitando la gestión y actualización de los datos en Athento.
Ejemplo:
También puedes devolver datos adicionales en las opciones. A continuación tienes un ejemplo devolviendo datos adicionales en las opciones.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.