...
O manual de configuração da API Nativa está disponível aqui: PROTHEUS - API Nativa - Manual de Configurações
...
A documentação das rotas EAI estão aqui: Documentação de Order e CustomerVendor PROTHEUS - API Nativa - [Exportação] Adicionar/reescrever campos customizados em Pedido e Cliente
Método de requisição: POST/PUT
...
...
São elas: TIPOFRETE, TIPOIDENTIFICACAO, CLASSIFICACAOPARCEIRO, TIPOSITPEDIDOPRODUTO, TIPOSITUACAOPEDIDO, PERFILACESSO, TIPOPARCEIRO, TIPOLIMITECREDITO, TIPOLOCAL e TIPOBLOQUEIO
IMPORTANTE: Todos essas entidades fixas são somente inseridas, ou seja, a atualização só será possivel via tela do SFA (caso possua) ou via banco de dados.
Agora vamos conferir cada uma e seus dados fixos:
...
TOTVS CRM | SFA | Protheus | Tipo TOTVS CRM | SFA | Obrigatório | |
1 | TIPOPEDIDO.IDNATIVO | 1 | int2 | SIM |
2 | TIPOPEDIDO.DESCRICAO | F4_TEXTO | varchar(80) | |
3 | TIPOPEDIDO.IDNDISPONIVELPARAPEDIDO | 1 | int2 | |
4 | TIPOPEDIDO.IDNCONSOMEFLEXINTEGRAL | 0 | int2 | SIM |
5 | TIPOPEDIDO.SGLTIPOPEDIDO | CASE WHEN F4_TEXTO LIKE DEV THEN TPD WHEN F4_TEXTO LIKE REM THEN TPRM WHEN F4_TEXTO LIKE VEN THEN TPN WHEN F4_TEXTO LIKE BON THEN TPB END | varchar(10) | |
6 | TIPOPEDIDO.IDNREQUERVENDEDOR | 0 | int2 | |
7 | TIPOPEDIDO.IDNPADRAO | 0 | int2 | |
8 | TIPOPEDIDO.IDNASSINATURAOBRIGATORIA | 0 | int2 | SIM |
| 9 | TIPOPEDIDO.CODIGO | F4_CODIGO | varchar(20) | |
| 10 | TIPOPEDIDO.SGLTIPOTES | PAD | varchar(10) | |
| 11 | TIPOPEDIDO.IDNMOVIMENTAFLEX | 0 | int2 | SIM |
| 12 | TIPOPEDIDO.IDNDUPLICATA | CASE WHEN F4_DUPLIC TEXTO <> NULL AND F4_DUPLIC = S THEN 1 ELSE 0 END | int2 | |
| 13 | TIPOPEDIDO.CODIGOERP | EMPRESA#F4_CODIGO#COALESCE(F4_FILIAL,'SF') | varchar(80) | |
14 | OPERACAOTIPOPEDIDO.IDOPERACAO | TIPO_PE#ERP | int8 | SIM |
| 15 | OPERACAOTIPOPEDIDO.IDTIPOPEDIDO | EMPRESA#F4_CODIGO#COALESCE(F4_FILIAL,'SF') | int8 | SIM |
| 16 | OPERACAOTIPOPEDIDO.IDLOCALFILIAL | EMP#EMPRESA#F4_FILIAL | int8 | SIM |
| 17 | OPERACAOTIPOPEDIDO.CODIGOERP | EMP#PAD#EMPRESA#F4_FILIAL#F4_CODIGO | varchar(80) | SIM |
...
TOTVS CRM | SFA | Protheus | Tipo TOTVS CRM | SFA | Obrigatório | |
1 | TABELAPRECO.IDNCALCULOANTECIPACAO | 0 | int2 | SIM |
2 | TABELAPRECO.CODIGO | DA0_CODTAB | varchar(80) | |
3 | TABELAPRECO.CODIGOERP | EMPRESA#DA0_CODTAB#COALESCE(DA0_FILIAL,'SF') | varchar(80) | SIM |
4 | TABELAPRECO.DESCRICAO | DA0_CODTAB - DA0_DESCRI | varchar(80) | SIM |
5 | TABELAPRECO.DATAFIMVIGENCIA | DA0_DATATE | date | |
6 | TABELAPRECO.IDNLISTAPEDIDO | 1 | int2 | SIM |
7 | TABELAPRECO.IDNATIVO | 1 | int2 | SIM |
8 | TABELAPRECO.IDNDISPPRIMEIROPEDIDO | 0 | int2 | SIM |
| 9 | TABELAPRECO.DATAINICIOVIGENCIA | DA0_DATDE | date | |
| 10 | TABELAPRECO.PERCJUROSDATABASE | numeric(18, 6) | ||
| 11 | TABELAPRECOCONDICAOPAGTO.IDTABELAPRECO | EMPRESA#DA0_CODTAB#COALESCE(DA0_FILIAL,'SF') | int8 | SIM | 11
| 12 | TABELAPRECOCONDICAOPAGTO.IDCONDICAOPAGAMENTO | EMPRESA#DA0_CONDPAG#COALESCE(DA0_FILIAL,'SF') | int8 | SIM | 12
| 13 | TABELAPRECOCONDICAOPAGTO.CODIGOERP | EMPRESA#IDTABELAPRECO#IDCONDICAOPAGAMENTO | varchar(80) | SIM | 13
| 14 | LOCALTABELAPRECO.IDNPADRAO | 0 | int2 | SIM | 14
| 15 | LOCALTABELAPRECO.CODIGOERP | EMPRESA#IDTABELAPRECO#IDLOCALFILIAL#TAB | varchar(80) | SIM | 15
| 16 | LOCALTABELAPRECO.IDTABELAPRECO | EMPRESA#DA0_CODTAB#COALESCE(DA0_FILIAL,'SF') | int8 | SIM | 16
| 17 | LOCALTABELAPRECO.IDLOCALFILIAL | EMP#EMPRESA#DA0_FILIAL | int8 | SIM |
Retorna o cadastro da tabela de preço do produto do Protheus na tabela DA1.
Filtro Padrão: DA1_PRCVEN > 0 PRCVEN>0 AND DA1_ATIVO = ATIVO<>'12'
TOTVS CRM | SFA | Protheus | Tipo TOTVS CRM | SFA | Obrigatório | |
1 | IDNCALCULOANTECIPACAO | 0 | int2 | SIM |
2 | IDNUTILIZALOTE | 0 | int2 | SIM |
3 | IDNPRECOFIXO | 0 | int2 | SIM |
4 | DESCONTO | DA1_VLRDES | numeric(18, 6) | |
5 | PRECOMINIMO | DA1_PRCVEN | numeric(18, 6) | |
6 | PRECOMAXIMO | DA1_PRCMAX | numeric(18, 6) | |
7 | IDUNIDADEFEDERATIVA | DA1_ESTADO | int8 | |
8 | PRECO | DA1_PRCVEN | numeric(18, 6) | SIM |
9 | IDPRODUTO | EMPRESA#DA1_CODPRO#COALESCE(DA1_FILIAL,'SF') | int8 | SIM |
10 | IDTABELAPRECO | EMPRESA#DA1_CODTAB#COALESCE(DA1_FILIAL,'SF') | int8 | SIM |
11 | IDLOCALFILIAL | EMP#EMPRESA#DA1_FILIAL | int8 | |
12 | IDGRUPOPRODUTO | DA1_GRUPO | int8 | |
13 | DATAFIMVIGENCIA | 2099-01-01 | date | |
14 | DATAINICIOVIGENCIA | DA1_DATVIG | date | |
15 | PRECOCUSTO | CASE WHEN TABELAPRECOPRODUTO.PRECOCUSTO IS NULL THEN Busca em SB1 para retornar B1_CUSTD ELSE TABELAPRECOPRODUTO.PRECOCUSTO END | numeric(18, 6) | |
16 | FAIXAESCALONAMENTOMINIMO | ESCALONA DA1_QTDLOT | numeric(18, 6) | |
| 17 | FAIXAESCALONAMENTOMAXIMO | ESCALONA DA1_QTDLOT | numeric(18, 6) | |
| 18 | CODIGOERP | EMPRESA# IDTABELAPRECO#IDPRODUTO# COALESCE(IDLOCALFILIAL,'SF')# COALESCE(IDGRUPOPRODUTO,'SG')# COALESCE(IDUNIDADEFEDERATIVA,'SU')# ORDEM | varchar(80) | SIM |
| 19 | PRECOFLEX | DA1_PRCVEN | numeric(18, 6) | |
| 20 | VALORFRETE | DA1_FRETE | numeric(18, 6) | |
| 21 | DATABASEPRECO | NULL | date | |
| 22 | PERCENTUALRENTABILIDADE | NULL | numeric(18, 6) | |
| 23 | PERCENTUALRENTMINIMO | NULL | numeric(18, 6) |
Retorna o cadastro da tabela de preço vinculado ao local no protheus na tabela SA1 e DA0
...
TOTVS CRM | SFA | Protheus | Tipo TOTVS CRM | SFA | Obrigatório | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1 | IDNPEDIDOLIDO | 1 | int8 | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | IDNEXPORTADOERP | 1 | int8 | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3 | NUMEROPEDIDO | Se o pedido for do ERP então C5_NUM Se o pedido for do SFA então mantém pedido.numeropedido | varchar(80) | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4 | NUMEROPEDIDOERP | C5_NUM | varchar(80) | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5 | SGLORIGEMPEDIDO | Se o pedido for do ERP então ERP Se o pedido for do SFA então mantém pedido.sglorigempedido | varchar(10) | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 6 | HORATRANSMISSAO | Hora corrente | varchar(8) | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7 | OBSERVACAONOTAFISCAL | C5_MENNOTA | varchar(4000) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 8 | DATATRANSMISSAO | Data corrente | date | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9 | DATAPEDIDO | C5_EMISSAO | date | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10 | IDLOCALFILIALFATURAMENTO | EMP#EMPRESA#C5_FILIAL | int8 | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 11 | IDTABELAPRECO | EMPRESA#C5_TABELA#COALESCE(C5_FILIAL,'SF') | int8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 12 | IDCONDICAOPAGAMENTO | EMPRESA#C5_CONDPAG#COALESCE(C5_FILIAL,'SF') | int8 | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 13 | IDTIPOSITUACAOPEDIDO |
Quando: C5_NOTA = “VAZIO” AND C5_SERIE = “VAZIO” AND C6_QTDENT = 0 AND C6_NOTA = “VAZIO” AND C6_BLQ = “VAZIO” AND C5_LIBEROK = “VAZIO” AND C5_BLQ = “VAZIO” Então o pedido está : PEDIDO EM ABERTO
Nível item: C6_QTDENT = “VAZIO” OR C6_QTDENT = 0 AND C6_NOTA = “VAZIO” AND C6_BLQ = “VAZIO” AND C5_LIBEROK = “VAZIO” Então o item está : EM ABERTO
Quando: C5_NOTA = “VAZIO” AND C5_SERIE = “VAZIO” AND C6_QTDENT = 0 AND C6_NOTA = “VAZIO” AND C6_BLQ = “VAZIO” AND C5_LIBEROK = S; Então o pedido está : PEDIDO LIBERADO
Nível item: C6_QTDENT = “VAZIO” OR C6_QTDENT = 0 AND C6_NOTA = “VAZIO” AND C6_BLQ = “VAZIO” AND AND C5_LIBEROK = S; Então o item está : ITEM LIBERADO
Quando: C5_NOTA = “Número NF” AND C5_SERIE = “Número série NF” AND C6_QTDVEN = C6_QTDENT AND C6_NOTA = “Número nota fiscal” AND C6_BLQ = “VAZIO” “VAZIO” AND C5_LIBEROK = "S" Então o pedido está : PEDIDO ENCERRADO / FATURAMENTO TOTAL
Nível item: C6_QTDENT = C6_QTDVEN AND AND C6_NOTA = “Número NF” AND C6_BLQ = “VAZIO” Então o item está : FATURADO
Quando: C5_NOTA = ‘XXXXXXXXX’ OR ‘XXXXXX’ AND C5_SERIE = “VAZIO” OR C5_SERIE = ‘XX’ AND C6_QTDVEN >= C6_QTDENT AND C6_NOTA = “VAZIO” AND C6_BLQ = R Então o pedido está : PEDIDO CANCELADO / ELIMINADO RESIDUO (TOTAL)
Nível item: C6_QTDVEN > C6_QTDENT AND C6_NOTA = “VAZIO” AND C6_BLQ = R Então o item está : ITEM CANCELADO
Quando: C5_NOTA = “VAZIO” AND C5_SERIE = “VAZIO” AND C6_QTDVEN > C6_QTDENT AND C5_BLQ = “VAZIO” AND C6_BLQ = “VAZIO” Então o pedido está : PEDIDO EM ABERTO / FATURAMENTO PARCIAL
Nível item: C6_QTDVEN > C6_QTDENT AND C6_NOTA = “Número NF” Então o item está : ITEM PARCIALMENTE FATURADO
Quando: C5_NOTA = = ‘XXXXXXXXX’ OR ‘XXXXXX’ AND C5_SERIE = “VAZIO” AND C6_QTDVEN <> C6_QTDENT AND C6_NOTA = “Numero nota fiscal” AND C6_BLQ = R (quando um item ) e caso tenha mais itens com o campo C6_BLQ = “VAZIO” ou preenchido Então o pedido está : PEDIDO ENCERRADO COM FATURAMENTO PARCIAL
Nível item: C6_QTDVEN > C6_QTDENT AND C6_NOTA = “Número nota fiscal” Então o item está : ITEM PARCIALMENTE FATURADO
Pedido Deletado no Protheus: SC5 CAMPO R_E_C_D_E_L_ > 0 Então o pedido está : PEDIDO CANCELADO
Item Deletado no Protheus: Para esse caso pode acontecer em qualquer situação acima um item pode ser deletado a qualquer momento então, ele pode cair em um pedido faturado parcial. SC6 CAMPO R_E_C_D_E_L_ > 0 Então o item está : ITEM DELETADO PROTHEUS
Quando: C5_NOTA = “VAZIO” AND C5_SERIE = “VAZIO” AND C6_QTDENT = 0 AND C6_NOTA = “VAZIO” AND (C6_BLQ = “VAZIO” OR C6_BLQ = 1) AND C5_BLQ = 1 Então o pedido está : PEDIDO COM BLOQUEIO DE REGRA
Nível item: C6_QTDENT = “VAZIO” OR C6_QTDENT = 0 AND C6_NOTA = “VAZIO” AND C6_BLQ = “1” AND C5_BLQ = 1; Então o item está : BLOQUEADO
Quando: C5_NOTA = “VAZIO” AND C5_SERIE = “VAZIO” AND C6_QTDENT = 0 AND C6_NOTA = “VAZIO” AND C6_BLQ = “VAZIO” OR C6_BLQ = 2 AND C5_BLQ 2; Então o pedido está : PEDIDO COM BLOQUEIO DE VERBA
Nível item: C6_QTDENT = “VAZIO” OR C6_QTDENT = 0 AND C6_NOTA = “VAZIO” AND C6_BLQ = “2” AND C5_BLQ = 2 OR C6_BLOQUEI = 2; Então o item está : BLOQUEADO VERBA
A regra foi baseada na regra do Protheus:
Situações de pedidos:
Situações itens:
Situação conforme escopo: https://docs.google.com/document/d/1bS-V1ezHPIVGO_-CQVAoinPOxmGoqgJw/edit# | int8 | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14 | IDLOCALFILIALVENDA | EMP#EMPRESA#C5_FILIAL | int8 | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 15 | IDLOCAL | PRI#EMPRESA#C5_CLIENTE#C5_LOJACLI#COALESCE(C5_FILIAL,'SF') | int8 | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 16 | IDPARCEIRO | EMPRESA#C5_CLIENTE#C5_LOJACLI#COALESCE(C5_FILIAL,'SF') | int8 | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 17 | IDUSUARIO | EMPRESA#C5_VEND1#COALESCE(C5_FILIAL,'SF') | int8 | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 18 | IDUSUARIOPROFISSIONAL | EMPRESA#C5_VEND1#COALESCE(C5_FILIAL,'SF') | int8 | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 19 | CODIGOERP | EMPRESA#C5_FILIAL#C5_NUM | varchar(80) | SIM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 20 | OBSERVACAOPEDIDO | Default vazio mas é parametrizável | varchar(4000) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 21 | IDTIPOESTOQUE | O dado vem da SC6, porém retorna-se apenas o primeiro valor de: EMPRESA#C6_LOCAL#COALESCE(C6_FILIAL,'SF') | int8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 22 | NUMERONOTAFISCALORIGEM | C5_NOTA | varchar(80) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 23 | DATAPREVISTAFATURA | Default vazio mas é parametrizável | date | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24 | NUMEROPEDIDOCLIENTE | Default vazio mas é parametrizável | varchar(80) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25 | OBSERVACAOSITUACAO | Default vazio mas é parametrizável | varchar(4000) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 26 | SITADICIONALPEDIDO | Default vazio mas é parametrizável | varchar(80) |
PEDIDOPRODUTO:
TOTVS CRM | SFA | Protheus | Tipo TOTVS CRM | SFA | Obrigatório | |
| 1 | IDPRODUTO | EMPRESA#C6_PRODUTO#COALESCE(C6_FILIAL,'SF') | int8 | SIM |
| 2 | QUANTIDADE | C6_QTDVEN | numeric(18,6) | |
| 3 | QUANTIDADEFATURADA | C6_QTDENT | numeric(18,6) | |
| 4 | QUANTIDADEPENDENTE | C6_QTDEMP | numeric(18,6) | |
| 5 | PRECOORIGINAL | C6_PRUNIT | numeric(18,6) | |
| 6 | PRECOVENDA | C6_PRCVEN | numeric(18,6) | |
| 7 | PRECOFATURADO | C6_PRCVEN | numeric(18,6) | |
| 8 | IDPEDIDO | EMPRESA#C6_FILIAL#C6_NUM | int8 | SIM |
| 9 | IDTIPOPEDIDO | EMPRESA#C6_TES#COALESCE(C6_FILIAL,'SF') | int8 | |
| 10 | ORDEM | C6_ITEM | int8 | |
| 11 | PRECOCUSTO | Default vazio mas é parametrizável | numeric(18,6) | |
| 12 | DATAFATURAMENTO | C6_DATFAT | date | |
| 13 | DATASITUACAO | C6_ENTREG | date | |
| 14 | IDTABELAPRECO | EMPRESA#C5_TABELA#COALESCE(C5_FILIAL,'SF') | int8 | |
| 15 | VALORTOTALBRUTO | C6_VALOR | int8 | |
| 16 | VALORTOTALLIQUIDO | C6_VALOR | int8 | |
| 17 | IDTIPOSITPEDIDOPRODUTO | Situação conforme escopo: https://docs.google.com/document/d/1bS-V1ezHPIVGO_-CQVAoinPOxmGoqgJw/edit# | int8 | SIM |
| 18 | CODIGOERP | EMPRESA#C6_FILIAL#C6_NUM#C6_PRODUTO#C6_ITEM | varchar(80) | SIM |
| 19 | PRECOSUGERIDO | C6_PRUNIT | numeric(18,6) | |
| 20 | IDTIPOESTOQUE | EMPRESA#C6_LOCAL#COALESCE(C6_FILIAL,'SF') | int8 | |
| 21 | IDEMBALAGEM | C6_SEGUM | int8 | |
| 22 | QUANTIDADEEMBALAGEM | C6_UNSVEN | numeric(18,6) | |
| 23 | DATAENTREGA | C6_ENTREG | date | |
| 24 | PRECOTABELA | Se o pedido for do ERP, então C6_PRUNIT senão mantém o dado criado pela aplicação | numeric(18,6) | |
| 25 | PERCENTUALDESCONTO | C6_DESCONT | numeric(18,6) | |
| 26 | PRECOMINIMO | Default vazio mas é parametrizável | numeric(18,6) | |
| 27 | PRECOMAXIMO | Default vazio mas é parametrizável | numeric(18,6) |
...
TOTVS CRM | SFA | Protheus | Tipo TOTVS CRM | SFA | Obrigatório | |
| 1 | IDNCANCELADA | 0 | int8 | |
| 2 | NUMERONOTAFISCAL | F1_DOC | varchar(80) | |
| 3 | SERIE | F1_SERIE | varchar(20) | |
| 4 | HORAATUALIZACAO | F1_HORA | varchar(8) | |
| 5 | DATAEMISSAO | F1_DTDIGIT | date | |
| 6 | VALORFATURADO | F1_VALMERC | numeric(18,6) | |
| 7 | IDLOCAL | PRI#EMPRESA#F1_FORNECE#F1_LOJA | int8(80) | SIM |
| 8 | IDPARCEIRO | EMPRESA#F1_FORNECE#F1_LOJA | int8 | SIM |
| 9 | IDTIPONOTAFISCAL | F1_TIPO | int8 | |
| 10 | IDLOCALFILIALFATURAMENTO | EMP#EMPRESA#F1_FILIAL | int8 | |
| 11 | IDLOCALFILIALRETIRADA | EMP#EMPRESA#F1_FILIAL | int8 | |
| 12 | IDLOCALFILIALVENDA | EMP#EMPRESA#F1_FILIAL | int8 | |
| 13 | CODIGOERP | DEV#EMPRESA#F1_FILIAL#F1_DOC#F1_SERIE#F1_FORNECE#F1_DTDIGIT#F1_TIPO | varchar(80) | SIM |
| 14 | DATAATUALIZACAO | F1_EMISSAO | date | |
| 15 | IDCONDICAOPAGAMENTO | EMPRESA#F1_COND#COALESCE(F1_FILIAL,'SF') | int8 | |
| 16 | VALORFRETE | F1_FRETE | numeric(18,6) | |
| 17 | VALORSEGURO | F1_SEGURO | numeric(18,6) | |
| 18 | IDTRANSPORTADORAIDPARCEIROTRANSPORTADORA | F1_TRANSP | int8 |
NOTAFISCALPRODUTO ENTRADA (SD1):
...