- Criado por Ramon Toledo Gomes, última alteração por Sergio Martins Vieira em 25 abr, 2024
Sumário
Objetivo
Esse documento tem o objetivo de exemplificar o uso da API de Lançamento Contábil utilizando todos os métodos implementados.
Importante
Recurso disponível a partir da release 12.1.2406.
1 - Campos e Parâmetros
Descrição detalhada dos campos da API de lançamento contábil.
As tabelas abaixo são divididas da seguinte maneira:
- Campo: Identificação do campo no Json.
- Identificador: Identificação do campo no banco de dados RM correspondente ao campo Json.
- Tipo: Tipo de valor aceito no campo, podendo ser numérico (Int, Decimal), condicionais (Boolean), texto (String, Datetime), além do tipo List, para esse último, é esperado uma nova sequência de dados (Bloco interno).
- Descrição: Fornece uma descrição do campo.
- Obrigatório: Especifica se a informação é obrigatória durante operações de envio (POST, PUT, PATCH). Caso a informação seja obrigatória condicionalmente essa informação será descrita no campo Observação.
- Observação: Informações condicionais ou importantes para o funcionamento da API serão apresentadas nesse campo.
LANÇAMENTO | |||||
---|---|---|---|---|---|
Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
operationId | IDOPERACAO | Int | Identificador de Operação | - | Uso interno do Sistema |
reversal | ESTORNO | Boolean | Lançamento de Estorno | - | Uso interno do Sistema |
companyId | CODCOLIGADA | Int | Coligada | POST, PUT, PATCH | |
entryId | IDLANCAMENTO | Int | Id do Lançamento | POST, PUT, PATCH | No caso de Inserção de lançamento, o valor informado deve ser zero (0). |
batchCode | CODLOTE | Int | Código do Lote | POST, PUT, PATCH | |
description | DESCRICAO | String | Descrição do Lançamento | POST, PUT | |
approvalUserId | CODUSUARIOAPROVACAO | String(20) | Código do usuário que aprovou o lançamento (para o lote 0[zero]) | - | Apenas informativo (seu valor é gerado por um processo dentro do TOTVS Gestão contábil). Caso tal campo seja informado para os métodos POST, PUT, PATCH o sistema o desconsiderará. |
approvalDate | DATAAPROVACAO | DateTime | Data em que o lançamento foi aprovado (para o lote 0[zero]) | - | Apenas informativo (seu valor é gerado por um processo dentro do TOTVS Gestão contábil). Caso tal campo seja informado para os métodos POST, PUT, PATCH o sistema o desconsiderará. |
accountEntry | PARTIDA | List | Partidas | POST, PUT | Não é possível inserir lançamento sem partidas. |
No método PUT (Alteração de lançamento), é possível realizar inclusões, alterações e exclusões de partidas. Para isso, é necessário seguir os seguintes procedimentos:
- Alteração: Deve-se informar a chave da partida (entryNumberId) que deseja modificar.
- Inclusão: Ao passar a chave (entryNumberId) com o valor zero (0), o sistema interpretará como uma inserção de nova partida.
- Exclusão: As partidas não incluídas na requisição do método PUT serão removidas do lançamento.
PARTIDA (accountEntry) | |||||
---|---|---|---|---|---|
Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
entryNumberId | IDPARTIDA | Int | Identificador da Partida | POST, PUT, PATCH | No caso de Inserção de lançamento (POST), ou inserção de nova partida em lançamento já existente (PUT) o valor do campo deve ser zero (0). |
branchId | CODFILIAL | Int | Filial | POST, PUT | |
branchName | NOMEFILIAL | String | Descrição Filial | - | Campo somente para leitura |
costCenterCode | CODCCUSTO | String | Código do Centro de Custo | - | |
document | DOCUMENTO | String | Documento | Condicional | Obrigatório quando parametrizado. |
date | DATA | DateTime | Data | POST, PUT | A data deve estar dentro do período contábil atual. |
dateInclusion | DATAINCLUSAO | DateTime | Data da inclusão do lançamento | - | Uso interno do sistema, a data será preenchida com a data da inclusão do lançamento. |
companyIdDebitAccount | CodColDebito | Int | Coligada da Conta a Débito | Condicional | Obrigatório se tiver conta Débito |
debitAccount | CodContaDebito | String | Cód. conta débito | Condicional | Obrigatório pelo menos uma conta de débito ou crédito |
debitDescription | DescricaoDebito | String | Descrição da Conta Débito | - | Campo somente para leitura |
companyIdCreditAccount | CodColCredito | Int | Coligada da Conta a Crédito | Condicional | Obrigatório pelo menos uma conta de débito ou crédito |
creditAccount | CodContaCredito | String | Cód. conta crédito | Condicional | Obrigatório se tiver conta Crédito |
creditDescription | DescricaoCredito | String | Descrição da Conta Crédito | - | Campo somente para leitura |
companyIdAgainstEntry | CodColContraPartida | Int | Coligada da Conta Contra Partida | - | |
value | VALOR | Decimal | Valor | POST, PUT | O valor informado deve ser maior que zero. |
value2 | VALOR2 | Decimal | Segundo Valor | - | |
date2 | DATA2 | Data | Data da Cotação do Segundo Valor | - | |
integrateApplication | IntegraAplicacao | String | Aplicação que Gerou o Lançamento. | - | Campo de controle interno. |
generationType | TipoGeracao | String | Tipo de Geração | - | Campo de controle interno. |
historicCode | CODHISTP | String | Histórico | - | |
user | Usuario | String | Usuário que incluiu lançamento | - | Será gravado o usuário que enviou a requisição. |
complementaryFields | CamposComplementares | List | Complemento | - | |
apportionmentDebit | RateioDebito | List | Rateio Debito | Condicional | Obrigatório para conta débito que exige rateio |
apportionmentCredit | RateioCredito | List | Rateio Credito | Condicional | Obrigatório para conta crédito que exige rateio |
valuesCurrencies | MoedaValores | List | MultiMoedas | - | |
apportionmentValuesCurrencies | RateioMoedasValores | List | Rateio MultiMoedas | - |
Os campos complementares são adaptados para atender às necessidades específicas de cada sistema.
Abaixo, listamos somente os campos obrigatórios que devem ser preenchidos quando há informações adicionais.
CamposComplementares (complementaryFields) | |||||
---|---|---|---|---|---|
Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
codlote | CODLOTE | Int | Código do lote atual | PUT, PATCH | Deve ser suprimido nas inserções, o sistema irá gerar automaticamente. Veja exemplo no método POST. |
lctref | LCTREF | Int | Referência do Lançamento | PUT, PATCH | Deve ser suprimido nas inserções, o sistema irá gerar automaticamente. Veja exemplo no método POST. |
idpartida | IDPARTIDA | Int | Identificador da Partida | PUT, PATCH | Deve ser suprimido nas inserções, o sistema irá gerar automaticamente. Veja exemplo no método POST. |
? | ? | ? | Campo Complementar | PUT, POST, PATCH | O campo complementar deve ser informado no arquivo JSON tal como está cadastrado no RM, o seu valor deve respeitar o tipo definido. |
Contas que exigem rateio devem ter a lista de rateio fornecida. Na inclusão (método POST), se uma conta possui um rateio padrão, o sistema utilizará esses dados automaticamente, caso a lista de rateio não seja enviada. No entanto, este comportamento não é aplicado durante alterações (método PUT). Portanto, o rateio deve ser explicitamente enviado na requisição para este caso.
No método PUT (Alteração de lançamento), é possível realizar inclusões, alterações e exclusões de rateios. Para isso, é necessário seguir os seguintes procedimentos:
- Alteração: Deve-se informar a chave do rateio (apportionmentId) que deseja modificar.
- Inclusão: Ao passar a chave (apportionmentId) com o valor zero (0), o sistema interpretará como uma inserção de novo rateio.
- Exclusão: Os rateios não incluídos na requisição do método PUT serão removidos do lançamento.
RateioDebito (apportionmentDebit) / RateioCredito(apportionmentCredit) | |||||
---|---|---|---|---|---|
Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
companyId | CODCOLIGADA | Int | Coligada do Rateio | POST, PUT | |
date | DATA | DateTime | Data do Lançamento do Rateio | POST, PUT | |
companyIdAccountManagement | CODCOLCONTA | Int | Código da Coligada da Conta Contábil | POST, PUT | |
accountManagementInactive | ATIVO | Int | Status | - | |
accountManagementCode | CODCONTA | String | Código da Conta | POST, PUT | |
apportionmentId | IDRATEIO | Int | Identificador do Rateio | POST, PUT, PATCH | Na inserção, pode ser enviado como zero (0) ou suprimir. |
entryNumberId | IDPARTIDA | Int | Identificador da Partida | PUT | Na inserção, pode ser enviado como zero (0) ou suprimir. |
value | VALOR | Decimal | Valor | POST, PUT | |
percentual | PERCENTUAL | String | Porcentagem do Rateio | - | Campo calculado pelo sistema. |
Para contas que possuem configurações de conversão de multimoeda, como Taxa Histórica, Taxa Média Histórica e Taxa de Fechamento, os valores de multimoeda são automaticamente gerados com base na cotação correspondente. No caso de conversão multimoeda do tipo Fixa, o valor deve ser informado manualmente.
MoedaValores(valuesCurrencies) | |||||
---|---|---|---|---|---|
Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
companyId | CODCOLIGADA | Int | Coligada Moeda | POST, PUT, PATCH | |
entryNumberId | IDPARTIDA | Int | Identificador da Partida | POST, PUT, PATCH | |
currency | MOEDA | String | Símbolo da Moeda | POST, PUT, PATCH | |
value | VALOR | Decimal | Valor Moeda | POST, PUT, PATCH |
Os campos abaixo não podem ser manipulados pelo requisitante, eles são calculados de acordo com o rateio gerencial da conta.
RateioMoedasValores(apportionmentValuesCurrencies) | |||||
---|---|---|---|---|---|
Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
companyId | CODCOLIGADA | Int | Coligada | - | Gerado pelo sistema |
apportionmentId | IDMULTIMOEDA | Int | Identificador de MultiMoeda | - | Gerado pelo sistema |
currency | MOEDA | String | Moeda utlizada no rateio multi moeda. | - | Gerado pelo sistema |
value | VALOR | Decimal | Valor do rateio convertido para moeda cadastrada. | - | Calculado pelo sistema |
2 - Métodos
Métodos disponíveis na API de Lançamento Contábil:
GET: Exemplos de requisições que buscam e recuperam lançamentos no sistema.
GetAll
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}
Exemplo de Configuração
Exemplo de Resultado
{ "hasNext": true, "items": [ { "reversal": false, "companyId": 6, "entryId": 9, "batchCode": 0, "userId": "mestre", "description": "GAS", "accountEntry": [ { "entryNumberId": 8, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2011-09-15T00:00:00-03:00", "dateInclusion": "2017-09-15T11:44:42-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.892", "debitDescription": "COLIG. 6 FILIAL 12", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.002", "creditDescription": "Caixa Filial Rio de Janeiro", "companyIdAgainstEntry": 0, "value": 111.00, "value2": 200.00, "date2": "2011-09-15T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 8, "idpartida": 8 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] } ] }, { "reversal": false, "companyId": 6, "entryId": 10, "batchCode": 0, "description": "ALTERADO VIA PUT API Alterado eae", "accountEntry": [ { "entryNumberId": 9, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T16:01:07-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.017", "debitDescription": "BLOCO K 200 D", "companyIdCreditAccount": 6, "creditAccount": "2.1.1.1.015", "creditDescription": "200,00 C", "companyIdAgainstEntry": 0, "value": 300.00, "value2": 400.00, "date2": "2017-04-10T00:00:00-03:00", "historicCode": "011", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 0, "idpartida": 9 }, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 51, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2024-02-23T09:24:20-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.017", "debitDescription": "BLOCO K 200 D", "companyIdCreditAccount": 6, "creditAccount": "2.1.1.1.014", "creditDescription": "IRRF", "companyIdAgainstEntry": 0, "value": 200.00, "value2": 300.00, "date2": "2017-04-11T00:00:00-03:00", "historicCode": "011", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": {}, "batchCodeOrigin": 0, "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] } ] } ] }
Parâmetros
Order: parâmetro responsável pela ordenação do resultado, podendo ser ascendente ou descendente. O resultado com a ordem descendente deve ser precedida do caractere "-" (menos).
Exemplo 1: ?order=campo1 (Ascendente)
Exemplo 2: ?order=-campo1 (Descendente)
Múltiplos campos de ordenação: ?order=[-]campo1, [-]campo2, [-]campo3 ...
Order (Asc)
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}?order={campo}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: description
Tipo de Ordenação: Ascendente
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6?order=description
Exemplo de Resultado
{ "hasNext": true, "items": [ { "reversal": false, "companyId": 6, "entryId": 10, "batchCode": 0, "description": "ALTERADO VIA PUT API Alterado eae", "accountEntry": [ { "entryNumberId": 9, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T16:01:07-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.017", "debitDescription": "BLOCO K 200 D", "companyIdCreditAccount": 6, "creditAccount": "2.1.1.1.015", "creditDescription": "200,00 C", "companyIdAgainstEntry": 0, "value": 300.00, "value2": 400.00, "date2": "2017-04-10T00:00:00-03:00", "historicCode": "011", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 0, "idpartida": 9 }, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 51, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2024-02-23T09:24:20-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.017", "debitDescription": "BLOCO K 200 D", "companyIdCreditAccount": 6, "creditAccount": "2.1.1.1.014", "creditDescription": "IRRF", "companyIdAgainstEntry": 0, "value": 200.00, "value2": 300.00, "date2": "2017-04-11T00:00:00-03:00", "historicCode": "011", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": {}, "batchCodeOrigin": 0, "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] } ] }, { "reversal": false, "companyId": 6, "entryId": 11, "batchCode": 0, "description": "BLOCO K", "accountEntry": [ { "entryNumberId": 10, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T17:06:56-03:00", "companyIdDebitAccount": 6, "debitAccount": "2.1.1.1.016", "debitDescription": "585,76 D", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.018", "creditDescription": "585,76 C", "companyIdAgainstEntry": 0, "value": 585.76, "value2": 1171.52, "date2": "2017-04-11T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 10, "idpartida": 10 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 11, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "costCenterCode": "211", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T18:10:39-03:00", "companyIdDebitAccount": 6, "debitAccount": "2.1.1.1.017", "debitDescription": "1122,12 D", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.019", "creditDescription": "1122,12 C", "companyIdAgainstEntry": 0, "value": 1122.12, "value2": 2244.24, "date2": "2017-04-11T00:00:00-03:00", "integrateApplication": "C", "generationType": "X", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 11, "idpartida": 11 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 12, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T18:26:03-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.020", "debitDescription": "6,00 D", "companyIdCreditAccount": 6, "creditAccount": "2.1.1.1.018", "creditDescription": "6,00 C", "companyIdAgainstEntry": 0, "value": 6.00, "value2": 12.00, "date2": "2017-04-11T00:00:00-03:00", "historicCode": "011", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 12, "idpartida": 12 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 13, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "costCenterCode": "211", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T18:36:57-03:00", "companyIdDebitAccount": 6, "debitAccount": "2.1.1.1.019", "debitDescription": "256,00 D", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.021", "creditDescription": "256,00 C", "companyIdAgainstEntry": 0, "value": 256.00, "value2": 512.00, "date2": "2017-04-11T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 13, "idpartida": 13 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] } ] } ] }
Order (Desc)
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}?order=[-]{campo}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: description
Tipo de Ordenação: Descendente
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6?order=-description
Exemplo de Resultado
{ "hasNext": true, "items": [ { "reversal": false, "companyId": 6, "entryId": 10, "batchCode": 0, "description": "ALTERADO VIA PUT API Alterado eae", "accountEntry": [ { "entryNumberId": 9, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T16:01:07-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.017", "debitDescription": "BLOCO K 200 D", "companyIdCreditAccount": 6, "creditAccount": "2.1.1.1.015", "creditDescription": "200,00 C", "companyIdAgainstEntry": 0, "value": 300.00, "value2": 400.00, "date2": "2017-04-10T00:00:00-03:00", "historicCode": "011", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 0, "idpartida": 9 }, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 51, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2024-02-23T09:24:20-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.017", "debitDescription": "BLOCO K 200 D", "companyIdCreditAccount": 6, "creditAccount": "2.1.1.1.014", "creditDescription": "IRRF", "companyIdAgainstEntry": 0, "value": 200.00, "value2": 300.00, "date2": "2017-04-11T00:00:00-03:00", "historicCode": "011", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": {}, "batchCodeOrigin": 0, "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] } ] }, { "reversal": false, "companyId": 6, "entryId": 11, "batchCode": 0, "description": "BLOCO K", "accountEntry": [ { "entryNumberId": 10, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T17:06:56-03:00", "companyIdDebitAccount": 6, "debitAccount": "2.1.1.1.016", "debitDescription": "585,76 D", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.018", "creditDescription": "585,76 C", "companyIdAgainstEntry": 0, "value": 585.76, "value2": 1171.52, "date2": "2017-04-11T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 10, "idpartida": 10 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 11, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "costCenterCode": "211", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T18:10:39-03:00", "companyIdDebitAccount": 6, "debitAccount": "2.1.1.1.017", "debitDescription": "1122,12 D", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.019", "creditDescription": "1122,12 C", "companyIdAgainstEntry": 0, "value": 1122.12, "value2": 2244.24, "date2": "2017-04-11T00:00:00-03:00", "integrateApplication": "C", "generationType": "X", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 11, "idpartida": 11 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 12, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T18:26:03-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.020", "debitDescription": "6,00 D", "companyIdCreditAccount": 6, "creditAccount": "2.1.1.1.018", "creditDescription": "6,00 C", "companyIdAgainstEntry": 0, "value": 6.00, "value2": 12.00, "date2": "2017-04-11T00:00:00-03:00", "historicCode": "011", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 12, "idpartida": 12 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 13, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "costCenterCode": "211", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T18:36:57-03:00", "companyIdDebitAccount": 6, "debitAccount": "2.1.1.1.019", "debitDescription": "256,00 D", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.021", "creditDescription": "256,00 C", "companyIdAgainstEntry": 0, "value": 256.00, "value2": 512.00, "date2": "2017-04-11T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 13, "idpartida": 13 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] } ] } ] }
Filter
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}?{campo}={valor}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: entryId
Valor: 9
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6?entryId=9
Exemplo de Resultado
{ "hasNext": false, "items": [ { "reversal": false, "companyId": 6, "entryId": 9, "batchCode": 0, "userId": "mestre", "description": "GAS", "accountEntry": [ { "entryNumberId": 8, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2011-09-15T00:00:00-03:00", "dateInclusion": "2017-09-15T11:44:42-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.892", "debitDescription": "COLIG. 6 FILIAL 12", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.002", "creditDescription": "Caixa Filial Rio de Janeiro", "companyIdAgainstEntry": 0, "value": 111.00, "value2": 200.00, "date2": "2011-09-15T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 8, "idpartida": 8 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] } ] } ] }
Filtros Complexos - OData
Para realizar filtros complexos na API de Lançamento e Partida é possível adotar o padrão OData. Para entender melhor sobre a utilização desse padrão, acesse o link da documentação Utilizando filtros complexos - Exemplos do guia de API - ODATA.
Parâmetros
Page: Página que será apresentada.
PageSize: Quantidade máxima de registros por página que serão apresentados.
Exemplo: ?page=1&pageSize=1
Valores padrão: Caso não sejam preenchidos os parâmetros evidenciados acima serão preenchidos com valores padrão.
Page: 1
PageSize: 20
Paginação
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}?page={valor1}&pageSize={valor2}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Valor1: 1
Valor2: 3
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6?page=1&pageSize=3
Exemplo de Resultado
{ "hasNext": true, "items": [ { "reversal": false, "companyId": 6, "entryId": 9, "batchCode": 0, "userId": "mestre", "description": "GAS", "accountEntry": [ { "entryNumberId": 8, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2011-09-15T00:00:00-03:00", "dateInclusion": "2017-09-15T11:44:42-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.892", "debitDescription": "COLIG. 6 FILIAL 12", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.002", "creditDescription": "Caixa Filial Rio de Janeiro", "companyIdAgainstEntry": 0, "value": 111.00, "value2": 200.00, "date2": "2011-09-15T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 8, "idpartida": 8 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] } ] }, { "reversal": false, "companyId": 6, "entryId": 10, "batchCode": 0, "description": "ALTERADO VIA PUT API Alterado eae", "accountEntry": [ { "entryNumberId": 9, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T16:01:07-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.017", "debitDescription": "BLOCO K 200 D", "companyIdCreditAccount": 6, "creditAccount": "2.1.1.1.015", "creditDescription": "200,00 C", "companyIdAgainstEntry": 0, "value": 300.00, "value2": 400.00, "date2": "2017-04-10T00:00:00-03:00", "historicCode": "011", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 0, "idpartida": 9 }, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 51, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2024-02-23T09:24:20-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.017", "debitDescription": "BLOCO K 200 D", "companyIdCreditAccount": 6, "creditAccount": "2.1.1.1.014", "creditDescription": "IRRF", "companyIdAgainstEntry": 0, "value": 200.00, "value2": 300.00, "date2": "2017-04-11T00:00:00-03:00", "historicCode": "011", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": {}, "batchCodeOrigin": 0, "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] } ] }, { "reversal": false, "companyId": 6, "entryId": 11, "batchCode": 0, "description": "BLOCO K", "accountEntry": [ { "entryNumberId": 10, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T17:06:56-03:00", "companyIdDebitAccount": 6, "debitAccount": "2.1.1.1.016", "debitDescription": "585,76 D", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.018", "creditDescription": "585,76 C", "companyIdAgainstEntry": 0, "value": 585.76, "value2": 1171.52, "date2": "2017-04-11T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 10, "idpartida": 10 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 11, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "costCenterCode": "211", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T18:10:39-03:00", "companyIdDebitAccount": 6, "debitAccount": "2.1.1.1.017", "debitDescription": "1122,12 D", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.019", "creditDescription": "1122,12 C", "companyIdAgainstEntry": 0, "value": 1122.12, "value2": 2244.24, "date2": "2017-04-11T00:00:00-03:00", "integrateApplication": "C", "generationType": "X", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 11, "idpartida": 11 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 12, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T18:26:03-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.020", "debitDescription": "6,00 D", "companyIdCreditAccount": 6, "creditAccount": "2.1.1.1.018", "creditDescription": "6,00 C", "companyIdAgainstEntry": 0, "value": 6.00, "value2": 12.00, "date2": "2017-04-11T00:00:00-03:00", "historicCode": "011", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 12, "idpartida": 12 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] }, { "entryNumberId": 13, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "costCenterCode": "211", "date": "2017-04-11T00:00:00-03:00", "dateInclusion": "2018-04-11T18:36:57-03:00", "companyIdDebitAccount": 6, "debitAccount": "2.1.1.1.019", "debitDescription": "256,00 D", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.021", "creditDescription": "256,00 C", "companyIdAgainstEntry": 0, "value": 256.00, "value2": 512.00, "date2": "2017-04-11T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 13, "idpartida": 13 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] } ] } ] }
Parâmetros
Fields: parâmetro responsável pela especialização de campos em um resultado, ou seja, o usuário define quais campos serão apresentados no resultado.
Exemplo: ?fields=campo1
Múltiplos campos de ordenação: ?fields=campo1, campo2, campo3 ...
Fields
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}?fields={campos}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo 1: entryId
Campo 2: batchCode
Campo 3: description
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6?fields=entryId,batchCode,description
Exemplo de Resultado
{ "hasNext": false, "items": [ { "entryId": 9, "batchCode": 0, "description": "GAS" }, { "entryId": 10, "batchCode": 0, "description": "BLOCO K" }, { "entryId": 11, "batchCode": 0, "description": "BLOCO K" }, { "entryId": 12, "batchCode": 0, "description": "EQUIVALENCIA - AUTOMAÇÃO put" }, { "entryId": 14, "batchCode": 50, "description": "Contabilização aquisição do Patrimônio 01.01.001__1" }, { "entryId": 20, "batchCode": 0, "description": "GAS 2" }, { "entryId": 22, "batchCode": 0, "description": "GAS 2" }, { "entryId": 23, "batchCode": 0, "description": "GAS" }, { "entryId": 24, "batchCode": 0, "description": "GAS" }, { "entryId": 26, "batchCode": 0, "description": "GAS" }, { "entryId": 29, "batchCode": 0, "description": "EQUIVALENCIA - AUTOMAÇÃO" } ] }
Parâmetros
Nos parâmetros do GetOne é necessário passar uma chave composta ("id"), por isso informamos "companyId" (código da coligada), além do Lançamento que queremos selecionar, o "entryId"
(Id de Lançamento), o "batchCode" (código Lote), sendo eles separados pelo caractere "|" pipe.
GetOne
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}/{entryId}|{batchCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
companyId: 6
entryId: 9
batchCode: 0
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6/9|0
Exemplo de Resultado
{ "reversal": false, "companyId": 6, "entryId": 9, "batchCode": 0, "userId": "mestre", "description": "GAS", "accountEntry": [ { "entryNumberId": 8, "branchId": 12, "branchName": "ESCOLA EXEMPLO 1", "date": "2011-09-15T00:00:00-03:00", "dateInclusion": "2017-09-15T11:44:42-03:00", "companyIdDebitAccount": 6, "debitAccount": "1.1.1.1.892", "debitDescription": "COLIG. 6 FILIAL 12", "companyIdCreditAccount": 6, "creditAccount": "1.1.1.1.002", "creditDescription": "Caixa Filial Rio de Janeiro", "companyIdAgainstEntry": 0, "value": 111.00, "value2": 200.00, "date2": "2011-09-15T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 8, "idpartida": 8 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [], "apportionmentCredit": [], "valuesCurrencies": [], "apportionmentValuesCurrencies": [] } ] }
POST: Cria um novo lançamento no sistema.
Post
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
CompanyId: 1
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/1
Exemplo de Entrada
O JSON abaixo contém os dados para incluir uma nova partida na coligada 1 (um). Além dos dados comuns, estamos enviando informações de rateio gerencial, valores de multimoeda e campo complementar.
No caso de campo complementar observe que na requisição de envio os campos chave são suprimidos.
{ "companyId": 1, "entryId": 0, "batchCode": 0, "userId": "mestre", "description": "Inclusão de Lançamento VIA API com rateio - POST", "accountEntry": [ { "entryNumberId": 0, "branchId": 1, "departmentCode": "05", "costCenterCode": "02.2.2.5", "date": "2020-03-02T00:00:00-03:00", "dateInclusion": "2024-04-03T14:45:58-03:00", "companyIdDebitAccount": 1, "debitAccount": "1.1.1.1.004", "companyIdCreditAccount": 1, "creditAccount": "1.1.1.1.900", "companyIdAgainstEntry": 0, "value": 1000.00, "value2": 300.00, "date2": "2020-03-02T00:00:00-03:00", "complementaryFields": { "responsabilidade": "03" }, "apportionmentDebit": [ { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "1.01.01.4", "apportionmentId": 1094, "entryNumberId": 0, "value": 800.00 }, { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "1.01.02.2", "apportionmentId": 1095, "entryNumberId": 0, "value": 200.00 } ], "apportionmentCredit": [ { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "5.01", "apportionmentId": 1096, "entryNumberId": 0, "value": 680.00 }, { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "5.02", "apportionmentId": 0, "entryNumberId": 12765, "value": 320.00 } ], "valuesCurrencies": [ { "companyId": 1, "entryNumberId": 12765, "currency": "$", "value": 5000.0000 }, { "companyId": 1, "entryNumberId": 12765, "currency": "€", "value": 7000.0000 } ] } ] }
Exemplo de Resultado Positivo
Na resposta do resultado, são retornadas algumas informações adicionais. Destacamos especialmente o cálculo do rateio de multimoeda, realizado pelo sistema, bem como o valor percentual do rateio gerencial.
{ "reversal": false, "companyId": 1, "entryId": 3001, "batchCode": 0, "description": "Inclusão de Lançamento VIA API com rateio - POST", "accountEntry": [ { "entryNumberId": 12768, "branchId": 1, "branchName": "TOTVS - Filial Belo Horizonte", "departmentCode": "05", "departmentName": "DCO - Depto Contabilidade", "costCenterCode": "02.2.2.5", "date": "2020-03-02T00:00:00-03:00", "dateInclusion": "2024-04-03T14:45:58-03:00", "companyIdDebitAccount": 1, "debitAccount": "1.1.1.1.004", "debitDescription": "Caixa Filial Belo Horizonte", "companyIdCreditAccount": 1, "creditAccount": "1.1.1.1.900", "creditDescription": "ACOMPANHAMENTO ORÇAMENTÁRIO", "companyIdAgainstEntry": 0, "value": 1000.00, "value2": 300.00, "date2": "2020-03-02T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 13236, "responsabilidade": "03", "idpartida": 12768 }, "batchCodeOrigin": 0, "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [ { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "1.01.01.4", "apportionmentId": 1106, "entryNumberId": 12768, "value": 800.00, "percentual": "80,000000000000000000" }, { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "1.01.02.2", "apportionmentId": 1107, "entryNumberId": 12768, "value": 200.00, "percentual": "20,000000000000000000" } ], "apportionmentCredit": [ { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "5.01", "apportionmentId": 1108, "entryNumberId": 12768, "value": 680.00, "percentual": "68,000000000000000000" }, { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "5.02", "apportionmentId": 1109, "entryNumberId": 12768, "value": 320.00, "percentual": "32,000000000000000000" } ], "valuesCurrencies": [ { "companyId": 1, "entryNumberId": 12768, "currency": "$", "value": 5000.0000 }, { "companyId": 1, "entryNumberId": 12768, "currency": "€", "value": 7000.0000 } ], "apportionmentValuesCurrencies": [ { "companyId": 1, "apportionmentId": 1108, "currency": "$", "value": 3400.0000 }, { "companyId": 1, "apportionmentId": 1108, "currency": "€", "value": 4760.0000 }, { "companyId": 1, "apportionmentId": 1109, "currency": "$", "value": 1600.0000 }, { "companyId": 1, "apportionmentId": 1109, "currency": "€", "value": 2240.0000 }, { "companyId": 1, "apportionmentId": 1106, "currency": "$", "value": 4000.0000 }, { "companyId": 1, "apportionmentId": 1106, "currency": "€", "value": 5600.0000 }, { "companyId": 1, "apportionmentId": 1107, "currency": "$", "value": 1000.0000 }, { "companyId": 1, "apportionmentId": 1107, "currency": "€", "value": 1400.0000 } ] } ] }
Exemplo de Resultado Negativo
{ "code": "FE006", "message": "Chave duplicada\r\n\r\nPossíveis causas:\r\n - inclusão de registro cujo valor da chave primária já existe\r\n - inclusão de registro cujo valor do índice único já existe", "detailedMessage": null, "helpUrl": null, "details": [ { "code": "Exception", "message": "Violation of PRIMARY KEY constraint 'PKCLCOMPL'. Cannot insert duplicate key in object 'dbo.CLCOMPL'. The duplicate key value is (6, 8).\r\nThe statement has been terminated.", "detailedMessage": null, "helpUrl": null, "details": [ { "code": "Exception", "message": "INSERT INTO [CLCOMPL] ([CODCOLIGADA], [CODLOTE], [LCTREF], [DOCUMENTO], [DIGITADOR], [KWHORA], [DATA], [VALIDADE], [RESPONSABILIDADE], [IDPARTIDA], [RECCREATEDBY], [RECCREATEDON], [RECMODIFIEDBY], [RECMODIFIEDON], [SPEDFCONT], [IDDMPL], [IDINTEIRO]) VALUES (6, 0, 28, null, null, , null, null, null, 8, 'mestre', '26/03/2024 09:38:59', 'mestre', '26/03/2024 09:38:59', null, null, 0)", "detailedMessage": null, "helpUrl": null, "details": null } ] }, { "code": "Exception", "message": "INSERT INTO [CLCOMPL] ([CODCOLIGADA], [CODLOTE], [LCTREF], [DOCUMENTO], [DIGITADOR], [KWHORA], [DATA], [VALIDADE], [RESPONSABILIDADE], [IDPARTIDA], [RECCREATEDBY], [RECCREATEDON], [RECMODIFIEDBY], [RECMODIFIEDON], [SPEDFCONT], [IDDMPL], [IDINTEIRO]) VALUES (6, 0, 28, null, null, , null, null, null, 8, 'mestre', '26/03/2024 09:38:59', 'mestre', '26/03/2024 09:38:59', null, null, 0)", "detailedMessage": null, "helpUrl": null, "details": null } ] }
PATCH: Altera um lançamento no sistema, nesse caso apenas as chaves primárias e dados de alteração precisam ser enviados.
Patch
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}/{entryId}|{batchCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
CompanyId: 1
entryId: 3001
batchCode: 0
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/1/3001|0
Exemplo de Entrada
Nessa requisição, para exemplificar o uso do método PATCH, faremos as seguintes alterações:
- Descrição do lançamento de "Inclusão de Lançamento VIA API com rateio - POST" para "Inclusão de Lançamento VIA API com rateio - ALTERAÇÃO PATCH" .
- Alteração do valor da partida de R$ 1.000,00 para R$ 2.000,00
- Alteração do rateio a débito, alteraremos o valor do primeiro item.
- Alteração do rateio a crédito para se adaptar ao novo valor da partida.
- Alteração dos valores de multimoeda para equalizar o novo valor da partida.
{ "companyId": 1, "entryId": 3001, "batchCode": 0, "description": "Inclusão de Lançamento VIA API com rateio - ALTERAÇÃO PATCH", "accountEntry": [ { "entryNumberId": 12768, "value": 2000.00, "apportionmentDebit": [ { "apportionmentId": 1106, "value": 1800.00 } ], "apportionmentCredit": [ { "apportionmentId": 1108, "value": 1680.00 }, { "apportionmentId": 1109, "value": 320.00 } ], "valuesCurrencies": [ { "companyId": 1, "entryNumberId": 12768, "currency": "$", "value": 10000.0000 }, { "companyId": 1, "entryNumberId": 12768, "currency": "€", "value": 14000.0000 } ] } ] }
Exemplo de Resultado Positivo
Observa-se que os valores calculados foram ajustados de acordo com o novo valor da partida.
{ "reversal": false, "companyId": 1, "entryId": 3001, "batchCode": 0, "description": "Inclusão de Lançamento VIA API com rateio - ALTERAÇÃO PATCH", "accountEntry": [ { "entryNumberId": 12768, "branchId": 1, "branchName": "TOTVS - Filial Belo Horizonte", "departmentCode": "05", "departmentName": "DCO - Depto Contabilidade", "costCenterCode": "02.2.2.5", "date": "2020-03-02T00:00:00-03:00", "dateInclusion": "2024-04-03T14:45:58-03:00", "companyIdDebitAccount": 1, "debitAccount": "1.1.1.1.004", "debitDescription": "Caixa Filial Belo Horizonte", "companyIdCreditAccount": 1, "creditAccount": "1.1.1.1.900", "creditDescription": "ACOMPANHAMENTO ORÇAMENTÁRIO", "companyIdAgainstEntry": 0, "value": 2000.00, "value2": 300.00, "date2": "2020-03-02T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 13236, "responsabilidade": "03", "idpartida": 12768 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [ { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "1.01.01.4", "apportionmentId": 1106, "entryNumberId": 12768, "value": 1800.00, "percentual": "90,000000000000000000" }, { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "1.01.02.2", "apportionmentId": 1107, "entryNumberId": 12768, "value": 200.00, "percentual": "10,000000000000000000" } ], "apportionmentCredit": [ { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "5.01", "apportionmentId": 1108, "entryNumberId": 12768, "value": 1680.00, "percentual": "84,000000000000000000" }, { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "5.02", "apportionmentId": 1109, "entryNumberId": 12768, "value": 320.00, "percentual": "16,000000000000000000" } ], "valuesCurrencies": [ { "companyId": 1, "entryNumberId": 12768, "currency": "$", "value": 10000.0000 }, { "companyId": 1, "entryNumberId": 12768, "currency": "€", "value": 14000.0000 } ], "apportionmentValuesCurrencies": [ { "companyId": 1, "apportionmentId": 1108, "currency": "$", "value": 8400.0000 }, { "companyId": 1, "apportionmentId": 1108, "currency": "€", "value": 11760.0000 }, { "companyId": 1, "apportionmentId": 1109, "currency": "$", "value": 1600.0000 }, { "companyId": 1, "apportionmentId": 1109, "currency": "€", "value": 2240.0000 }, { "companyId": 1, "apportionmentId": 1106, "currency": "$", "value": 9000.0000 }, { "companyId": 1, "apportionmentId": 1106, "currency": "€", "value": 12600.0000 }, { "companyId": 1, "apportionmentId": 1107, "currency": "$", "value": 1000.0000 }, { "companyId": 1, "apportionmentId": 1107, "currency": "€", "value": 1400.0000 } ] } ] }
Exemplo de Resultado Negativo
{ "Code": "FE016", "Message": "O Corpo da mensagem contêm valores inválidos.", "DetailMessage": "", "HelpUrl": "http://tdn.totvs.com/x/e0F0GQ", "Details": null }
PUT: Altera um lançamento no sistema.
Put
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}/{entryId}|{batchCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
CompanyId: 1
entryId: 3001
batchCode: 0
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/1/3001|0
Exemplo de Entrada
As alterações que serão passadas no PUT, seguem as regras da tela de Lançamento do sistema.
Nesse exemplo, retornamos o valor da partida para R$ 1.000,00, adaptamos os rateios, mas notem que apenas um dos itens do rateio a débito foi passado, isso informa ao sistema que os itens não passados serão excluídos.
{ "companyId": 1, "entryId": 3001, "batchCode": 0, "description": "Inclusão de Lançamento VIA API com rateio - ALTERAÇÃO PUT", "accountEntry": [ { "entryNumberId": 12768, "branchId": 1, "departmentCode": "05", "costCenterCode": "02.2.2.5", "date": "2020-03-02T00:00:00-03:00", "dateInclusion": "2024-04-03T14:45:58-03:00", "companyIdDebitAccount": 1, "debitAccount": "1.1.1.1.004", "companyIdCreditAccount": 1, "creditAccount": "1.1.1.1.900", "companyIdAgainstEntry": 0, "value": 1000.00, "value2": 300.00, "date2": "2020-03-02T00:00:00-03:00", "complementaryFields": { "codlote": 0, "lctref": 13236, "responsabilidade": "03", "idpartida": 12768 }, "apportionmentDebit": [ { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "1.01.01.4", "apportionmentId": 1106, "entryNumberId": 12768, "value": 1000.00 } ], "apportionmentCredit": [ { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "5.01", "apportionmentId": 1108, "entryNumberId": 12768, "value": 680.00 }, { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "5.02", "apportionmentId": 1109, "entryNumberId": 12768, "value": 320.00 } ], "valuesCurrencies": [ { "companyId": 1, "entryNumberId": 12768, "currency": "$", "value": 5000.0000 }, { "companyId": 1, "entryNumberId": 12768, "currency": "€", "value": 7000.0000 } ] } ] }
Exemplo de Resultado Positivo
{ "reversal": false, "companyId": 1, "entryId": 3001, "batchCode": 0, "description": "Inclusão de Lançamento VIA API com rateio - ALTERAÇÃO PUT", "accountEntry": [ { "entryNumberId": 12768, "branchId": 1, "branchName": "TOTVS - Filial Belo Horizonte", "departmentCode": "05", "departmentName": "DCO - Depto Contabilidade", "costCenterCode": "02.2.2.5", "date": "2020-03-02T00:00:00-03:00", "dateInclusion": "2024-04-03T14:45:58-03:00", "companyIdDebitAccount": 1, "debitAccount": "1.1.1.1.004", "debitDescription": "Caixa Filial Belo Horizonte", "companyIdCreditAccount": 1, "creditAccount": "1.1.1.1.900", "creditDescription": "ACOMPANHAMENTO ORÇAMENTÁRIO", "companyIdAgainstEntry": 0, "value": 1000.00, "value2": 300.00, "date2": "2020-03-02T00:00:00-03:00", "integrateApplication": "C", "generationType": "O", "user": "mestre", "complementaryFields": { "codlote": 0, "lctref": 13236, "responsabilidade": "03", "idpartida": 12768 }, "batchCodeOrigin": 0, "userModified": "mestre", "operationId": 0, "reversalAccountId": 0, "groupAccountId": 0, "accountId": 0, "itemAmountRAS": 0, "apportionmentDebit": [ { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "1.01.01.4", "apportionmentId": 1106, "entryNumberId": 12768, "value": 1000.00, "percentual": "100,000000000000000000" } ], "apportionmentCredit": [ { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "5.01", "apportionmentId": 1108, "entryNumberId": 12768, "value": 680.00, "percentual": "68,000000000000000000" }, { "companyId": 1, "date": "2020-03-02T00:00:00-03:00", "companyIdAccountManagement": 1, "accountManagementInactive": 0, "accountManagementCode": "5.02", "apportionmentId": 1109, "entryNumberId": 12768, "value": 320.00, "percentual": "32,000000000000000000" } ], "valuesCurrencies": [ { "companyId": 1, "entryNumberId": 12768, "currency": "$", "value": 5000.0000 }, { "companyId": 1, "entryNumberId": 12768, "currency": "€", "value": 7000.0000 } ], "apportionmentValuesCurrencies": [ { "companyId": 1, "apportionmentId": 1108, "currency": "$", "value": 3400.0000 }, { "companyId": 1, "apportionmentId": 1108, "currency": "€", "value": 4760.0000 }, { "companyId": 1, "apportionmentId": 1109, "currency": "$", "value": 1600.0000 }, { "companyId": 1, "apportionmentId": 1109, "currency": "€", "value": 2240.0000 }, { "companyId": 1, "apportionmentId": 1106, "currency": "$", "value": 5000.0000 }, { "companyId": 1, "apportionmentId": 1106, "currency": "€", "value": 7000.0000 } ] } ] }
Exemplo de Resultados Negativo
{ "code": "FE013", "message": "Os campos que compõem a chave primária não podem ser diferentes dos informados na requisição.", "detailedMessage": "", "helpUrl": "", "details": null }
{ "code": "FE019", "message": "Erro durante a requisição de alteração do registro. A partida não foi incluída, pois a Conta Contábil 1.1.1.1.00 da Coligada 6 não foi encontrada no plano de Contas", "detailedMessage": null, "helpUrl": null, "details": null }
{ "code": "FE016", "message": "O campo \"companyId - Código da Coligada\" deve ser preenchido no Lançamento e na Partida.", "detailedMessage": "", "helpUrl": "", "details": null }
{ "code": "FE006", "message": "Chave duplicada\r\n\r\nPossíveis causas:\r\n - inclusão de registro cujo valor da chave primária já existe\r\n - inclusão de registro cujo valor do índice único já existe", "detailedMessage": null, "helpUrl": null, "details": [ { "code": "Exception", "message": "Violation of PRIMARY KEY constraint 'PKCLCOMPL'. Cannot insert duplicate key in object 'dbo.CLCOMPL'. The duplicate key value is (6, 14).\r\nThe statement has been terminated.", "detailedMessage": null, "helpUrl": null, "details": [ { "code": "Exception", "message": "INSERT INTO [CLCOMPL] ([CODCOLIGADA], [CODLOTE], [LCTREF], [DOCUMENTO], [DIGITADOR], [KWHORA], [DATA], [VALIDADE], [RESPONSABILIDADE], [IDPARTIDA], [RECCREATEDBY], [RECCREATEDON], [RECMODIFIEDBY], [RECMODIFIEDON], [SPEDFCONT], [IDDMPL], [IDINTEIRO]) VALUES (6, 0, 33, null, null, , null, null, null, 14, 'mestre', '26/03/2024 11:02:14', 'mestre', '26/03/2024 11:02:14', null, null, 0)", "detailedMessage": null, "helpUrl": null, "details": null } ] }, { "code": "Exception", "message": "INSERT INTO [CLCOMPL] ([CODCOLIGADA], [CODLOTE], [LCTREF], [DOCUMENTO], [DIGITADOR], [KWHORA], [DATA], [VALIDADE], [RESPONSABILIDADE], [IDPARTIDA], [RECCREATEDBY], [RECCREATEDON], [RECMODIFIEDBY], [RECMODIFIEDON], [SPEDFCONT], [IDDMPL], [IDINTEIRO]) VALUES (6, 0, 33, null, null, , null, null, null, 14, 'mestre', '26/03/2024 11:02:14', 'mestre', '26/03/2024 11:02:14', null, null, 0)", "detailedMessage": null, "helpUrl": null, "details": null } ] }
DELETE: Deleta um lançamento do sistema.
Delete
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}/{entryId}|{batchCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
CompanyId: 1
entryId: 3001
batchCode: 0
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/1/3001|0
Exemplo de Resultado Positivo Postman
Por fim deletamos o lançamento anteriormente criado e modificado. Em caso de sucesso, será retornado o respondeCode = 204 sem JSON de retorno.
Exemplo de Resultado Negativo
{ "code": "FE011", "message": "Registro não encontrado na base de dados.", "detailedMessage": "", "helpUrl": "", "details": null }