Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
HTML
<style>
  /* Início estilo banner */

  .compositiondani-banner {
    position: relative;
    min-height: 220px;
    border-radius: 5px;
    margin-bottom: 5px;
    overflow: hidden;
  }

  .compositiondani-banner-image {
    background-image: url("https://totvscrm.com/wp-content/uploads/2023/08/capa-com-fundo-e-sem-icone-TDN21.png");
    background-size: cover;
    min-height: inherit;
    width: 100%;
  }

  .compositiondani-banner-overlay {
    min-height: inherit;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    pointer-events: none;
  }

  .compositiondani-banner-logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, -50%);
  }

  .compositiondani-banner-logo {
    width: 350px;
    height: 180px;
    background-image: url("https://totvscrm.com/wp-content/uploads/2023/08/logo.png");
    background-size: contain;
    background-repeat: no-repeat;
  }

  .compositiondani-banner-title {
    margin-bottom: 10px !important;
    padding: 10px !important;
    background: rgba(0, 0, 0, 0.5) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    max-height: 133px !important;
    font-family: "Roboto", sans-serif !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #ffffff !important;
    position: relative !important;
    margin-top: 130px !important;
    border-radius: 10px !important;
  }

  .compositiondani-banner-content {
    position: absolute;
    padding: 30px;
    max-width: 60%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    color: white;
    text-align: center;
  }

  .custom-header h1 {
    font-size: 16px;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 10px;
    border-radius: 5px;
    margin: 0;
  }

  .negrito-materialize {
    font-weight: bold;
  }

  .custom-margin-justified {
    margin: 0 20px;
    text-align: justify;
  }
    /* Final estilo banner */

       /* Final estilo banner */

      #content.page.view {
    padding-right: 0 !important;
}   /* impedir vermelho no nav */

#breadcrumb-section > nav {
    background-color: initial !important;
    box-shadow: none !important;
}

@media only screen and (min-width: 601px) {
    nav, 
    nav .nav-wrapper i, 
    nav a.sidenav-trigger, 
    nav a.sidenav-trigger i {
        height: auto !important;
        line-height: normal !important;
    }
}
/* final vermelho no nav */   </style>

<header>
  <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400&display=swap" rel="stylesheet"/>

  <div class="compositiondani-banner">
    <div class="compositiondani-banner-image"></div>
    <div class="compositiondani-banner-overlay"></div>
    <div class="compositiondani-banner-logo-container">
      <div class="compositiondani-banner-logo"></div>
    </div>
    <div class="compositiondani-banner-content">
      <h1 class="compositiondani-banner-title"> 
                
        

        
        PONTOS DE ENTRADA DE CUSTOMIZAÇÕES
</h1>
</header>
  </div>
</div>

HTML
<link
  rel="stylesheet"
  href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"
/>
<link
  href="https://fonts.googleapis.com/icon?family=Material+Icons"
  rel="stylesheet"
/>
<link
  rel="stylesheet"
  href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<!-- Inclua o estilo do tema Monokai -->
<link
  rel="stylesheet"
  href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/monokai.min.css"/>
  

  <style>
  /* ==============================
    =       CONFIGURAÇÕES GERAIS      =
    =============================== */

* {
  font-family: "Roboto", sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
}

a {
  color: #42526e;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

a:hover {
  color: white;
}

li {  font-size: 14px !important;
}

h3 {  font-size: 14px !important;
  font-weight: bold;  

}

h1 {  font-size: 13px !important;
  

}

h2 {  font-size: 15px !important;
  font-weight: bold;  

}

td, th {
    padding: 4px;
}


/* ==============================
      =        ESTILOS DE TÍTULOS       =
      =============================== */

#title-text {
  display: none !important;
}

.wiki-content h1,
.wiki-content h2 {
  font-family: "Roboto", sans-serif !important;
  font-size: 13px!important;
 
}

.wiki-content h1 {
  font-size: 13px !important;
}

.wiki-content h2 {
  font-size: 14px !important;
  color: #42526e !important;
  border-bottom: 2px solid #dfe1e5;
   padding-bottom: 5px;
  font-weight: bold;  
}

