Esse recurso requer aprovação da HubSpot para ser usado. Se você tiver interesse em se inscrever para receber o acesso a objetos de aplicativo ou se quiser saber mais sobre a funcionalidade, envie este formulário de interesse.
Estrutura do projeto
- Todos os componentes do projeto devem estar no diretório
srcespecificado no arquivo de configuraçãohsproject.json. - Todos os recursos e componentes do aplicativo devem estar no diretório
app/. - As associações de objeto do aplicativo são definidas no diretório
app-object-associations/. - As assinaturas de webhook são definidas no diretório
webhooks/. - As ações de fluxo de trabalho personalizadas são definidas no diretório
workflow-actions/. - Todos os recursos do cartão devem estar no diretório
cards/. - Todas as declarações de instâncias de componente e recurso são feitas com arquivos
*-hsmeta.json. Você deve usar algo significativo no nome do arquivo (por exemplo,my-app-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).
Ver exemplo no GitHub
Objetos de aplicativo
Para criar um objeto de aplicativo, inclua um diretório do componenteapp-objects no projeto, com um arquivo de configuração.
*-object-hsmeta.json.
Ver exemplo no GitHub
Campos marcados com * são obrigatórios.
O nome totalmente qualificado (FQN) do objeto do aplicativo será
a<appId>_<objectName>. Por exemplo: se o seu appId é 16858319 e o nome do objeto do aplicativo é CARS, o FQN será a16858319_CARS. Você usará o FQN ao definir valores de escopo para seus objetos de aplicativo.Esquema de aplicativo
Para criar um objeto de aplicativo, inclua um arquivo de configuraçãoapp-hsmeta.json no diretório app.
app-hsmeta.json.
Resumo da alteração
Resumo da alteração
Observe as seguintes alterações para os arquivos de configuração de cartão de aplicativo:
- Campos de nível superior
uid,typeeconfigadicionados. - Campo
extensionsremovido. - Campo
distributionadicionado.
Ver exemplo no GitHub
Campos *-hsmeta.json do esquema do aplicativo
Campos marcados com * são obrigatórios.
campos 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. Para este estágio da versão beta, você deve apenas incluir seus escopos de objeto de aplicativo como conditionallyRequiredScopes. Isso permitirá armazenar seus novos recursos isoladamente para clientes específicos, incluindo os escopos de objeto de aplicativo no URL de instalação.
Os escopos de objeto de aplicativo usam o seguinte formato:
crm.app.schemas.<appObjectFullyQualifiedName>.read
Por exemplo, para um objeto de aplicativo com o FQN a16858319_cars, o escopo read seria:
crm.app.schemas.a16858319_cars.read.
No mínimo, seu aplicativo deve incluir o escopo read acima para permitir que os clientes acessem o objeto. Recomendamos incluir todos os escopos de objeto de aplicativo em seu aplicativo, conforme mostrado abaixo.
Definição de componente webhooks
Para definir um conjunto de assinaturas de webhook para seu aplicativo, inclua um diretóriowebhooks no projeto, junto com um arquivo de configuração *-hsmeta.json.
*-hsmeta.json.
Campos webhook *-hsmeta.json
Campos marcados com * são obrigatórios.
Para cada objeto
subscription, os seguintes campos podem ser especificados, com base no tipo de definição de assinatura em que você está inscrito (ou seja, crmObjects, legacyCrmObjects, ou hubEvents) ou se você está se inscrevendo em uma mudança de propriedade específica (por exemplo, contact.propertyChange).
Esquema do cartão de aplicativo
Para criar um cartão de aplicativo que aparece em uma página de registro de objeto de aplicativo, inclua um diretóriocards do componente no projeto, junto com um arquivo de configuração.
- Lembre-se de executar
hs project uploaddepois de criar o componente de objeto de aplicativo e os arquivos de configuração associados. - No seu arquivo
my-app-card-hsmeta.json, adicione o UID do objeto do aplicativo à matrizobjectTypes("app_object_uid", neste exemplo). Cada um dos campos disponíveis no arquivo.jsonsão detalhados na seção tabela a seguir.
Resumo da alteração
Resumo da alteração
Observe as seguintes alterações para os arquivos de configuração de cartão de aplicativo:
- Campos de nível superior
uid,typeeconfigadicionados. - O campo
modulefoi renomeado paraentrypoint. - O campo
titlefoi renomeado paraname. - O campo
objectTypesfoi simplificado para aceitar uma matriz de strings.
- Depois de salvar as alterações no seu arquivo
example-card-hsmeta.json, executehs project upload.
Ver exemplo no GitHub
Campos *-hsmeta.json do cartão de aplicativo
Campos marcados com * são obrigatórios.
Associações de objetos de aplicativo
Para ativar as associações entre o objeto do aplicativo e outros objetos de CRM, inclua um diretório do componenteapp-object-associations no projeto, junto com um arquivo de configuração.
*-association-hsmeta.json).
Campos *-association-hsmeta.json de associação
Campos marcados com * são obrigatórios.