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