.custom-heading,
h3.custom-h3 {
  font-size: 16px;
  color: #42526e;
  margin-bottom: 20px;
}

.custom-h1 {
  color: #feac0e;
}

.explanation h2 {
  font-weight: bold;
}

/* ==============================
      =        ESTILOS DE TEXTO         =
      =============================== */

.wiki-content p {
  font-size: 14px !important;
}

.justificado,
.custom-justified {
  text-align: justify;
  margin: 10px 0;
}

/* ==============================
      =       ESTILOS DE LINKS         =
      =============================== */

.wiki-content a,
.wiki-content a:link,
.wiki-content a:visited,
.wiki-content a:focus,
.wiki-content a:active {
  text-decoration: none;
  color: #42526e;
  font-size: 14px;


}

.wiki-content a:hover {
  color: white;
}

/* ==============================
      =       ESTILOS DE CONTAINER     =
      =============================== */



.custom-content {
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 8px;
  margin: 0 10px;
  max-width: 100%;
  overflow: hidden;
}

.faq-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
}

/* ==============================
      =       ESTILOS DE CARDS         =
      =============================== */

.card {
  border: 2px solid #9aa1ad;
  padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  background-color: #f4f5f7;
  color: #42526e;
  overflow-x: hidden;
   top: 0;
  
}



/* ==============================
      =       ESTILOS DE TABS          =
      =============================== */

.tabs {
  background-color: #dfe1e5;
}

.tabs .tab a {
  color: rgb(66, 82, 110);
}

.tabs .tab a:hover,
.tabs .tab a.active,
.tabs .tab a:focus.active {
  color: #6B48FF;
  background-color: transparent;
}

.tabs .tab a:focus {
  background-color: rgba(82, 97, 232, 0.25);
}

.tabs .tab.disabled a,
.tabs .tab.disabled a:hover {
  color: rgba(16, 148, 184, 0.24);
}

.tabs .indicator {
  background-color: #6B48FF;
}

.tab-content {
   gap: 0;
  padding: 10px;
}

.tab-content pre {
  max-width: 100%;
  overflow-x: hidden;
}

/* ==============================
      =        ESTILOS DE ÍCONES        =
      =============================== */

.icon-list,
.icon {
  padding-left: 0;
  list-style-type: none;
}

.icon {
  display: inline-block;
  width: 24px;
  vertical-align: middle;
  margin-right: 45px;
  position: relative;
  left: -25px;
}

.item .label i {
  margin-right: 10px;
}

/* ==============================
      =    ESTILOS DE COMPONENTES      =
      =============================== */

.collapsible,
.collapsible-header,
.collapsible-body {
  box-shadow: none !important;
}

.faq-question {
  font-weight: bold;
  margin-bottom: 5px;
}

.faq-answer {
  margin-bottom: 20px;
}

.custom-list {
  padding-left: 0;
  margin-left: 1.5em;
}

.custom-list li {
  position: relative;
  padding-left: 1em;
}

ul.custom-list {
  padding-left: 10px;
}

ul.custom-list li {
  position: relative;
  list-style-type: disc;
  padding-left: 30px;
  margin-bottom: 10px;
}

.item {
  display: flex;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #eee;
}

.item:last-child {
  border-bottom: none;
}

.item .label {
  flex: 1;
  font-weight: bold;
}

.item .value {
  flex: 1;
  text-align: right;
}
.item {
  border-bottom: 1px solid #e0e0e0;
  padding: 10px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.item:last-child {
  border-bottom: none;
}

/* Estilos para o label */
.label {
  font-weight: bold;
  display: flex;
  align-items: center;
}

.item .label i {
  margin-right: 10px; /* Adiciona espaço depois dos ícones */
}

/* ==============================
      =     ESTILOS DE IMAGENS         =
      =============================== */

.imagem-responsiva {
  max-width: 100%;
  height: auto;
}

.custom-header-bg img {
  width: 100%;
  height: auto;
  display: block;
}

/* ==============================
      =     ESTILOS DE VÍDEO           =
      =============================== */

#youtube-video-container iframe {
  width: 100%;
  height: auto;
  display: block;
}

