Linx
A Dito extrai dados da Linx através de Views, que leem dados das tabelas da Linx, disponibilizadas pela própria marca.
Para facilitar a criação das Views, a Dito disponibiliza scripts para a criação dessas views, no padrão que esperamos os dados.
Pré-requisitos
- Criar as Views através dos scripts abaixo com acesso as tabelas da Linx.
- Criar um usuário no banco de dados com acesso de consulta às Views.
- Definir se vai utilizar VPN (site-to-site) ou liberação por IP para acesso ao banco de dados:
- Caso for utilizar VPN, disponibilizar as informações anexas nesse documento para que o time de segurança da Dito realize as configurações necessárias:
- https://docs.google.com/spreadsheets/d/1i45A9rh2IvNoRzJmeGnJT4VExDGC5x2K/edit?gid=1274614159#gid=1274614159
Credenciais necessárias
- Disponibilizar os acessos ao banco de dados para a Dito:
- Nome do banco (SqlServer, Postgres …)
- Host
- Porta
- Usuário
- Senha
- Driver (SGBD)
- Driver SSL Mode (se utilizar)
- Driver options (se utilizar)
Scripts para criação das views:
Vendedores (dito_crm_vendedores.sql):
Para criar a view de vendedores, basta rodar o código SQL abaixo
CREATE VIEW DITO_CRM_VENDEDORES AS (
SELECT
vd.VENDEDOR AS codigo_vendedor,
vd.CPF AS cpf,
vd.NOME_VENDEDOR AS nome_vendedor,
vd.CODIGO_FILIAL AS id_loja,
CASE
WHEN vd.DATA_DESATIVACAO IS NULL OR vd.DATA_DESATIVACAO >= GETDATE() THEN
'ATIVO'
ELSE 'INATIVO'
END AS status,
lv.FILIAL as loja,
vd.DESC_CARGO as cargo,
fls.REDE_LOJAS AS rede_lojas
FROM
dbo.LOJA_VENDEDORES vd
LEFT JOIN dbo.LOJAS_VAREJO lv ON
vd.CODIGO_FILIAL = lv.CODIGO_FILIAL
LEFT JOIN dbo.FILIAIS fls ON
vd.CODIGO_FILIAL = fls.COD_FILIAL
);
Tamanhos (dito_crm_tamanhos.sql):
Para criar a view de Tamanhos, basta rodar o código SQL abaixo:
CREATE VIEW DITO_CRM_TAMANHOS AS (
SELECT
GRADE,
descricao_tamanho,
numero_tamanho
FROM
(
SELECT
GRADE,
TAMANHO_1,
TAMANHO_2,
TAMANHO_3,
TAMANHO_4,
TAMANHO_5,
TAMANHO_6,
TAMANHO_7,
TAMANHO_8,
TAMANHO_9,
TAMANHO_10,
TAMANHO_11,
TAMANHO_12,
TAMANHO_13,
TAMANHO_14,
TAMANHO_15,
TAMANHO_16,
TAMANHO_17,
TAMANHO_18,
TAMANHO_19,
TAMANHO_20,
TAMANHO_21,
TAMANHO_22,
TAMANHO_23,
TAMANHO_24,
TAMANHO_25,
TAMANHO_26,
TAMANHO_27,
TAMANHO_28,
TAMANHO_29,
TAMANHO_30,
TAMANHO_31,
TAMANHO_32,
TAMANHO_33,
TAMANHO_34,
TAMANHO_35,
TAMANHO_36,
TAMANHO_37,
TAMANHO_38,
TAMANHO_39,
TAMANHO_40,
TAMANHO_41,
TAMANHO_42,
TAMANHO_43,
TAMANHO_44,
TAMANHO_45,
TAMANHO_46,
TAMANHO_47,
TAMANHO_48
FROM
PRODUTOS_TAMANHOS
) AS tm unpivot (descricao_tamanho for numero_tamanho in (
TAMANHO_1,
TAMANHO_2,
TAMANHO_3,
TAMANHO_4,
TAMANHO_5,
TAMANHO_6,
TAMANHO_7,
TAMANHO_8,
TAMANHO_9,
TAMANHO_10,
TAMANHO_11,
TAMANHO_12,
TAMANHO_13,
TAMANHO_14,
TAMANHO_15,
TAMANHO_16,
TAMANHO_17,
TAMANHO_18,
TAMANHO_19,
TAMANHO_20,
TAMANHO_21,
TAMANHO_22,
TAMANHO_23,
TAMANHO_24,
TAMANHO_25,
TAMANHO_26,
TAMANHO_27,
TAMANHO_28,
TAMANHO_29,
TAMANHO_30,
TAMANHO_31,
TAMANHO_32,
TAMANHO_33,
TAMANHO_34,
TAMANHO_35,
TAMANHO_36,
TAMANHO_37,
TAMANHO_38,
TAMANHO_39,
TAMANHO_40,
TAMANHO_41,
TAMANHO_42,
TAMANHO_43,
TAMANHO_44,
TAMANHO_45,
TAMANHO_46,
TAMANHO_47,
TAMANHO_48
)) AS unptm
);
Transações e usuários (dito_crm_compras.sql):
Para criar a view de transações e usuários, basta rodar o código SQL abaixo:
CREATE VIEW DITO_CRM_COMPRAS AS (
SELECT
CONCAT(vd.TICKET, vd.CODIGO_FILIAL, vd.DATA_DIGITACAO) AS id,
fls.TIPO_FILIAL AS store_type,
fls.REDE_LOJAS AS store_rede_lojas,
rls.DESC_REDE_LOJAS AS store_desc_rede_lojas,
'TRACK GROUPED' AS bar1,
vd.DATA_DIGITACAO AS event_created_at,
vd.TICKET AS id_transacao,
vd.QTDE_TOTAL AS quantidade_produtos,
vd.VALOR_FRETE AS total_frete,
CAST((VALOR_VENDA_BRUTA - ISNULL(VALOR_FRETE, 0 )) AS CHAR) AS subtotal,
CAST(vd.VALOR_PAGO AS CHAR) AS revenue,
vd.CODIGO_FILIAL AS id_loja,
lv.FILIAL AS loja,
vd.VENDEDOR AS codigo_vendedor,
lvd.NOME_VENDEDOR AS vendedor,
lfp.FORMA_PGTO AS forma_pagamento,
CAST(vd.DESCONTO AS CHAR) as desconto,
'TRACK FLAT' AS bar2,
vpd.RATEIO_DESCONTO_VENDA AS desconto_item,
vpd.QTDE AS quantidade,
p.PRODUTO AS id_produto,
p.DESC_PRODUTO AS produto,
p.GRUPO_PRODUTO AS grupo,
p.SUBGRUPO_PRODUTO AS subgrupo,
p.COLECAO AS colecao,
dtt.descricao_tamanho AS tamanho,
p.LINHA AS linha,
p.GRIFFE AS grife,
p.MODELO AS modelo,
p.REDE_LOJAS AS prod_rede_lojas,
rl.DESC_REDE_LOJAS AS product_desc_rede_lojas,
psc.SUBCATEGORIA_PRODUTO AS subcategoria,
pc.CATEGORIA_PRODUTO AS categoria,
pcc.DESC_COR_PRODUTO AS cor,
CAST(vpd.PRECO_LIQUIDO AS CHAR) as preco_item,
vpd.OPERACAO as operacao,
'IDENTIFY' AS bar3,
c.CLIENTE_VAREJO AS name,
c.CPF_CGC AS cpf,
c.SEXO AS genero,
c.ENDERECO AS endereco,
c.COMPLEMENTO AS complemento,
c.UF AS uf,
c.CIDADE AS location,
c.CEP AS cep,
CONCAT(c.DDD, c.TELEFONE) AS telefone,
c.ANIVERSARIO AS birthday,
c.CADASTRAMENTO AS customer_created_ate,
c.EMAIL AS email,
c.BAIRRO AS bairro,
CONCAT(c.DDD_CELULAR, c.CELULAR) AS celular,
c.DATA_PARA_TRANSFERENCIA as customer_updated_at,
c.ULTIMA_COMPRA as customer_last_purchase_date,
c.TIPO_LOGRADOURO as logradouro,
c.NUMERO as numero
FROM
(
SELECT
NULL AS RATEIO_DESCONTO_VENDA,
QTDE,
TICKET,
CODIGO_FILIAL,
DATA_VENDA,
PRODUTO,
COR_PRODUTO,
TAMANHO,
PRECO_LIQUIDO,
'D' AS OPERACAO
FROM
LOJA_VENDA_TROCA
WHERE QTDE > 0
UNION ALL
SELECT
RATEIO_DESCONTO_VENDA,
QTDE,
TICKET,
CODIGO_FILIAL,
DATA_VENDA,
PRODUTO,
COR_PRODUTO,
TAMANHO,
PRECO_LIQUIDO,
'C' AS OPERACAO
FROM
LOJA_VENDA_PRODUTO
WHERE QTDE > 0 ) AS vpd
JOIN LOJA_VENDA AS vd ON
vd.TICKET = vpd.TICKET
AND vd.CODIGO_FILIAL = vpd.CODIGO_FILIAL
AND vd.DATA_VENDA = vpd.DATA_VENDA
LEFT JOIN CLIENTES_VAREJO c ON
vd.CODIGO_CLIENTE = c.CODIGO_CLIENTE
LEFT JOIN FILIAIS AS fls ON
vd.CODIGO_FILIAL = fls.COD_FILIAL
LEFT JOIN LOJA_VENDEDORES AS lvd ON
vd.CODIGO_FILIAL = lvd.CODIGO_FILIAL
AND vd.VENDEDOR = lvd.VENDEDOR
LEFT JOIN PRODUTOS AS p ON
vpd.PRODUTO = p.PRODUTO
LEFT JOIN PRODUTOS_CATEGORIA AS pc ON
p.COD_CATEGORIA = pc.COD_CATEGORIA
LEFT JOIN PRODUTOS_SUBCATEGORIA AS psc ON
p.COD_SUBCATEGORIA = psc.COD_SUBCATEGORIA
AND p.COD_CATEGORIA = psc.COD_CATEGORIA
LEFT JOIN PRODUTO_CORES AS pcc ON
vpd.PRODUTO = pcc.PRODUTO
AND vpd.COR_PRODUTO = pcc.COR_PRODUTO
LEFT JOIN DITO_CRM_TAMANHOS AS dtt ON
p.GRADE = dtt.GRADE
AND vpd.TAMANHO = REPLACE(dtt.numero_tamanho, 'TAMANHO_', '')
LEFT JOIN LOJAS_REDE AS rl ON
p.REDE_LOJAS = rl.REDE_LOJAS
LEFT JOIN LOJAS_REDE AS rls ON
fls.REDE_LOJAS = rls.REDE_LOJAS
LEFT JOIN LOJAS_VAREJO AS lv ON
vd.CODIGO_FILIAL = lv.CODIGO_FILIAL
LEFT JOIN LOJA_FORMAS_PGTO lfp ON
vd.SUGESTAO_COD_FORMA_PGTO = lfp.COD_FORMA_PGTO
WHERE
vd.TOTAL_QTDE_CANCELADA = 0
);
Plano de Tracking
Dados dos Usuários
dito.identify({
id: dito.generateID('99999999999'),
name: 'Nome Usuário',
email: '[email protected]',
location: 'Cidade',
birthday: '22/12/1997'
gender: 'female'
data: {
cpf: '99999999999',
cnpj: '99999999999999',
endereco: 'Nome Rua, 33, complemento, bairro',
uf: 'MG',
cep: '999.999-99',
telefone: '31988887777',
}
});
Dados do Usuário | Cadastro do Usuário | Glossário Dito |
---|---|---|
ID Nome Cidade Data de nascimento Gênero cpf cnpj Código Pessoa Telefone Endereço UF tipo pessoa Cep | dito.identify({ id: dito.generateID('99999999999'), name: 'Nome Usuário', email: '[email protected]', location: 'Cidade', birthday: '22/12/1997' gender: 'female' data: { cpf: '99999999999', cnpj: '99999999999999', endereco: 'Nome Rua, 33, cCadastrouomplemento, bairro', uf: 'MG', cep: '999.999-99', telefone: '31988887777', } }); | ID: Informação única utilizada para identificar e registrar os usuários durante a coleta de informações que estarão presentes na ficha dos mesmos. Recomendamos que ele esteja em todas as páginas do seu ambiente. São exemplos de IDs: CPF, e-mail e código próprio. |
Dados dos Eventos
Página/ação | Evento | Propriedades (exemplo |
---|---|---|
Cadastrou | register | - browser (Firefox) - dispositivo (Desktop) - sistema_operacional (Windows) - utm_source (Dito) - utm_medium (email) - utm_campaign (Dito-vendas-recorrentes |
Comprou | comprou | Revenue (473.21) - codigo_vendedor (50:1 OU 50) - id_loja (1) - id_transacao (46650) - forma_pagamento (CARTÃO) - nome_loja (LOJA 1) - nome_vendedor (GERAL) - quantidade_produtos (5) - total (473.21) - total_desconto (0) - valor_frete (43.61) - tipo_loja (LOJA) - rede_lojas (03) - desc_rede_lojas (OUTLE200 |
Comprou produto | comprou-produto | - id_transacao (52182) - categoria (KIT) - colecao (INVERNO) - cor (PRETA) - grupo (MOLETOM) - id_produto (12787) - linha (LINHA - marca (ALGUMA MARCA) - nome_produto (CAMISETA X) - preco_produto (100) - quantidade_produto (1) - subcategoria (subcategoria do produto) - subgrupo (subgrupo do produto) - tamanho (M) - desconto (0) - modelo (modelo do produto) |
Devolveu | devolveu | Revenue (-473.21) - codigo_vendedor (50:1 OU 50) - id_loja (1) - id_transacao (46650) - forma_pagamento (CARTÃO) - nome_loja (LOJA 1) - nome_vendedor (GERAL) - quantidade_produtos (5) - total (473.21) - total_desconto (0) - valor_frete (43.61) - tipo_loja (LOJA) - rede_lojas (03) - desc_rede_lojas (OUTLET) |
Devolveu produto | devolveu-produto | - id_transacao (52182) - categoria (KIT) - colecao (INVERNO) - cor (PRETA) - grupo (MOLETOM) - id_produto (12787) - linha (LINHA) - marca (ALGUMA MARCA) - nome_produto (CAMISETA X) - preco_produto (100) - quantidade_produto (1) - subcategoria (subcategoria do produto) - subgrupo (subgrupo do produto) - tamanho (M) - desconto (0) - modelo (modelo do produto) |
Updated 13 days ago