/
Dicionário de Dados

Dicionário de Dados

Documento de identificação de tabelas e campos para utilização pelo time de Inteligência de Mercado:

Dados Gerais         

           

 

Produto: Novo Clube Duratex

Dicionário de Dados

Responsável pelo Dicionário: Mario Klein

Participantes

Participantes

Empresa

Márcio D. Gonçalves

Base Digital

 Informações Globais

Informações

Todas as tabelas possuem o campo id que corresponde ao identificador do registro. Esse campo também é utilizado para a definição de chaves estrangeiras (foreign key) quando necessário.

Todas as tabelas possuem os campos de data de criação e atualização dos registros. Campos created_at e updated_at respectivamente.

Todos os campos que estiverem com o tipo de dados Timestamp (data e hora) estão com o horário de Brasília convertido para GMT-0

 

Schema private_clube_duratex

 

Tabela: user (armazena os dados de perfil do usuário)

 

●        auth_id – identificador do usuário no sistema de Auth Dexco

●        external_id – identificador do usuário para o sistema de Auth Dexco

●        name – primeiro nome

●        surname – sobrenome

●        birth_date – data de nascimento

●        profile_image – nome do arquivo da foto de perfil do usuário – sem conter o diretório de armazenamento no S3

●        wood_work_related – indicador booleano se a profissão do usuário está relacionada com marcenaria

●        cpf – número do CPF (somente números)

●        email – endereço de e-mail do usuário

●        phone_number_prefix – DDD do telefone

●        phone_number – número do telefone (somente números)

●        gender – gênero do usuário – enum (MALE','FEMALE','OTHER')

●        cep – CEP do endereço

●        address – endereço (logradouro)

●        number – número do endereço (campo livre, pois existem siglas nos números)

●        complement – complemento do endereço (campo livre)

●        district – bairro

●        career_id – identificador da profissão do usuário – relacionamento com a tabela carrer

●        state_id – identificador do estado do usuário – relacionamento com a tabela state

●        city_id – identificador da cidade do usuário – relacionamento com a tabela city

●        recaptcha_required – indicador se no próximo login do usuário é obrigatório informar o captcha – ver regras do captcha na documentação de escopo

●        accept_use_terms – indicador se o usuário aceitou os termos de uso

●        accept_email_communications – indicador se o usuário aceitou receber comunicações por e-mail (exceto as transacionais)

●        accept_message_communications – indicador se o usuário aceitou receber comunicações por SMS e WhatsApp (exceto as transacionais)

●        accept_privacy_policy – indicador se o usuário aceitou a política de privacidade

●        latest_login_attempt – data da última tentativa de login do usuário (com sucesso ou falha)

●        phone_number_prefix_to_be_confirmated – DDD de telefone informado quando o usuário deseja trocar o telefone, porém ainda não confirmou a troca através do código recebido por SMS

●        phone_number_to_be_confirmated – número de telefone informado quando o usuário deseja trocar o telefone, porém ainda não confirmou a troca através do código recebido por SMS

●        email_to_be_confirmated – endereço de e-mail informado quando o usuário deseja trocar o e-mail, porém ainda não confirmou a troca através do código recebido por e-mail no “novo endereço” (email_to_be_confirmated)

●        confirmation_code – código geado quano usuário deseja trocar o telefone e/ou endereço de e-mail e que será enviado para o respectivo SMS ou e-mail.

●        premmiar_id – identificador do usuário no sistema de integração Premmiar

●        email_confirmation_token – token de confirmação do endereço de e-mail gerado quando o usuário realiza o cadastro no clube ou solicita novo código. Esse token é enviado através de um link para o e-mail do usuário.

●        has_confirmed_email – indicador se o usuário confirmou o endereço de e-mail informado

●        legacy_id – identificador do usuário no Clube Duratex legado

 

Tabela: user_wood_work (armazena os dados de marcenaria informados pelo usuário no perfil do Clube)

 

●        user_id – identificador do usuário – relacionamento com a tabela user

●        cnpj – CNPJ da marcenaria

●        corporate_name – nome da marcenaria

●        fantasy_name – nome fantasia da marcenaria

●        cep – CEP do endereço

●        address – endereço (logradouro)

●        number – número do endereço (campo livre, pois existem siglas nos números)

●        complement – complemento do endereço (campo livre)

●        district – bairro

●        state_id – identificador do estado do usuário – relacionamento com a tabela state

●        city_id – identificador da cidade do usuário – relacionamento com a tabela city

●        instagram_url – endereço de url do instagram da marcenaria (campo livre)

●        facebook_url – endereço de url do facebook da marcenaria (campo livre)

●        site_url – endereço web da marcenaria (campo livre)

 

Tabela: user_password_token (armazena os tokens – códigos – gerados quando o usuário deseja alterar a senha)

 

●        user_id – identificador do usuário – relacionamento com a tabela user

●        token - código geado quando usuário deseja trocar a senha e que será enviado para o respectivo SMS ou e-mail

●        expires_in – data de expiração do código gerado

●        target – indicador para onde o código foi enviado – enum(‘SMS’, ‘EMAIL’)

 

Tabela: invoice (armazena as notas fiscais enviadas para o Clube)

 

●        user_id – identificador do usuário – relacionamento com a tabela user

●        invoice_file_url – nome do arquivo XML armazenado no S3 sem o diretório – tanto o diretório como o nome do arquivo mudam conforme o status de processamento.

●        received_at – data e hora de recebimento da nota no sistema

●        invoice_identifier – identificador (chave) da nota fiscal eletrônica – só é armazenado depois de processado o XML.

●        status – status de processamento da nota. Enum com os seguintes valores:

o   RECEIVED – recebida (status inicial)

o   EXTRACTING – extraindo dados do XML através do sistema de processamento da DEXCO

o   EXTRACTED – dados da nota extraídos (nesse momento gera dados na tabela invoice_content, invoice_raw_content, invoice_product)

o   AUTO_CLASSIFYING – durante o processamento da classificação automática (IA)

o   MANUAL_CLASSIFYING – enquanto está pendente de classificação manual (humano)

o   CLASSIFIED – após a confirmação da classificação de todos os itens da nota

o   REFUSED – nota recusada para o Clube – justificativa no campo refused_reason

o   SCORED – pontuação de todos os itens que se encaixam em campanha (item “válido”) calculada – somente se houver ao menos um item válido

o   APPROVED – quando a pontuação de todos os itens foi integrada (com sucesso ou não) o sistema de pontuação (Premmiar)

o   REVIEW_REQUESTED – quando uma solicitação de revisão de algum item foi realizada através do suporte

o   REVIEW_EXECUTED – quando a solicitação de revisão do item foi executada

o   REVIEW_CONFIRMED – quando a solicitação de revisão do item foi aprovada pelo usuário administrador

o   REVIEW_SCORED – quando a solicitação de revisão do item teve os pontos recalculados

●        refused_reason – justificativa de recusa de uma NF. Enum com os seguintes valores:

o   INVOICE_DUPLICATED – nota fiscal enviada em duplicidade

o   MONTHLY_SCORE_ACHIEVED – limite de pontuação mensal do usuário atingida

o   XML_ERROR – erro ao ler o arquivo XML

o   INTERNAL_ERROR – erro interno de processamento

o   INVOICE_ISSUED_OUT_OF_TIME_FRAME – nota fiscal enviada fora do prazo de aceite para o Clube – ver parâmetros do sistema

o   INVOICE_WITHOUT_CAMPAIGN_PRODUCTS – nota sem itens que se encaixem em alugma campanha.

 

Tabela: invoice_content (armazena dados do conteúdo – cabeçalho – das notas fiscais)

 

●        invoice_id – identificador da nota fiscal – referência para a tabela invoice

issue_date – data de emissão da nota

●        issuer_name – empresa emissora da nota

●        issuer_document – documento – CNPJ – da emissora da nota

●        issuer_zip_code – CEP do emissor da nota

●        issuer_address – endereço completo do emissor da nota

●        issuer_district – bairro do emissor da nota

●        issuer_city_id – identificador da cidade do emissor da nota – referência para a tabela city

●        issuer_state_id – identificador do estado do emissor da nota – referência para a tabela city

●        recipient_name – nome do cliente da nota

●        recipient_document – documento do cliente da nota – CPF ou CNPJ

●        recipient_zip_code – CEP do emissor da nota

●        recipient_address – endereço completo do emissor da nota

●        recipient_district – bairro do emissor da nota

●        recipient_city_id – identificador da cidade do emissor da nota – referência para a tabela city

●        recipient_state_id – identificador do estado do emissor da nota – referência para a tabela city

●        invoice_number – número da nota fiscal no emissor – para identificação do usuário em tela

●        total – valor total em moeda da nota

 

Tabela: invoice_raw_content (armazena dados do conteúdo aberto – JSON – das notas fiscais como retornadas pelo sistema de extração da DEXCO)

 

●        invoice_id – identificador da nota fiscal – referência para a tabela invoice

●        content – conteúdo do JSON (em formato texto) retornado do sistema de extração DEXCO

 

Tabela: invoice_content_product (armazena dados dos itensdas notas fiscais)

 

●        invoice_content_id – identificador de um item da nota fiscal – referência para a tabela invoice

●        order – ordem do produto na Nota Fiscal

●        name – nome do produto

●        description – descrição do produto (geralmente igual ao nome)

●        quantity – quantidade de itens

●        unity – unidade de medida da quantidade de itens informada

●        value – valor em reais do total do item.

●        status - status de processamento do item. Enum com os seguintes valores:

o   EXTRACTED – item extraído do sistema DEXCO (status inicial)

o   AUTO_CLASSIFYING – item em classificação automática (IA)

o   MANUAL_CLASSIFYING – item em classificação manual (humano)

o   CLASSIFIED – classificação do item confirmada

o   REFUSED – item recusado para o Clube – justificativa no campo refused_reason

o   SCORED – pontuação do item calculada com base nas campanhas que ele se encaixe

o   SCORE_INTEGRATED – pontuação do item integrada com o sistema parceiro (Premmiar)

o   SCORE_INTEGRATION_ERROR – erro de integração da pontuação do com o sistema parceiro – precisa entrar em review para voltar para o processo normal

o   REVIEW_REQUESTED – quando uma solicitação de revisão do item foi realizada através do suporte

o   REVIEW_EXECUTED – quando a solicitação de revisão do item foi realizada através do suporte

o   REVIEW_CONFIRMED – quando a solicitação de revisão do item foi aprovada pelo usuário administrador

o   REVIEW_SCORED – quando a solicitação de revisão do item teve os pontos recalculados

●        is_panel – indicador se o item é ou não chapa

●        wood_brand_id – marca (fabricante) da chapa – referência para a tabela wood_brand do schema manager_clube_duratex

●        line_id – linha da chapa – referência para a tabela line do schema manager_clube_duratex

●        pattern_id – padrão da chapa – referência para a tabela pattern do schema manager_clube_duratex

●        dimension_id – dimensão da chapa – referência para a tabela dimension do schema manager_clube_duratex

●        thickness_id – espessura da chapa – referência para a tabela thickness do schema manager_clube_duratex

●        faces – número de faces da chapa

●        classifications – JSON com as classificações do item realizadas conforme os status (classificação automática – IA, classificação manual e reclassificação). Formato do JSON:

{

  "prediction": { // objeto que contem a predição realizada pela IA – quando for

    "itemProba": 0.92720764875412, // probabilidade de certeza do conjunto marca, linha e padrão

    "facesProba": 0.999997854232788, // probabilidade de certeza do número de faces

    "dimensionProba": 0.9999295473098756, // probabilidade de certeza da dimensão

    "itemPrediction": "DURATEX-ORIGINAL-BRANCO ARTICO", // predição de marca, linha e padrão

    "thicknessProba": 0.9985489249229432, // probabilidade de certeza da espessura

    "facesPrediction": "2FC", // predição de número de faces

    "dimensionPrediction": "2750X1840", // predição da dimensão

    "thicknessPrediction": "15.0MM" // predição da espessura

  },

  "autoClassification": { // objeto que contem a classificação realizada pela IA – quando for

    "faces": 2, // número de faces

    “lineId”: 14, // identificador da linha – tabela line

    "patternId": 48, // identificador do padrão – tabela pattern

    "dimensionId": 1, // identificador da dimensão – tabela dimension

    "thicknessId": 2, // identificador da espessura – tabela thickness

    "woodBrandId": 3, // identificador da marca – tabela wood_brand

    "isPanel": true // indicador se o item é painel

  },

  "manualClassification":{<igual autoClassification>}, // objeto que contem a classificação manual

  "manualReclassification": [{<igual>}] // pode não ter ou ter vários - reclassificação

}

●        refused_reason: – justificativa de recusa do item. Enum com os seguintes valores:

o   PRODUCT_WITHOUT_CAMPAIGN – item não se encaixa em nenhuma campanha válida

o   MONTHLY_SCORE_ACHIEVED – quantidade de pontos máxima atingida – pontos não são calculados

o   INVOICE_ISSUED_OUT_OF_TIME_FRAME – nota enviada fora do período aceito para notas do Clube

 

 

 

Tabela: user_score (armazena os pontos – Duracoins – calculados para o usuário)

 

●        user_id – identificador do usuário – relacionamento com a tabela user

●        campaign_item_id – quando a pontuação está relacionada com uma campanha do Clube, é uma referência para a tabela do item da campanha (padrão DEXCO na Campanha) – relacionamento com a tabela campaign_item

●        promotion_id – quando a pontuação está relacionada com uma promoção do Clube, é uma referência para a tabela de promoções – relacionamento com a tabela promotion do schema manager_clube_duratex

●        invoice_content_product_id – quando a origem da pontuação é um produto de uma nota fiscal , é uma referência para a tabela de produtos – relacionamento com a tabela invoice_content_product

●        points_received – quantidade de pontos recebidos no cálculo – pode divergir do calculado quando o usuário atinge o limite de pontuação mensal ou quando se trata de um ajuste de pontuação gerado por uma revisão da classificação.

●        points_calculated – quantidade de pontos calculados

●        type – tipo de pontuação – enum com os possíveis valores:

o   PROMOTION – pontuação gerada para uma promoção

o   CAMPAIGN – pontuação gerada por uma campanha válida do Clube

o   RECLASSIFIED_CAMPAIGN – pontuação gerada no caso de uma solicitação de reclassificação

o   EXPIRED – não utilizado

o   REDEEM – não utilizado

o   OPENING_BALANCE – pontuação inicial (migração do Clube legado)

●        pointed_at – data que originou a pontuação (no caso de campanhas, a data é a emissão da NF)

●        description – descrição interna para rastreabilidade da pontuação

●        invoice_id – quando a origem da pontuação é um produto de uma nota fiscal , é uma referência para a tabela de notas fiscais – relacionamento com a tabela invoice

●        external_id – identificador da pontuação no sistema do parceiro de pontos (Premmiar)

●        error_message – quando ocorre algum erro no processo, uma descrição do erro quando for possível obter

●        status – status da pontuação – enum contendo os seguintes valores:

o   SCORED – pontuação calculada (status inicial)

o   SCORE_INTEGRATED – pontuação integrada com sucesso no parceiro

o   SCORE_INTEGRATION_ERROR – erro de integração da pontuação no parceiro

 

Schema manager_clube_duratex

 

Tabela: campaign (armazena as campanhas do Clube)

 

●       title – título

●       description – descrição

●       rules – regras

●       notes – anotações internas

●       status – status da capanha – enum DRAFT (rascunho) ou PUBLISHED (publicada)

●       is_canceled – indicador se a campanha está cancelada

●       is_default – indicador se é uma campanha padrão ou customizada (segmentada)

●       replaces_capaign_id – identificador da campanha que é substituída por esta – auto relacionamento com a tabela campaign

●       starts_at – dia de início da campanha

●       ends_at – dia de término da campanha (quando campanha padrão, a corrente não possui data de término até a publicação, mesmo que futura, de uma nova campanha)

●       slug – para acesso no front

●       expiration_days – dias de expiração para os pontos calculados para a campanha

 

Tabela: campaign_item (armazena os itens das campanhas do Clube)

 

●       campaign_id – identificador da campanha – relacionamento com a tabela campaign

●       pattern_id – identificador do padrão (item da campanha) – relacionamento com a tabela pattern

●       points – quantidade de pontos que será calculada para cada unidade de chapa com o padrão

 

Tabela: campaign_seller (armazena os distribuidores das campanhas customizadas do Clube – quando segmentadas por distribuidor)

 

●       campaign_id – identificador da campanha – relacionamento com a tabela campaign

●       seller_id – identificador do distribuidor – relacionamento com a tabela seller

 

Tabela: campaign_state (armazena os estados das campanhas customizadas do Clube – quando segmentadas por estado)

 

●       campaign_id – identificador da campanha – relacionamento com a tabela campaign

●       state_id – identificador do estado – relacionamento com a tabela state

 

Tabela: promotion (armazena as promoções do Clube)

 

●       title – título da promoção

●       description – descrição da promoção

●       complement – complemento da promoção

●       rules – regras da promoção

●       banner_image – nome do arquivo de imagem para web do banner da promoção

●       banner_image_mobile – nome do arquivo de imagem para mobile do banner da promoção

●       card_image – nome do arquivo de imagem do card para web da promoção

●       card_image_mobile – nome do arquivo de imagem do card para mobile da promoção

●       type – tipo de promoção (ainda em desenvolvimento)

●       starts_at – dia de início da promoção

●       ends_at – dia de término da promoção

●       status – status da promoção – enum DRAFT (rascunho) ou PUBLISHED (publicada)

●       points – quantidade de pontos que será calculada para os usuários que participarem da promoção

 

 

 

 

 

 

 

 

 

Autor do Dicionário: Mário Klein (versão março/22) - Precisa atualizar

Related content

Documentação de Orientação para Preparação de Base de Dados
Documentação de Orientação para Preparação de Base de Dados
Read with this
CENTRO DE TRABALHO
More like this
Regras de negócio para Processamento de Notas Fiscais
Regras de negócio para Processamento de Notas Fiscais
Read with this
T_SAP_MM_FORNECEDOR_1_SAP
T_SAP_MM_FORNECEDOR_1_SAP
More like this
Arquitetura Atualizada - Clube Duratex
Arquitetura Atualizada - Clube Duratex
Read with this