Estructura del proyecto
- Todos los componentes del proyecto deben estar dentro del directorio
srcespecificado en el archivo de configuración de nivel superiorhsproject.json. - Todas las funciones y componentes de la aplicación deben estar en el directorio
src/app/. Dentro de este directorioapp/, definirás subdirectorios para cada función que quieras que admita tu aplicación:- Los eventos de la aplicación se configuran en
app-events/. - Los objetos de la aplicación se definen en
app-objects/. - Todas las características de la tarjeta se definen en
cards/. - Las funciones de la página de configuración se definen en
settings/. - La telemetría se configura en
telemetry/. - Las suscripciones de webhooks se definen en
webhooks/. - Las acciones de workflow personalizadas se definen en
workflow-actions/.
- Los eventos de la aplicación se configuran en
- Dentro de cada subdirectorio de características, configurarás la característica mediante un archivo
*-hsmeta.json. Puedes anteponer al nombre del archivo algo significativo para tu aplicación (por ejemplo,my-app-hsmeta.json), siempre que el archivo termine en-hsmeta.json. Estos archivos deben estar en el nivel base de sus respectivas carpetas (por ejemplo,app/my-app-hsmeta.json,cards/my-card-hsmeta.json).
app-hsmeta.json del esquema de la aplicación de nivel superior se proporcionan en la sección sobre el esquema de la aplicación que aparece abajo. Cuando estés listo para agregar funciones a la aplicación, consulta la sección agregar funciones a la aplicación.
Ver ejemplo en GitHub
*-hsmeta.json.
Especificar UID
El campouid es un identificador único interno para tu aplicación específica, y también debe ser único globalmente dentro del proyecto. Cada una de las funciones de la aplicación tendrá su propio uid definido en sus respectivos archivos *-hsmeta.json, que deben ser distintos del uid de nivel superior que elijas en el archivo app-hsmeta.json de tu aplicación.
Esquema de la aplicación
La configuración de nivel superior de tu aplicación se especifica en un archivo de configuraciónapp-hsmeta.json en el directorio app.
app-hsmeta.json.
Ver ejemplo en GitHub
Los campos marcados con * son obligatorios.
Distribución
El campodistribution del esquema de tu aplicación te permite configurar cómo quieres distribuir tu aplicación:
- Si piensas publicar tu aplicación en el mercado de aplicaciones de HubSpot, establece el campo
distributionen"marketplace". Puedes encontrar un esquema de aplicación de ejemplo para esta opción aquí. Si eliges esta opción, asegúrate de establecer eltypedentro de la propiedadauthenoauth, tal y como se detalla en la sección de autenticación más adelante. - Si quieres permitir que tu aplicación se instale en un conjunto específico de cuentas permitidas, o si quieres restringir la instalación a una sola cuenta cada vez, configura
distributionen"private". Asegúrate de configurar eltypedentro de la propiedadauthen consecuencia:- Si quieres instalar tu aplicación en varias cuentas basándote en una lista de permisos que configures en los ajustes de tu proyecto, establece la autenticación
typeenoauth. Consulta el esquema de aplicación de ejemplo para esta opción. - Para restringir la instalación a una sola cuenta, ya sea la misma que utilizas para el desarrollo u otra cuenta a la que tenga acceso el usuario instalador, establece la autenticación
typeenstatic. Puedes encontrar un esquema de aplicación de ejemplo para la autenticación estática.
- Si quieres instalar tu aplicación en varias cuentas basándote en una lista de permisos que configures en los ajustes de tu proyecto, establece la autenticación
Autenticación
La autenticación de tu aplicación se configura mediante la propiedadauth del esquema de tu aplicación. Puedes especificar los permisos de tu aplicación, las URL de redireccionamiento y el tipo de autenticación.
Los campos marcados con * son obligatorios.
Permisos
En el campoauth del archivo de configuración de una aplicación, puedes especificar tres tipos de permisos: permisos requeridos, permisos requeridos condicionalmente y permisos opcionales.
Como mínimo, tu aplicación debe incluir el permiso read para que los clientes puedan acceder al tipo de objeto del CRM asociado.
Agregando funciones a la aplicación
Para configurar las funciones de la aplicación, como las suscripciones de webhooks, las acciones de workflow personalizadas y las tarjetas de la aplicación, consulta las guías de abajo para saber cómo agregar los archivos*-hsmeta.json asociados a tu proyecto: