Ir para o conteúdo

Configuração de tabela da Ingestão de dados na nuvem

Use esta página para escolher como a Ingestão de dados na nuvem (CDI) lê seus dados e para configurar uma tabela de origem com uma coluna PAYLOAD, caso você use esse método.

Escolha uma opção de definição de dados

Ao criar uma sincronização a partir de uma fonte de data warehouse, você escolhe como a Braze lê seus dados na etapa Definição de dados. As opções exibidas dependem do tipo de sincronização.

Opção Como funciona Disponível para
Visual Informe uma tabela ou visualização e mapeie as colunas dela para campos da Braze no dashboard, sem escrever SQL. Para mais detalhes, consulte Mapeador visual. Sincronizações de atributos, eventos personalizados e disparos do Canvas em fontes de data warehouse
SQL Escreva uma consulta na sua fonte. As colunas retornadas pela consulta se tornam campos da Braze. Para mais detalhes, consulte Editor SQL. Todos os tipos de sincronização em fontes de data warehouse
Coluna PAYLOAD Crie uma tabela ou visualização na sua fonte com um identificador aceito pela Braze e as colunas UPDATED_AT e PAYLOAD. A coluna PAYLOAD contém um objeto JSON no formato de /users/track. Depois, crie uma sincronização de CDI, selecione Tabela ou Visual na etapa Definição de dados e informe o nome da tabela. Para conhecer os requisitos, consulte as seções a seguir. Todos os tipos de sincronização em todas as fontes, incluindo armazenamento de arquivos

Orientação sobre a organização dos dados

Cada sincronização de CDI atualiza um tipo de dado por vez, como atributos de usuário, eventos personalizados, eventos de compra ou itens de catálogo. Ao configurar suas tabelas ou visualizações de origem, organize seus dados de acordo com a forma como você planeja sincronizá-los:

  • Uma tabela por tipo de dado: criar tabelas ou visualizações separadas para cada tipo de dado (por exemplo, user_attributes, custom_events, purchases) oferece uma separação clara. Assim, fica mais fácil gerenciar diferentes cronogramas de sincronização e definições de dados.
  • Tabela de origem compartilhada: se você usa os modos de mapeamento Visual ou SQL, várias sincronizações podem extrair dados da mesma tabela de origem. Por exemplo, uma sincronização de atributos e uma sincronização de eventos podem consultar a mesma tabela, mas você ainda cria sincronizações separadas no dashboard da Braze: uma para atributos e outra para eventos. Cada sincronização mapeia ou consulta apenas as colunas de que precisa.

Escolha a abordagem que se adapta ao seu pipeline de dados e ao número de casos de uso que você gerencia. Os dois padrões funcionam à medida que seus casos de uso crescem.

Entenda a configuração da tabela em comparação com a formatação da carga útil

Para sincronizações de dados de usuários da CDI que usam uma coluna PAYLOAD, configure os dois itens:

Camada O que ela controla
Configuração da tabela de origem Colunas obrigatórias, identificadores de usuário e comportamento de sincronização de UPDATED_AT
Formatação da carga útil Campos JSON em PAYLOAD, incluindo a estrutura de objetos para atributos, eventos e compras

A Braze primeiro lê as linhas da sua tabela de origem. Depois, valida o campo PAYLOAD com base no tipo de dado selecionado.

Configurar sua tabela de origem

Nas sincronizações de dados de usuários do data warehouse que usam uma coluna PAYLOAD, sua tabela ou visualização de origem deve incluir:

  • UPDATED_AT
  • PAYLOAD
  • Uma ou mais colunas de identificador de usuário compatíveis:
    • EXTERNAL_ID
    • ALIAS_NAME e ALIAS_LABEL
    • BRAZE_ID
    • EMAIL
    • PHONE

Cada linha deve incluir um tipo de identificador por vez, mesmo que sua tabela tenha várias colunas de identificador.

Requisitos de UPDATED_AT

  • Armazene os valores de UPDATED_AT em UTC para evitar problemas com o horário de verão.
  • A Braze sincroniza as linhas em que UPDATED_AT é posterior ao último valor sincronizado.
  • As linhas com o carimbo de data/hora exato do limite podem ser sincronizadas novamente se novas linhas compartilharem esse mesmo carimbo de data/hora.

Para orientações sobre carimbos de data/hora duplicados e atualizações incrementais, consulte as práticas recomendadas da ingestão de dados na nuvem.

Configurar a coluna PAYLOAD

O valor de PAYLOAD usa os mesmos formatos de objeto do endpoint /users/track da Braze para o tipo de dado selecionado.

Tipo de dado Referência de formatação
attributes Objeto de atributos do usuário
events Objeto de eventos
purchases Objeto de compras

Para atributos aninhados, inclua datas usando o formato descrito em Capturar datas como propriedades de objetos.

Exemplos de carga útil

Você pode incluir atributos personalizados aninhados na coluna de carga útil em uma sincronização de atributos personalizados.

{
      "most_played_song": {
        "song_name": "Solea",
        "artist_name": "Miles Davis",
        "album_name": "Sketches of Spain",
        "genre": "Jazz",
        "play_analytics": {
            "count": 1000,
            "top_10_listeners": true
        }
      }
}

Para sincronizar eventos, é necessário informar o nome do evento. Formate o campo time como uma string ISO 8601 ou no formato yyyy-MM-dd'T'HH:mm:ss:SSSZ. Se o campo time não estiver presente, a Braze usa o valor da coluna UPDATED_AT como horário do evento. Os demais campos, incluindo app_id e properties, são opcionais.

Você pode sincronizar um evento por linha.

{
    "app_id" : "your-app-id",
    "name" : "rented_movie",
    "time" : "2013-07-16T19:20:45+01:00",
    "properties": {
        "movie": "The Sad Egg",
        "director": "Alex Smith"
    }
}

Para sincronizar eventos de compra, é necessário informar product_id, currency e price. Formate o campo opcional time como uma string ISO 8601 ou no formato yyyy-MM-dd'T'HH:mm:ss:SSSZ. Se o campo time não estiver presente, a Braze usa o valor da coluna UPDATED_AT como horário do evento. Os demais campos, incluindo app_id, quantity e properties, são opcionais.

Você pode sincronizar um evento de compra por linha.

{
    "app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
    "product_id" : "Completed Order",
    "currency" : "USD",
    "price" : 219.98,
    "time" : "2013-07-16T19:20:30+01:00",
    "properties" : {
        "products" : [ { "name": "Monitor", "category": "Gaming", "product_amount": 19.99 },
        { "name": "Gaming Keyboard", "category": "Gaming ", "product_amount": 199.99 }
        ]
    }
}

Para sincronizar status de grupos de inscrições, inclua um ou mais pares de subscription_group_id e subscription_state em cada linha.

{
    "subscription_groups" : [
        {
            "subscription_group_id": "subscription_group_identifier_1",
            "subscription_state": "unsubscribed"
        },
        {
            "subscription_group_id": "subscription_group_identifier_2",
            "subscription_state": "subscribed"
        },
        {
            "subscription_group_id": "subscription_group_identifier_3",
            "subscription_state": "subscribed"
        }
      ]
}
New Stuff!