Tipos de campos de configuración
Echemos un vistazo más de cerca a los posibles tipos de campos que se pueden especificar en la sección "settings"
del archivo manifest.json file.
Tipo | Descripción |
---|---|
text | Campo de texto. |
pass | Campo de contraseña. |
users | Una lista de usuarios del sistema se mostrará con un campo de texto para cada uno. Este tipo de campo es necesario cuando necesitas ingresar información de cada empleado, como un número de teléfono interno o una extensión para un servicio VoIP. |
users_lp | Se mostrará una lista de usuarios del sistema con dos campos (inicio de sesión, contraseña) para cada uno. |
custom | Campos personalizados. |
Para cada tipo, encontrarás ejemplos de cómo se utilizan en el manifest.json y, si es necesario, un ejemplo del archivo de localización de i18n.
Tipos text
y pass
text
y pass
manifest.json
{
"widget":{
"name": "widget.name",
"description": "widget.description",
"short_description": "widget.short_description",
"code": "new_widget",
"secret_key": "57009cb5048a72191f25b01355c17d10dc349d5",
"version": "1.0.0",
"interface_version" : 2,
"init_once" : false,
"locale":[
"en",
"es"
],
"installation": true
},
"locations":[
"ccard-1",
"clist-1"
],
"settings":{
"login":{
"name": "settings.login", //indica el archivo de localización en la carpeta i18n
"type": "text", //tipo: campo de texto
"required": false
},
"password":{
"name": "settings.password",//indica el archivo de localización en la carpeta i18n
"type": "pass", //tipo: contraseña
"required": false
}
}
}
i18n/en.json
{
"widget":{
"name":"Widget de prueba",
"short_description":"Descripción corta",
"description":"ESPAÑOL: #SUBDOMINIO# #HOST# #LOGIN# #API_HASH# #USER_ID# #ACCOUNT_ID# Este widget es un ejemplo de cómo trabajar con Kommo"
},
"settings":{
"login":"Inicio de sesión del usuario",
"password":"Contraseña del usuario"
}
}
Tipo users
users
Este tipo de campo se utiliza para mostrar una lista de usuarios del sistema junto a campos de texto. Es útil cuando necesitas ingresar información específica para cada empleado, como un número de teléfono interno o una extensión para el servicio VoIP.
manifest.json
{
"widget":{
},
"locations":[
],
"settings":{
"login":{
},
"password":{
},
"phones":{
"name": "settings.user_phones",
"type": "users",
"required": true
}
}
}
i18n/en.json
{
"widget":{
},
"settings":{
"login":"Inicio de sesión del usuario",
"password":"Contraseña del usuario",
"user_phones":"Lista de teléfonos"
}
}
Tipo users_lp
users_lp
Una versión extendida del campo de usuarios, este tipo de campo contiene dos campos para cada usuario. Se utiliza cuando cada empleado necesita proporcionar pares de valores, como nombre de usuario y contraseña.

manifest.json
{
"widget":{
},
"locations":[
],
"settings":{
"auth_data":{
"name":"settings.auth_data",
"type":"users_lp",
"required": false
}
}
}
i18n/en.json
{
"widget":{
},
"settings":{
"auth_data":"Lista de autenticación"
}
}
Tipo custom
custom
Los widgets de Kommo permiten que se añada lógica personalizada a la página de configuración del widget al incorporar un campo con estructura y apariencia arbitrarias.
El campo con estructura arbitraria consta de un campo oculto, un elemento div para mostrar los elementos del DOM para la interacción con el usuario y algo de código JavaScript para proporcionar la lógica necesaria.
Para utilizar campos con estructura arbitraria, necesitas realizar dos simples pasos:
- Añade un campo al manifest.json y permite que el widget se ejecute en la página de configuración.
- Implementar la lectura y escritura de datos.
manifest.json
¡No olvides agregar el área
settings
al arraylocations
!
{
"widget":{
},
"locations":[
"ccard-1",
"clist-1",
"settings"
],
"settings":{
"myfield": {
"name": "settings.myfield",
"type": "custom",
"required": true
}
}
}
Un campo con el tipo custom puede contener una cadena JSON o un número. Los datos del tipo string no serán almacenados en el servidor.
Para comenzar, necesitarás construir el widget y luego subirlo a tu cuenta. Una vez que lo hayas hecho, un div con el ID <widget code>_custom_content
y un campo oculto con el ID <widget code>_custom
estarán disponibles para ti.
Si quieres realizar cambios en los campos del formulario y sus botones, primero necesitarás crear un evento de cambio en el campo oculto del sistema. Aquí tienes un ejemplo de cómo puedes hacerlo:
$('input[name="nombre de tu campo"]').trigger('change');
Updated 8 days ago