.video-container {
    max-width: 800px;
    margin: 0 auto;
  }

.ytp-cued-thumbnail-overlay-image {
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
}

/* ==============================
      =    OUTROS ESTILOS PERSONALIZADOS =
      =============================== */
.custom-content {
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 8px;
  margin: 0 10px;
  max-width: 100%;
  overflow: hidden;
}

.custom-heading {
  font-size: 16px;
  color: #42526e;
  margin: 10px 0;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 5px;
  font-weight: bold;  
}

#indice {
  border-radius: 5px;
  padding: 20px;
  max-width: 100%;
  overflow: hidden;
}

#indice h2 {
  text-align: center;
  margin-bottom: 16px;
}

#indice ul {
  list-style-type: none;
  padding-left: 0;
}

#indice li {
  padding: 10px;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  transition: background-color 0.1s ease;
}

#indice li:last-child {
  border-bottom: none;
}

#indice li:hover {
  background-color: #6B48FF;
  color: white;
}

/* ==============================
  =      ESTILOS DE TABELAS        =
  ============================== */
.custom-grey {
  background-color: #ffffff;
}

.custom-grey th,
.custom-grey td {
  border: 1px solid #42526e;
  padding: 10px;
}

.custom-grey th {
  color: #fff;
  background-color: #42526e;
}



.custom-grey td {
  font-size: 13px;
}

.custom-grey tr:nth-child(odd) {
  background-color: #e4e4e6;
}

.custom-grey tr:nth-child(even) {
  background-color: #dfdfdf;
}

/* ========== FIM DO ESTILO ========= */

  </style>
<!-- Tabs e conteúdo das guias -->
  <div class="card">
    <ul class="tabs">
      <li class="tab col s4"><a href="#tab1">DETALHES FUNCIONAIS</a></li>
      <li class="tab col s4"><a href="#tab2">DETALHES TÉCNICOS</a></li>
      <li class="tab col s4"><a href="#tab3">FAQ</a></li>
    </ul>
     <!-- Tab Content -->
 
      <div id="tab1" class="col s12">
        <div class="tab-content">
          <div style="background-color: #f4f5f7; padding: 20px; margin-left: 50px; margin-right: 50px;">
            <section id="section1" style="margin-top: 40px;">
               <!-- Tab 70 conteúdo -->
  <!-- Segundo Card -->
   <!-- Primeiro Card -->
  <div class="card">
    <div class="item">
      <span class="label">
        <table border="1">
          <tr>
              <td><i class="fas fa-tags"></i> Produto:</td>
              <td>Automação da Força de Vendas</td>
          </tr>
          <tr>
              <td><i class="fas fa-link"></i> Linha de Produto:</td>
              <td>TOTVS CRM</td>
          </tr>
          <tr>
              <td><i class="fas fa-chart-pie"></i> Segmento:</td>
              <td>Cross Segmentos</td>
          </tr>
          <tr>
              <td><i class="fas fa-desktop"></i> Módulo:</td>
              <td>API de integração</td>
          </tr>
          <tr>
              <td><i class="fas fa-globe"></i> Aplicação:</td>
              <td>Web/App móvel</td>
          </tr>
          <tr>
              <td><i class="fas fa-hashtag"></i> Identificador:</td>
              <td>
                DTSFAPD-2265 </td>
          </tr>
      </table>
      </span>
    </div>
    </div>
        <h2 class="custom-heading">
        <i class="fa-solid fa-eye"></i>&nbsp &nbsp VISÃO GERAL
      </h2>
      <p class="justificado">
        Esta melhoria introduz a abordagem de "Pontos de Entrada de Customizações" no
        TOTVS CRM Automação da Força de Vendas. Ela permite que os desenvolvedores
        personalizem a solução de forma mais eficiente, implementando modificações em um
        repositório separado, de acordo com os Contratos Técnicos de Customização.
        

        
        
        

        
      </p>
<br>

    <h2 class="custom-heading">
      <i class="fa-solid fa-rocket"></i>&nbsp &nbsp OBJETIVO
    </h2>
    <p class="justificado">
      Aprimorar a flexibilidade e a manutenção da solução, permitindo
