INFORMAÇÕES PROPRIETÁRIA
Este documento é de propriedade da Wealth Systems Informática Ltda. Todas as informações contidas aqui são confidenciais e não devem ser copiadas ou divulgadas para quaisquer terceiros sem antes um consentimento formal, por escrito, da Wealth Systems, podendo somente ser divulgada dentro do Cliente para os seus funcionários que estiverem diretamente envolvidos no projeto, o qual este documento relata.
A empresa Cliente será solenemente responsável por assegurar que todos seus funcionários envolvidos estejam de acordo e acatem estas condições e ainda, está intitulado para usar as informações contidas neste documento, somente para propósitos de avaliação. Este documento é versionado e sua estrutura não poderá ser alterada sem o consentimento do Gerente de Projetos da Wealth Systems.
HISTÓRICO DE REVISÃO
| Data | Versão | Modificado por | Descrição da mudança |
|---|---|---|---|
| 29/03/2021 | 8.2.0 | William Rodrigues de Mello | Criação documento. |
INTRODUÇÃO
1 INTEGRAÇÃO DE DADOS
A integração de dados entre TOTVS SFA e Datasul se dá através de uma API (Application Programming Interface) que utiliza web services com arquitetura REST (Representational State Transfer), tanto para a importação de dados (Datasul → TOTVS SFA) como para a exportação de Pedidos e Clientes (TOTVS SFA → Datasul).
1.1 Agendamento De Rotinas
O agendamento varia muito, conforme o poder de processamento de cada servidor, e da quantidade de registros de tráfego.
Foi criado agendamentos padrão nas rotinas de integração, porém, não necessariamente deve ser seguido à risca pelo motivo explicado acima. Nos cenários necessários, agendamos uma carga completa para ser executada durante a noite.
1.2 Importação De Dados
Abaixo estão descritas todas as entidades que são importadas na integração standard entre Datasul e TOTVS SFA, assim como informações relevantes sobre as APIs e transformações desenvolvidas no Pentaho Spoon pelo time de integração da TOTVS.
Método de requisição: GET
URL base: http://{IP}:{PORTA}/dts/datasul-rest/resources/prg/{TIPO}/v1/{ENTIDADE}
A URL base acima é o endereço base de vários serviços, que serão listados mais abaixo como entidade.
As informações do IP e a PORTA dependem da configuração do ambiente do cliente. O campo TIPO se refere as divisões de serviços da API Nativa Datasul que são: cdp, cep, ftp, pdp, qop, finapi.
1.3 Requisições De Autenticação
A autenticação utilizada pelas APIs é a Basic Auth que usa a autenticação por um usuário e senha do Datasul e é convertido em um token base 64 no seguinte modelo:
usuario:senha
Convertendo para base64 temos o seguinte resultado: dXN1YXJpbzpzZW5oYQ==
Adicionando a tag Basic na frente temos o token final:
Basic dXN1YXJpbzpzZW5oYQ==
Esta tag é passada no header Authorization do step do Pentaho ou Postman (se for o caso)
Considerações: de preferência, o usuário e senha deve ser minúsculo e sem nenhum caractere especial.
1.4 Requisições Count
Como o nome já sugere, antes de requisitarmos os dados, contamos os registros que nos retornaram nas chamadas a seguir. Dessa maneira dividimos os registros em páginas, limitando a quantidade total por página (geralmente mil registros por página, mas é possível ser configurado rotina a rotina).
Isso deve ser seguido, pois requisições com um volume de retorno muito grande além gerar lentidão, podem derrubar o serviço do plugin.
Para gerar as paginações fazemos uma primeira requisição com um parâmetro chamado totalCount com o valor true, sendo assim o retorno informa o total de registros na entidade no campo totalHits, conforme mostra o Código 1 para que possamos calcular a quantidade de páginas e o número de registros por requisição.
Segue o exemplo:
URL: http://IP:PORTA/dts/datasul-rest/resources/prg/cdp/v1/cityPublic?totalCount=true
Resultado:
{
"total": 1,
"totalHits": 5595,
"hasNext": true,
"items": [
{
"IBGECode": 5200050,
"regionCode": "CENTRO",
"sigla": "GO246",
"city": "ABADIA DE GOIAS",
"stateCode": "GO",
"countryName": "BRASIL",
"_expandables": [
"state",
"country"
],
"microRegionCode": ""
}
]
}
2 ENTIDADES
2.1 CanalVenda
Os dados da tabela canal-venda do Datasul são acessados através do endpoint /dts/datasulrest/resources/prg/cdp/v1/salesChannelPublic e são gravados na tabela tipologia no TOTVS SFA, com os seguintes campos.
| TOTVS SFA | TIPO | DATASUL |
|---|---|---|
| CODIGOCANALVENDA | INTEGER | salesChannelCode (canal-venda.cod-canal-venda) |
| DESCRICAO | STRING | salesChannelDesc (canal-venda.descricao) |
2.2 Cidade
Os dados das tabelas cidade, pais e unid-feder do Datasul, são acessados através do endpoint /dts/datasulrest/resources/prg/cdp/v1/cityPublic e são salvos nas tabelas cidade, pais e unidadefederativa do TOTVS SFA com os seguintes campos:
| TOTVS SFA | TIPO | DATASUL |
|---|---|---|
| CIDADE.CODIGOMUNICIPIO | INTEGER | IBGECode (cidade.cdn-munpio-ibge) |
| CIDADE.NOMEMUNICIPIO | STRING | City (cidade.cidade) |
| IDUNIDADEFEDERATIVA | INTEGER | stateCode (cidade.estado) |
| UNIDADEFEDERATIVA.SIGLA | STRING | stateCode (cidade.estado) |
| NOMEPAIS | STRING | countryName (cidade.pais) |
| SIGLAPAIS | STRING | countryName (cidade.pais) |
2.3 Cliente
Os dados das tabelas emitente, cidade e loc-entr do Datasul, são acessados através do endpoint/dts/datasulrest/resources/prg/cdp/v1/customerPublic e são salvos nas tabelas parceiro, local, localtipolocal, parceirolocal, parceirotransportador, parceirogrupoparceiro, pessoafisica, pessoajuridica, localemail, parceirotipoparceiro, limitecredito, localtelefone, usuariolocal, localtipologia, localtabelapreco, localcandicaopagamento, contatopessoa, contatopessoaemail, contatopessoatelefone do TOTVS SFA com o seguintes campos:
| TOTVS SFA | TIPO | DATASUL |
|---|---|---|
| PARCEIRO.CODIGOCLIENTE | STRING | customerCode (emitente.cod-emitente) |
| PARCEIR.NOMECLIENTE | STRING | customerName (emitente.nome-emit) |
| PARCEIRO.NOMEFANTASIA | STRING | shortName (emitente.nome-abrev) |
| LOCAL.DESCRICAO | STRING | Address (emitente.endereco) |
| LOCAL.DESCRICAO | STRING | billingAddress (emitente.endereco-cob) |
| LOCAL.BAIRRO | STRING | Neighborhood (emitente.bairro) |
| LOCAL.BAIRRO | STRING | billingNeighborhood (emitente.bairro-cob) |
| LOCAL.LOCALCOMPLEMENTO | STRING | completeAddress (emitente.endereco_text) |
| LOCAL.IDUNIDADEFEDERATIVA | INTEGER | State (emitente.estado) |
| LOCAL.IDUNIDADEFEDERATIVA | INTEGER | billingState (emitente.estado-cob) |
| LOCAL.CEP | STRING | zipCode (emitente.cep) |
| LOCAL.CEP | STRING | billingZipCode (emitente.cep-cob) |
| LOCAL.IDCIDADE | INTEGER | City (emitente.cidade) |
| LOCAL.IDCIDADE | INTEGER | billingCity (emitente.cidade-cob) |
| LOCALTELEFONE.TELEFONE | STRING | phone1 (emitente.telefone[1]) |
| LOCALTELEFONE.TELEFONE | STRING | phone2 (emitente.telefone[2]) |
| LOCALTELEFONE.TELEFONE | STRING | Telex (emitente.telex) |
| LOCALTELEFONE.TELEFONE | STRING | Telefax (emitente.telefax) |
| LOCAL.CNPJ | STRING | personalId (emitente.cgc) |
| LOCAL.INSCRICAOESTADUAL | STRING | stateRegistration (emitente.ins-estadual) |
| LOCAO.INSCRICAOMUNICIPAL | STRING | municipalRegistration (emitente.ins-municipal) |
| LOCALEMAIL.EMAIL | STRING | email (emitente.e-mail) |
| PARCEIRO.HOMEPAGE | STRING | homePage (emitente.home-page) |
| USUARIOLOCAL.IDUSUARIO | INTEGER | representativeCode (emitente.cod-rep) |
| PARCEIROTRANSPORTADOR.IDTRANSPORTADOR | INTEGER | standardCarrierCode (emitente.cod-transp) |
| LOCALCONDICAOPAGAMENTO. IDCONDICAOPAGAMENTO | INTEGER | paymentTerms (emitente.cod-cond-pag) |
| LIMITECREDITO.SALDODISPONIVEL, LIMITECREDITO.SALDOLIMITE | NUMERIC(18,6) | creditLimit (emitente.lim-credito) |
| LOCALTABELAPRECO.IDTABELAPRECO | INTEGE | priceTable (emitente.nr-tabpre) |
| LOCALTIPOLOGIA.IDTIPOLOGIA | INTEGER | salesChannel (emitente.cod-canal-venda) |
| PARCEIRO.OBSERVACAO | STRING | Comments (emitente.observacoes) |
| PARCEIRO.DATACADASTRO | DATE | implementationDate (emitente.data-implant) |
| UNIDADEFEDERATIVA.IDPAIS | INTEGER | country (emitente.pais) |
| GRUPOPARCEIRO.IDGRUPOPARCEIRO | INTEGER | customerGroup (emitente.cod-gr-cli) |
| LOCAL.ENDERECO | STRING | deliveryPlaces.address (loc-entr.endereco) |
| LOCAL.BAIRRO | STRING | deliveryPlaces.neighborhood (loc-entr.bairro) |
| LOCAL.IDUNIDADEFEDERATIVA | INTEGER | deliveryPlaces.state (loc-entr.estado) |
| LOCAL.CEP | STRING | deliveryPlaces.city (loc-entr.cidade) |
| LOCAL.IDCIDADE | INTEGER | deliveryPlaces.city (loc-entr.cidade) |
| CONTATOPESSOA.NOME | STRING | contactName (cont-emit.nome) |
| CONTATOPESSOAEMAIL.EMAIL | STRING | email (cont-emit.e-mail) |
| CONTATOPESSOA.CARGO | STRING | office (cont-emit.cargo) |
| CONTATOPESSOA.DEPARTAMENTO | STRING | contactArea (cont-emit.area) |
| CONTATOPESSOATELEFONE.TELEFONE | STRING | phone (cont-emit.telefone) |
2.4 CondicaoPagamento
Os dados da tabela cond-pagto do Datasul são acessados através do endpoint /dts/datasulrest/resources/prg/cdp/v1/paymentTermsPublic e são salvos na tabela condicaopagamento do TOTVS SFA com os seguintes campos:
| MASTER SALES | TIPO | DATASUL |
|---|---|---|
| CONDICAOPAGAMENTO.CODIGOERP | STRING | code (cond-pagto.cod-cond-pag) |
| CONDICAOPAGAMENTO.DESCRICAO | STRING | description (cond-pagto.descricao) |
| CONDICAOPAGAMENTO.PERCENTUALDESCONTO | NUMERIC(18,6) | 0 |
| CONDICAOPAGAMENTO.PERCENTUALACRESCIMO | NUMERIC(18,6) | 0 |
| NUMEROPARCELAS | INTEGER | instNum (cond-pagto.num-parcelas) |
| NUMERODIASENTREPARCELAS | STRING | Installment.instTerm[1… 12] (condpagto.prazos[extent]) |
2.5 Estoque
Os dados da tabela saldo-estoq do Datasul são acessados através do endpoint /dts/datasulrest/resources/prg/cdp/v1/stockBalancePublic e serão salvos na tabela estoque do TOTVS SFA com os seguintes campos:
| MASTER SALES | TIPO | DATASUL |
|---|---|---|
| ESTOQUE.IDLOCALFILIAL | INTEGER | siteCode (saldo-estoq.cod-estabel) |
| ESTOQUE.IDPRODUTO | INTEGER | itemCode + referenceCode (saldo-estoq.it-codigo + saldo-estoq.cod-refer) |
| ESTOQUE.QUANTIDADE | NUMERIC(18,6) | (qtyAvailBalance - qtyAllocated - qtyAllocOrder - qtyAllocProd) (saldo-estoq.qtidade-atu - saldo-estoq.qt-alocada - saldo-estoq.qt-aloc-ped - saldo-estoq.qt-aloc-prod) |
| ESTOQUE.DATAPOSICAO | DATE | Current_date |
2.6 Filial
Os dados das tabelas estabelec e cidade do Datasul são acessados através do endpoint /dts/datasulrest/resources/prg/cdp/v1/establishmentsPublic e serão salvos nas tabelas parceiro, local, localfilial, parceirolocal, parceirotipoparceiro, localtipolocal do TOTVS SFA com os seguintes campos:
| MASTER SALES | TIPO | DATASUL |
|---|---|---|
| LOCAL.NUMEROMATRICULA | STRING | code (estabelec.cod-estabel) |
| LOCAL.DESCRICAO | STRING | name (estabelec.nome) |
| PARCEIRO.NOMEFANTASIA | STRING | name (estabelec.nome) |
| LOCAL.LOGRADOURO | STRING | address (estabelec.endereco) |
| LOCAL.IDCIDADE | INTEGER | ibgeCode (cidade.cdn-munpio-ibge) |
| LOCAL.CEP | STRING | zipCode (estabelec.cep) |
| LOCAL.BAIRRO | STRING | district (estabelec.bairro) |
| LOCAL.DOCUMENTOIDENTIFICAO | STRING | cnpj (estabelec.cgc) |
| LOCAL.INSCRICAOESTADUAL | STRSTRINGING | stateRegistration (estabelec.ins-estadual) |
| LOCAL.INSCRICAOMUNICIPAL | STRING | cityRegistration (estabelec.ins-municipal) |
| LOCAL.IDUNIDADEFEDERATIVA | INTEGER | state (estabelec.estado) |
| UNIDADEFEDERATIVA.IDPAIS | INTEGER | country (estabelec.pais) |
2.7 GrupoProduto
Os dados da tabela grup-estoque do Datasul são acessados através do endpoint /dts/datasulrest/resources/prg/cdp/v1/inventoryGroupsPublic e serão salves na tabela grupoproduto do TOTVS SFA com o os seguintes campos:
| MASTER SALES | TIPO | DATASUL |
|---|---|---|
| GRUPOPRODUTO.CODIGO | STRING | code (grup-estoque.ge-codigo) |
| GRUPOPRODUTO.CODIGOERP | STRING | code (grup-estoque.ge-codigo) |
| GRUPOPRODUTO.DESCRICAO | STRING | description (grup-estoque.descricao) |
2.8 Material
Os dados da tabela familia do Datasul são acessados através do endpoint /dts/datasulrest/resources/prg/cdp/v1/materialFamiliesPublic e serão salvos na tabela linha do TOTVS SFA com os seguintes campos:
| MASTER SALES | TIPO | DATASUL |
|---|---|---|
| FAMILIA.CODIGO | STRING | code (familia.fm-codigo) |
| FAMILIA.CODIGOERP | STRING | code (familia.fm-codigo) |
| FAMILIA.DESCRICAO | STRING | description (familia.descricao) |
2.9 Moeda
Os dados das tabelas moeda e cotacao do Datasul são acessados através do endpoint /dts/datasulrest/resources/prg/cdp/v1/currencyPublic e serão salvos nas tabelas indexador e cotacaoindexador do TOTVS SFA com os seguintes campos:
| MASTER SALES | TIPO | DATASUL |
|---|---|---|
| INDEXADOR.CODIGOERP | STRING | currencyCode (cotacao.mo-codigo) |
| INDEXADOR.DESCRICAO | STRING | currency.currencyDescription (moeda.descricao) |
| COTACAOINDEXADOR.DATA | DATE | yearPeriod + dayQuote (cotacao.ano-periodo + Não se aplica (De acordo com o dia do mês - 31 dias) |
| COTACAOINDEXADOR.VALOR | NUMERIC(18,6) | currencyQuote (cotacao.cotacao[extent]) |
2.10 NotaFiscal
Os dados das tabelas nota-fiscal, transporte, it-nota-fisc, natur-oper e item do Datasul são acessados através do endpoint/dts/datasulrest/resources/prg/cdp/v1/invoicePublic e serão salvos nas tabelas notafiscal e notafiscalproduto do TOTVS SFA com os seguintes campos:
| MASTER SALES | TIPO | DATASUL |
|---|---|---|
| NOTAFISCAL.IDLOCALFILIALFATURAMENTO | INTEGER | siteID (nota-fiscal.cod-estabel) |
| NOTAFISCAL.NUMERONOTAFISCAL | STRING | nvoiceNumber (nota-fiscal.nr-nota-fis) |
| NOTAFISCAL.SERIE | STRING | series (nota-fiscal.serie) |
| NOTAFISCAL.IDNCANCELADA | INTEGER | cancellationDate (nota-fiscal.dt-cancela) |
| NOTAFISCAL.IDPARCEIRO | INTEGER | customerID (nota-fiscal.cod-emitente) |
| NOTAFISCAL.IDUSUARIO | INTEGER | mainRepresentativeName (nota-fiscal.no-ab-reppri) |
| NOTAFISCAL.IDCONDICAONPAGAMENTO | INTEGER | paymentTerms (nota-fiscal.cod-cond-pag) |
| NOTAFISCAL.IDPARCEIROTRANSPORTADORA | INTEGER | carrierName (nota-fiscal.nome-transp) |
| NOTAFISCAL.DATAEMISSAO | DATE | printDate (nota-fiscal.dt-emis-nota) |
| NOTAFISCAL.VALORFRETE | NUMERIC(18,6) | freightValue (nota-fiscal.vl-frete) |
| NOTAFISCALPRODUTO.CODIGOPRODUTO | INTEGER | invoiceItem.itemCode + invoiceItem.reference (it-nota-fisc.it-codigo + it-nota-fisc.cod-refer) |
| NOTAFISCALPRODUTO.QUANTIDADEFATURADA | NUMERIC(18,6) | invoiceItem.internalQuantity (it-nota-fisc.qt-faturada[1]) |
| NOTAFISCALPRODUTO.VALORUNITARIO | NUMERIC(18,6) | invoiceItem.netPrice (it-nota-fisc.vl-preuni) |
| NOTAFISCALPRODUTO.VALORTOTALITEM | NUMERIC(18,6) | invoiceItem.itemTotalAmount (it-nota-fisc.vl-tot-item) |
| NOTAFISCALPRODUTO.VALORSEGURO | NUMERIC(18,6) | invoiceItem.insuranceValue (it-nota-fisc.baixa-estoq) |
| NOTAFISCALPRODUTO.VALORDESPESA | NUMERIC(18,6) | invoiceItem.expenseValue (it-nota-fisc.vl-despes-it) |
| NOTAFISCALPRODUTO.ALIQUOTAIPI | NUMERIC(18,6) | invoiceItemTax.ipiTaxPercent (it-nota-fisc.aliquota-ipi) |
| NOTAFISCALPRODUTO.VALORIPI | NUMERIC(18,6) | invoiceItemTax.vlIpiIt (it-nota-fisc.vl-ipi-it) |
| NOTAFISCALPRODUTO.ALIQUOTAICMS | NUMERIC(18,6) | invoiceItemTaxC.icmsTaxPercent (it-nota-fisc.aliquotaicm) |
| NOTAFISCALPRODUTO.BASEICMS | NUMERIC(18,6) | invoiceItemTax.vlBicmsIt (it-nota-fisc.vl-bicms-it) |
| NOTAFISCALPRODUTO.VALORICMS | NUMERIC(18,6) | invoiceItemTax.vlIcmsIt (it-nota-fisc.vl-icms-it) |
| NOTAFISCALPRODUTO.VALORIRRF | NUMERIC(18,6) | invoiceItemTax.vlIrfIt (it-nota-fisc.vl-irf-it) |
| NOTAFISCALPRODUTO.ALIQUOTAISS | NUMERIC(18,6) | invoiceItemTax.issTaxPercent (it-nota-fisc.aliquota-iss) |
| NOTAFISCALPRODUTO.BASEISS | NUMERIC(18,6) | invoiceItemTax.vlBissIt (it-nota-fisc.vl-biss-it) |
| NOTAFISCALPRODUTO.VALORISS | NUMERIC(18,6) | invoiceItemTax.vlIssIt (it-nota-fisc.vl-iss-it) |
| NOTAFISCALPRODUTP.ALIQUOTACSLL | NUMERIC(18,6) | invoiceItemTax.percRetCsll (vazio) |
| NOTAFISCALPRODUTO.BASECSLL | NUMERIC(18,6) | invoiceItemTax.vlBissIt (it-nota-fisc.vl-biss-it) |
| NOTAFISCALPRODUTO.VALORCLSS | NUMERIC(18,6) | invoiceItemTax.vlIcmsubIt (it-nota-fisc.vl-icmsub-it) |
| NOTAFISCALPRODUTO.ALIQUOTAPIS | NUMERIC(18,6) | invoiceItemTax.pisTaxPercent (vazio) |
| NOTAFISCALPRODUTO.BASEPIS | NUMERIC(18,6) | ) invoiceItemTax.vlBPis (vazio) |
| NOTAFISCALPRODUTO.VALORPIS | NUMERIC(18,6) | invoiceItemTax.vlPis (vazio) |
| NOTAFISCALPRODUTO.ALIQUOTACOFINS | NUMERIC(18,6) | invoiceItemTax.cofinsTaxPercent (vazio) |
| NOTAFISCALPRODUTO.BASECOFINS | NUMERIC(18,6) | nvoiceItemTax.vlBCofins (vazio) |
| NOTAFISCALPRODUTO.VALORST | NUMERIC(18,6) | invoiceItemTax.vlIcmsubIt (it-nota-fisc.vl-icmsub-it) |
| NOTAFISCALPRODUTO.IDPEDIDO | INTEGER | customerOrderNumber (it-nota-fisc.nr-pedcli) |
2.11 NotaFiscal (Devolução)
Os dados da tabela devol-cli do Datasul, são acessados através do endpoint /dts/datasulrest/resources/prg/cdp/v1/returnInvoicePublic e serão salvos na tabela notafiscal e notafiscalproduto do TOTVS SFA com os seguintes campos:
| MASTER SALES | TIPO | DATASUL |
|---|---|---|
| NOTAFISCAL.IDLOCALFILIALFATURAMENTO I | INTEGER | siteCode (devol-cli.cod-estabel) |
| NOTAFISCAL.NUMERONOTAFISCAL | STRING | returnInvoiceNumber (devol-cli.nro-docto) |
| NOTAFISCAL.SERIE | STRING | returnInvoiceSeries (devol-cli.serie-docto) |
| NOTAFISCALPRODUTO.IDPRODUTO | INTEGER | productCode + referenceCode (devol-cli.it-codigo + devol-cli.cod-refer) |
| NOTAFISCAL.IDPARCEIRO | INTEGER | customerCode (devol-cli.cod-emitente) |
| NOTAFSICAL.DATAEMISSAO | DATE | returnDate (devol-cli.dt-devol) |
| NOTAFISCAL.QUANTIDADEFATURADA | NUMERIC(18,6) | returnQty (devol-cli.qt-devolvida) |
| NOTAFISCAL.VALORFATURADO | NUMERIC(18,6) | returnValue (devol-cli.vl-devol) |
2.12 Pedido
Os dados da tabela pedido do Datasul, são acessados através do endpoint /dts/datasulrest/resources/prg/cdp/v1/ordersPublic e serão salvos na tabela pedido, pedidoproduto e pedidoentrega do TOTVS SFA com os seguintes campos:
| MASTER SALES | TIPO | DATASUL |
|---|---|---|
| PEDIDO.IDLOCALFILIALFATURAMENTO | INTEGER | branchId (ped-venda.cod-estabel) |
| PEDIDO.NUMPEDIDOERP | STRING | orderId (ped-venda.nr-pedcli) |
| PEDIDO.NUMEROPEDIDOCLIENTE | STRING | customerOrderId (ped-venda.nr-pedcli) |
| PEDIDO.IDPARCEIRO | INTEGER | customerCode (ped-venda.cod-emitente) |
| PEDIDOENTREGA.IDPARCEIROTRANSPORTADOR | INTEGER | codeCarrier (transporte.cod-transp) |
| PEDIDO.IDCONDICAOPAGAMENTO | INTEGER | paymentTerms (ped-venda.cod-cond-pag) |
| PEDIDO.IDTABELAPRECO | INTEGER | priceTableOrder (ped-venda.nr-tabpre) |
| PEDIDO.IDUSUARIO, PEDIDO.IDUSUARIOPROFISSIONAL | INTEGER | representativeShortName (ped-venda.no-ab-reppri) |
| PEDIDO.DATAPEDIDO | DATE | emissionDate (ped-venda.dt-emissao) |
| PEDIDO.IDTIPOSITUACAOPEDIDO | INTEGER | orderSituation (ped-venda.cod-sit-ped) |
| PEDIDOPRODUTO.IDPRODUTO | INTEGER | orderItems.itemCode + orderItems.referenceCode (ped-item.it-codigo + ped-item.cod-refer) |
| PEDIDOPRODUTO.ORDEM | INTEGER | orderItems.sequence (ped-item.nr-sequencia) |
| PEDIDOPRODUTO.QUANTIDADE | NUMERIC(18,6) | orderItems.quantityRequested (ped-item.qt-pedida) |
| PEDIDOPRODUTO.PRECOVENDA | NUMERIC(18,6) | orderItems.priceUnitary (ped-item.vl-preuni) |
| PEDIDOPRODUTO.PRECOORIGINAL | NUMERIC(18,6) | orderItems.originalPrice (ped-item.vl-preori) |
| PEDIDOPRODUTO.QUANTIDADEFATURADA | NUMERIC(18,6) | orderItems.quantityAttentive (ped-item.qt-atendida) |
| PEDIDOPRODUTO.QUANTIDADEPENDENTE | NUMERIC(18,6) | orderItems.quantityPending (ped-item.qt-pendente) |
| PEDIDOENTREGA.DATAENTREGA | DATE | orderItems.delireryDate (ped-item.dt-entrega) |
| PEDIDO.OBSERVACAOPEDIDO | STRING | Comments (ped-venda.observacoes) |
| PEDIDOPRODUTO.IDTIPOSITPEDPRODUTO | INTEGER | orderItems.orderItemSituation (ped-item.cod-sit-item) |
2.13 Produto
Os dados das tabelas item, alternativo, item-caixa e item-uni-estab do Datasul são acessados através do endpoint /dts/datasul rest/resources/prg/cdp/v1/productPublic e serão salvos nas tabelas produto, produtogrupoproduto, produtoembalagem do TOTVS SFA com os seguintes campos:
| MASTER SALES | TIPO | DATASUL |
|---|---|---|
| PRODUTO.CODIGOPRODUTO | STRING | productCode + productReferences.referenceCode (item.it-codig + ref-item.cod-refer) |
| PRODUTO.DESCRICAO | STRING | productDescription (item.desc-item) |
| PRODUTO.IDUNIDADEMEDIDAPADRAO, PRODUTO.IDUNIDADEMEDIDAVENDA | INTEGER | measureUnit (item.un) |
| PRODUTO.IDGRUPOPRODUTO | INTEGER | InventoryGroup (item.ge-codigo) |
| PRODUTOEMBALAGEM.FATOREMBALAGEMPADRAO, PRODUTOEMBALAGEM.FATOREMBALAGEM | NUMERIC(18,6) | ConversionFactor (item.ft-conversao) |
| PRODUTO.CODIGOADICIONAL | STRING | altComponent[0].componentCode (alternativo.escodigo) |
| PRODUTO.PESOMINIMO | NUMERIC(18,6) | netWeight (item.peso-liquido) |
| PRODUTO.PESOMAXIMO | NUMERIC(18,6) | grossWeight (item.peso-bruto) |
| PRODUTO.CODIGODEBARRA | STRING | productSite[0].EANCode (ref-item.cod-ean) |
| PRODUTO.IDNATIVO | INTEGER | Obsolete (item-uni-estab.cod-obsoleto) |
| PRODUTO.PRECOCUSTO | NUMERIC(18,6) | productSiteCost[0].batchMatValue (itemestab.val-unit-mat-m) + productSiteCost[0].batchMOBValue (itemestab.val-unit-mob-m + productSiteCost[0].batchGGFValue (itemestab.val-unit-ggf-m) |
| PRODUTOFILIAL.IDLOCALFILIAL | INTEGER | productSite.siteCode |
2.14 SituacaoPedido
A entidade situacaopedido do TOTVS SFA conta com valores fixos.
| MASTER SALES | TIPO | VALORES |
|---|---|---|
| SITUACAOPEDIDO.CODIGOERP | STRING | 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 |
| DESCRICAO | STRING | ABERTO ; ATENDIDO PARCIAL ; ATENDIDO TOTAL ; PENDENTE ; SUSPENSO ; CANCELADO ; FATUR BALCAO |
| SGLTIPOSITUACAOPEDIDO | STRING | PA; FP; PF; PP; PS; PC; FB; |
2.15 Tabela Preco
Os dados da tabela tb-preco do Datasul são acessados através do endpoint /dts/datasulrest/resources/prg/cdp/v1/priceTablePublic e serão salvos na tabela tabelapreco do TOTVS SFA com os seguintes campos:
| MASTER SALES | TIPO | DATASUL |
|---|---|---|
| TABELAPRECO.CODIGO, TABELAPRECO.CODIGOERP | STRING | priceTableCode (tb-preco.nr-tabpre) |
| TABELAPRECO.DESCRICAO | STRING | priceTableDescription (tb-preco.descricao) |
| TABELAPRECO.DATAINICIOVIGENCIA | DATE | startDate (tb-preco.dt-inival) |
| TABELAPRECO.DATAFIMVIGENCIA | DATE | endDate (tb-preco.dt-fimval) |
| TABELAPRECO.IDINDEXADOR | INTEGER | CurrencyCode (tb-preco.mo-codigo) |
| TABELAPRECOPRODUTO.IDNATIVO | INTEGER | status |