
Pré-requisitos
1) Deve ser criado um de-para para o campo Numerário do Protheus, amarrando com as formas de pagamento no Gemco (clique aqui)
2) Deve ser criado uma Natureza do tipo Sangria do lado do Protheus manualmente (clique aqui)
3) Deve ser cadastrado manualmente o de-para de operador de caixa do lado do Protheus (clique aqui)
4) Deve ser cadastrado manualmente o de-para de banco/conta (tesouraria) no Protheus. Verificar no módulo financeiro do Gemco qual banco/conta (tesouraria) é gerado o lançamento de Sangria. (clique aqui)
5) Passar para Protheus o número do caixa Gemco (no campo banco do Protheus). (clique aqui)
6) Cadastrar o adapter de sangria no Protheus. (clique aqui)
Funcionamento
Para uma sangria ser efetivada no Protheus é necessário realizar duas transações bancárias, uma de dábito e uma de crédito.
Métodos da API
GET /api/Sangria
Método de consulta dos movimentos de caixa de Sangria e enfileira no Mozart para realizar a próxima chamada enviando para Totvs EAI através da mensagem padronizada BankTransaction (https://api.totvs.com.br/msgunica/bo/Events/BANKTRANSACTION_2_000.html?nome=INTEGRA%C3%87%C3%83O%20DOS%20MOVIMENTOS%20FINANCEIROS&transacaohabilitada=)
GET /api/Sangria/GetMovimentoCaixaCentralSangria
Método de consulta dos movimentos de caixa de Sangria que precisam ser enviados para o caixa central e enfileira no Mozart para realizar a próxima chamada enviando para Totvs EAI através da mensagem padronizada BankTransaction (https://api.totvs.com.br/msgunica/bo/Events/BANKTRANSACTION_2_000.html?nome=INTEGRA%C3%87%C3%83O%20DOS%20MOVIMENTOS%20FINANCEIROS&transacaohabilitada=)
Modelo de Json de retorno
{
"data": false,
"httpStatusCode": 200,
"notifications": [],
"success": true
}
POST /api/Sangria/ToUpsertBusinessMessageResponse
Resposta do Protheus, contendo os IDs de integração
Modelo de XML de envio
https://api.totvs.com.br/msgunica/bo/Events/BANKTRANSACTION_2_000.xsd
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<receiveMessage xmlns="http://www.totvs.com/">
<inMsg><?xml version="1.0" encoding="utf-8"?><TOTVSMessage><MessageInformation version="2.001"><UUID>96d14fe5-b7e9-5d57-4337-f46cb5626ccc</UUID><Type>Response</Type><Transaction>BANKTRANSACTION</Transaction><StandardVersion>1.000</StandardVersion><SourceApplication>NBT1XC_TST40</SourceApplication><CompanyId>40</CompanyId><BranchId>0101</BranchId><Enterprise>01</Enterprise><BusinessUnit></BusinessUnit><Product name="PROTHEUS" version="12"></Product><GeneratedOn>2018-08-06T17:55:08Z</GeneratedOn><DeliveryType>Async</DeliveryType></MessageInformation><ResponseMessage><ReceivedMessage><SentBy>GEMCO</SentBy><UUID>e1d6c9e3-5251-4643-a2a8-845c5cfc9518</UUID><Event>Upsert</Event><MessageContent><![CDATA[<?xml version="1.0" encoding="utf-8"?><TOTVSMessage><MessageInformation version="2.001"> <UUID>e1d6c9e3-5251-4643-a2a8-845c5cfc9518</UUID> <Type>BusinessMessage</Type> <Transaction>BankTransaction</Transaction> <StandardVersion>2.001</StandardVersion> <SourceApplication>GEMCO</SourceApplication> <CompanyId>40</CompanyId> <BranchId>1</BranchId> <Product name="GEMCO" version="2.001" /> <GeneratedOn>06/08/2018 14:54:15</GeneratedOn> <DeliveryType>Async</DeliveryType> </MessageInformation><BusinessMessage><BusinessEvent><Entity>BankTransaction</Entity><Event>Upsert</Event><Identification><Key Name="InternalId">40|1|2|1|1|06/08/2018 00:00:00|1|1</Key></Identification></BusinessEvent><BusinessContent><CompanyId>40</CompanyId><BranchId>1</BranchId><InternalId>40|1|2|1|1|06/08/2018 00:00:00|1|1</InternalId><MovementDate>2018-08-06T00:00:00</MovementDate><EntryValue>53.00</EntryValue><MovementType>1</MovementType><DocumentNumber></DocumentNumber><FinancialCode>SANGRIA</FinancialCode><BatchNumber></BatchNumber><ApportionmentDistribution><DebitAccount></DebitAccount><CostCenterCode></CostCenterCode></ApportionmentDistribution><BankInternalId>40|1|1</BankInternalId><Agency>.</Agency><NumberAccount>.</NumberAccount><CurrencyType>4</CurrencyType><OriginalBranchId>1</OriginalBranchId><OperationType>4</OperationType></BusinessContent></BusinessMessage></TOTVSMessage>]]></MessageContent></ReceivedMessage><ProcessingInformation><ProcessedOn>2018-08-06T17:55:08Z</ProcessedOn><Status>ok</Status></ProcessingInformation><ReturnContent><ListOfInternalId><InternalId><Name>BankTransaction</Name><Origin>40|1|2|1|1|06/08/2018 00:00:00|1|1</Origin><Destination>40|0101|0000000035</Destination></InternalId></ListOfInternalId></ReturnContent></ResponseMessage></TOTVSMessage></inMsg>
</receiveMessage>
</soap:Body>
</soap:Envelope>
Modelo de Json de retorno
{
"data": false,
"httpStatusCode": 200,
"notifications": [],
"success": true
}
POST /api/Sangria/ToUpsertCentralCashierResponse
Resposta do Protheus, contendo os ID de integração
Modelo de XML de envio
https://api.totvs.com.br/msgunica/bo/Events/BANKTRANSACTION_2_000.xsd
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<receiveMessage xmlns="http://www.totvs.com/">
<inMsg><?xml version="1.0" encoding="utf-8"?><TOTVSMessage><MessageInformation version="2.001"><UUID>96d14fe5-b7e9-5d57-4337-f46cb5626ccc</UUID><Type>Response</Type><Transaction>BANKTRANSACTION</Transaction><StandardVersion>1.000</StandardVersion><SourceApplication>NBT1XC_TST40</SourceApplication><CompanyId>40</CompanyId><BranchId>0101</BranchId><Enterprise>01</Enterprise><BusinessUnit></BusinessUnit><Product name="PROTHEUS" version="12"></Product><GeneratedOn>2018-08-06T17:55:08Z</GeneratedOn><DeliveryType>Async</DeliveryType></MessageInformation><ResponseMessage><ReceivedMessage><SentBy>GEMCO</SentBy><UUID>e1d6c9e3-5251-4643-a2a8-845c5cfc9518</UUID><Event>Upsert</Event><MessageContent><![CDATA[<?xml version="1.0" encoding="utf-8"?><TOTVSMessage><MessageInformation version="2.001"> <UUID>e1d6c9e3-5251-4643-a2a8-845c5cfc9518</UUID> <Type>BusinessMessage</Type> <Transaction>BankTransaction</Transaction> <StandardVersion>2.001</StandardVersion> <SourceApplication>GEMCO</SourceApplication> <CompanyId>40</CompanyId> <BranchId>1</BranchId> <Product name="GEMCO" version="2.001" /> <GeneratedOn>06/08/2018 14:54:15</GeneratedOn> <DeliveryType>Async</DeliveryType> </MessageInformation><BusinessMessage><BusinessEvent><Entity>BankTransaction</Entity><Event>Upsert</Event><Identification><Key Name="InternalId">40|1|2|1|1|06/08/2018 00:00:00|1|1</Key></Identification></BusinessEvent><BusinessContent><CompanyId>40</CompanyId><BranchId>1</BranchId><InternalId>40|1|2|1|1|06/08/2018 00:00:00|1|1</InternalId><MovementDate>2018-08-06T00:00:00</MovementDate><EntryValue>53.00</EntryValue><MovementType>1</MovementType><DocumentNumber></DocumentNumber><FinancialCode>SANGRIA</FinancialCode><BatchNumber></BatchNumber><ApportionmentDistribution><DebitAccount></DebitAccount><CostCenterCode></CostCenterCode></ApportionmentDistribution><BankInternalId>40|1|1</BankInternalId><Agency>.</Agency><NumberAccount>.</NumberAccount><CurrencyType>4</CurrencyType><OriginalBranchId>1</OriginalBranchId><OperationType>4</OperationType></BusinessContent></BusinessMessage></TOTVSMessage>]]></MessageContent></ReceivedMessage><ProcessingInformation><ProcessedOn>2018-08-06T17:55:08Z</ProcessedOn><Status>ok</Status></ProcessingInformation><ReturnContent><ListOfInternalId><InternalId><Name>BankTransaction</Name><Origin>40|1|2|1|1|06/08/2018 00:00:00|1|1</Origin><Destination>40|0101|0000000035</Destination></InternalId></ListOfInternalId></ReturnContent></ResponseMessage></TOTVSMessage></inMsg>
</receiveMessage>
</soap:Body>
</soap:Envelope>
Modelo de Json de retorno
{
"data": false,
"httpStatusCode": 200,
"notifications": [],
"success": true
}