REDA One Centro de ajuda
PT
Idioma
English EN Español ES Português PT Italiano em breve Français FR Deutsch em breve العربية em breve
reda.one ↗
Início / REDA One / Integrações / APIs e dados / REDA Data Service: conecte seus formulários

REDA Data Service: conecte seus formulários

Todo formulário que você mantém fora da REDA — um formulário de contato no site de marketing, uma landing page de campanha, um microsite no Webflow — pode criar ou atualizar um registro da REDA no instante em que é enviado, com toda a atribuição de campanha incluída, sem escrever uma linha de código. O Data Service é o motor empacotado de captação web de entrada da REDA: seu formulário envia uma pequena requisição web, a REDA a confere contra uma linha de permissão que você controla, e um mapeamento que você configura transforma os valores recebidos em um registro real. Este artigo foi escrito para o administrador ou o desenvolvedor web que monta essa conexão. Ele mostra como construir o endereço para o qual seu formulário envia os dados, como autenticar a requisição, como formatar o corpo, o conjunto pronto de campos que alimenta um Lead web e para onde vai um envio com falha, para que você possa encontrá-lo e corrigi-lo. Este é um conteúdo voltado a desenvolvedores, então — diferentemente do restante do Centro de ajuda — ele mostra os endereços web e os campos de requisição literais de que você vai precisar.

Como chegar lá. O Data Service é configurado uma vez por um administrador e depois chamado pelo seu site. Você acompanha a atividade dele pelo Iniciador de aplicativos (o ícone de grade no canto superior esquerdo de qualquer página) → REDA Admin → guia Registros assíncronos do REDA, onde todo envio com falha fica registrado.
Acesso necessário. Ativar o serviço e definir o que ele aceita é configuração de administrador. Ver os registros assíncronos para diagnosticar problemas exige o conjunto de permissões REDA - Master Data - Read Only (ou um conjunto que o conceda). O próprio endpoint é chamado pelo seu site por meio de uma conexão pública de usuário convidado que seu administrador configura — nenhum login na REDA é necessário do lado do formulário.
Nunca publique uma chave de API. Os exemplos deste artigo usam chaves fictícias. A chave que protege a captação do seu formulário é um segredo específico daquele ambiente — trate-a como uma senha. Nunca cole uma chave real em uma página, em um repositório público ou em uma captura de tela, e troque-a se ela for exposta. O valor de demonstração que vem em uma organização de avaliação não é seguro para reutilizar em produção.
Você usa a edição Sales Cloud da REDA? Este artigo mostra a edição Platform, onde os prospects são registros Lead da REDA (o Lead padrão do Salesforce no Sales Cloud) e as solicitações de manutenção e de serviço são registros Solicitação de serviço (o Caso padrão). Todo o resto — os campos, as etapas e o comportamento — é igual, salvo indicação em contrário. Consulte Edições da REDA.

Como funciona

O Data Service aceita uma requisição web do seu formulário, confirma que ela é permitida e a encaminha para ser transformada em um registro. O ponto central do design é que a aceitação e a criação do registro são dois momentos separados:

Seu formulário envia a requisição. Um visitante envia seu formulário; seu site envia os valores dos campos para um endereço web da REDA.
A REDA executa as verificações de entrada. O serviço está ativado? O tipo de registro de destino é permitido? A requisição está autenticada? A operação (criar vs. atualizar) é permitida? Se alguma verificação falhar, a REDA responde com um erro e nada é gravado.
A REDA aceita e coloca na fila. Quando as verificações passam, a REDA responde sucesso imediatamente e processa o registro um instante depois, em segundo plano. Seu formulário recebe uma resposta rápida e não espera o registro ser criado.
Um mapeamento cria o registro. A REDA aplica o mapeamento de campos que você configurou — preenchendo primeiro os valores padrão e depois sobrescrevendo-os com os valores da requisição — e salva o registro.

Como a aceitação e a criação são desacopladas, uma resposta de sucesso significa "sua requisição foi aceita", e não "o registro já existe". Quase todo envio de fato vira um registro; as raras falhas durante essa etapa em segundo plano ficam registradas no Log Assíncrono em vez de se perderem, e é por isso que o log é a sua rede de segurança (veja Quando algo falha).

A etapa em segundo plano é quase instantânea para um envio isolado e processa um envio por vez quando muitos chegam ao mesmo tempo; assim, em um pico — um disparo de e-mail de campanha, por exemplo — os registros podem aparecer um instante depois das respostas de sucesso, e não todos de uma vez. Isso é normal e não descarta nada: toda requisição aceita é gravada ou registrada no log.

Ativação e controles de entrada

