Aprenda como extrair dados de múltiplas fontes em uma única integração
Este guia mostra como criar uma integração que extrai dados de posts do JSONPlaceholder, enriquece cada post com detalhes de comentários usando uma chamada de API secundária e envia os dados combinados a um endpoint de webhook. Ao final, você entenderá como usar a fase de Enriquecimento para buscar dados adicionais por datapoint e combiná-los em suas transformações.
Conexões definem como a RWS Integration se comunica com sistemas externos. Você criará uma para a API JSONPlaceholder, que será usada tanto para a extração principal quanto para as requisições de enriquecimento.
A fase de Extração recupera dados de posts do seu sistema de origem.
Expanda a seção Extração
Configure estes campos:
Campo
Valor
Connection
[Doc] Enrichment Extract Connection
Method
GET
Path
/posts
Defina o Datapoint Path in Response como root
Defina a Paginação:
Campo
Valor
Pagination Type
Simple
Page size parameter
_limit
Page size value
10
Initial page parameter
_page
Initial page value
1
Pagination end type
Object
Verifique o painel Preview de Extração no lado direito — ele deve mostrar:
Status: 200 OK
Um único registro de post (o Datapoint) como este:
{ "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" }
A fase de Enriquecimento busca dados adicionais para cada datapoint extraído na fase de Extração principal. Para cada post, buscaremos seus comentários.
Expanda a seção Enriquecimento
Clique em Adicionar Enriquecimento
Configure o enrichment:
Campo
Valor
Name
comments
Connection
[Doc] Enrichment Extract Connection
Method
GET
Path
/posts/{{parameterId}}/comments
Configure os parâmetros de query do Enriquecimento:
type
key
value
Fixed
{{id}}
parameterId
O {{id}} é um parâmetro dinâmico que será interpolado de cada datapoint extraído na etapa principal de Extração. Certifique-se de que o nome do campo corresponda exatamente (sensível a maiúsculas/minúsculas).
O enriquecimento usará automaticamente o valor id extraído do post para fazer uma requisição para /posts/{id}/comments.
Verifique o painel Preview de Extração no lado direito — ele deve mostrar:
Status: 200 OK
Um array de registros de comentários como este:
[ { "postId": 1, "id": 1, "name": "id labore ex et quam laborum", "email": "Eliseo@gardner.biz", "body": "laudantium enim quasi est quidem magnam voluptate ipsam eos\ntempora quo necessitatibus\ndolor quam autem quasi\nreiciendis et nam sapiente accusantium" }, { "postId": 1, "id": 2, "name": "quo vero reiciendis velit similique earum", "email": "Jayne_Kuhic@sydney.com", "body": "est natus enim nihil est dolore omnis voluptatem numquam\net omnis occaecati quod ullam at\nvoluptatem error expedita pariatur\nnihil sint nostrum voluptatem reiciendis et" },]
A fase de Transformação mapeia campos de origem de ambas as respostas de Extração e Enriquecimento para o formato de destino. Para este guia, crie mapeamentos que combinem dados de posts com informações de comentários.
Expanda a seção Transformação
Clique em Adicionar Transformação e configure campos da Extração principal:
Tipo
De
Para
Simple
id
postId
Simple
title
postTitle
Simple
body
postBody
Clique em Adicionar Transformação novamente e configure campos do Enriquecimento:
Tipo
De
Para
Simple
resources.comments[0].email
firstCommentEmail
Simple
resources.comments[0].body
firstCommentText
Para acessar dados de enriquecimento, você deve usar a estrutura: resources.{{enrichmentName}}.{{fieldPath}}. O nome do enriquecimento deve corresponder exatamente ao que você configurou na seção Enriquecimento (neste caso, comments).
Verifique o painel Preview de Transformação — ele deve exibir:
{ "postId": 1, "postTitle": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "postBody": "quia et suscipit...", "firstCommentEmail": "Eliseo@gardner.biz", "firstCommentText": "laudantium enim quasi est quidem magnam voluptate..."}
Isso confirma que seus mapeamentos estão funcionando corretamente e mostra como os dados de ambas as fases de Extração e Enriquecimento são combinados.
{ "postId": 1, "postTitle": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "postBody": "quia et suscipit...", "firstCommentEmail": "Eliseo@gardner.biz", "firstCommentText": "laudantium enim quasi est quidem magnam voluptate..."}
Como configuramos rate(1 day) como agendamento, a integração executará imediatamente após a criação. Depois disso, executará automaticamente a cada 24 horas.
Mude para a aba do webhook.site no seu navegador. Você deve ver requisições POST recebidas (uma para cada post processado), cada uma contendo sua estrutura de dados transformada com informações combinadas de posts e comentários:
{ "postId": 1, "postTitle": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "postBody": "quia et suscipit...", "firstCommentEmail": "Eliseo@gardner.biz", "firstCommentText": "laudantium enim quasi est quidem magnam voluptate..."}
Parabéns — você criou e executou sua primeira integração com enrichment!