customizações mais organizadas, redução de conflitos e facilitação das
atualizações.

      
      

      

    </p>
    <br>

  <!-- ... (seu conteúdo existente) ... -->

               <h2 class="custom-heading">
                <i class="fa-solid fa-book"></i> &nbsp ANTES DE COMEÇAR
            </h2>
            <h3>Requisitos</h3>
            <ul class="browser-default">
              <li>Versão padrão da solução TOTVS CRM - SFA.</li>
            </ul>
            
          </section>

          <section id="section2" style="margin-top: 40px;">
            <h2 class="custom-heading"><i class="fa-solid fa-star"></i>&nbsp DETALHES FUNCIONAIS</h2>
            <h3>Funções </h3>

 
            <ol>
              <li>
                Introdução de novas rotas nas APIs padrão para manipulação de dados, como
                "Cota" e "Saldo Cota".
              </li>
              <li>
                Adição de novos campos em rotas existentes, como "ClienteSub", "PedidoSub",
                "Nota fiscal Produto", entre outras.
              </li>
              <li>
                Inclusão de propriedades "Sub" para permitir campos adicionais em diferentes
                contextos, como PedidoCabecalhoCampo, PedidoProdutoCampo, etc.
              </li>
              <li>
                Adição de campos específicos em rotas como "Segmento", "Pedido", "Tabela
                Preço Produto", entre outras, para enriquecer as informações.
              </li>
            </ol>
            
              

          <br>
  
      


        
          
      
         
          </div>
          
            <!-- Tab 30 fim -->
          
            <!-- Tab 30 fim -->
          
          </div>
        </div>
    


      <div id="tab2" class="col s12">
        <div class="tab-content">
          <div style="background-color: #f4f5f7; padding: 20px; margin-left: 50px; margin-right: 50px;">
            <section id="section5" style="margin-top: 40px;">
            <!-- Primeira coluna do conteúdo da guia 2 -->
            <h2 class="custom-heading"><i class="fa-solid fa-gear"></i>&nbsp DETALHES TÉCNICOS</h2>


                                       <h2>Novas Rotas</h2>
                     <p>O SFA deverá receber novas rotas em suas APIs padrão, sendo elas:</p> <br>

                
                          <h3>Nome da Rota: Cota</h3>
                          <p>Tabela: cota</p>
                          <p>Métodos: GET, POST, PUT, DELETE</p>
                     <br>

                     <table class="custom-grey">
                      <thead>
                          <tr>
                              <th>Campo</th>
                              <th>Propriedade da API</th>
                              <th>Tipagem da Propriedade</th>
                              <th>Observações</th>
                          </tr>
                      </thead>
                      <tbody>
                          <tr>
                              <td>idcota</td>
                              <td>internalid</td>
                              <td>integer</td>
                              <td>Não presente na rota POST</td>
                          </tr>
                          <tr>
                              <td>descricao</td>
                              <td>descricao</td>
                              <td>varchar</td>
                              <td></td>
                          </tr>
                          <tr>
                              <td>sgltipocota</td>
                              <td>sgltipocota</td>
                              <td>varchar</td>
                              <td></td>
                          </tr>
                          <tr>
                              <td>datainiciovigencia</td>
                              <td>datainiciovigencia</td>
                              <td>data</td>
                              <td></td>
                          </tr>
                          <tr>
                              <td>datafimvigencia</td>
                              <td>datafimvigencia</td>
                              <td>data</td>
                              <td></td>
                          </tr>
                          <tr>
                              <td>idnativo</td>
                              <td>idnativo</td>
                              <td>boolean</td>
                              <td></td>
                          </tr>
                          <tr>
                              <td>idunidademedida</td>
                              <td>idunidademedida</td>
                              <td>integer</td>
                              <td></td>
                          </tr>
                          <tr>
                              <td>idunidademedida_externalid</td>
                              <td>idunidademedida > unidademedida.codigoerp</td>
                              <td>varchar</td>
                              <td></td>
                          </tr>
                          <tr>
                              <td>codigoerp</td>
                              <td>externalid</td>
                              <td>varchar</td>
                              <td></td>
                          </tr>
                          <tr>
                              <td>datacadastro</td>
                              <td>datacadastro</td>
                              <td>data</td>
                              <td></td>
                          </tr>
                          <tr>
                              <td>horacadastro</td>
                              <td>horacadastro</td>
                              <td>varchar</td>
                              <td></td>
                          </tr>
                          <tr>
                              <td>numerocota</td>
                              <td>numerocota</td>
                              <td>varchar</td>
                              <td></td>
                          </tr>
                          <tr>
                              <td>observacaocota</td>
                              <td>observacaocota</td>
                              <td>varchar</td>
                              <td></td>
                          </tr>
                      </tbody>
                  </table>
<br>

<h2>Campos com Valores Fixos</h2>
<ul class="browser-default">
 
    <li>idnvalidaproduto: 1</li>
    <li>idnvalidaunidademedida: 1</li>
    <li>idnvalidalocalfilial: 1</li>
    <li>idnvalidasegmento: 1</li>
    <li>idnvalidatabelapreco: 1</li>
    <li>idnvalidagrupoproduto: 1</li>
    <li>sglorigem: "INTEGRACAO"</li>
    <li>idnfinalizado: 0</li>
</ul>
<br>

<h3>Nome da Rota: Saldo Cota</h3>
<p>Tabela: controlecota</p>
<p>Métodos: GET, POST, PUT, DELETE</p> <br>


<table class="custom-grey">
  <thead>
      <tr>
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
          <th>Observações</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>idcontrolecota</td>
          <td>internalid</td>
          <td>integer</td>
          <td>Não presente na rota POST</td>
      </tr>
      <tr>
          <td>idnativo</td>
          <td>idnativo</td>
          <td>boolean</td>
          <td></td>
      </tr>
      <tr>
          <td>saldoinicio</td>
          <td>saldoinicio</td>
          <td>decimal</td>
          <td></td>
      </tr>
      <tr>
          <td>saldocota</td>
          <td>saldocota</td>
          <td>decimal</td>
          <td></td>
      </tr>
      <tr>
          <td>saldodisponivel</td>
          <td>saldodisponivel</td>
          <td>decimal</td>
          <td></td>
      </tr>
      <tr>
          <td>idcota</td>
          <td>idcota</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idcota_externalid</td>
          <td>idcota > cota.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idusuario</td>
          <td>idusuario</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idusuario_externalid</td>
          <td>idusuario > usuario.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idproduto</td>
          <td>idproduto</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idproduto_externalid</td>
          <td>idproduto > produto.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idgrupoproduto</td>
          <td>idgrupoproduto</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idgrupoproduto_externalid</td>
          <td>idgrupoproduto > grupoproduto.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idlocal</td>
          <td>idlocal</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idlocal_externalid</td>
          <td>idlocal > local.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idlocalfilial</td>
          <td>idlocalfilial</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idlocalfilial_externalid</td>
          <td>idlocalfilial > local.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idsegmento</td>
          <td>idsegmento</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idsegmento_externalid</td>
          <td>idsegmento > segmento.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idtabelapreco</td>
          <td>idtabelapreco</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idtabelapreco_externalid</td>
          <td>idtabelapreco > tabelapreco.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idparceiro</td>
          <td>idparceiro</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idparceiro_externalid</td>
          <td>idparceiro > parceiro.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idusuariosuperior</td>
          <td>idusuariosuperior</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idusuariosuperior_externalid</td>
          <td>idusuariosuperior > usuario.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>codigoerp</td>
          <td>externalid</td>
          <td>varchar</td>
          <td></td>
      </tr>
  </tbody>
</table> <br>

<h3>Nome da Rota: Pedido Campo Opção Fixa</h3>
                <p>Tabela: wsconfigcampoopcaofixo</p>
                <p>Métodos: GET, POST, PUT</p> <br>

<table class="custom-grey">
  <thead>
      <tr>
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
          <th>Observações</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>idwsconfigcampoopcaofixo</td>
          <td>internalid</td>
          <td>integer</td>
          <td>Não presente na rota POST</td>
      </tr>
      <tr>
          <td>idwsconfigcampo</td>
          <td>idwsconfigcampo</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idwsconfigcampo_externalid</td>
          <td>idwsconfigcampo > wsconfigcampo.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>valor</td>
          <td>valor</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>descricao</td>
          <td>descricao</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>codigoerp</td>
          <td>externalid</td>
          <td>varchar</td>
          <td></td>
      </tr>
  </tbody>
</table>
<br>


<h3>Rota: ClienteSub</h3>
<p>Métodos: GET, POST, PUT</p>
<p>Nova Propriedade Sub "CampoResposta"</p> <br>
<table class="custom-grey">
  <thead>
      <tr>
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
          <th>Observações</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>idcamporesposta</td>
          <td>internalid</td>
          <td>integer</td>
          <td>Não presente na rota POST</td>
      </tr>
      <tr>
          <td>idcampo</td>
          <td>idcampo</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idcampo_externalid</td>
          <td>idcampo > campo.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idcampoopcaofixo</td>
          <td>idcampoopcaofixo</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idcampoopcaofixo_externalid</td>
          <td>idcampoopcaofixo > campoopcaofixo.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>resposta</td>
          <td>resposta</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>codigoerp</td>
          <td>externalid</td>
          <td>varchar</td>
          <td></td>
      </tr>
  </tbody>
</table>
<br>

<h2>Rota: PedidoSub - Nova Propriedade Sub 'PedidoCabecalhoCampo'</h2>
<p>Métodos: GET, POST, PUT</p> <br>
<table class="custom-grey">
  <thead>
      <tr>
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
          <th>Observações</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>idpedidocabecalhocampo</td>
          <td>internalid</td>
          <td>integer</td>
          <td>Não presente na rota POST</td>
      </tr>
      <tr>
          <td>idwsconfigcampo</td>
          <td>idwsconfigcampo</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idwsconfigcampo_externalid</td>
          <td>idwsconfigcampo > wsconfigcampo.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>valor</td>
          <td>valor</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idnobrigatorio</td>
          <td>Valor fixo 0</td>
          <td></td>
          <td></td>
      </tr>
      <tr>
          <td>ordem</td>
          <td>ordem</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>codigoerp</td>
          <td>externalid</td>
          <td>varchar</td>
          <td></td>
      </tr>
  </tbody>
</table>

<br>


<h2>Rota: PedidoSub - Nova Propriedade Sub 'PedidoProdutoCampo'</h2>
<p>Métodos: GET, POST, PUT</p> <br>
<table class="custom-grey">
  <thead>
      <tr>
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
          <th>Observações</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>idpedidocabecalhocampo</td>
          <td>internalid</td>
          <td>integer</td>
          <td>Não presente na rota POST</td>
      </tr>
      <tr>
          <td>idwsconfigcampo</td>
          <td>idwsconfigcampo</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idwsconfigcampo_externalid</td>
          <td>idwsconfigcampo > wsconfigcampo.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>valor</td>
          <td>valor</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>codigoerp</td>
          <td>externalid</td>
          <td>varchar</td>
          <td></td>
      </tr>
  </tbody>
</table>

<br>


<h2>Rota: PedidoSub - Nova Propriedade Sub 'PedidoEntregaCampo'</h2>
<p>Métodos: GET, POST, PUT</p> <br>

<table class="custom-grey">
  <thead>
      <tr>
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
          <th>Observações</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>idpedidocabecalhocampo</td>
          <td>internalid</td>
          <td>integer</td>
          <td>Não presente na rota POST</td>
      </tr>
      <tr>
          <td>idwsconfigcampo</td>
          <td>idwsconfigcampo</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idwsconfigcampo_externalid</td>
          <td>idwsconfigcampo > wsconfigcampo.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>valor</td>
          <td>valor</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idnobrigatorio</td>
          <td>Valor fixo 0</td>
          <td></td>
          <td></td>
      </tr>
      <tr>
          <td>ordem</td>
          <td>ordem</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>codigoerp</td>
          <td>externalid</td>
          <td>varchar</td>
          <td></td>
      </tr>
  </tbody>
</table>

<br>

<h2>Rota: PedidoSub - Nova Propriedade Sub 'PedidoResumoCampo'</h2>
<p>Métodos: GET, POST, PUT</p> <br>
<table class="custom-grey">
  <thead>
      <tr>
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
          <th>Observações</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>idpedidocabecalhocampo</td>
          <td>internalid</td>
          <td>integer</td>
          <td>Não presente na rota POST</td>
      </tr>
      <tr>
          <td>idwsconfigcampo</td>
          <td>idwsconfigcampo</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idwsconfigcampo_externalid</td>
          <td>idwsconfigcampo > wsconfigcampo.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>valor</td>
          <td>valor</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idnobrigatorio</td>
          <td>Valor fixo 0</td>
          <td></td>
          <td></td>
      </tr>
      <tr>
          <td>ordem</td>
          <td>ordem</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>codigoerp</td>
          <td>externalid</td>
          <td>varchar</td>
          <td></td>
      </tr>
  </tbody>
</table>

<br>

<h2>Rota: PedidoSub - Nova Propriedade Sub 'PedidoComplementoCampo'</h2>
<p>Métodos: GET, POST, PUT</p> <br>
<table class="custom-grey">
  <thead>
      <tr>
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
          <th>Observações</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>idpedidocabecalhocampo</td>
          <td>internalid</td>
          <td>integer</td>
          <td>Não presente na rota POST</td>
      </tr>
      <tr>
          <td>idwsconfigcampo</td>
          <td>idwsconfigcampo</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>idwsconfigcampo_externalid</td>
          <td>idwsconfigcampo > wsconfigcampo.codigoerp</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>valor</td>
          <td>valor</td>
          <td>varchar</td>
          <td></td>
      </tr>
      <tr>
          <td>idnobrigatorio</td>
          <td>Valor fixo 0</td>
          <td></td>
          <td></td>
      </tr>
      <tr>
          <td>ordem</td>
          <td>ordem</td>
          <td>integer</td>
          <td></td>
      </tr>
      <tr>
          <td>codigoerp</td>
          <td>externalid</td>
          <td>varchar</td>
          <td></td>
      </tr>
  </tbody>
</table>

<br>

<h2>Rota: Nota fiscal Produto, NotafiscalSub</h2>
<p>Métodos: GET, POST, PUT</p> <br>

<table class="custom-grey">
  <thead>
      <tr>
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>valorcomissao</td>
          <td>valorcomissao</td>
          <td>decimal</td>
      </tr>
      <tr>
          <td>percentualcomissao</td>
          <td>percentualcomissao</td>
          <td>decimal</td>
      </tr>
  </tbody>
</table>

<br>

<h2>Rota: Segmento</h2>
<p>Métodos: GET, POST, PUT</p> <br>
<table class="custom-grey">
  <thead>
      <tr>
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>sigla</td>
          <td>sigla</td>
          <td>varchar</td>
      </tr>
  </tbody>
</table>

<br>

<h2>Rota: Pedido, PedidoSub</h2>
<p>Métodos: GET, POST, PUT</p> <br>
<table class="custom-grey">
  <thead>
      <tr>
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>datafaturamento</td>
          <td>datafaturamento</td>
          <td>date</td>
      </tr>
  </tbody>
</table>

<br>

<h2>Rota: Tabela Preço Produto</h2>
<p>Métodos: GET, POST, PUT</p> <br>
<table class="custom-grey">
  <thead>
      <tr class="custom-grey">
          <th>Campo</th>
          <th>Propriedade da API</th>
          <th>Tipagem da Propriedade</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>precocusto</td>
          <td>precocusto</td>
          <td>decimal</td>
      </tr>
  </tbody>
</table>

<!-- Second Card -->

           


              </div>

        </div>
    </div> 

    <div id="tab3" class="col s12">
      <div class="tab-content">
        <div style="background-color: #f4f5f7; padding: 20px; margin-left: 50px; margin-right: 50px;">
              <!-- Primeira coluna do conteúdo da guia 2 -->
              <div class="container">
                <h2 class="custom-heading"><i class="fa-solid fa-circle-question"></i> PERGUNTAS FREQUENTES</h2>
                <ul class="collapsible">
                  <li>
                    <div class="collapsible-header"><i class="material-icons">question_answer</i></div>
                    <div class="collapsible-body"><span>
                      </span></div>
                </li> 
                   
                    <!-- Adicione mais perguntas e respostas aqui conforme necessário -->
                </ul>
            </div>

            
                            <!-- Primeira coluna do conteúdo da guia 2 -->

            
            </div>
             
      </div>
  </div>

    
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<script>
  // Inicialização das tabs
  document.addEventListener("DOMContentLoaded", function () {
    var tabs = document.querySelectorAll(".tabs");
    M.Tabs.init(tabs);
  });
</script>

<script>
  const items = document.querySelectorAll("#indice li");

  items.forEach(item => {
      item.addEventListener('click', (e) => {
          const targetId = e.target.getAttribute('data-target');
          const targetElement = document.getElementById(targetId);
          window.scrollTo({
              top: targetElement.offsetTop - 10,
              behavior: "smooth"
          });
      });
  });
</script>

<script src="https://kit.fontawesome.com/c97d4c197a.js" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
 


<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script> 

<script>hljs.highlightAll();</script>
  


<script src="scripts.js"></script>

<script>
  document.addEventListener('DOMContentLoaded', function() {
      var elems = document.querySelectorAll('.collapsible');
      var instances = M.Collapsible.init(elems);
  });
</script>

 <!-- ... (conteudo video) ... -->
 <script src="https://www.youtube.com/iframe_api"></script>

 <script>
  var player;
  function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
      height: '315',
      width: '560',
      videoId: 'FvsuBOvyyro',
      playerVars: {
        start: 1238, // 20:38 em segundos
        end: 1356   // 22:36 em segundos
      }
    });
  }
</script>

01. DADOS GERAIS

...

TOTVS CRM Automação da Força de Vendas

...

Linha TOTVS CRM

...

Jira
serverJIRA
serverId0c783de1-186e-383b-975c-a1acd7d76cb5
keyDTSFAPD-2265

02. ESCOPO FUNCIONAL/TÉCNICO

Novas rotas

  • O SFA deverá receber novas rotas em suas APIs padrão, sendo elas:

...

Nome rota: Cota

Tabela: cota

GET, POST, PUT, DELETE

...

integer

...

descricao

...

varchar

...

Os seguintes campos podem ser inseridos com valor fixo:

  • idnvalidaproduto: 1,
  • idnvalidaunidademedida: 1,
  • idnvalidalocalfilial: 1,
  • idnvalidasegmento: 1,  
  • idnvalidatabelapreco: 1,   
  • idnvalidagrupoproduto: 1,
  • sglorigem: "INTEGRACAO",
  • idnfinalizado: 0

...

Nome rota: Saldo Cota

Tabela: controlecota

GET, POST, PUT, DELETE

...

Rota: Pedido Campo Opção Fixa

Tabela: wsconfigcampoopcaofixo

GET, POST, PUT

...

integer

...

Novos campos em rotas existentes

...

Rota: ClienteSub

GET, POST, PUT

Nova propriedade Sub "CampoResposta"

...

Rota: PedidoSub

GET, POST, PUT

Nova propriedade Sub "PedidoCabecalhoCampo"

...

Rota: PedidoSub

GET, POST, PUT

Nova propriedade Sub "PedidoProdutoCampo"

...

Rota: PedidoSub

GET, POST, PUT

Nova propriedade Sub "PedidoEntregaCampo"

...

Rota: PedidoSub

GET, POST, PUT

Nova propriedade Sub "PedidoResumoCampo"

...

Rota: PedidoSub

GET, POST, PUT

Nova propriedade Sub "PedidoComplementoCampo"

...

Rota: Nota fiscal Produto, NotafiscalSub

GET, POST, PUT

...

Rota: Segmento

GET, POST, PUT

...

Rota: Pedido, PedidoSub

GET, POST, PUT

...

Rota: Tabela Preço Produto

GET, POST, PUT

...