Antes que qualquer formulário possa criar registros, quatro coisas precisam estar alinhadas. Toda requisição — seja uma requisição de leitura no estilo do navegador, seja um envio de formulário — passa pelo mesmo controle:

ControleO que ele verifica
Chave geralO Data Service precisa estar ativado para a organização. Ele vem ativado em uma organização REDA padrão; se estiver desativado, as requisições são rejeitadas com uma mensagem informando que o serviço está desativado.
Tipo de registro de destinoO tipo de registro indicado no endereço (por exemplo, um Lead) precisa existir.
Permissão por tipo de registroUma linha de Setup para aquele tipo de registro precisa permitir a requisição: ela traz chaves separadas para requisições de leitura e de envio, além de chaves separadas de Create Record e Edit Record.
AutenticaçãoQuando a linha de Setup tem uma Auth Key definida, a requisição precisa trazer um cabeçalho com a chave correspondente — caso contrário, a REDA a rejeita com uma resposta 401 de não autorizado.

De fábrica, um tipo de registro já vem conectado e pronto para uso: o Lead — o registro da REDA para um prospect que entrou em contato — com leitura, envio, criação e edição habilitados e uma chave de autenticação definida. Um segundo tipo de registro, a Solicitação de serviço, vem parado: a linha de Setup dele existe, mas todas as chaves estão desligadas, então ele não aceita nada até que um administrador o ative. Adicionar seus próprios tipos de registro segue o mesmo padrão, descrito em Adicionando objetos e fontes ao Data Service.

O endpoint

Seu formulário envia os dados para um endereço web que nomeia o tipo de registro que você está criando e a fonte de dados — um rótulo que agrupa uma família de formulários para que os mapeamentos dela fiquem separados dos de outra. O endereço segue este formato:

<Your Site URL>/services/apexrest/reda1/dataservice/<Record Type>/<Data Source>

Para a captação de Leads web que já vem pronta, o tipo de registro é o Lead e a fonte de dados é Web, resultando em um endereço que termina assim:

.../dataservice/reda1__Inquiry__c/Web

A primeira parte — a URL do seu site — é o endereço web público que seu administrador configurou para expor o serviço; peça-o a ele. Uma requisição bem-sucedida retorna imediatamente uma resposta 200 com {"success": true}. Se uma verificação de entrada falhar, você recebe uma resposta 400 com uma mensagem curta explicando o motivo e, se a chave geral estiver desligada, você recebe um 400 com uma mensagem informando que o serviço está desativado.

A requisição

Um envio de formulário é uma requisição POST. Seu corpo é uma pequena lista de pares chave/valor — uma entrada por campo enviado — escrita em JSON:

[
  {"key": "FirstName", "value": "Aisha"},
  {"key": "LastName",  "value": "Rahman"},
  {"key": "Email",     "value": "aisha@example.com"}
]

Quando a linha de Setup exige autenticação, a requisição também leva a chave em um cabeçalho chamado x-api-key. (Uma requisição de leitura do tipo GET funciona da mesma forma, com os valores passados como parâmetros do endereço em vez de um corpo; formulários devem usar POST.)

Se uma requisição cria um novo registro ou atualiza um já existente é decidido por um único campo: recordId.

Sua requisiçãoO que a REDA fazRequer
Sem recordIdCria um novo registroCreate Record ativado
Com recordIdAtualiza aquele registro existenteEdit Record ativado

Envie um recordId com Edit Record desligado (ou crie um registro com Create Record desligado) e a REDA responde "DML Operation not supported." — ela está dizendo que a operação solicitada não está habilitada naquela linha de Setup.

A integração de site que já vem pronta

Um mapeamento é a tabela de tradução entre as chaves que seu formulário envia e os campos do registro da REDA. A REDA entrega um mapeamento completo para Leads web: 21 parâmetros que cobrem os dados do visitante, de onde ele veio e todo o conjunto de atribuição de marketing. Envie qualquer uma dessas chaves na sua requisição e elas caem no campo certo do Lead. Duas delas trazem um valor padrão, aplicado quando seu formulário omite o valor:

GrupoChaves que você pode enviarVai paraPadrão
ContatoFirstName, LastName, Email, PhoneNome, e-mail e telefone—
EmpresaCompanyCompany--NA--
OrigemLeadSourceInquiry SourceWeb
Chave de atualizaçãorecordIdO registro a ser atualizado—
Campanha (UTM)utm_campaign, utm_content, utm_id, utm_medium, utm_source, utm_termOs seis campos de UTM—
IDs de clique de anúnciofbclid, gclid, msclkid, ttclidCampos de ID de clique do Facebook, do Google, da Microsoft e do TikTok—
Contexto webform_id, landing_page, referral_url, session_idID do formulário web, landing page, URL de referência e ID da sessão—

