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

DataVersãoModificado porDescrição da mudança
29/03/20218.2.0William Rodrigues de MelloCriaçã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 SFATIPODATASUL
CODIGOCANALVENDAINTEGERsalesChannelCode (canal-venda.cod-canal-venda)
DESCRICAOSTRINGsalesChannelDesc (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 TIPODATASUL
CIDADE.CODIGOMUNICIPIOINTEGERIBGECode (cidade.cdn-munpio-ibge)
CIDADE.NOMEMUNICIPIOSTRINGCity (cidade.cidade)
IDUNIDADEFEDERATIVAINTEGERstateCode (cidade.estado)
UNIDADEFEDERATIVA.SIGLASTRINGstateCode (cidade.estado)
NOMEPAISSTRINGcountryName (cidade.pais)
SIGLAPAISSTRINGcountryName (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 SFATIPODATASUL
PARCEIRO.CODIGOCLIENTESTRINGcustomerCode (emitente.cod-emitente)
PARCEIR.NOMECLIENTESTRINGcustomerName (emitente.nome-emit) 
PARCEIRO.NOMEFANTASIASTRINGshortName (emitente.nome-abrev)
LOCAL.DESCRICAOSTRINGAddress (emitente.endereco)
LOCAL.DESCRICAOSTRINGbillingAddress (emitente.endereco-cob)
LOCAL.BAIRRO STRINGNeighborhood (emitente.bairro) 
LOCAL.BAIRRO STRINGbillingNeighborhood (emitente.bairro-cob)
LOCAL.LOCALCOMPLEMENTOSTRINGcompleteAddress (emitente.endereco_text)
LOCAL.IDUNIDADEFEDERATIVAINTEGERState (emitente.estado)
LOCAL.IDUNIDADEFEDERATIVAINTEGERbillingState (emitente.estado-cob)
LOCAL.CEPSTRINGzipCode (emitente.cep)
LOCAL.CEPSTRINGbillingZipCode (emitente.cep-cob)
LOCAL.IDCIDADEINTEGERCity (emitente.cidade)
LOCAL.IDCIDADEINTEGERbillingCity (emitente.cidade-cob)
LOCALTELEFONE.TELEFONESTRINGphone1 (emitente.telefone[1]) 
LOCALTELEFONE.TELEFONESTRINGphone2 (emitente.telefone[2])
LOCALTELEFONE.TELEFONESTRINGTelex (emitente.telex) 
LOCALTELEFONE.TELEFONESTRINGTelefax (emitente.telefax)
LOCAL.CNPJ STRINGpersonalId (emitente.cgc)
LOCAL.INSCRICAOESTADUALSTRINGstateRegistration (emitente.ins-estadual)
LOCAO.INSCRICAOMUNICIPAL STRINGmunicipalRegistration (emitente.ins-municipal)
LOCALEMAIL.EMAIL STRINGemail (emitente.e-mail)
PARCEIRO.HOMEPAGE STRINGhomePage (emitente.home-page)
USUARIOLOCAL.IDUSUARIOINTEGERrepresentativeCode (emitente.cod-rep) 
PARCEIROTRANSPORTADOR.IDTRANSPORTADORINTEGERstandardCarrierCode (emitente.cod-transp)
LOCALCONDICAOPAGAMENTO.
IDCONDICAOPAGAMENTO
INTEGERpaymentTerms (emitente.cod-cond-pag)
LIMITECREDITO.SALDODISPONIVEL,
LIMITECREDITO.SALDOLIMITE 
NUMERIC(18,6)creditLimit (emitente.lim-credito)
LOCALTABELAPRECO.IDTABELAPRECOINTEGEpriceTable (emitente.nr-tabpre)
LOCALTIPOLOGIA.IDTIPOLOGIAINTEGERsalesChannel (emitente.cod-canal-venda)
PARCEIRO.OBSERVACAOSTRINGComments (emitente.observacoes)
PARCEIRO.DATACADASTRODATE implementationDate (emitente.data-implant) 
UNIDADEFEDERATIVA.IDPAIS INTEGERcountry (emitente.pais)
GRUPOPARCEIRO.IDGRUPOPARCEIROINTEGERcustomerGroup (emitente.cod-gr-cli)
LOCAL.ENDERECOSTRINGdeliveryPlaces.address (loc-entr.endereco)
LOCAL.BAIRROSTRINGdeliveryPlaces.neighborhood (loc-entr.bairro)
LOCAL.IDUNIDADEFEDERATIVAINTEGERdeliveryPlaces.state (loc-entr.estado)
LOCAL.CEP STRINGdeliveryPlaces.city (loc-entr.cidade)
LOCAL.IDCIDADEINTEGERdeliveryPlaces.city (loc-entr.cidade)
CONTATOPESSOA.NOMESTRINGcontactName (cont-emit.nome)
CONTATOPESSOAEMAIL.EMAILSTRINGemail (cont-emit.e-mail)
CONTATOPESSOA.CARGOSTRINGoffice (cont-emit.cargo)
CONTATOPESSOA.DEPARTAMENTOSTRINGcontactArea (cont-emit.area)
CONTATOPESSOATELEFONE.TELEFONESTRINGphone (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 SALESTIPODATASUL
CONDICAOPAGAMENTO.CODIGOERPSTRINGcode (cond-pagto.cod-cond-pag)
CONDICAOPAGAMENTO.DESCRICAOSTRINGdescription (cond-pagto.descricao)
CONDICAOPAGAMENTO.PERCENTUALDESCONTONUMERIC(18,6)0
CONDICAOPAGAMENTO.PERCENTUALACRESCIMONUMERIC(18,6)0
NUMEROPARCELAS INTEGERinstNum (cond-pagto.num-parcelas)
NUMERODIASENTREPARCELASSTRINGInstallment.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 SALESTIPODATASUL
ESTOQUE.IDLOCALFILIALINTEGERsiteCode (saldo-estoq.cod-estabel)
ESTOQUE.IDPRODUTOINTEGERitemCode + referenceCode (saldo-estoq.it-codigo + saldo-estoq.cod-refer) 
ESTOQUE.QUANTIDADENUMERIC(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.DATAPOSICAODATECurrent_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 SALESTIPODATASUL
LOCAL.NUMEROMATRICULASTRINGcode (estabelec.cod-estabel)
LOCAL.DESCRICAOSTRINGname (estabelec.nome)
PARCEIRO.NOMEFANTASIASTRINGname (estabelec.nome)
LOCAL.LOGRADOUROSTRINGaddress (estabelec.endereco)
LOCAL.IDCIDADEINTEGER ibgeCode (cidade.cdn-munpio-ibge)
LOCAL.CEPSTRINGzipCode (estabelec.cep)
LOCAL.BAIRROSTRINGdistrict (estabelec.bairro) 
LOCAL.DOCUMENTOIDENTIFICAOSTRINGcnpj (estabelec.cgc)
LOCAL.INSCRICAOESTADUALSTRSTRINGINGstateRegistration (estabelec.ins-estadual)
LOCAL.INSCRICAOMUNICIPALSTRINGcityRegistration (estabelec.ins-municipal)
LOCAL.IDUNIDADEFEDERATIVAINTEGER state (estabelec.estado)
UNIDADEFEDERATIVA.IDPAISINTEGER 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 TIPODATASUL
GRUPOPRODUTO.CODIGOSTRINGcode (grup-estoque.ge-codigo)
GRUPOPRODUTO.CODIGOERPSTRINGcode (grup-estoque.ge-codigo)
GRUPOPRODUTO.DESCRICAOSTRINGdescription (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 SALESTIPODATASUL
FAMILIA.CODIGOSTRINGcode (familia.fm-codigo)
FAMILIA.CODIGOERPSTRINGcode (familia.fm-codigo)
FAMILIA.DESCRICAOSTRINGdescription (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 SALESTIPODATASUL
INDEXADOR.CODIGOERPSTRINGcurrencyCode (cotacao.mo-codigo)
INDEXADOR.DESCRICAOSTRINGcurrency.currencyDescription (moeda.descricao)
COTACAOINDEXADOR.DATADATEyearPeriod + dayQuote (cotacao.ano-periodo + Não se aplica (De acordo
com o dia do mês - 31 dias)
COTACAOINDEXADOR.VALORNUMERIC(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 SALESTIPODATASUL
NOTAFISCAL.IDLOCALFILIALFATURAMENTOINTEGERsiteID (nota-fiscal.cod-estabel)
NOTAFISCAL.NUMERONOTAFISCALSTRINGnvoiceNumber (nota-fiscal.nr-nota-fis)
NOTAFISCAL.SERIESTRINGseries (nota-fiscal.serie)
NOTAFISCAL.IDNCANCELADAINTEGERcancellationDate (nota-fiscal.dt-cancela)
NOTAFISCAL.IDPARCEIROINTEGERcustomerID (nota-fiscal.cod-emitente) 
NOTAFISCAL.IDUSUARIOINTEGERmainRepresentativeName (nota-fiscal.no-ab-reppri)
NOTAFISCAL.IDCONDICAONPAGAMENTOINTEGERpaymentTerms (nota-fiscal.cod-cond-pag)
NOTAFISCAL.IDPARCEIROTRANSPORTADORAINTEGERcarrierName (nota-fiscal.nome-transp)
NOTAFISCAL.DATAEMISSAODATEprintDate (nota-fiscal.dt-emis-nota)
NOTAFISCAL.VALORFRETENUMERIC(18,6)freightValue (nota-fiscal.vl-frete) 
NOTAFISCALPRODUTO.CODIGOPRODUTOINTEGERinvoiceItem.itemCode + invoiceItem.reference
(it-nota-fisc.it-codigo + it-nota-fisc.cod-refer)
NOTAFISCALPRODUTO.QUANTIDADEFATURADANUMERIC(18,6)invoiceItem.internalQuantity (it-nota-fisc.qt-faturada[1])
NOTAFISCALPRODUTO.VALORUNITARIONUMERIC(18,6)invoiceItem.netPrice (it-nota-fisc.vl-preuni)
NOTAFISCALPRODUTO.VALORTOTALITEMNUMERIC(18,6)invoiceItem.itemTotalAmount (it-nota-fisc.vl-tot-item)
NOTAFISCALPRODUTO.VALORSEGURONUMERIC(18,6)invoiceItem.insuranceValue (it-nota-fisc.baixa-estoq)
NOTAFISCALPRODUTO.VALORDESPESANUMERIC(18,6)invoiceItem.expenseValue (it-nota-fisc.vl-despes-it) 
NOTAFISCALPRODUTO.ALIQUOTAIPINUMERIC(18,6)invoiceItemTax.ipiTaxPercent (it-nota-fisc.aliquota-ipi)
NOTAFISCALPRODUTO.VALORIPI NUMERIC(18,6)invoiceItemTax.vlIpiIt (it-nota-fisc.vl-ipi-it)
NOTAFISCALPRODUTO.ALIQUOTAICMSNUMERIC(18,6)invoiceItemTaxC.icmsTaxPercent (it-nota-fisc.aliquotaicm)
NOTAFISCALPRODUTO.BASEICMS NUMERIC(18,6)invoiceItemTax.vlBicmsIt (it-nota-fisc.vl-bicms-it)
NOTAFISCALPRODUTO.VALORICMSNUMERIC(18,6) invoiceItemTax.vlIcmsIt (it-nota-fisc.vl-icms-it)
NOTAFISCALPRODUTO.VALORIRRFNUMERIC(18,6)invoiceItemTax.vlIrfIt (it-nota-fisc.vl-irf-it)
NOTAFISCALPRODUTO.ALIQUOTAISSNUMERIC(18,6)invoiceItemTax.issTaxPercent (it-nota-fisc.aliquota-iss)
NOTAFISCALPRODUTO.BASEISSNUMERIC(18,6)invoiceItemTax.vlBissIt (it-nota-fisc.vl-biss-it)
NOTAFISCALPRODUTO.VALORISSNUMERIC(18,6) invoiceItemTax.vlIssIt (it-nota-fisc.vl-iss-it)
NOTAFISCALPRODUTP.ALIQUOTACSLLNUMERIC(18,6) invoiceItemTax.percRetCsll (vazio)
NOTAFISCALPRODUTO.BASECSLLNUMERIC(18,6) invoiceItemTax.vlBissIt (it-nota-fisc.vl-biss-it)
NOTAFISCALPRODUTO.VALORCLSSNUMERIC(18,6)invoiceItemTax.vlIcmsubIt (it-nota-fisc.vl-icmsub-it)
NOTAFISCALPRODUTO.ALIQUOTAPISNUMERIC(18,6)invoiceItemTax.pisTaxPercent (vazio) 
NOTAFISCALPRODUTO.BASEPISNUMERIC(18,6)) invoiceItemTax.vlBPis (vazio)
NOTAFISCALPRODUTO.VALORPISNUMERIC(18,6)invoiceItemTax.vlPis (vazio)
NOTAFISCALPRODUTO.ALIQUOTACOFINSNUMERIC(18,6) invoiceItemTax.cofinsTaxPercent (vazio)
NOTAFISCALPRODUTO.BASECOFINSNUMERIC(18,6)nvoiceItemTax.vlBCofins (vazio) 
NOTAFISCALPRODUTO.VALORSTNUMERIC(18,6)invoiceItemTax.vlIcmsubIt (it-nota-fisc.vl-icmsub-it)
NOTAFISCALPRODUTO.IDPEDIDOINTEGERcustomerOrderNumber (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 SALESTIPODATASUL
NOTAFISCAL.IDLOCALFILIALFATURAMENTO IINTEGERsiteCode (devol-cli.cod-estabel)
NOTAFISCAL.NUMERONOTAFISCALSTRINGreturnInvoiceNumber (devol-cli.nro-docto)
NOTAFISCAL.SERIESTRINGreturnInvoiceSeries (devol-cli.serie-docto)
NOTAFISCALPRODUTO.IDPRODUTOINTEGERproductCode + referenceCode
(devol-cli.it-codigo + devol-cli.cod-refer)
NOTAFISCAL.IDPARCEIROINTEGERcustomerCode (devol-cli.cod-emitente)
NOTAFSICAL.DATAEMISSAODATEreturnDate (devol-cli.dt-devol)
NOTAFISCAL.QUANTIDADEFATURADANUMERIC(18,6) returnQty (devol-cli.qt-devolvida)
NOTAFISCAL.VALORFATURADONUMERIC(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 SALESTIPODATASUL
PEDIDO.IDLOCALFILIALFATURAMENTOINTEGERbranchId (ped-venda.cod-estabel)
PEDIDO.NUMPEDIDOERPSTRING orderId (ped-venda.nr-pedcli)
PEDIDO.NUMEROPEDIDOCLIENTESTRING customerOrderId (ped-venda.nr-pedcli)
PEDIDO.IDPARCEIROINTEGERcustomerCode (ped-venda.cod-emitente)
PEDIDOENTREGA.IDPARCEIROTRANSPORTADORINTEGERcodeCarrier (transporte.cod-transp) 
PEDIDO.IDCONDICAOPAGAMENTOINTEGERpaymentTerms (ped-venda.cod-cond-pag)
PEDIDO.IDTABELAPRECOINTEGERpriceTableOrder (ped-venda.nr-tabpre)
PEDIDO.IDUSUARIO,
PEDIDO.IDUSUARIOPROFISSIONAL
INTEGERrepresentativeShortName (ped-venda.no-ab-reppri)
PEDIDO.DATAPEDIDODATE emissionDate (ped-venda.dt-emissao) 
PEDIDO.IDTIPOSITUACAOPEDIDOINTEGERorderSituation (ped-venda.cod-sit-ped) 
PEDIDOPRODUTO.IDPRODUTOINTEGERorderItems.itemCode + orderItems.referenceCode
(ped-item.it-codigo + ped-item.cod-refer) 
PEDIDOPRODUTO.ORDEM INTEGERorderItems.sequence (ped-item.nr-sequencia)
PEDIDOPRODUTO.QUANTIDADENUMERIC(18,6)orderItems.quantityRequested (ped-item.qt-pedida)
PEDIDOPRODUTO.PRECOVENDANUMERIC(18,6)orderItems.priceUnitary (ped-item.vl-preuni) 
PEDIDOPRODUTO.PRECOORIGINALNUMERIC(18,6)orderItems.originalPrice (ped-item.vl-preori)
PEDIDOPRODUTO.QUANTIDADEFATURADANUMERIC(18,6)orderItems.quantityAttentive (ped-item.qt-atendida)
PEDIDOPRODUTO.QUANTIDADEPENDENTENUMERIC(18,6)orderItems.quantityPending (ped-item.qt-pendente)
PEDIDOENTREGA.DATAENTREGADATE orderItems.delireryDate (ped-item.dt-entrega) 
PEDIDO.OBSERVACAOPEDIDOSTRING Comments (ped-venda.observacoes)
PEDIDOPRODUTO.IDTIPOSITPEDPRODUTOINTEGERorderItems.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 SALESTIPODATASUL
PRODUTO.CODIGOPRODUTOSTRINGproductCode +
productReferences.referenceCode
(item.it-codig + ref-item.cod-refer)
PRODUTO.DESCRICAOSTRINGproductDescription (item.desc-item) 
PRODUTO.IDUNIDADEMEDIDAPADRAO,
PRODUTO.IDUNIDADEMEDIDAVENDA
INTEGERmeasureUnit (item.un)
PRODUTO.IDGRUPOPRODUTOINTEGERInventoryGroup (item.ge-codigo)
PRODUTOEMBALAGEM.FATOREMBALAGEMPADRAO,
PRODUTOEMBALAGEM.FATOREMBALAGEM
NUMERIC(18,6) ConversionFactor (item.ft-conversao)
PRODUTO.CODIGOADICIONALSTRINGaltComponent[0].componentCode (alternativo.escodigo) 
PRODUTO.PESOMINIMONUMERIC(18,6) netWeight (item.peso-liquido)
PRODUTO.PESOMAXIMONUMERIC(18,6) grossWeight (item.peso-bruto)
PRODUTO.CODIGODEBARRASTRINGproductSite[0].EANCode (ref-item.cod-ean)
PRODUTO.IDNATIVOINTEGERObsolete (item-uni-estab.cod-obsoleto)
PRODUTO.PRECOCUSTONUMERIC(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.IDLOCALFILIALINTEGERproductSite.siteCode


2.14 SituacaoPedido

A entidade situacaopedido do TOTVS SFA conta com valores fixos.

MASTER SALESTIPOVALORES
SITUACAOPEDIDO.CODIGOERPSTRING1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 
DESCRICAOSTRINGABERTO ; ATENDIDO PARCIAL ; ATENDIDO TOTAL ; PENDENTE ;
SUSPENSO ; CANCELADO ; FATUR BALCAO
SGLTIPOSITUACAOPEDIDOSTRINGPA; 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 SALESTIPODATASUL
TABELAPRECO.CODIGO,
TABELAPRECO.CODIGOERP
STRINGpriceTableCode (tb-preco.nr-tabpre)
TABELAPRECO.DESCRICAOSTRINGpriceTableDescription (tb-preco.descricao)
TABELAPRECO.DATAINICIOVIGENCIADATEstartDate (tb-preco.dt-inival)
TABELAPRECO.DATAFIMVIGENCIADATEendDate (tb-preco.dt-fimval) 
TABELAPRECO.IDINDEXADORINTEGERCurrencyCode (tb-preco.mo-codigo)
TABELAPRECOPRODUTO.IDNATIVOINTEGERstatus