Chamar APIs do AEM Forms Communications usando a autenticação de servidor para servidor do OAuth
Este guia fornece instruções para configurar e chamar APIs síncronas do AEM Forms Communications que são acessadas por meio do Adobe Developer Console usando a autenticação de servidor para servidor do OAuth.
Pré-requisitos
Para configurar um ambiente para executar e testar as APIs de comunicações do AEM Forms, verifique se você tem o seguinte:
Atualizar ambiente do AEM as a Cloud Service
- AEM versão 2024.10.18459.20241031T210302Z ou posterior
- Atualizar perfis de produto se o ambiente tiver sido criado antes de novembro de 2024
Acesso e permissões
Verifique se você tem os direitos de acesso e as permissões necessários antes de começar a configurar as APIs de comunicações.
Permissões de usuário e função
- Função de desenvolvedor atribuída na Adobe Admin Console
- Permissão para criar projetos no Adobe Developer Console
Acesso ao Repositório Git
- Acesso ao repositório Git do Cloud Manager
- Credenciais do Git para clonagem e envio de alterações
Gerar token de acesso usando o Adobe Developer Console (ADC)
- Gere o token de acesso por meio do Adobe Developer Console usando a autenticação de servidor para servidor do OAuth.
- Recuperar ID do cliente da Adobe Developer Console
Ferramentas de desenvolvimento
- Node.js para executar aplicativos de exemplo
- Última versão do Git
- Acesso a Terminal/Linha de comando
- Editor de texto ou IDE para editar arquivos de configuração (Código VS, IntelliJ etc.)
- Postman ou ferramenta semelhante para teste de API
Configurar APIs síncronas de comunicações do AEM Forms
As APIs de comunicação do AEM Forms são acessadas por meio do Adobe Developer Console usando a autenticação de servidor para servidor do OAuth.
Siga as etapas para explicar como configurar as APIs síncronas da comunicação do Forms para gerar o PDF usando o modelo e o arquivo XDP:
Etapa 1: acessar o ambiente do AEM Cloud Service e o terminal AEM Forms
Acesse os detalhes do ambiente do AEM Cloud Service para obter os URLs e os identificadores necessários para a configuração da API.
1.1 Faça logon no Adobe Cloud Manager
- Navegue até my.cloudmanager.adobe.com
- Faça logon com sua Adobe ID
1.2 Navegue até a Visão geral do programa
Selecione seu programa na lista. Você é redirecionado para a página Visão geral do programa
1.3 Acessar e visualizar o ambiente do AEM Cloud Service
Você pode visualizar ou acessar os detalhes do Ambiente do AEM Cloud Service usando uma das duas opções:
-
Na página Visão geral do programa
-
Clique em "Ambientes" no menu do lado esquerdo. É possível ver uma lista de todos os ambientes
-
Clique no nome do ambiente específico para exibir os detalhes
-
Na página Visão geral do programa
-
Localize a seção Ambientes
-
Clique em "Mostrar tudo" para exibir todos os ambientes
-
Clique no menu de reticências (…) ao lado do ambiente
-
Selecione "Exibir Detalhes"
1.4. Encontrar o terminal do AEM Forms
Na página de detalhes do Ambiente, anote a instância da URL do AEM.
Etapa 2: clonar repositório Git
Clonar o Repositório Git do Cloud Manager para gerenciar os arquivos de configuração da API.
2.1 Localize a seção Repositório
-
Na página Visão geral do programa, clique na guia Repositórios
-
Localize o nome do repositório e clique no menu de reticências (…)
-
Copiar o URL do repositório
https://git.cloudmanager.adobe.com/<org>/<program>/2.2 Clonar usando o comando Git
-
Abra o prompt de comando ou o terminal
-
Execute o comando
git clonepara clonar o repositório Git.code language-bash git clone [repository-url]
Por exemplo, para clonar o repositório Git, execute o seguinte comando:
https://git.cloudmanager.adobe.com/formsinternal01/AEMFormsInternal-ReleaseSanity-pXXX-ukYYYY/
Para saber mais sobre como integrar o Adobe Cloud Manager e o Adobe Cloud Manager, consulte Documentação de integração do Git.
Etapa 3: configuração do projeto do Adobe Developer Console
3.1 Acessar o Adobe Developer Console
- Navegue até Adobe Developer Console
- Faça logon com sua Adobe ID
- Criar novo projeto ou navegar até o projeto existente
-
Na seção Início rápido, clique em Criar novo projeto
-
Um novo projeto é criado com um nome padrão
-
Clique em Editar projeto no canto superior direito
-
Forneça um nome significativo (por exemplo, "formsproject")
-
Clique em Salvar
-
Clique em Todos os projetos da Adobe Developer Console
-
Localize o projeto e clique em para abri-lo.
3.2 Adicionar APIs de comunicação do Forms
-
Clique em Adicionar API
-
Na caixa de diálogo Adicionar API, filtre por Experience Cloud
-
Selecione "APIs de comunicação do Forms"
-
Clique em Avançar
-
Selecione o método de autenticação Servidor a Servidor do OAuth
-
Clique em Avançar
3.3 Adicionar perfil de produto
-
Selecione o Perfil do Produto que corresponda à URL da instância do AEM (
https://Service Type -Environment Type-Program XXX-Environment XXX.adobeaemcloud.com). -
Clique em Salvar API configurada. A API e o Perfil de produto são adicionados ao seu projeto
-
Exibir a seção Detalhes da credencial
Credenciais da API de registro
API Credentials:
================
Client ID: <your_client_id>
Client Secret: <your_client_secret>
Technical Account ID: <tech_account_id>
Organization ID: <org_id>
Scopes: AdobeID,openid,read_organizations
3.4 Gerar o acesso
Gerar tokens de acesso manualmente no Adobe Developer Console:
-
Clique no botão "Gerar token de acesso" na seção API do projeto
-
Copiar o token de acesso gerado
| note note |
|---|
| NOTE |
| O token de acesso é válido somente por 24 horas |
Gerar tokens de forma programática usando a API do Adobe IMS:
Credenciais necessárias:
- ID do cliente
- Segredo do cliente
- Escopos (normalmente:
openid, AdobeID, read_organizations, additional_info.projectedProductContext, read_pc.dma_aem_cloud, aem.document)
Ponto de Extremidade do Token:
| code language-none |
|---|
|
Solicitação de Exemplo (curl):
| code language-bash |
|---|
|
Resposta:
| code language-json |
|---|
|
Agora você pode usar o token de acesso gerado para fazer uma chamada de API para ambientes de desenvolvimento, preparo ou produção.
Etapa 4: registrar a ID do cliente no ambiente do AEM
Para permitir que a ID do cliente do projeto ADC se comunique com a instância do AEM, registre-a usando um arquivo de configuração YAML e implante-a por meio de um Pipeline de configuração.
4.1 Localizar ou criar diretório de configuração
-
Navegue até o repositório clonado do Projeto do AEM e localize a pasta
config -
Se ele não existir, crie-o no nível raiz do projeto:
code language-bash mkdir config -
Crie um novo arquivo chamado
api.yamlno diretórioconfig:code language-bash touch config/api.yaml -
Adicionar o seguinte código no arquivo
api.yaml:code language-yaml kind: "API" version: "1" metadata: envTypes: ["dev"] # or ["prod", "stage"] for production environments data: allowedClientIDs: author: - "<your_client_id>" publish: - "<your_client_id>" preview: - "<your_client_id>"
Veja a seguir uma explicação sobre os parâmetros de configuração:
-
kind: sempre definido como
"API"(identifica como uma configuração de API) -
versão: versão da API, normalmente
"1"ou"1.0" -
envTypes: matriz de tipos de ambiente à qual esta configuração se aplica
["dev"]- Somente ambientes de desenvolvimento["stage"]- Somente ambientes de preparo["prod"]- Somente ambientes de produção
-
allowedClientIDs: IDs do cliente com permissão para acessar sua instância do AEM
- author: IDs de Cliente para a camada de autor
- publicar: IDs de cliente para camada de publicação
- visualização: IDs de cliente para camada de visualização
4.2 Confirmar e enviar alterações
-
Navegue até a pasta raiz do repositório clonado e execute os comandos abaixo:
code language-bash git add config/api.yaml git commit -m "Whitelist client id for api invocation" git push origin <your-branch>
Etapa 5: configurar o pipeline de configuração
5.1 Fazer logon no Adobe Cloud Manager
- Navegue até my.cloudmanager.adobe.com
- Faça logon com sua Adobe ID
5.1 Localize o cartão Pipelines
-
Localize o cartão Pipelines na página Visão geral do programa
-
Clique no botão "Adicionar"
5.2 Selecionar tipo de pipeline
-
Para Ambientes De Desenvolvimento: Selecione "Adicionar Pipeline De Não Produção". Os pipelines de não produção são para ambientes de desenvolvimento e preparo
-
Para Ambientes De Produção: Selecione "Adicionar Pipeline De Produção". Pipelines de produção exigem aprovações adicionais
1. Configurar Pipeline - Guia Configuração
Na guia Configuração:
a. Tipo de pipeline
- Selecionar "Pipeline de Implantação"
b. Nome do pipeline
- Forneça um nome descritivo. Por exemplo, nomeie o pipeline como
api-config-pipieline
c. Acionador da implantação
- Manual: implantar somente quando acionado manualmente (recomendado para configuração inicial)
- Sobre Alterações do Git: implantação automática quando as alterações são enviadas para a ramificação
d. Comportamento de Falhas de Métricas Importantes
- Perguntar sempre: solicitar ação em caso de falhas (padrão)
- Falha imediata: falha automática no pipeline em falhas de métrica
- Continuar imediatamente: continuar apesar das falhas
e. Clique em "Continuar" para prosseguir para a guia Código Source
2. Configurar Pipeline - Guia Código Source
Na guia Source Code:
a. Tipo de implantação
- Selecione "Implantação direcionada"
b. Opções de implantação
- Selecione "Config" (implantar somente arquivos de configuração). Informa ao Cloud Manager que é uma implantação de configuração.
c. Selecionar Ambiente de Implantação Elegível
- Escolha o ambiente em que deseja implantar a configuração. Nesse caso, é um ambiente
dev.
d. Definir Detalhes do Código Source
- Repositório: selecione o repositório que contém seu arquivo
api.yaml. Por exemplo, selecione o repositórioAEMFormsInternal-ReleaseSanity-pXXXXX-ukYYYYY. - Ramificação Git: selecione sua ramificação. Por exemplo, nesse caso nosso código é implantado na ramificação
main. - Localização do Código: Insira o caminho para o diretório
config. Como oapi.yamlestá na pastaconfigda raiz, digite/config
e. Clique em "Salvar" para criar o pipeline
Etapa 6: implantar configuração
Agora que o pipeline foi criado, implante sua configuração api.yaml
6.1 Da Visão geral dos pipelines
- Na página Visão geral do programa, localize o cartão Pipelines
- Navegue até o pipeline de configuração recém-criado na lista. Por exemplo, procure o nome do pipeline criado (por exemplo, "api-config-pipeline"). Você pode ver detalhes do pipeline, incluindo o status e a última execução.
6.2 Iniciar a implantação**
- Clique no botão "Compilação" (ou reproduza o ícone ▶) ao lado do seu pipeline
- Confirme a implantação, se solicitado, e a execução do pipeline começa
6.3 Verificar implantação bem-sucedida
-
Aguarde a conclusão do pipeline.
-
Se for bem-sucedido, o status mudará para "Sucesso" (marca de seleção verde ✓).
-
Se falhar, o status mudará para "Fail" (vermelho ✗). Clique em Baixar logs para exibir os detalhes do erro.
-
Agora, você pode começar a testar as APIs de comunicações do Forms. Para fins de teste, você pode usar o Postman, o curl ou qualquer outro cliente REST para chamar as APIs.
Etapa 7: especificações e testes da API
Agora que seu ambiente está configurado, você pode começar a testar as APIs de comunicação do AEM Forms usando a interface do usuário do Swagger ou de forma programática desenvolvendo o aplicativo NodeJS.
A interface do Swagger fornece uma interface interativa para APIs de teste sem gravar código. Use o recurso Experimentar para invocar e testar a API de Comunicação do Forms gerar PDF.
-
Navegue até Referência da API de Comunicação da Forms e abra a documentação da API de Comunicação da Forms em seu navegador.
-
Expanda a seção Geração de Documento e selecione Gera um formulário do PDF preenchível a partir de um modelo XDP ou PDF, opcionalmente com a mesclagem de dados.
-
No painel direito, clique em Experimente.
-
Insira os seguintes valores:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Seção Parâmetro Valor balde Instância do AEM Nome da instância do AEM sem o nome de domínio do Adobe ( .adobeaemcloud.com) Por exemplo, usepXXXXX-eYYYYYcomo bucket.Segurança Token de portador Usar o token de acesso da credencial de servidor para servidor OAuth do projeto do Adobe Developer Console Corpo modelo Carregue um XDP para gerar o formulário do PDF. Por exemplo, você pode usar este XDP para gerar um PDF. Corpo dados Um arquivo XML opcional que contém os dados a serem mesclados com o modelo para gerar um formulário PDF pré-preenchido. Por exemplo, você pode usar este XML para gerar um PDF. Parâmetros X-Adobe-Accept-Experimental 1 -
Clique em Enviar para invocar a API
-
Verifique a resposta na guia Resposta:
- Se o código de resposta for
200, significa que o PDF foi criado com êxito. - Se o código de resposta for
400, significa que os parâmetros da solicitação são inválidos ou malformados. - Se o código de resposta for
500, significa que há um erro interno do servidor. - Se o código de resposta for
403, significa que há um erro de autorização.
Nesse caso, o código de resposta é
200, isso significa que o PDF foi gerado com êxito:
Agora você pode baixar o PDF criado usando o botão Baixar e exibi-lo no visualizador do PDF:
note note NOTE Para fins de teste, você também pode usar o Postman, curl ou qualquer outro cliente REST para invocar as APIs do AEM. - Se o código de resposta for
Desenvolva um aplicativo Node.js para gerar um formulário do PDF preenchível a partir de um modelo XDP e um arquivo de dados XML usando a API de Serviços de Documento
Pré-requisitos
- Node.js instalado em seu sistema
- Instância ativa do AEM as a Cloud Service
- Token de portador para autenticação de API do Adobe Developer Console
- Arquivo XDP de Exemplo: ClosingForm.xdp
- Arquivo XML de Exemplo: ClosingForm.xml
Para desenvolver o aplicativo Node.js, siga o passo a passo do desenvolvimento:
Etapa 1: Criar um novo projeto Node.js
Abra o cmd/terminal e execute os comandos abaixo:
| code language-bash |
|---|
|
Etapa 2: Instalar Dependências Necessárias
Instale as bibliotecas node-fetch, dotenv e form-data para fazer solicitações HTTP, ler variáveis de ambiente e manipular dados de formulário, respectivamente.
| code language-bash |
|---|
|
Etapa 3: atualizar package.json
-
Abra o cmd/terminal e execute o comando:
code language-bash code .
Ele abre o projeto no editor de código.
-
Atualize o arquivo
package.jsonpara adicionartypeamodule.code language-bash { "name": "demo-nodejs-generate-pdf", "version": "1.0.0", "type": "module", "main": "index.js", }
Etapa 4: Criar um Arquivo .env
-
Criar arquivo .env no nível raiz de um projeto
-
Adicione a configuração a seguir e substitua os espaços reservados pelos valores reais da credencial servidor a servidor OAuth do projeto ADC.
code language-bash CLIENT_ID=<ADC Project OAuth Server-to-Server credential ClientID> CLIENT_SECRET=<ADC Project OAuth Server-to-Server credential Client Secret> SCOPES=<ADC Project OAuth Server-to-Server credential Scopes>
note note NOTE Você pode copiar o CLIENT_ID,CLIENT_SECRETeSCOPESdo projeto do Adobe Developer Console.
Etapa 5: Criar src/index.js
- Criar arquivo
index.jsno nível raiz do projeto - Adicione o código a seguir e substitua os espaços reservados pelos valores reais:
| code language-javascript |
|---|
|
Etapa 6: Executar o Aplicativo
| code language-bash |
|---|
|
O PDF é criado na pasta demo-nodejs-generate-pdf. Navegue até a pasta para localizar o arquivo gerado chamado generatedForm.pdf.
Você pode abrir o PDF gerado para exibi-lo.
Resolução de problemas
Problemas comuns e possíveis causas
Problema 1: Erro 403 proibido
Sintomas:
- As solicitações de API retornam
403 Forbidden - Mensagem de erro: Acesso não autorizado
Causa possível:
- ID do cliente não registrada na configuração
api.yamlda instância do AEM
Problema 2: Erro 401 não autorizado
Sintomas:
- As solicitações de API retornam
401 Unauthorized - Mensagem de erro: Token inválido ou expirado
Causas possíveis:
- Token de acesso expirado (válido por apenas 24 horas)
- ID do cliente e segredo do cliente incorretos ou incompatíveis
Problema 3: Erro 404 não encontrado
Sintomas:
- As solicitações de API retornam
404 Not Found - Mensagem de erro: Recurso não encontrado ou Ponto de extremidade de API não encontrado
Causa possível:
- Parâmetro de bucket incorreto (não corresponde ao identificador de instância do AEM)
Problema 4: Falha na implantação do pipeline
Sintomas:
- Falha na execução do Pipeline de configuração
- Os logs de implantação mostram erros relacionados a
api.yaml
Causas possíveis:
- Sintaxe YAML inválida (problemas de recuo, aspas ou formato de matriz)
api.yamlfoi colocado no diretório incorreto- ID do cliente malformada ou incorreta na configuração
- Segredo do cliente inválido
Problema 5: Falha na execução das APIs de comunicação do Forms
Sintomas:
- As solicitações de API retornam erros indicando recursos incompatíveis ou indisponíveis.
- A geração do PDF usando XDP e XML não funciona.
- A implantação do pipeline é concluída com êxito, mas as chamadas de API de tempo de execução falham.
Causa possível:
O ambiente do AEM está executando uma versão lançada antes da introdução ou suporte às APIs de comunicação da Forms.
Para atualizar o ambiente do AEM, consulte a seção Atualizar instância do AEM.
Atualizar instância do AEM
Para atualizar a instância do AEM para localizar Detalhes do ambiente:
-
Selecione o ícone
ellipsis(…) ao lado do nome do ambiente e clique em Atualizar -
Clique no botão Enviar e execute o pipeline de pilha completa sugerido.