DEV Community

Liz Vidotti
Liz Vidotti

Posted on

DataRaptor Load

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.
Setup component

Na guia Objects, selecionar o objeto Genre__c.
Setup Genre sObject

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"
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Input JSON

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.
Mapping fields

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.
Enter insert key

Na aba preview, vamos testar o componente. Colamos o JSON de entrada na seção input, e clicamos em Execute.
Preview

Quando a operação é executada com sucesso, vemos a lista de registros criados, junto com os Ids do Salesforce.
Success

Top comments (0)