- Criado por Camila Aparecida Ferreira Reis Estanislau, última alteração por Kethellen Tayna Rodrigues Lopes em 04 jun, 2024
Sumário
Objetivo
Esse documento tem o objetivo de exemplificar o uso da API de Tipo de Documento utilizando todos os métodos implementados.
Importante
Recurso disponível a partir da release 12.1.2406.
1 - Métodos
Serão apresentados 5 métodos, os quais foram implementados na API de Tipo de Documento, são eles:
- GET
- POST
- PATCH
- PUT
- DELETE
1.1 - GET
1.1.1 - Get All (Recuperar todas as contas/caixa)
GetAll
Máscara de Url: http://{domínio}:{porta}/api/financial/v1/documenttypes
Exemplo de Configuração
Exemplo de Resultado
{ "hasNext": true, "items": [ { "id": "0|RMClassis", "company": 0, "code": "RMClassis", "description": "Documento originário do RM Classis", "payReceiveType": 1, "isDevolution": 0, "payable": 1, "sequentialDocumentNumber": 0, "useGeneralParameters": 1, "generatesClearedBankStatement": 0, "considerLedger": 1, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": 0, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 }, { "id": "1|0005", "company": 1, "code": "0005", "description": "Mensalidade", "payReceiveType": 3, "lastNumber": "00000000000000000000", "isDevolution": 0, "paymentEventCode": 24, "useGeneralParameters": 1, "generatesClearedBankStatement": 1, "accountWriteOffEventCode": 24, "consistsCustomerVendor": 1, "generateDocumentNumber": 0, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 }, { "id": "1|0099", "company": 1, "code": "0099", "description": "NFS", "payReceiveType": 3, "lastNumber": "00000000000000000000", "isDevolution": 5, "useGeneralParameters": 1, "generatesClearedBankStatement": 1, "consistsCustomerVendor": 1, "generateDocumentNumber": 0, "calculateAvp": 0, "inactive": 0, "considerCashFlow": 1, "generateIrrf": 0 } ] }
1.1.2 - Order (Retorna os dados ordenados)
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/financial/v1/documenttypes?order={campo}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: description
Tipo de Ordenação: Ascendente
Url Utilizada: http://localhost:8051/api/financial/v1/documenttypes?order=description
Exemplo de Resultado
{ "hasNext": true, "items": [ { "id": "1|16", "company": 1, "code": "16", "description": "ADIANTAMENTO", "payReceiveType": 3, "lastNumber": "00065237", "isDevolution": 2, "payable": 1, "paymentEventCode": 90, "sequentialDocumentNumber": 0, "useGeneralParameters": 1, "generatesClearedBankStatement": 0, "accountWriteOffEventCode": 90, "considerLedger": 1, "doesNotCountZeroWriteOff": 0, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": 2, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 }, { "id": "1|55", "company": 1, "code": "55", "description": "AO CONSUMIDOR - DES", "payReceiveType": 3, "lastNumber": "00000000", "isDevolution": 0, "payable": 1, "sequentialDocumentNumber": 0, "useGeneralParameters": 1, "generatesClearedBankStatement": 0, "considerLedger": 1, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": 2, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 }, { "id": "1|39", "company": 1, "code": "39", "description": "ATIVIDADE MISTA (SERVIÇO E MATERIAL)", "payReceiveType": 3, "lastNumber": "00000000", "templateDocumentCode": "B", "isDevolution": 0, "payable": 1, "sequentialDocumentNumber": 0, "useGeneralParameters": 1, "generatesClearedBankStatement": 0, "considerLedger": 1, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": 2, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 } ] }
Order (Desc)
Máscara de Url: http://{domínio}:{porta}/api/financial/v1/documenttypes?order=[-]{campo}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: description
Tipo de Ordenação: Descendente
Url Utilizada: http://localhost:8051/api/financial/v1/documenttypes?order=-description
Exemplo de Resultado
{ "hasNext": true, "items": [ { "id": "1|13", "company": 1, "code": "13", "description": "VIAGENS", "payReceiveType": 2, "lastNumber": "000300/B", "cnabSpecies": 1, "companyCodeCustomerVendor": 1, "isDevolution": 0, "payable": 1, "sequentialDocumentNumber": 0, "useGeneralParameters": 1, "generatesClearedBankStatement": 0, "considerLedger": 1, "doesNotCountZeroWriteOff": 0, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": 2, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 }, { "id": "1|21", "company": 1, "code": "21", "description": "VENDOR", "payReceiveType": 2, "lastNumber": "00000775", "templateDocumentCode": "21", "isDevolution": 35, "payable": 1, "sequentialDocumentNumber": 0, "useGeneralParameters": 1, "generatesClearedBankStatement": 0, "considerLedger": 1, "doesNotCountZeroWriteOff": 0, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": 2, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 }, { "id": "1|34", "company": 1, "code": "34", "description": "VENDA A PRODUTOR", "payReceiveType": 3, "lastNumber": "00000000", "templateDocumentCode": "04", "isDevolution": 0, "payable": 1, "sequentialDocumentNumber": 0, "useGeneralParameters": 1, "generatesClearedBankStatement": 0, "considerLedger": 1, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": 2, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 } ] }
1.1.3 - Filter (Resultado filtrado)
Filter
Máscara de Url: http://{domínio}:{porta}/api/financial/v1/documenttypes?{campo}={valor}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: code
Valor: 0005
Url Utilizada: http://localhost:8051/api/financial/v1/documenttypes?code=0005
Exemplo de Resultado
{ "hasNext": false, "items": [ { "id": "1|0005", "company": 1, "code": "0005", "description": "Mensalidade", "payReceiveType": 3, "lastNumber": "00000000000000000000", "isDevolution": 0, "paymentEventCode": 24, "useGeneralParameters": 1, "generatesClearedBankStatement": 1, "accountWriteOffEventCode": 24, "consistsCustomerVendor": 1, "generateDocumentNumber": 0, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 } ] }
Filtros Complexos - OData
Para realizar filtros complexos na API de Tipo de Documento é 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.
1.1.4 - Paginação
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/financial/v1/documenttypes?page={valor1}&pageSize={valor2}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Valor1: 1
Valor2: 2
Url Utilizada: http://localhost:8051/api/financial/v1/documenttypes?page=1&pageSize=2
Exemplo de Resultado
{ "hasNext": true, "items": [ { "id": "0|RMClassis", "company": 0, "code": "RMClassis", "description": "Documento originário do RM Classis", "payReceiveType": 1, "isDevolution": 0, "payable": 1, "sequentialDocumentNumber": 0, "useGeneralParameters": 1, "generatesClearedBankStatement": 0, "considerLedger": 1, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": 0, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 }, { "id": "1|0005", "company": 1, "code": "0005", "description": "Mensalidade", "payReceiveType": 3, "lastNumber": "00000000000000000000", "isDevolution": 0, "paymentEventCode": 24, "useGeneralParameters": 1, "generatesClearedBankStatement": 1, "accountWriteOffEventCode": 24, "consistsCustomerVendor": 1, "generateDocumentNumber": 0, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 } ] }
1.1.5 - Fields (Retorno de campos específicos no resultado)
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/financial/v1/documenttypes?fields={campos}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo 1: company
Campo 2: code
Campo 2: description
Url Utilizada: http://localhost:8051/api/financial/v1/documenttypes?fields=company,code,description
Exemplo de Resultado
{ "hasNext": true, "items": [ { "id": "1|16", "company": 1, "code": "16", "description": "ADIANTAMENTO" }, { "id": "1|55", "company": 1, "code": "55", "description": "AO CONSUMIDOR - DES" } ] }
1.1.6 - GetOne (Recuperar tipo de documento pelo identificador)
Parâmetros
Nos parâmetros do GetOne é necessário passar uma chave composta ("id"), por isso informamos "company" que é o código da coligada do tipo de documento que queremos selecionar e o "code" que é o código do tipo de documento, sendo eles separados pelo caractere "|" pipe.
GetOne
Máscara de Url: http://{domínio}:{porta}/api/financial/v1/documenttypes/{company}|{code}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Company: 1
Code: 55
Url Utilizada: http://localhost:8051/api/financial/v1/documenttypes/1|55
Exemplo de Resultado
{ "id": "1|55", "company": 1, "code": "55", "description": "AO CONSUMIDOR - DES", "payReceiveType": 3, "lastNumber": "00000000", "mandatorySeller": 0, "isDevolution": 0, "payable": 1, "sequentialDocumentNumber": 0, "useGeneralParameters": 1, "generatesClearedBankStatement": 0, "considerLedger": 1, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": "2", "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": "1" }
1.2 - POST
1.2.1 - Post (Inserir um tipo de documento)
Post
Máscara de Url: http://{domínio}:{porta}/api/financial/v1/documenttypes
Exemplo de Configuração
Exemplo de Entrada
{ "company": 1, "code": "TesteAPI", "description": "Teste de Inclusao 1", "payReceiveType": 3, "lastNumber": "0", "cnabSpecies": 1, "templateDocumentCode": "01", "isDevolution": 0, "payable": 1, "eventCode": 70, "eventPayableCode": 24, "sequentialDocumentNumber": 0, "useGeneralParameters": 0, "generateBankStatementCompensatedDischarge": 1, "eventPayableDischargeCode": 24, "considerLedger": 1, "doesNotCountZeroWriteOff": 0, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": 2, "eventCodeWriteOffAggrement": 24, "eventCodeGeneratedAggrement": 24, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 }
Exemplo de Resultado Positivo
{ "id": "1|TesteAPI", "company": 1, "code": "TesteAPI", "description": "Teste de Inclusao 1", "payReceiveType": 3, "lastNumber": "0", "cnabSpecies": 1, "mandatorySeller": 0, "templateDocumentCode": "01", "isDevolution": 0, "payable": 1, "eventCode": 70, "sequentialDocumentNumber": 0, "useGeneralParameters": 0, "generatesClearedBankStatement": 1, "considerLedger": 1, "doesNotCountZeroWriteOff": 0, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": "2", "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": "1", "generateIrrf": "0" }
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": "Violation of PRIMARY KEY constraint 'PKFTDO'. Cannot insert duplicate key in object 'dbo.FTDO'. The duplicate key value is (1, TesteAPI).\r\nThe statement has been terminated.\r\n\r\nINSERT INTO [FTDO] ([CODCOLIGADA], [CODTDO], [DESCRICAO], [PAGREC], [CODCFO], [ULTIMONUMERO], [ESPECIECNAB], [ULTIMONUMEROFAT], [SEPARADORSEQ], [TIPOSEQ], [CODCOLCFO], [CODMODDOC], [EDEVOLUCAO], [BAIXAVEL], [CODEVENTO], [CODEVENTOBX], [CODEVENTOCRT], [NUMDOCSEQUENCIAL], [USARPARAMETROSGERAIS], [GERAREXTCOMPNABAIXA], [CODEVENTOBXCONT], [ALIQUOTAIRRF], [CONSIDERARNORAZAO], [NAOCONTABILIZABX0], [APLICFORMULA], [DFFORMULAJUROS], [DFFORMULADESCONTO], [DFFORMULAMULTA], [DFFORMULACAPITALIZACAO], [DFFORMULAVALOROP1], [DFFORMULAVALOROP2], [DFFORMULAVALOROP3], [DFFORMULAVALOROP4], [DFFORMULAVALOROP5], [DFFORMULAVALOROP6], [DFFORMULAVALOROP7], [DFFORMULAVALOROP8], [SERIEDOCUMENTO], [CONSISTECLIFOR], [GERANUMDOC], [CODEVENTOBXACORDO], [CODEVENTOGERADOACORDO], [CALCULAAVP], [REUTILIZACAO], [UTILIZACUPOMFISCAL], [EFEITOSALDOORCAMENTO], [AFETAORCAPARA], [CODEVENTOLIQDUVIDOSA], [CODEVENTOBXACORDOLIQDUVIDOSA], [CODEVENTOBXLIQDUVIDOSA], [INATIVO], [CODEVENTOBXCREDADIANT], [CONSIDERARNOFLXCX], [CLASSELCDPR], [GERAIRRF], [RECCREATEDBY], [RECCREATEDON], [RECMODIFIEDBY], [RECMODIFIEDON]) VALUES (1, 'TesteAPI', 'Teste de Inclusao 1', 3, null, '0', 1, null, null, null, , '01', 0, 1, 70, , , 0, 0, 1, , , 1, 0, 'F', null, null, null, null, null, null, null, null, null, null, null, null, null, 1, 2, , , 0, , , 'N', , , , , 0, , 1, , 0, 'mestre', CONVERT ( DATETIME, CONVERT ( VARCHAR, GETDATE(), 120) ), 'mestre', CONVERT ( DATETIME, CONVERT ( VARCHAR, GETDATE(), 120) ))", "helpUrl": "", "details": null }
1.3 - PATCH
1.3.1 - Patch (Atualização parcial de um tipo de documento)
Patch
Máscara de Url: http://{domínio}:{porta}/api/financial/v1/documenttypes/{company}|{code}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Company: 1
Code: TesteApi
Url Utilizada: http://localhost:8051/api/financial/v1/documenttypes/1|TesteAPI
Exemplo de Entrada
{ "description": "Teste de Edição 1", "lastNumber": "125" }
Exemplo de Resultado Positivo
{ "id": "1|TesteAPI", "company": 1, "code": "TesteAPI", "description": "Teste de Edição 1", "payReceiveType": 3, "lastNumber": "125", "cnabSpecies": 1, "mandatorySeller": 0, "templateDocumentCode": "01", "isDevolution": 0, "payable": 1, "eventCode": 70, "sequentialDocumentNumber": 0, "useGeneralParameters": 0, "generatesClearedBankStatement": 1, "considerLedger": 1, "doesNotCountZeroWriteOff": 0, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": "2", "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": "1", "generateIrrf": "0" }
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 }
1.4 - PUT
1.4.1 - Put (Atualização completa de um tipo de documento)
Put
Máscara de Url: http://{domínio}:{porta}/api/financial/v1/documenttypes/{company}|{code}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Company: 1
Code: TesteApi
Url Utilizada: http://localhost:8051/api/financial/v1/documenttypes/1|TesteAPI
Exemplo de Entrada
{ "description": "Teste de Edição 1", "payReceiveType": 3, "lastNumber": "0", "cnabSpecies": 1, "templateDocumentCode": "01", "isDevolution": 0, "payable": 1, "eventCode": 70, "eventPayableCode": 24, "sequentialDocumentNumber": 0, "useGeneralParameters": 0, "generateBankStatementCompensatedDischarge": 1, "eventPayableDischargeCode": 24, "considerLedger": 1, "doesNotCountZeroWriteOff": 0, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": 2, "eventCodeWriteOffAggrement": 24, "eventCodeGeneratedAggrement": 24, "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": 1 }
Exemplo de Resultado Positivo
{ "id": "1|TesteAPI", "company": 1, "code": "TesteAPI", "description": "Teste de Edição 1", "payReceiveType": 3, "lastNumber": "0", "cnabSpecies": 1, "mandatorySeller": 0, "templateDocumentCode": "01", "isDevolution": 0, "payable": 1, "eventCode": 70, "sequentialDocumentNumber": 0, "useGeneralParameters": 0, "generatesClearedBankStatement": 1, "considerLedger": 1, "doesNotCountZeroWriteOff": 0, "applyFormula": "F", "consistsCustomerVendor": 1, "generateDocumentNumber": "2", "calculateAvp": 0, "budgetBalanceEffects": "N", "inactive": 0, "considerCashFlow": "1", "generateIrrf": "0" }
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 }
1.5 - DELETE
1.5.1 - Delete (Exclui uma Conta/Caixa)
Delete
Máscara de Url: http://{domínio}:{porta}/api/financial/v1/documenttypes/{company}|{code}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Company: 1
Code: TesteAPI
Url Utilizada: http://localhost:8051/api/financial/v1/documenttypes/1|TesteAPI
Exemplo de Resultado Positivo Postman
Obs.: Em caso de sucesso, será retornado o respondeCode = 204 e a resposta em branco.
Exemplo de Resultado Negativo
{ "Code": "FE011", "Message": "Registro não encontrado na base de dados.", "DetailMessage": "", "HelpUrl": "", "Details": null }
- Sem rótulos