Última modificação: 12 de setembro de 2025
‘Crie sua primeira função sem servidor no HubSpot CMS e obtenha uma resposta.’;
As funções sem servidor fornecem uma maneira de executar o JavaScript através da HubSpot no lado do servidor, impedindo que ele seja exposto ao cliente. Isso pode ser especialmente importante para fazer solicitações de API que contêm informações confidenciais, como um Chave de API ou outras credenciais. Quando a função é invocada, a HubSpot executa a função em seu back-end, o que também significa que você não precisa fornecer seus próprios servidores back-end para fazer solicitações para seu site CMS. As funções sem servidor da HubSpot usam o tempo de execução do NodeJS.
Neste guia, você criará uma função simples sem servidor que obtém um menção de um serviço de terceiros e exibirá esse menção em um página do site. Para construir e implantar a função sem servidor em sua conta, você usará um projeto de desenvolvedor HubSpot.
Para uma visão geral de alto nível das funções sem servidor, consulte a visão geral das funções sem servidor. Você também pode verificar o Canal do YouTube dos desenvolvedores do HubSpot para um passo a passo da utilização de funções sem servidor em um projeto CMS.
Pré-requisitos
Antes de iniciar este tutorial, você precisará de:- Uma conta _ Content Hub Enterprise_, ou uma conta de ambiente de testes de desenvolvedor do CMS.
- O CLI da HubSpot (recomenda-se a versão mais recente), que precisará ser instalada e autenticada com a conta que você está usando. Para verificar quais contas são autenticadas, você pode executar
hs accounts list
. Saiba mais sobre introdução ao desenvolvimento local.
1. Criar um projeto localmente
Comece criando um projeto localmente para que você possa compilá-lo e implantá-lo em sua conta.- No terminal, navegue para o diretório onde você armazenará seu projeto usando o comando
cd
.
- Execute
hs project create
para criar um novo projeto.
- Siga os prompts de terminal para criar seu projeto. Para o modelo, selecione Criar um projeto vazio (sem modelo).

- Navegue até o novo diretório do projeto usando o comando
cd
. Por exemplo, se você nomeou seu projeto meu novo projeto:
2. Adicione uma função sem servidor ao projeto
Depois que o projeto tiver sido criado, abra-o no editor de sua preferência, como Código VS. A HubSpot terá criado automaticamente um diretório de projeto com um diretório vaziosrc
e um arquivo de configuração hsproject.json
. Para adicionar uma função sem servidor ao projeto, crie um diretório app
dentro do diretório src
e adicione os seguintes diretórios e arquivos dentro dele:
app/app.json
: o arquivo de configuração do aplicativo.app/app.functions
: o diretório da função sem servidor. Você pode usar qualquer nome desejado, desde que termine em.functions
.app/app.functions/function.js
: o código JavaScript que será executado quando a função for chamada.app/app.functions/serverless.json
: o arquivo de configuração da função sem servidor.app/app.functions/package.json
: inclui as dependências necessárias.

- Copie o código de exemplo abaixo para o seus respectivos arquivos locais
app.json
,function.js
,serverless.json
epackage.json
. Em cada bloco de código.json
, você também encontrará uma tabela contendo definições de campo.
Campo | Tipo | Descrição |
---|---|---|
name | String | O nome do aplicativo, que será exibido na interface do usuário da HubSpot. |
description | String | A descrição do aplicativo, que será exibida na interface do usuário da HubSpot. |
scopes | Matriz | Os escopos aos quais o aplicativo tem acesso para solicitações de autenticação com o token de acesso do aplicativo privado. Os dois escopos acima são os escopos mínimos necessários. Nenhum escopo adicional foi adicionado a este tutorial, pois você não precisará usar o token de acesso de aplicativo privado para a solicitação que você fará. |
uid | String | O identificador exclusivo do aplicativo. Isso pode ser qualquer string, mas deve identificar significativamente o aplicativo. A HubSpot identificará o aplicativo por esta ID para que você possa alterar o name do app localmente ou na HubSpot sem remover dados históricos ou de estado, como logs. |
public | String | Definir como false para aplicativos privados. |
- Depois de adicionar o código acima, salve suas alterações.
3. Carregar o projeto na HubSpot
Com as alterações salvas, você pode carregar o projeto na HubSpot para compilar e implantar o aplicativo e a função sem servidor.- No terminal, execute
hs project upload
.
- Confirme se deseja criar o projeto na conta. Você não precisará confirmar novamente isso após a criação inicial. O terminal exibirá o status atual das etapas de compilação e implantação à medida que avançarem.
- Quando o upload for concluído, execute
hs project open
para exibir o projeto na HubSpot.
4. Testar a função
Com a função sem servidor implantada, você pode chamá-la acessando seu URL público. As funções sem servidor construídas com projetos de desenvolvedor têm a seguinte estrutura de URL pública:https://<domain>/hs/serverless/<endpoint-path-from-config>
.
<domain>
: você pode usar qualquer domínio conectado à conta. Por exemplo, se website.com e subdomain.brand.com estiverem conectados à conta, você poderá chamar a função usandohttps://website.com/hs/serverless/<path>
ouhttps://subdomain.brand.com/hs/serverless/<path>
.<endpoint-path-from-config>
: o valor no campopath
emserverless.json
.
https://<domain>/hs/serverless/fetch-quote
.
Para exibir a saída da função, navegue até esse URL no navegador, substituindo o domínio por um dos domínios hospedados na HubSpot. Se você não conectou um domínio personalizado, poderá usar um dos domínios padrão fornecidos pela HubSpot: <hubId>.hs-sites.com
(por exemplo, 123456.hs-sites.com
). Seu navegador deve exibir os dados retornados pela API Zen Quotes.

5. Invocar a função de um página do site
Agora que você criou a função sem servidor e confirmou que ela retorna dados, implemente-a em uma página para ver os dados retornados em um contexto mais realista. Para este tutorial, você criará um modelo de página contendo alguns JavaScript e HTML personalizados para executar a função e exibir os dados de resposta. Primeiro, crie um novo modelo de página:-
No ambiente local, crie um novo diretório para conter o modelo de página. Para os propósitos deste tutorial, crie este diretório fora do diretório do projeto criado por
hs project create
. -
No terminal, navegue até esse diretório usando o comando
cd
.
- Execute
hs create template "serverless-template"
para criar um novo modelo chamadoserverless-template
.
- Selecione o tipo de modelo da página.
- Abra o arquivo de modelo de página recém-criado no editor e substitua o código de formatação pelo código abaixo. Certifique-se de substituir
<domain>
no URL do endpoint da função (fetch('http://<domain>/hs/serverless/fetch-quote')
) com um domínio conectado à sua conta HubSpot.
- Salve o arquivo e execute
hs upload
para carregá-lo na HubSpot. Siga os prompts de terminal para selecionar o caminho local de origem e destino. Para este tutorial, você pode apenas pressionar Inserir para cada prompt para usar os caminhos padrão.
- Navegue até o página do site da sua conta HubSpot executando o
hs open website-pages
.
- No navegador, clique em Criar no canto superior direito para criar uma nova página.
- Na caixa de diálogo, selecione um domínio para usar, depois atribua um Nome da página. O domínio da página precisará corresponder ao domínio que você está usando para chamar a função sem servidor para evitar erros de origem cruzada (CORS). Você pode selecionar esse domínio no menu suspenso ou atualizar o URL do endpointno código de modelo de página (
fetch('http://<domain>/hs/serverless/fetch-quote')
) para usar o domínio selecionado nesta etapa. - Clique em Criar página.
- Na tela de seleção de modelo, procure o novo modelo. Você pode usar o rótulo ou o nome do arquivo para pesquisar o modelo (por exemplo, “Página de exemplo da função sem servidor”). O modelo aparecerá em Outros modelos, pois não faz parte de um tema.

- Clique em Selecionar modelo.
- No editor de página, clique em Visualizar na parte superior direita.

- Clique em Abrir em uma nova guia.

Próximas etapas
Agora que você criou e implementou uma função sem servidor que interage com uma API de terceiros, há algumas maneiras de continuar aumentando o uso da função sem servidor, como:- Incluir autenticação em uma solicitação para fazer chamadas para APIs HubSpot ou outras APIs autenticadas de terceiros.
- Implementar o botão e o código JavaScript em um módulo em vez de inseri-los no modelo de página. Isso lhe daria uma opção mais portátil, permitindo que a função fosse chamada de qualquer página à qual o módulo fosse adicionado. Para fazer isso, crie um módulo e adicione o HTML ao
module.html
e o JavaScript no arquivomodule.js
.