Estrutura do projeto
- Todos os componentes do projeto devem estar no diretório
srcespecificado no arquivo de configuraçãohsproject.jsonde 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.
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
distributioncomo"marketplace". Um exemplo de esquema de aplicativo para esta opção pode ser encontrado aqui. Se você escolher essa opção, verifique se definiutypena propriedadeauthcomooauth, 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
distributioncomo"private". Certifique-se de definir otypedentro 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
typecomooauth. 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
typecomostatic. 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.
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: