...
O cadastro de adapters são rotinas responsáveis por realizar o processamento das mensagens enviadas e recebidas, possibilitando a inclusão, alteração e exclusão do adapter no Protheus.
Pré-requisitos:
- Para realizar o cadastro/configuração do adapter é necessário ter uma ROTA cadastrada, para cadastrá-la acesse o link: Cadastro de Rotas EAI.
...
Obs.: Recomendado se o cliente estiver em produção fazer o cadastro dos Adapters todos como Envia e Recebe "Não" e ir ativando eles conforme for fazendo as cargas de pré-requisito.
Adapter | Rotina Protheus | Mensagem Única | Mensagem¹ | Descrição¹ | Envia | Recebe | Método Protheus | Operação | Condição de envio | Canal de Envio | Alias | ***Versão |
Alias * |
Whois Mensagem Única | APCFG060 | 1 - Sim | WHOIS | WHOIS MENSAGEM UNICA | Sim | Sim | Síncrono | Todas |
| 2 - EAI - REST |
1.000 |
|
| XML |
|
Cadastro de filiais | APCFG230 | 1 - Sim | BRANCH | FILIAIS | Sim | Não | Assíncrono | Todas |
| 3 – EAI – PAD. APP. |
2.001 |
|
| JSON | TOTVSCRM |
Cadastro Unidade de Medida | QIEA030 | 1 - Sim | UNITOFMEASURE | UNIDADE DE MEDIDA | Sim | Não | Assíncrono | Todas |
| 3 – EAI – PAD. APP. |
2.002 |
|
| JSON | TOTVSCRM |
Cadastro Grupo de Produtos | MATA035 | 1 - Sim |
FAMILYSTOCKGROUP | GRUPO DE PRODUTOS | Sim | Não | Assíncrono | Todas |
| 3 – EAI – PAD. APP. |
2.002 |
|
| JSON | TOTVSCRM |
Cadastro Transportadora ² | MATA050 | 1 - Sim | CARRIER | TRANSPORTADORA | Sim | Não | Assíncrono | Todas |
| 3 – EAI – PAD. APP. |
1.000XML | TOTVSCRM |
Cadastro Condição de Pagamento | MATA360 | 1 - Sim |
MATA360PAYMENTCONDITION | CONDICAO DE PAGAMENTO | Sim | Não | Assíncrono | Todas |
| 3 – EAI – PAD. APP |
.2000 |
|
| JSON | TOTVSCRM |
Cadastro de Vendedor | MATA040 | 1 - Sim | SELLER | VENDEDOR | Sim | Não | Assíncrono | Todas |
| 3 – EAI – PAD. APP |
.2001 |
|
| JSON | TOTVSCRM |
Cadastro de Produto | MATA010 | 1 - Sim | ITEM | PRODUTO | Sim | Sim | Assíncrono | Todas |
| 3 – EAI – PAD. APP. |
4.005 |
|
| JSON | TOTVSCRM |
Cadastro de Tabela de Preço | OMSA010 | 1 - Sim | PRICELISTHEADERITEM | TABELA DE PRECO | Sim | Não | Assíncrono | Todas |
| 3 – EAI – PAD. APP |
.2001 |
|
| JSON | TOTVSCRM |
Cadastro de Cliente/Fornecedor | MATA030 / CRMA980 ** | 1 - Sim | CUSTOMERVENDOR | CLIENTE/FORNECEDOR | Sim | Sim | Assíncrono | Todas |
| 3 – EAI – PAD. APP |
.2005 |
|
| JSON | TOTVSCRM |
Pedido de Venda Faturamento | MATA410 | 1 - Sim | ORDER | PEDIDO DE VENDA |
SimNão | Sim | Assíncrono | Todas |
| 3 – EAI – PAD. APP |
.4003 |
|
| JSON | TOTVSCRM |
Cadastro de Cotação de Moeda | MATA090 | 1 - Sim | CURRENCYQUOTE | COTACAO DE MOEDA | Sim | Não | Assíncrono | Todas |
| 3 – EAI – PAD. APP. |
1.001 |
|
| JSON | TOTVSCRM |
Saldo de Produto | MATA225 | 1 - Sim | STOCKLEVEL | SALDO DE ESTOQUE | Sim | Não | Assíncrono | Todas |
| 3 – EAI – PAD. APP. |
4.003 | SB2 |
| JSON | TOTVSCRM |
Rastreabilidade de Pedido ³ | MATA410B | 1 - Sim | DOCUMENTTRACEABILITYORDER | RASTREABILIDADE DE PEDIDO | Sim | Não | Assíncrono | Todas | RTRIM(SC5->C5_ORIGEM) = 'MSGEAI' | 3 – EAI – PAD. APP. |
4.003 | Aviso |
---|
Importante: MATA030 / CRMA980 **: Necessário verificar o parâmetro no Protheus MV_MVCSA1, caso o parâmetro esteja como ".T." deve ser usado o adapter "CRMA980" caso esteja como ".F." deve ser usado o "MATA030". * Rota: Informar a Rota de acordo com o Cadastro de Rotas EAI. 1 - Mensagem e Descrição precisa ser colocado exatamente como está no quadro ** Versão: Manter a versão que for carrega ao incluir a Rotina no Protheus. *** 2 – Recomendado na configuração deixar tanto o “Envia” como o “Recebe” com “Não”, pois o cliente está em produção e existe uma sequência correta de cargas antes que se faça a integração de Vendedor, Produto e Cliente, deixando já ativo o diagrama começara a enviar para a integração estes cadastros com erro. 3 - Para Integração de Transportadora é necessário criar o parâmetro abaixo: | Filial: |
Nome de Var.: | MV_EAICONV |
Tipo: | 1 - Caractere |
Cont. Por: | http://ferramentaseai.totvs.com.br:8082/ |
Descrição: | Conversor XML to Json |
Image Removed
4 - Mensagem é gerada na Liberação do Pedido, para gerar a mensagem no Faturamento necessário utilizar o ponto de entrada SF2460I.PRW e na transmissão da nota SPDNFDANF.prw, segue os dois abaixo. (Caso o PE já esteja sendo utilizado acrescentar o código do PE entrada abaixo dentro do PE já utilizado)
Ponto de Entrada PI_SF2460I.PRW
Bloco de código |
---|
//-------------------------------------------------------------------
/*/{Protheus.doc} SF2460I
Ponto de entrada para enviar a mensagem documenttraceability na emissão da nota
@author Alessandro Afonso
@version P12
@since 02/02/2021
/*/
//-------------------------------------------------------------------
User Function SF2460I()
Local aAreaSF2 := SF2->(GetArea())
Local aAreaSD2 := SD2->(GetArea())
Local aAreaSC5 := SC5->(GetArea())
Local sf2doc := SF2->F2_DOC //ParamIxb[1]
Local sf2serie := SF2->F2_SERIE //ParamIxb[2]
SF2->(DbSetOrder(1))
If SF2->(DbSeek(xFilial("SF2")+sf2doc+sf2serie ) )
DbSelectArea("SD2")
SD2->(DbSetOrder(3)) //D2_FILIAL, D2_DOC, D2_SERIE
If SD2->(DbSeek(xFilial("SD2")+sf2doc+sf2serie ) )
DbSelectArea("SC5")
SC5->(DbSetOrder(1)) //C5_FILIAL+C5_NUM
If SC5->(DbSeek(xFilial("SC5")+SD2->D2_PEDIDO ) )
//Envio rastreabilidade de pedidos
If FWHasEAI("MATA410B",.T.,,.T.) .And. Alltrim(SC5->C5_ORIGEM) == 'MSGEAI'
//Verifica se é um pedido gerado pelo Loja e atualiza status do pedido (C5_STATUS)
If ExistFunc("LjxjAtStTr") .And. !Empty(SC5->C5_ORCRES)
LjxjAtStTr()
EndIf
FwIntegDef("MATA410B")
EndIf
EndIf
EndIf
EndIf
RestArea(aAreaSF2)
RestArea(aAreaSD2)
RestArea(aAreaSC5)
aSize(aAreaSF2,0)
aSize(aAreaSD2,0)
aSize(aAreaSC5,0)
Return Nil
|
Ponto de Entrada PI_SPDNFDANF.prw
Bloco de código |
#INCLUDE "PROTHEUS.CH"
//-------------------------------------------------------------------
/*/{Protheus.doc} SPDNFDANF
Ponto de entrada para enviar a mensagem documenttraceability na impressão da danfe.
@author Alessandro Afonso
@version P12
@since 02/02/2021
/*/
//-------------------------------------------------------------------
User Function SPDNFDANF()
Local aAreaSF2 := SF2->(GetArea())
Local aAreaSD2 := SD2->(GetArea())
Local aAreaSC5 := SC5->(GetArea())
Local sf2doc := ParamIxb[1]
Local sf2serie := ParamIxb[2]
SF2->(DbSetOrder(1))
If SF2->(DbSeek(xFilial("SF2")+sf2doc+sf2serie ) )
DbSelectArea("SD2")
SD2->(DbSetOrder(3)) //D2_FILIAL, D2_DOC, D2_SERIE
If SD2->(DbSeek(xFilial("SD2")+sf2doc+sf2serie ) )
DbSelectArea("SC5")
SC5->(DbSetOrder(1)) //C5_FILIAL+C5_NUM
If SC5->(DbSeek(xFilial("SC5")+SD2->D2_PEDIDO ) )
//Envio rastreabilidade de pedidos
If FWHasEAI("MATA410B",.T.,,.T.) .And. Alltrim(SC5->C5_ORIGEM) == 'MSGEAI'
//Verifica se é um pedido gerado pelo Loja e atualiza status do pedido (C5_STATUS)
If ExistFunc("LjxjAtStTr") .And. !Empty(SC5->C5_ORCRES)
LjxjAtStTr()
EndIf
FwIntegDef("MATA410B")
EndIf
EndIf
EndIf
EndIf
RestArea(aAreaSF2)
RestArea(aAreaSD2)
RestArea(aAreaSC5)
aSize(aAreaSF2,0)
aSize(aAreaSD2,0)
aSize(aAreaSC5,0)
Return
1 - Mensagem e Descrição precisa ser colocado exatamente como está no quadro
2 - Para a integração de Transportadora é necessário que o cliente esteja com o Acumulado do Faturamento atualizado superior à 15/09/2023, verificando o extrato de fontes é preciso ter o fonte MATI050O.prw com data superior à 31/05/2023.
3 - Não esquecer de colocar o filtro na condição deste adapter, pois só devem ser enviadas para integração status de pedidos que vieram da integração.