Última modificação: 11 de setembro de 2025
Veja abaixo informações de referência para recursos da plataforma para desenvolvedores, incluindo definições de arquivo de configuração, detalhes de escopos e muito mais.
Estrutura do projeto
- Todos os componentes do projeto devem estar no diretório
src
especificado no arquivo de configuraçãohsproject.json
de nível superior. - Todos os recursos e componentes do aplicativo devem estar no diretório
src/app/
. No diretórioapp/
, você definirá subdiretórios para cada recurso ao qual deseja que seu aplicativo ofereça suporte:- Os eventos de aplicativo são configurados em
app-events/
. - Objetos de aplicativo são definidos em
app-objects/
. - Todos os recursos do cartão são definidos no
cards/
. - Os recursos da página de configurações são definidos no
settings/
. - A telemetria é configurada em
telemetry/
. - As assinaturas de webhook são definidas no diretório
webhooks/
. - As ações de fluxo de trabalho personalizadas são definidas no
workflow-actions/
.
- Os eventos de aplicativo são configurados em
- Dentro de cada subdiretório de recurso, você configurará o recurso usando um arquivo
*-hsmeta.json
. Você pode prefixar o nome do arquivo com algo significativo para seu aplicativo (por exemplo,my-app-hsmeta.json
), desde que o arquivo termine com-hsmeta.json
. Esses arquivos devem estar no nível raiz da respectiva pasta (por exemplo,app/my-app-hsmeta.json
,cards/my-card-hsmeta.json
).
app-hsmeta.json
de nível superior são fornecidos na seção de esquema de aplicativo a seguir. Quando estiver pronto para adicionar recursos de aplicativo, confira a seção adicionar recursos de aplicativo.
Ver exemplo no GitHub
*-hsmeta.json
.
Especificar UIDs
O campouid
é um identificador exclusivo interno para seu aplicativo específico e também deve ser globalmente exclusivo dentro do projeto. Cada recurso de aplicativo terá seu próprio uid
definido nos respectivos arquivos *-hsmeta.json
, que devem ser diferentes do uid
de nível superior escolhido no arquivo app-hsmeta.json
do seu aplicativo.
Esquema de aplicativo
A configuração de nível superior do seu aplicativo é especificada em um arquivo de configuraçãoapp-hsmeta.json
no diretório app
.
app-hsmeta.json
.
Ver exemplo no GitHub
Campos marcados com * são obrigatórios.
Campo | Tipo | Descrição |
---|---|---|
uid * | String | Um identificador exclusivo interno do aplicativo. Deve ser globalmente exclusivo dentro do projeto. Pode ser qualquer string de até 64 caracteres. Os caracteres podem ser maiúsculos ou minúsculos e podem incluir números e sublinhados (_ ), traços (- ) e pontos (. ). |
type * | String | O tipo de componente. Deve corresponder ao nome da pasta principal (app ). |
description * | String | Uma descrição do que o aplicativo faz para o usuário que está instalando. Pode ser qualquer string de até 8192 caracteres. |
name * | String | O nome do aplicativo, que será exibido na interface do HubSpot. Pode ser qualquer string de até 200 caracteres. Não deve iniciar ou terminar com um caractere de espaço. |
distribution * | String | O método de distribuição do aplicativo, que pode ser definido como um dos seguintes:
Saiba mais na seção distribuição abaixo. |
auth * | Objeto | Um objeto que contém os detalhes do método de autenticação do aplicativo. Consulte a seção de autenticação abaixo para obter detalhes. |
permittedUrls | Objeto | Uma matriz que contém os URLs que o aplicativo tem permissão para chamar. Os URLs devem usar o esquema HTTPS e devem conter uma autoridades, seguido por um prefixo de caminho opcional, se necessário. |
supportEmail | String | Um endereço de e-mail válido com o qual os usuários podem entrar em contato para obter suporte. |
documentationUrl | String | O URL externa na qual os usuários podem navegar para documentação de suporte. Devem usar HTTPS. |
supportUrl | String | O URL externo para o qual os usuários podem navegar para obter suporte adicional. Devem usar HTTPS. |
supportPhone | String | O número de telefone com o qual os usuários podem entrar em contato para obter suporte. Deve começar com um sinal de mais (+ ). |
Distribuição
O campodistribution
no esquema do aplicativo permite que você configure como deseja distribuir o aplicativo:
- Se você planeja listar seu aplicativo no Marketplace de aplicativos da HubSpot, defina o campo
distribution
como"marketplace"
. Um exemplo de esquema de aplicativo para esta opção pode ser encontrado aqui. Se você escolher essa opção, verifique se definiutype
na propriedadeauth
comooauth
, tal como especificado na seção de autenticação abaixo. - Se você quiser permitir que seu aplicativo seja instalado em um conjunto específico de contas permitidas, ou se quiser restringir a instalação a uma única conta por vez, defina
distribution
como"private"
. Certifique-se de definir otype
dentro da propriedadeauth
:- Se você quiser instalar seu aplicativo em várias contas com base em uma lista de permissões definida nas configurações do seu projeto, defina a autenticação
type
comooauth
. Consulte o exemplo de esquema de aplicativo para esta opção aqui. - Para restringir a instalação a uma única conta, seja a mesma conta usada para desenvolvimento ou outra à qual o usuário instalador tenha acesso, defina a autenticação
type
comostatic
. Um exemplo de esquema de aplicativo para autenticação estática pode ser encontrado aqui.
- Se você quiser instalar seu aplicativo em várias contas com base em uma lista de permissões definida nas configurações do seu projeto, defina a autenticação
Autenticação
A autenticação do seu aplicativo é configurada por meio da propriedadeauth
no esquema do aplicativo. Você pode especificar os requisitos de escopo do seu aplicativo, os URLs de redirecionamento e o tipo de autenticação.
Campos marcados com * são obrigatórios.
Campo | Tipo | Descrição |
---|---|---|
type * | String | O tipo de autenticação, que pode ser definido como um dos seguintes:
|
redirectUrls * | Matriz | Uma lista de URLs que o OAuth tem permissão para usar em redirecionamentos. Cada aplicativo deve ter pelo menos um URL de redirecionamento de autenticação e deve usar HTTPS. A única exceção é que http://localhost é permitida para testes. |
requiredScopes * | Matriz | Uma lista dos escopos obrigatórios do seu aplicativo. Cada aplicativo deve incluir pelo menos um escopo, e o usuário instalador deve conceder esses escopos para instalar o aplicativo. Saiba mais sobre escopos abaixo. |
optionalScopes | Matriz | Uma lista dos escopos opcionais do seu aplicativo. Esses escopos podem ser excluídos da autorização durante a instalação se a conta ou o usuário que está instalando o aplicativo não tiver as permissões adequadas. Nesse caso, o escopo não será incluído no token de atualização ou de acesso resultante. Saiba mais sobre escopos abaixo. |
conditionallyRequiredScopes | Matriz | Uma lista de escopos que são necessários somente quando incluídos no parâmetro de consulta scope do URL de instalação. Saiba mais sobre escopos abaixo. |
Escopos
Na janelaauth
de um arquivo de configuração de aplicativo, você pode especificar três tipos de escopos: necessários, condicionalmente necessários e opcionais.
No mínimo, seu aplicativo deve incluir o escopo read
para permitir que os clientes acessem o tipo de objeto do CRM associado.
Adicionar recursos do aplicativo
Para configurar recursos de aplicativo, como assinaturas de webhook, ações de fluxo de trabalho personalizadas e cartões de aplicativo, confira os guias abaixo para obter detalhes sobre como adicionar os arquivos*-hsmeta.json
ao seu projeto: