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

Domínio: localhost

Porta: 8051

Url Utilizada: http://localhost:8051/api/financial/v1/documenttypes

Exemplo de Resultado

Resultado (JSON)
{
    "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

Resultado (JSON)
{
    "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

Resultado (JSON)
{
    "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

Resultado (JSON)
{
    "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

Resultado (JSON)
{
    "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

Resultado (JSON)
{
    "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

Resultado (JSON)
{
    "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

Domínio: localhost

Porta: 8051

Url Utilizada: http://localhost:8051/api/financial/v1/documenttypes

Exemplo de Entrada

Resultado (JSON)
{
	"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

Resultado (JSON)
{
    "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

Resultado (JSON)
{
    "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

Resultado (JSON)
{
	"description": "Teste de Edição 1",
	"lastNumber": "125"
}

Exemplo de Resultado Positivo

Resultado (JSON)
{
    "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

Resultado (JSON)
{
    "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

Resultado (JSON)
{
	"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

Resultado (JSON)
{
    "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

Resultado (JSON)
{
    "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

Resultado (JSON)
{
    "Code": "FE011",
    "Message": "Registro não encontrado na base de dados.",
    "DetailMessage": "",
    "HelpUrl": "",
    "Details": null
}
  • Sem rótulos