Você não precisa enviar as 21 — envie as que seu formulário tiver. A fonte de dados Web mantém esse grupo de mapeamentos junto, de modo que outra família de formulários pode usar a própria fonte de dados com um conjunto diferente de chaves, sem nenhuma sobreposição.

Nesta versão, a atribuição é apenas de captura. Os valores de UTM e de clique em anúncio ficam registrados no Lead para que seus relatórios possam atribuir leads às campanhas. Eles dão a visão para os relatórios; são dados armazenados, não uma conexão ao vivo de volta a alguma rede de anúncios.

Quando algo falha: o Log Assíncrono

Como o registro é criado um instante depois de seu formulário receber a resposta de sucesso, o lugar para confirmar o que realmente aconteceu é o Log Assíncrono — o registro que a REDA mantém do processamento em segundo plano. Quando um envio não pode ser transformado em registro — um campo obrigatório ausente, um valor que não passa em uma regra — a REDA desfaz a gravação e, em vez disso, cria uma entrada no Log Assíncrono. Nada é descartado em silêncio.

Cada entrada de um envio com falha traz a origem de onde ele veio, uma contagem de falhas e — o mais útil de tudo — a requisição completa em seus detalhes, para que você veja exatamente o que o formulário enviou e por que foi rejeitado. Para corrigir um envio com problema, ajuste o formulário (ou os dados) e envie novamente; não há nova tentativa automática. Para conhecer a anatomia do log em si, o indicador Attention Needed e os alertas por e-mail ao administrador, consulte Registros assíncronos do REDA.

Exemplo prático: uma landing page de campanha

A Meridian Properties mantém uma landing page de locação de verão. Quando um prospect envia o formulário de contato, a página envia esta requisição para .../dataservice/reda1__Inquiry__c/Web com um cabeçalho x-api-key contendo a chave da Meridian:

[
  {"key": "FirstName",    "value": "Aisha"},
  {"key": "LastName",     "value": "Rahman"},
  {"key": "Email",        "value": "aisha@example.com"},
  {"key": "utm_source",   "value": "google"},
  {"key": "utm_campaign", "value": "summer-lease"},
  {"key": "gclid",        "value": "..."}
]

A REDA responde 200 {"success": true} e, momentos depois, aparece um Lead chamado Aisha Rahman — com Inquiry Source Web e com a campanha e o ID de clique do Google registrados para os relatórios de marketing.

Atualizando em vez de criar. Se mais tarde Aisha enviar o formulário de novo com o telefone dela, a mesma requisição acrescida de {"key": "recordId", "value": "<id do Lead dela>"} atualiza o Lead existente em vez de criar um duplicado.

Quando falha. Se um envio chegar com um campo obrigatório ausente, nenhum registro é criado — mas aparece uma entrada no Log Assíncrono com o payload completo, para que você veja o que foi enviado e corrija o formulário.

O que vem a seguir

  1. Adicionando objetos e fontes ao Data Service — conecte o mesmo motor a um novo tipo de registro ou divida os formulários em fontes separadas.
  2. Leads web e solicitações de visita — o caminho de captação irmão, em que as páginas de anúncios da REDA gravam Leads diretamente.
  3. Registros assíncronos do REDA — a anatomia completa do log de falhas para o qual este artigo aponta.
  4. Lendo dados da REDA pelas APIs do Salesforce — o lado de saída, de leitura e gravação, por contraste.
  5. Encontrando e mesclando Leads duplicados — faça a limpeza quando o mesmo prospect envia o formulário duas vezes.

Perguntas frequentes

A linha de Setup do tipo de registro tem uma chave de autenticação definida, e a chave que sua requisição envia no cabeçalho x-api-key não coincide com ela. Confirme que seu formulário está enviando a chave atual.

Uma resposta de sucesso significa que sua requisição foi aceita, não que o registro foi gravado — são duas etapas separadas. Consulte o Log Assíncrono para ver a falha de processamento e o payload que a causou.

Você pediu uma operação que a linha de Setup não permite — enviar um recordId (uma atualização) sem Edit Record ativado, ou criar um registro sem Create Record ativado. Ative a chave correspondente na linha de Setup.

Sim. Cada segmento de fonte de dados no endereço mantém seu próprio grupo de mapeamentos, então vários formulários podem alimentar o mesmo tipo de registro com conjuntos de chaves diferentes. Consulte Adicionando objetos e fontes ao Data Service.

Não. A chave de demonstração é um valor específico daquele ambiente, destinado apenas a avaliações. Defina sua própria chave na linha de Setup de cada tipo de registro e troque-a imediatamente se ela for exposta.

Isso foi útil?