Pedidos
A tabela dim_orders armazena os pedidos do e-commerce da loja, tanto os feitos direto no site quanto os fechados pelo checkout da OmniChat, e mostra se cada pedido teve atendimento ou campanha da OmniChat antes da compra. Cada linha é um pedido (ou um pacote, quando o e-commerce divide o pedido), identificado por retailer_id e order_id. Com dados atualizados em H-1 (de hora em hora).
Exemplo
Um mesmo cliente faz três compras no mês. Cada uma vira uma linha, e a coluna sales_classification diz qual foi o papel da OmniChat:
• ped123: fechado por um vendedor no checkout da OmniChat. sales_classification = 'DIRECT SALE', com sales_person_id preenchido.
• ped456: feito no site depois de uma conversa com a loja. sales_classification = 'INFLUENCED', is_omni_influenced = true, e csr_id traz o código desse atendimento.
• ped789: feito no site muito depois da última conversa. sales_classification = 'OUT OF INFLUENCED WINDOW': o atendimento aparece em csr_id, mas ficou fora da janela de influência.
• Uma compra sem nenhuma conversa com a loja aparece como 'NOT INFLUENCED', com csr_id vazio.
Para campanhas, use sales_mkt_classification ('CAMPAIGN INFLUENCED', 'OUT OF CAMPAIGN INFLUENCED WINDOW' ou 'NOT CAMPAIGN INFLUENCED') e omni_campaign_id, que liga o pedido à tabela dim_campaign. Para ligar ao atendimento, use csr_id. sales_person_id só vem preenchido nas vendas diretas (DIRECT SALE).
Quando o e-commerce divide um pedido em pacotes, cada pacote é uma linha com o próprio order_id (por exemplo, ped123-01 e ped123-02) e o próprio value_total. Nesta tabela, você pode somar value_total direto. O mesmo order_id pode existir em lojas diferentes: para contar pedidos, use retailer_id e order_id juntos. order_date é a data de criação do pedido, e a coluna event_id vem sempre vazia.
Atenção: Os registros desta tabela utilizam o fuso horário UTC, ou seja, para que as datas sejam referentes ao fuso horário brasileiro, é preciso inserir nas queries o fuso horário brasileiro.
SET TIME ZONE '-03:00';
SELECT DATE(tb.order_date) AS data_pedido
,CAST(SUM(tb.value_total) AS DECIMAL(10,2)) as valor_pedido
FROM dim_orders AS tb
WHERE tb.order_date >= '2025-04-01'
GROUP BY ALL
;
Dicionário de dados
Variável | Tipo | Descrição | Obs |
csr_id | string | Código identificador do atendimento | Chave estrangeira para a tabela dim_customer_support_request |
event_id | string | Código identificador do evento disparado | |
is_omni_campaign_influenced | boolean | Indica se houve atendimento originado de campanha dentro da janela de influência da loja antes da compra | |
is_omni_influenced | boolean | Indica se houve conversa no chat dentro da janela de influência da loja antes da criação do pedido | |
omni_campaign_id | string | Código identificador da campanha | Coluna estrangeira para a dim_campaign |
order_date | timestamp | Data de pagamento do pedido | |
order_id | string | Código identificador do pedido na plataforma do Ecommerce | Chave primária |
phone_number | string | Número de telefone do cliente que gerou o pedido | |
retailer_id | string | Código identificador da loja. Em contas com mais de uma loja, separa os registros de cada uma | Chave estrangeira para a tabela dim_retailer |
sales_classification | string | Classificação do pedido: DIRECT SALE, INFLUENCED, OUT OF INFLUENCED WINDOW ou NOT INFLUENCED (nessa ordem de prioridade) | |
sales_mkt_classification | string | Classificação do pedido quanto a campanha de marketing: CAMPAIGN INFLUENCED, OUT OF CAMPAIGN INFLUENCED WINDOW ou NOT CAMPAIGN INFLUENCED | |
sales_person_id | string | Código identificador do usuário atuou no pedido | Chave estrangeira para a tabela dim_user |
status | string | Status do pedido | PACKAGED |
team_id | string | Código identificador do time responsável pelo pedido | Chave estrangeira para a tabela dim_team |
value_total | double | Valor total do pedido |
