Creando NicoApp (1.0)
Para crear una aplicación, sigue los pasos 1 a 6 en la imagen de arriba.

Para crear una aplicación, sigue los pasos 1 a 6 en la imagen de arriba.
En la página de edición (izquierda), indica el título, la descripción, el logo, la portada y el Id de Video de YouTube; aparecerá así en la Tienda de NicoApps (derecha):

En el lado derecho de la página de edición:

Siempre puedes consultar los Datos de Ejemplo en la parte inferior para orientarte. Y los Campos del sistema son los que puedes usar en tu código JSON, si es necesario.
Autenticación
Este bloque sirve para configurar las autenticaciones de tu NicoApp.
Parámetros
Ejemplo de verificación de correo electrónico

Este es un ejemplo de autenticación con una Clave API en la consulta. A continuación, cómo queda después de que los usuarios instalan la aplicación:

La "Clave API" definida por los usuarios se almacena en la variable "token".
Ejemplo de autenticación básica
{
"type": "APIKEY",
"params": [
{
"name": "sid",
"title": "Twilio Account SID:"
},
{
"name": "token",
"title": "Twilio Auth Token:"
}
],
"connection": {
"headers": {
"Authorization": "Basic [[sid]]:[[token]]"
}
}
}
Otros ejemplos
Ejemplo 1: autenticación APIKEY, headers
{
"type": "APIKEY",
"params": [
{
"name": "token",
"title": "Enter your api key:"
}
],
"connection": {
"headers": {
"Authorization": "Bearer [[token]]"
}
}
}
Los "headers" de la "connection" se agregan a cada solicitud, de modo que no necesitas repetirlos en todos lados después.
Ejemplo 2: autenticación APIKEY, parámetros de consulta
{
"type": "APIKEY",
"params": [
{
"name": "api_key",
"title": "Enter your api key:"
}
],
"connection": {
"qs": {
"key": "[[api_key]]"
}
}
}
Como en el ejemplo anterior, la cadena de consulta se agrega a cada solicitud.
Ejemplo 3: autenticación APIKEY, token JWT
{
"type": "APIKEY",
"params": [
{
"name": "email",
"title": "Enter your email:"
},
{
"name": "api_key",
"title": "Enter your api key:"
}
],
"request": {
"url": "https://example.com/get-token",
"method": "POST",
"body_format": "form",
"cache": 3600, //cache this request for 3600 seconds
"payload": {
"email": "[[email]]",
"api_key": "[[api_key]]"
},
"mapping": [
{
"name": "token",
"path": "$.data.token"
}
]
},
"connection": {
"headers": {
"Authorization": "Bearer [[token]]"
}
}
}
El email y la api_key proporcionados por los usuarios se envían en una solicitud. Las respuestas se mapean entonces a la variable token por la ruta JSON $.data.token. Después de eso, se usa como variable [[token]] en un encabezado de autorización. Nuevamente, el encabezado se agrega a cada solicitud posterior.
Acciones
Las acciones son las funciones/recursos que los usuarios pueden ejecutar con tu aplicación. Por ejemplo, esta aplicación "Google Translate" tiene 2 acciones: "Detectar idioma" y "Traducir texto":

En el área de código, tienes que definir la información predeterminada de la acción, incluyendo name, title, description, forms y requests, para que la acción funcione en el flujo con configuración.
En la parte inferior, haz clic en “Obtener Producto” para ver un ejemplo de solicitud GET y en “Actualizar Producto” para un ejemplo de solicitud POST. Los campos forms y requests son de tipo objeto, por lo que hay que definir varios atributos.
Parámetros
Objeto de formulario
Líneas en la variable de texto

Objeto de solicitud
{"Content-Type": "application/json"}Objeto de mapeo
Ejemplo de verificación de correo electrónico
A continuación, el código del ejemplo de verificación de correo electrónico y los pasos de la interfaz en acción.
Código:

Interfaz de la aplicación:


