DEV Community

Liz Vidotti
Liz Vidotti

Posted on

1

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

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay