DataRaptor é um componente do Salesforce Omnistudio, que faz parte da camada Service Management. Ele é essencialmente um componente de backend, que permite leitura, escrita e transformação de dados no Salesforce. Ele é dividido em quatro tipos: Extract, Turbo Extract, Load e Transform. Nesse artigo, irei explicar um pouco sobre o DataRaptor Load, utilizando um exemplo prático.
O DataRaptor Load permite a criação e edição de dados no Salesforce. Os dados de entrada podem ser dos tipos: JSON, XML _ou formato customizado. Estes dados podem ser obtidos através de: outros componentes do _Omnistudio, como Omniscripts e Integration Procedures; DataRaptor API Rest call; classes Apex.
Apenas o Omnistudio for Vlocity têm suporte para receber dados através de objetos de Interface, como o Salesforce Bulk Loader e outras ferramentas similares.
Os dados de saída contém os registros e Ids dos registros criados e/ou atualizados. Esses registros serão sempre de sObjects, ou objetos do Salesforce, que podem ser os objetos padrão, como Contas e Oportunidades, ou objetos customizados.
Durante o processamento do DataRaptor Load, temos as seguintes etapas:
- Etapa de Fórmula: funções matemática e de Strings são processadas para atender a resultados de fórmulas específicas, quando criadas;
- Etapa de Transformação: é quando os dados de entrada são mapeados para os dados de saída correspondentes;
- Etapa de Carregamento: quando os dados são persistidos em um sObject.
Hands-on
Criar um componente DataRaptor Load que receba uma lista de gêneros de filmes, e grave os dados em um objeto customizado Genre__c.
Para este projeto, estarei usando os dados da API do DB Movies. Estou usando também a org Developer Edition com o pacote do Omnistudio já instalado.
Antes de iniciar a construção do componente, criei o objeto Genre (Genre_c), e dois campos do tipo Texto, Id (Id_c) e Name. O perfil de usuário Administrador do Sistema terá acesso de criação, leitura e edição para o objeto e seus campos.
No aplicativo Omnistudio, vamos acessar a guia DataRaptor e criar um novo componente, com a interface Load.
Na guia Objects, selecionar o objeto Genre__c.
Na guia Fields, vamos copiar a lista de gêneros e colar na seção Input JSON. Logo após, vamos clicar em Quick Match.
{
"genres": [
{
"id": 28,
"name": "Action"
},
{
"id": 12,
"name": "Adventure"
},
{
"id": 16,
"name": "Animation"
},
{
"id": 35,
"name": "Comedy"
},
{
"id": 80,
"name": "Crime"
},
{
"id": 99,
"name": "Documentary"
},
{
"id": 18,
"name": "Drama"
},
{
"id": 10751,
"name": "Family"
},
{
"id": 14,
"name": "Fantasy"
},
{
"id": 36,
"name": "History"
},
{
"id": 27,
"name": "Horror"
},
{
"id": 10402,
"name": "Music"
},
{
"id": 9648,
"name": "Mystery"
},
{
"id": 10749,
"name": "Romance"
},
{
"id": 878,
"name": "Science Fiction"
},
{
"id": 10770,
"name": "TV Movie"
},
{
"id": 53,
"name": "Thriller"
},
{
"id": 10752,
"name": "War"
},
{
"id": 37,
"name": "Western"
}
]
}
No popup que se abre, vemos na esquerda, a lista de paths do JSON de entrada; no meio, os campos do referido objeto (Genre__c); e, na direita, ficarão os campos mapeados. Podemos clicar em Auto Match, ou arrastar o path da esquerda para o campo correspondente. Se os campos estiverem mapeados corretamente, clicar em Save.
Vamos editar o mapeamento para o path genre:id, e marcá-lo como Upsert Key; desta forma, se o Salesforce encontrar um gênero com o mesmo genre:id, ele irá atualizar o registro, ao invés de criar um novo.
Na aba preview, vamos testar o componente. Colamos o JSON de entrada na seção input, e clicamos em Execute.
Quando a operação é executada com sucesso, vemos a lista de registros criados, junto com os Ids do Salesforce.
Top comments (0)