Esta función requiere la aprobación de HubSpot para su uso. Si estás interesado en solicitar acceso a los objetos de la aplicación, o si quieres saber más sobre la funcionalidad, envía este formulario de interés.
Estructura del proyecto
- Todos los componentes del proyecto deben estar dentro del directorio
srcespecificado en el archivo de configuraciónhsproject.json. - Todas las funciones y componentes de la aplicación deben estar en el directorio
app/. - Las asociaciones de objetos de la aplicación se definen en el directorio
app-object-associations/. - Las suscripciones a webhooks se definen en el directorio
webhooks/. - Las acciones de workflow personalizadas se definen en el directorio
workflow-actions/. - Todas las funciones de la tarjeta deben estar en el directorio
cards/. - Todas las instancias de componentes y características se declaran utilizando los archivos
*-hsmeta.json. Debes anteponer al nombre del archivo algo significativo (por ejemplo,my-app-hsmeta.json). Estos archivos deben estar en el nivel raíz de sus respectivas carpetas (por ejemplo,app/my-app-hsmeta.json,cards/my-card-hsmeta.json).
Ver ejemplo en GitHub
Objetos de aplicación
Para crear un objeto de aplicación, incluye un directorio de componentesapp-objects en el proyecto, junto con un archivo de configuración.
*-object-hsmeta.json.
Ver ejemplo en GitHub
Los campos marcados con * son obligatorios.
El nombre completo (FQN) de tu objeto de aplicación será
a<appId>_<objectName>. Por ejemplo: si tu appId es 16858319 y el nombre del objeto de la aplicación es CARS, entonces el FQN sería a16858319_CARS. Utilizarás el FQN cuando establezcas valores de alcance para los objetos de tu aplicación.Esquema de la aplicación
Para crear un objeto de aplicación, incluye un archivo de configuraciónapp-hsmeta.json en el directorio app.
app-hsmeta.json.
Resumen de cambios
Resumen de cambios
Ten en cuenta los siguientes cambios en los archivos de configuración de las tarjetas de aplicación:
- Agregados los campos de nivel superior
uid,typeyconfig. - Eliminado el campo
extensions. - Agregado el campo
distribution.
Ver ejemplo en GitHub
Esquema de la aplicación *-hsmeta.json campos
Los campos marcados con * son obligatorios
campos 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. Para esta etapa de la beta, solo debes incluir los permisos de los objetos de tu aplicación como conditionallyRequiredScopes. Esto te permitirá aislar tus nuevas funciones para clientes específicos incluyendo los permisos de los objetos de la aplicación en la URL de instalación.
Los permisos de los objetos de la aplicación utilizan el siguiente formato:
crm.app.schemas.<appObjectFullyQualifiedName>.read
Por ejemplo, para un objeto de aplicación con el FQN a16858319_cars, el permiso read sería:
crm.app.schemas.a16858319_cars.read.
Como mínimo, tu aplicación debe incluir el permiso read de arriba para que los clientes puedan acceder al objeto. Se recomienda incluir todos los permisos de objetos de aplicación en tu aplicación, como se muestra abajo.
Definición del componente de webhooks
Para definir un conjunto de suscripciones a webhook para tu aplicación, incluye un directoriowebhooks en el proyecto, junto con un archivo de configuración *-hsmeta.json.
*-hsmeta.json.
Webhook *-hsmeta.json campos
Los campos marcados con * son obligatorios.
Para cada objeto
subscription, se pueden especificar los siguientes campos, en función del tipo de definición de suscripción al que estés suscrito (es decir, crmObjects, legacyCrmObjects o hubEvents) o de si estás suscrito a un cambio de propiedad específico (por ejemplo, contact.propertyChange).
Esquema de la tarjeta de la aplicación
Para crear una tarjeta de aplicación que aparezca en una página de registro de objetos de aplicación, incluye un directorio de componentescards en el proyecto, junto con un archivo de configuración.
- Asegúrate de que has ejecutado
hs project uploaddespués de crear tu componente de objeto de aplicación y los archivos de configuración asociados. - En tu archivo
my-app-card-hsmeta.json, agrega el UID del objeto de tu aplicación a la matrizobjectTypes(por ejemplo,"app_object_uid"en este ejemplo). Cada uno de los campos disponibles en el archivo.jsonse detalla en la tabla siguiente.
Resumen de cambios
Resumen de cambios
Ten en cuenta los siguientes cambios en los archivos de configuración de las tarjetas de aplicación:
- Agregados los campos de nivel superior
uid,typeyconfig. - El campo
moduleha pasado a llamarseentrypoint. - El campo
titleha pasado a llamarsename. - El campo
objectTypesse ha simplificado para aceptar una matriz de cadenas.
- Cuando hayas guardado los cambios en tu archivo
example-card-hsmeta.json, ejecutahs project upload.
Ver ejemplo en GitHub
Tarjeta de aplicación *-hsmeta.json campos
Los campos marcados con * son obligatorios.
Asociaciones de objetos de la aplicación
Para habilitar las asociaciones entre el objeto de tu aplicación y otros objetos del CRM, incluye un directorio de componentesapp-object-associations en el proyecto, junto con un archivo de configuración.
*-association-hsmeta.json).
Asociación *-asociación-hsmeta.json campos
Los campos marcados con * son obligatorios.