Webhooks
Um webhook é uma chamada HTTP acionada por um evento. Você pode usar webhooks para ativar módulos de acionador instantâneo. Qualquer aplicativo conectado à Internet e que permita solicitações HTTP pode enviar webhooks para o Adobe Workfront Fusion.
Requisitos de acesso
| table 0-row-2 1-row-2 2-row-2 3-row-2 layout-auto html-authored no-header | |
|---|---|
| Pacote do Adobe Workfront |
Qualquer pacote de fluxo de trabalho do Adobe Workfront e qualquer pacote do Adobe Workfront Automation and Integration Workfront Ultimate Os pacotes Workfront Prime e Select, com uma compra adicional do Workfront Fusion. |
| Licenças do Adobe Workfront |
Padrão Trabalho ou maior |
| Licença do Adobe Workfront Fusion |
Baseado em operação: nenhum requisito de licença do Workfront Fusion Baseado em conector (legado): Workfront Fusion for Work Automation and Integration |
| Produto | Se sua organização tiver um pacote Workfront Select ou Prime, ele não inclui o Workfront Automation and Integration. É necessário comprar o Adobe Workfront Fusion. |
Para obter mais detalhes sobre as informações contidas nesta tabela, consulte Requisitos de acesso na documentação.
Para obter informações sobre licenças do Adobe Workfront Fusion, consulte Licenças do Adobe Workfront Fusion.
Usar um webhook no Workfront Fusion
Para usar um webhook para conectar um aplicativo ao Workfront Fusion, você pode configurar o webhook para autenticar usando um certificado de cliente (mTLS), uma autenticação básica ou o Adobe Identity Management System (IMS).
Usar um webhook com um certificado de cliente (mTLS)
Com o mTLS, você fornece um certificado de cliente e uma chave privada. O Fusion usa o certificado e a chave para se autenticar no serviço de destino ao chamar o webhook. Essa autenticação bidirecional permite que o webhook seja mais seguro do que a autenticação básica.
Para obter mais informações sobre mTLS, consulte Visão geral do TLS mútuo no artigo Usar mTLS em módulos HTTP.
-
Adicione o módulo de gatilho instantâneo Webhooks > Webhook personalizado ao seu cenário.
-
Clique em Adicionar ao lado do campo Webhook e insira um nome para o novo webhook.
-
(Opcional) Clique Em Configurações Avançadas.
-
No campo Restrições de IP, insira uma lista separada por vírgulas dos endereços IP dos quais o módulo pode aceitar dados.
-
(Opcional) No campo Restrições de origem, para cada origem que você deseja permitir que chame este webhook, clique em Adicionar item e insira o padrão de origem. Se quiser permitir qualquer origem, deixe esse campo em branco.
Este campo aceita os seguintes padrões:
- Nome de host exato:
app.example.com - Subdomínio curinga:
*.example.com - Qualificado por esquema:
https://app.example.comouhttps://*.example.com
- Nome de host exato:
-
Para validar os dados de entrada, no campo Estrutura de dados, selecione ou adicione a estrutura de dados que deseja usar.
Para obter informações sobre estruturas de dados, consulte Estruturas de dados.
-
No campo Tipo de autorização, selecione Certificado de cliente.
-
No campo Credenciais, selecione as credenciais a serem usadas para autorização ou adicione novas credenciais.
-
(Condicional) Para adicionar credenciais:
-
Clique em Adicionar
-
Insira um nome para a nova chave de credenciais
-
No campo Certificado, cole seu certificado.
-
No campo Chave privada, cole sua chave privada.
note tip TIP Se precisar extrair o certificado ou a chave privada de um arquivo combinado, clique em Extrair ao lado desse campo, selecione o que você está extraindo e forneça o arquivo e a senha. -
Clique em Criar uma chave.
-
De volta ao painel do webhook, no campo Credenciais, selecione a nova chave.
-
-
Ative outras configurações conforme desejado.
-
Clique em Salvar
Depois de criar um webhook, um URL exclusivo é exibido. Esse é o endereço para o qual o webhook envia dados. O Workfront Fusion valida os dados enviados para esse endereço e, em seguida, os transmite para processamento no cenário.
Usar um webhook com autenticação básica
A autenticação básica usa um nome de usuário e uma senha para autenticar no serviço ao qual você está se conectando.
-
Adicione o módulo de gatilho instantâneo Webhooks > Webhook personalizado ao seu cenário.
-
Clique em Adicionar ao lado do campo Webhook e insira um nome para o novo webhook.
-
(Opcional) Clique Em Configurações Avançadas.
-
No campo Restrições de IP, insira uma lista separada por vírgulas dos endereços IP dos quais o módulo pode aceitar dados.
-
(Opcional) No campo Restrições de origem, para cada origem que você deseja permitir que chame este webhook, clique em Adicionar item e insira o padrão de origem. Se quiser permitir qualquer origem, deixe esse campo em branco.
Este campo aceita os seguintes padrões:
- Nome de host exato:
app.example.com - Subdomínio curinga:
*.example.com - Qualificado por esquema:
https://app.example.comouhttps://*.example.com
- Nome de host exato:
-
Para validar os dados de entrada, no campo Estrutura de dados, selecione ou adicione a estrutura de dados que deseja usar.
Para obter informações sobre estruturas de dados, consulte Estruturas de dados.
-
No campo Tipo de autorização, selecione Autenticação básica.
-
No campo Credenciais, digite as credenciais a serem usadas para autorização. Para inserir credenciais, clique em Adicionar e insira o nome de usuário e a senha para autenticação básica.
-
Ative outras configurações conforme desejado.
-
Clique em Salvar
Depois de criar um webhook, um URL exclusivo é exibido. Esse é o endereço para o qual o webhook envia dados. O Workfront Fusion valida os dados enviados para esse endereço e, em seguida, os transmite para processamento no cenário.
Usar um webhook com o Adobe Identity Management System (IMS)
A autenticação do Adobe Identity Management System (IMS) usa as credenciais do Adobe IMS da sua organização para autenticar no serviço ao qual você está se conectando.
-
Adicione o módulo de gatilho instantâneo Webhooks > Webhook personalizado ao seu cenário.
-
Clique em Adicionar ao lado do campo Webhook e insira um nome para o novo webhook.
-
(Opcional) Clique Em Configurações Avançadas.
-
No campo Restrições de IP, insira uma lista separada por vírgulas dos endereços IP dos quais o módulo pode aceitar dados.
-
(Opcional) No campo Restrições de origem, para cada origem que você deseja permitir que chame este webhook, clique em Adicionar item e insira o padrão de origem. Se quiser permitir qualquer origem, deixe esse campo em branco.
Este campo aceita os seguintes padrões:
- Nome de host exato:
app.example.com - Subdomínio curinga:
*.example.com - Qualificado por esquema:
https://app.example.comouhttps://*.example.com
- Nome de host exato:
-
Para validar os dados de entrada, no campo Estrutura de dados, selecione ou adicione a estrutura de dados que deseja usar.
Para obter informações sobre estruturas de dados, consulte Estruturas de dados.
-
No campo Tipo de autorização, selecione Adobe IMS (Token de portador no cabeçalho de autorização).
-
(Opcional) No campo Clientes permitidos, digite uma lista separada por vírgulas de IDs de clientes permitidas para chamar este webhook. Deixe essa configuração vazia para aceitar qualquer cliente cujo token tenha sido assinado validamente pelo emissor e pelo público-alvo confiáveis.
-
(Opcional) No campo Usuários permitidos, digite uma lista separada por vírgulas de IDs de usuário permitidas para chamar este webhook. Deixe essa configuração vazia para permitir qualquer usuário.
-
(Opcional) No campo Escopos obrigatórios, insira uma lista separada por vírgulas de escopos que devem estar presentes na declaração
scopedo token. Deixe vazio para ignorar a verificação do escopo. -
Ative outras configurações conforme desejado.
-
Clique em Salvar
Depois de criar um webhook, um URL exclusivo é exibido. Esse é o endereço para o qual o webhook envia dados. O Workfront Fusion valida os dados enviados para esse endereço e, em seguida, os transmite para processamento no cenário.
Configurar a estrutura de dados do webhook configure-the-webhook-s-data-structure
Para reconhecer a estrutura de dados do payload recebido, o Workfront Fusion analisa os dados de amostra enviados para o endereço exibido. Você pode fornecer os dados de amostra fazendo uma alteração no serviço ou aplicativo que fará com que esse serviço ou aplicativo chame o webhook. Por exemplo, você pode remover um arquivo.
Ou você pode enviar os dados de exemplo por meio do módulo HTTP > Fazer uma solicitação:
-
Criar um novo cenário com o módulo HTTP > Fazer uma solicitação
-
Configure o módulo com os seguintes valores:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-auto html-authored no-header URL Insira o URL do webhook. Você pode encontrar esse URL no módulo Webhooks que você usou para configurar o webhook. Method POST Tipo de corpo Bruto Tipo de conteúdo JSON (application/json) Solicitar conteúdo JSON bruto esperado no webhook
-
Abra o cenário com o módulo Webhooks em uma guia ou janela separada do navegador.
-
No módulo de webhooks, clique em Redeterminar a estrutura de dados.
Não é necessário desvincular outros módulos do módulo webhooks.
-
Alterne para o cenário com o módulo HTTP e execute-o.
-
Volte para o cenário com o módulo Webhooks.
Uma mensagem “Determinado com êxito” significa que o módulo determinou com êxito a estrutura de dados.
-
Clique em OK para salvar a estrutura de dados.
Os itens do webhook agora estão disponíveis no painel de mapeamento para uso com módulos subsequentes no cenário.
Origens permitidas / CORS
Ao criar ou editar um webhook personalizado no Fusion, o campo Origens permitidas permite restringir quais origens do navegador (sites) têm permissão para chamar o endpoint do webhook diretamente do JavaScript do lado do cliente, como fetch/XHR. Este é um controle CORS (Cross-Origin Resource Sharing, Compartilhamento de recursos entre origens), que é um limite separado das restrições de IP e do tipo de Autorização (Autenticação básica/Certificado de cliente/Adobe IMS).
A fila de webhook
Se um webhook receber dados e não houver um cenário ativo esperando esses dados, os dados serão armazenados na fila. Depois que você ativa o cenário, ele processa todos os pacotes aguardando na fila sequencialmente.
Formatos de dados de entrada compatíveis
O Workfront Fusion é compatível com 3 formatos de dados de entrada: Cadeia de Caracteres de Consulta, Dados de Formulário e JSON.
O Workfront Fusion valida todos os dados recebidos em relação à estrutura de dados selecionada. Em seguida, dependendo das configurações do cenário, os dados são armazenados na fila para processamento ou processados imediatamente.
Se qualquer parte dos dados não passar na validação, o Workfront Fusion retornará um código de status 400 HTTP e especificará, no corpo da resposta HTTP, o motivo pelo qual os dados recebidos falharam nas verificações de validação. Se a validação dos dados de entrada tiver êxito, o Workfront Fusion retornará um status “200 Accepted”.
Cadeia de consulta
GET https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>?name=<yourname>&job=automate
Dados do formulário
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: application/x-www-form-urlencoded
name=<yourname>&job=automate
Dados de formulário multiparte
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: multipart/form-data; boundary=---generatedboundary
---generatedboundary
Content-Disposition: form-data; name="file"; filename="file.txt"
Content-Type: text/plain
Content of file.txt
---generatedboundary
Content-Disposition: form-data; name="name"
Workfront Fusion
---generatedboundary
Para receber arquivos codificados com multipart/form-data, você deve configurar uma estrutura de dados com um campo do tipo collection que contenha os campos aninhados name, mime e data. O campo name é um tipo text e contém o nome do arquivo carregado. O mime é um tipo text e contém um arquivo no formato MIME. O campo data é um tipo buffer e contém dados binários para o arquivo que está sendo transferido.
Para obter mais informações sobre o formato MIME, consulte módulos MIME.
JSON
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: application/json
{"name": "Workfront Fusion", "job": "automate"}
- Clique em Adicionar para adicionar um novo webhook.
- Clique em Mostrar configurações avançadas.
- Clique em passagem JSON.
Cabeçalhos do Webhook
Para acessar os cabeçalhos do webhook, habilite Obter cabeçalhos de solicitação ao configurar o webhook.
- Clique em Adicionar para adicionar um novo webhook.
- Clique em Mostrar configurações avançadas.
- Clique em Obter cabeçalhos de solicitação.
Você pode extrair um valor de cabeçalho específico com a combinação das funções map() e get().
authorization da matriz Headers[]. A fórmula é usada em um filtro que compara o valor extraído com o texto fornecido para passar apenas webhooks se houver uma correspondência.
Resposta a webhooks
A resposta padrão para uma chamada de webhook é o texto “Accepted”. A resposta é retornada ao aplicativo que chamou o webhook durante a execução do módulo Webhook personalizado.
Testar a resposta a um webhook
-
Inclua o módulo Webhook personalizado em seu cenário.
-
Adicione um novo webhook ao módulo.
-
Copie o URL do webhook para a área de transferência.
-
Execute o cenário.
O ícone de relâmpago no módulo Webhook personalizado muda para pontos giratórios. Isso mostra que o módulo agora está aguardando a chamada de webhook.
-
Abra uma nova janela do navegador, cole a URL copiada na barra de endereços e pressione Enter.
O módulo Webhook personalizado foi acionado e o navegador exibirá uma nova página.
Se quiser personalizar a resposta do webhook, empregue o módulo Resposta do Webhook.
A configuração do módulo contém dois campos: Status e Corpo.
-
O campo Status contém códigos de status de resposta HTTP como 2xx para Êxito (por exemplo,
200para OK), 3xx para Redirecionamento (por exemplo,307para Redirecionamento Temporário), 4xx para Erros de Cliente (por exemplo,400para Solicitação Inválida) e assim por diante. -
O campo Corpo contém tudo que será aceito pela chamada do webhook. Pode ser texto simples, HTML, XML, JSON e assim por diante.
note tip TIP Recomendamos definir o cabeçalho Content-Typepara o tipo MIME correspondente:text/plainpara texto sem formatação,text/htmlpara HTML,application/jsonpara JSON,application/xmlpara XML e assim por diante. Para obter mais informações sobre tipos MIME, consulte módulos MIME.
O tempo limite para enviar uma resposta é de 5 minutos. Se a resposta não estiver disponível nesse período, o Workfront Fusion retornará um status “200 Aceito”.
Exemplo de resposta do HTML
| table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header | |
|---|---|
| Status | Código de status HTTP de sucesso 2xx, por exemplo, 200 |
| Body | código HTML |
| Cabeçalhos personalizados |
>
|
Exemplo de redirecionamento
| table 0-row-2 1-row-2 layout-auto html-authored no-header | |
|---|---|
| Status | Código de status HTTP de redirecionamento 3xx, por exemplo, 303 |
| Cabeçalhos personalizados |
>
|
Desativação do Webhook
Os webhooks são desativados automaticamente se qualquer uma das seguintes situações se aplicar:
- O webhook não foi conectado a nenhum cenário por mais de 5 dias
- O webhook é usado somente em cenários inativos, que ficaram assim por mais de 30 dias.
Os webhooks desativados serão excluídos e removidos do registro automaticamente se não estiverem conectados a nenhum cenário e estiverem com o status desativado por mais de 30 dias.
Solução de problemas
Itens ausentes no painel de mapeamento
Se alguns itens estiverem ausentes no painel de mapeamento na configuração dos módulos após o módulo Webhooks > Webhook personalizado, clique no módulo Webhooks > Webhook personalizado para abrir a configuração e clique em Redeterminar a estrutura de dados:
Siga as etapas descritas na seção Configurar a estrutura de dados do webhook neste artigo.