Otros ejemplos
Ejemplo 1:
{
"url": "https://translation.googleapis.com/language/translate/v2/detect",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"payload": {
"q": "[[q]]"
},
"mapping": [
{
"name": "language",
"type": "text",
"title": "Detected Language",
"path": "$.data.detections.0.0.language"
}
]
}
Ejemplo 2:
{
"url": "https://example/api/auth",
"method": "POST",
"body_format": "form",
"cache": 3600,
"payload": {
"email": "[[email]]",
"api_key": "[[api_key]]"
},
"mapping": [
{
"name": "token",
"type": "text",
"title": "Token",
"path": "$.data.token"
}
]
}
Fuentes
El bloque Sources se usa para ofrecer a los usuarios una lista de opciones para el valor del formulario. Usa el nombre de la fuente en el parámetro form del bloque Actions para crear la conexión.
Existen 2 formatos de fuentes, static y dynamic. Las opciones de una fuente estática son fijas, mientras que una fuente dinámica trae opciones que varían según las entradas.
Parámetros
Objeto de mapeo dentro del objeto de solicitud
path. Es el valor real devuelto cuando se selecciona una etiquetapath. Se muestra en la lista desplegable como etiquetaEjemplos
Forms en el bloque Actions:
"forms": [
{
"name": "static_options",
"type": "select",
"title": "Static Options",
"source": "product_type_list"
},
{
"name": "dynamic_options",
"type": "select",
"title": "Dynamic Options",
"source": "users_list"
}
]
Bloque Sources:
[
{
"name": "product_type_list",
"type": "enum:static",
"list": [
{
"value": "food",
"label": "Food & Drink"
},
{
"value": "toy",
"label": "Toys"
},
{
"value": "phone",
"label": "Mobile Phone"
}
]
},
{
"name": "users_list",
"type": "enum:rpc",
"request": {
"url": "https://jsonplaceholder.typicode.com/users",
"method": "GET",
"headers": {
"Content-Type": "application/json"
},
"mapping": [
{
"type": "select",
"path": "$",
"value": "$.id",
"label": "$.username"
}
]
}
}
]
Interfaz de la aplicación:


Disparadores

Al definir disparadores, los usuarios pueden usarlos en la sección de automatización como cualquier otro disparador nativo, según la captura de pantalla anterior.

Ten en cuenta que el nombre del disparador debe ser:
- en minúsculas
- único en la lista de disparadores
- sin espacios; puedes separar las palabras con guiones bajos
Contexto es donde listas todas las variables predefinidas para cuando lleguen los datos.
Después de definir el disparador, tendrás que configurar las "Solicitudes de Token de API" y seleccionar la API en "Ámbitos de la API"; consulta la orientación a continuación.
Para llamar a ese disparador, consulta la API para disparador de NicoApp.
Ámbitos de la API

En "Ámbitos de la API", selecciona todas las APIs a las que tu NicoApp necesita acceder. Consulta la "Documentación de API" mediante el enlace en la parte superior.
Por ejemplo, si tu aplicación necesita ver la lista de tags de los usuarios en el flujo, selecciona "Visualizar tags de fluxo". Y, si necesitas usar disparadores en la aplicación, selecciona “App Trigger”, como en la imagen de arriba.
Solicitudes de Token de API

En "Solicitudes de Token de API", haz clic en los datos de ejemplo "Solicitudes" en la parte inferior y edita la URL de tu punto final de suscripción y de cancelación de suscripción. Consulta también, en la parte inferior, los Campos del sistema disponibles y coloca en el payload la información que necesitas. Por ejemplo, incluye "app_token" en el payload si necesitas acceder al flujo de los usuarios vía API (si seleccionas alguna API en el bloque Ámbitos de la API).
Guardar y probar
Por último, haz clic en “Guardar” para finalizar la creación. ¡Felicidades!! Acabas de crear un NicoApp con éxito.💯💯
Si vas a usar la aplicación solo en tu propio workspace, no necesitas publicarla. Puedes probarla y usarla en cualquier bot de cualquier canal de tu workspace.
Para compartir la aplicación con otros espacios de trabajo, tendrás que publicarla en la Tienda de NicoApps de NicoChat.