Última modificación: 11 de septiembre de 2025
Abajo encontrarás información de referencia sobre las funciones de las aplicaciones de la plataforma para desarrolladores, incluidas las definiciones de los archivos de configuración, los detalles de los permisos y mucho más.
Estructura del proyecto
- Todos los componentes del proyecto deben estar dentro del directorio
src
especificado 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.
Campo | Tipo | Descripción |
---|---|---|
uid * | Cadena | Un identificador único interno para la aplicación. Debe ser globalmente único dentro del proyecto. Puede ser cualquier cadena de hasta 64 caracteres. Los caracteres pueden ser mayúsculas o minúsculas, y pueden incluir números, guiones bajos (_ ), guiones (- ) y puntos (. ). |
type * | Cadena | El tipo de componente. Debe coincidir con el nombre de la carpeta primaria (app ). |
description * | Cadena | Descripción de lo que hace la aplicación para el usuario que la instala. Puede ser cualquier cadena de hasta 8192 caracteres. |
name * | Cadena | El nombre de la aplicación, que se mostrará en HubSpot. Puede ser cualquier cadena de hasta 200 caracteres. No debe empezar ni terminar con un carácter de espacio en blanco. |
distribution * | Cadena | El método de distribución de la aplicación, que puede establecerse como uno de los siguientes:
Más información en la sección de distribución. |
auth * | Objeto | Un objeto que contiene los detalles del método de autenticación de la aplicación. Para más detalles, consulta la sección de autenticación. |
permittedUrls | Objeto | Una matriz que contiene las URL a las que la aplicación puede llamar. Las URL deben utilizar el esquema HTTPS y deben contener una autoridad, seguida de un prefijo de ruta opcional si es necesario. |
supportEmail | Cadena | Una dirección de correo electrónico válida con la que los usuarios puedan ponerse en contacto para recibir asistencia. |
documentationUrl | Cadena | La URL externa a la que los usuarios pueden navegar para obtener documentación de apoyo. Debe utilizar HTTPS. |
supportUrl | Cadena | La URL externa a la que los usuarios pueden navegar para obtener asistencia adicional. Debe utilizar HTTPS. |
supportPhone | Cadena | El número de teléfono al que pueden dirigirse los usuarios para solicitar asistencia. Debe empezar por el signo más (+ ). |
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
distribution
en"marketplace"
. Puedes encontrar un esquema de aplicación de ejemplo para esta opción aquí. Si eliges esta opción, asegúrate de establecer eltype
dentro de la propiedadauth
enoauth
, 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
distribution
en"private"
. Asegúrate de configurar eltype
dentro de la propiedadauth
en 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
type
enoauth
. 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
type
enstatic
. 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.
Campo | Tipo | Descripción |
---|---|---|
type * | Cadena | El tipo de autenticación, que puede establecerse en una de las siguientes opciones:
|
redirectUrls * | Matriz | Una lista de URL a las que el proceso OAuth puede redirigir. Cada aplicación debe tener al menos una URL de redireccionamiento de autenticación, y debe utilizar HTTPS. La única excepción es que se permite http://localhost para las pruebas. |
requiredScopes * | Matriz | Una lista de los permisos necesarios para tu aplicación. Cada aplicación debe incluir al menos un permiso, y el usuario que la instala debe conceder estos permisos para que la aplicación se instale correctamente. Más información sobre los permisos a continuación. |
optionalScopes | Matriz | Una lista de los permisos opcionales de tu aplicación. Estos permisos pueden excluirse de la autorización durante la instalación si la cuenta o el usuario que instala la aplicación no tiene los permisos adecuados. En ese caso, el permiso no se incluirá en el token de actualización ni en el token de acceso resultantes. Más información sobre los permisos abajo. |
conditionallyRequiredScopes | Matriz | Lista de permisos que solo son necesarios cuando se incluyen en el parámetro de consulta scope de la URL de instalación. Más información sobre los permisos a continuación. |
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: