Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

1. Informações Gerais (recurso ainda não disponível)


Especificação

Produto Microsiga Protheus

 Totvs Automoção Fiscal

Módulo

 GCT SIGATAF

Segmento Executor

 Serviços

Projeto

TAF - THF

IRM


Requisito


Subtarefa



2. Objetivo

Os serviços especificados neste documento serão consumidos pelo aplicativo Meus Contratos e Monitor de Eventos e tem por objetivo permitir ao usuário consultar os contratos e planilhas eventos cadastrados na base Protheus TAF (totvs Automação fiscal) de um navegador convencional podendo ser também smartphone ou tablet, bem como acompanhar, aprovar ou reprovar medições de contratos, desde que incluído na alçada de aprovação.

3. Definições de Serviços

Todos os serviços devem obedecer às boas práticas de implementação de APIs presentes no Guia de Implementação de APIs TOTVS.

Deve-se tomar um cuidado especial com os retornos da requisição, inserindo o status HTTP correto de acordo com o erro encontrado (não enviar um status http 200 em uma mensagem de erro, por exemplo).

3.1. GET /

...

wstaf001

Retorna a lista de contratos disponíveis para consulta ao usuário logado, no formato indicado abaixo:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "contractseventsReinfTotalizers" : [
         
	{
            "numberevent" : "0192390283R-5001",
			"rev" : "1",
			"_type" : "2",
			"expiresIn": 3,
			"daysToFinish": 15,
      "descriptionEvent": "Informações de bases e tributos "startDate" : "20171103"por evento",
            "endDatemonitoring" : "20180615",
			"readjustment": 1,
[
             "description" : "Contrato de Compra fixo",
			"departament": "Juridico",
{
             "situation":"05",
         "statusCode": 0,
   "balance": {
                "symbolquantity" : "R$",4
                "total" : 43000.1,}
            }],
		    "current_value": {
      	 		"symboltotalMonitoring" : "R$",4
        }
		"total" : 60000],
   		 	} "hasNext": false,
        },"eventsReinf": [
        {
            "numbertotalNotValidation" : "1932736",
			"rev" : "3",
			"_type" : "1",
			"expiresIn": null,
			"daysToFinish": 1340,
            "event": "R-2010",
            "startDatedescriptionEvent" : "20170811Retenção contribuição previdenciária - serviços tomados",
            "endDatetypeEvent" : "20171223"3,
            "descriptionmonitoring": :[
 "Outro Contrato",
			"departament": "Financeiro",
            "balance": {
                    "symbolstatusCode" : "USD"0,
                    "totalquantity" : 58000,2
                }
			"current_value": {
         	 		"symbol" : "R$"],
          		  "totaltotalMonitoring" : 80002,
            		 	}"total": 4,
        }
    ],
	"contractsToExpiretotalValidation": 5
4
        }
  "hasNext" : true]
}

Descrição dos Campos:


  • contractseventsReinfTotalizers[]: Array  Array com os contratos que o usuário logado tem acesso.
  • contracts.contractsToExpire: Número de contratos que estão próximos à vencer (pode ser null se não houver nenhum
  • contracts[n].number: Número do contrato
  • contracts[n].rev: Revisão do contrato
  • contracts[n]._type: Tipo de contrato ("1"=compra e "2"=venda)
  • contracts[n].expiresIn: Quantidade de dias até a expiração do contrato (se for nulo, ou não está para expirar, ou usuário não configurou alerta)
  • contracts[n].daysToFinish: Quantidade de dias até a expiração do contrato (Independente da configuração do alerta)
  • contracts[n].startDate: Data de início da vigência
  • contracts[n].endDate: Data de fim da vigência
  • contracts[n].description: Descrição do contrato
  • contracts[n].departament: Departamento responsável pelo contrato.
  • contracts[n].readjustment: Informa se o contrato possui reajuste ("1"=Sim e "2"=Não).
  • contracts[n].balance: Objeto do saldo do contrato
  • contracts[n].balance.symbol: Símbolo da moeda referente ao saldo retornado
  • contracts[n].balance.total: Valor total do saldo do contrato
  • contracts[n].current_value: Objeto do total do contrato
  • contracts[n].current_value.symbol: Símbolo da moeda
  • contracts[n].current_total: Valor toral do contrato
  • contracts[n].situation: Situação do contrato, pode apresentar os seguintes valores: 
          • '01' = Cancelado
          • '02' = Em Elaboração
          • '03' = Emitido
          • '04' = Em aprovação
          • '05' = Vigente
          • '06' = Paralisado
          • '07' = Solicitada finalização
          • '08' = Finalizado
          • '09' = Em Revisão
          • '10' = Revisado
          • '11' = Rejeitado
          • '12' = Revisão em aprovação
  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).

Parâmetros aceitos:

  • page e pageSize

Utilizados para fazer paginação.

A primeira página é a 1.

Se não for enviado um page, considerar a página 1.

Se não for passado um pageSize, considerar o tamanho de página como 10.

TODA requisição de lista deve retornar um atributo hasNext indicando se atingiu a última página ou não.

Exemplos (Supondo que existam 32 registros na base):

    • GET /wscnta300/contracts -> Retorna a página padrão (1) com tamanho padrão (10) (registro do 1 ao 10, hasNext = true)
    • GET /wscnta300/contracts?page=1 -> Retorna a página 1 com tamanho padrão (10) (registro de 1 ao 10, hasNext = true)
    • GET /wscnta300/contracts?pageSize=3 -> Retorna a página padrão (1) com tamanho 3 (registro de 1 ao 3, hasNext = true)
    • GET /wscnta300/contracts?page=2&pageSize=4 -> Retorna a página (2) com tamanho (4) (registro do 5 ao 8, hasNext = true)
    • GET /wscnta300/contracts?page=4&pageSize=10 -> Retorna a página (4) com tamanho (10) (registro do 31 ao 40 -> irá retornar só o 31 e o 32, hasNext = false)
    • etc.
  • Filtros

Deve suportar filtrar os resultados de acordo com alguns parâmetros:

    • searchKey: Filtro chave, capaz de filtrar em diversos campos diferentes do contrato, como cliente ou fornecedor, número, descrição, etc (máximo de lugares possíveis).
    • _type: Tipo de contrato, indica se é um contrato de compra (_type="1") ou de venda (_type="2"). Caso não seja informado, retornar todos os tipos.
    • customer: Cliente relacionado ao contrato. Deve ser considerado apenas se o parâmetro _type for enviado com o valor "2" (venda).
    • supplier: Fornecedor relacionado ao contrato. Deve ser considerado apenas se o parâmetro _type for enviado com o valor "1" (compra).
    • unit: Loja do cliente ou do fornecedor relacionado ao contrato. Deve ser considerado apenas se o parâmetro customer ou supplier for enviado em conjunto.
    • expiring: Indicador de contratos à vencer. Se for true: retornar apenas os contratos próximos do vencimento. Se for false ou não for enviado, retornar todos.
    • status: indica a situação atual do contrato. O parâmetro aceita os seguintes valores:
      • 0 - Todos os contratos, com exceção dos revisados e em revisão;
      • 1 - Contratos vigentes (Valor Default);
      • 2 - Contratos em elaboração;
      • 3 - Contratos aguardando aprovação;
      • 4 - Contratos paralisados;
      • 5 - Contratos em reajuste;
      • 6 - Contratos vencidos;
      • 7 - Contratos a vencer em 30 dias;
      • 8 - Todos os contratos com exceção dos revisados;

3.2. GET /wscnta300/contracts/{contractID}/{rev}

Este serviço deve retornar somente um contrato, com os detalhes do mesmo. O contrato que deve ser retornado será indicado pelos parâmetros contractID e rev, presentes na URL da requisição.

Exemplo de chamada: GET /wscnta300/contracts/0192390283/1

Exemplo de retorno:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "number" : "0192390283",
    "rev" : "1",
    "_type" : "1",
	"type_of_contract_id": "001",
	"type_of_contract_description": "fixo",
	"expiresIn": 3,
	"daysToFinish": 3, 
    "startDate" : "20171103",
    "endDate" : "20180615",
    "description" : "Contrato de Compra fixo",
	"manager":"Rodrigo",
	"managerId":"000001",
	"coin": 1,
	"department_description": "FINANCEIRO",
    "department_id": "000001",
    "situation":"05"
	"validity": "3 meses",
	"validity_quant": 90,
	"validity_unit": "1",
	"contract_approval_id": "000001",
	"contract_approval_description": "GRUPO 01",
	"measurement_approval_id": "000001",
	"measurement_approval_description": "GRUPO 01",
	"bail_type": "1",
	"retention_percentage": 5,
 	"payment_condition_id": "001",
	"payment_condition_description": "a vista",
    "class_id": "001",
    "class_description": "PIS",
	"object": "Prestação de serviço de limpeza",
	"clause": "Clausula do contrato",
	"justification": "Alteração de valor",
	"stoppage_id": "003",
	"stoppage_description": "falta de documentos",
	"end_stoppage": "20190615"
    "balance": {
        "symbol" : "R$",
        "total" : 43000.1,
    },
    "current_value": {
        "symbol" : "R$",
        "total_fixed" : 102000,
		"total_flex" : 25000,
		"sum_total": 127000,
    },
    "spreadsheets" : [
        {
            "number" : "0001",
			"type_id": "001",
			"type_description":"fixo c/ cronograma",
            "description" : "FIXO/FINANCEIRO",
            "related" : "GRUPO JLIMA",
			"reladet_id": "001",
			"related_unit": "01",
			"related_cnpj": "48.827.155/0001-22",
			"nextMeasurement": "09/2018",
			"index": "IGPM",
			"index_id": "001",
			"readjust_date":"20180725",
			"readjust_unit": "2",
			"readjust_mode": "1",
            "readjust_frequency": 20,
            "balance" : {
                "symbol" : "R$",
                "total" : 21000.1,
            },
			"current_value" : {
                "symbol" : "R$",
                "total" : 1000,
            },
			"itens":[
			{	
				"id":"0001",
				"productId":"00000002",
				"product": "Computador",
				"quantity": 10,
				"measured_quantity": 2;
				"unitary_value":{
					"symbol": "R$",
					"value":100,
				},
				"discont":5,
				"amount":{
					"symbol": R$, 
					"value": 995,
				},
				"accounting_apportionment":[
				{
					"cost_center": "Juridico",
					"percentage": 100,
					"accounting_account": "001",
					"accounting item": "02",
					"value_class": "03",
					"item": "01",
					"credit_entity_05":"0501"
					"debit_entity_05":"0502"
					"amount":{
						"symbol":"R$",,
						"value":995,
					},
				},
				]	
			}
			]
        },
        {
            "number" : "0002",
            "description" : "SERVIÇOS",
            "related" : "GRUPO JLIMA",
            "balance" : {
                "symbol" : "R$",
                "total" : 22000,
            }
        }
    ],
    "balanceHistory" : {
		"fixed": [ ["201701", 120, 120], ["201702", 120, 80], ["201703", 120, 0] ],
		"flex": [ ["201701", 120, 120], ["201702", 120, 80], ["201703", 120, 0] ],
		"projection_flex": true,
	}
}

Descrição dos Campos:

  • number: Número do contrato
  • rev: Revisão do contrato
  • _type: Especie de contrato (1=compra e 2=venda)
  • type_of_contract_id:  Código do tipo do contrato
  • type_of_contract_description: Descrição do tipo de contrato
  • expiresIn: Quantidade de dias até o contrato expirar (pode ser nulo se não estiver próximo da expiração ou se o usuário não configurou o alerta)
  • startDate: Data de início da vigência
  • endDate: Data de fim da vigência
  • daysToFinish: Quantidade de dias até a expiração do contrato (Independente da configuração do alerta)
  • description: Descrição do contrato
  • manager_description:  Nome do gestor do contrato
  • manager_id: Código de Usuário do gestor do contrato
  • department_description: Descrição da área do contrato
  • department_id: Código da área do contrato
  • coin: Moeda do contrato
  • validity: Vigência do contrato
  • validity_unit: Unidade de vigência do contrato, assume os valores:  "1"=Dias; "2"=Meses; "3"=Anos; "4"=Indeterminada;
  • validity_quant: Quantidade da vigência
  • contract_approval_id: Código do grupo de aprovação do contrato
  • contract_approval_description: Descrição do grupo de aprovação do contrato
  • measurement_approval_id: Código do grupo de aprovação da medição
  • measurement_approval_description: Descrição do grupo de aprovação da medição
  • bail_type: Tipo de caução ("1"=Manual e "2"=retenção)
  • retention_percentage: Percentual de caução
  • payment_condition_id:  Código da condição de pagamento do contrato
  • payment_condition_description:  Descrição da da condição de pagamento do contrato
  • class_id: Código da natureza financeira
  • class_description: Descrição da natureza financeira
  • object: Objeto do contrato
  • clause: Clausula do contrato
  • balance: Objeto do saldo do contrato
  • justification: Justificativa da revisão
  • stoppage_id: Motivo de paralisação
  • stoppage_description: Descrição do motivo de paralisação
  • end_stoppage: Data de término da paralisação
  • balance.symbol: Símbolo da moeda referente ao saldo retornado
  • balance.total: Valor total do saldo do contrato
  • current_value: Valor atual do contrato
  • current_value.symbol: Símbolo da moeda referente ao valor atual retornado
  • current_value.total_fixed: Valor total do valor atual do contrato, somente as planilhas fixas
  • current_value.total_flex: Valor total do contrato, somente planilhas flex.
  • current_value.sum_total: Soma dos totais fixo e flex.
  • situation: Situação do contrato, pode apresentar os seguintes valores: 
      • '01' = Cancelado
      • '02' = Em Elaboração
      • '03' = Emitido
      • '04' = Em aprovação
      • '05' = Vigente
      • '06' = Paralisado
      • '07' = Solicitada finalização
      • '08' = Finalizado
      • '09' = Em Revisão
      • '10' = Revisado
      • '11' = Rejeitado
      • '12' = Revisão em aprovação
  • spreadsheets: Array com as planilhas do contrato
  • spreadsheets[n].number: Número da planilha
  • spreadsheets[n].type_id: Código do tipo de planilha
  • spreadsheets[n].type_description: Descrição do tipo de planilha
  • spreadsheets[n].description: Descrição da planilha
  • spreadsheets[n].related: Cliente ou fornecedor relacionado à planilha
  • spreadsheets[n].related_id: Código do cliente ou fornecedor relacionado à planilha
  • spreadsheets[n].related_unit: Loja do cliente ou fornecedor relacionado à planilha
  • spreadsheets[n].related_cnpj: CNPJ do cliente ou fornecedor relacionado à planilha
  • spreadsheets[n].nextMeasurements: Competência da próxima medição
  • spreadsheets[n].index: Descrição do indice de reajuste do contrato
  • spreadsheets[n].index_id: Código do indice de reajuste do contrato
  • spreadsheets[n].readjuste_date: Data do reajuste
  • spreadsheets[n].readjuste_unit: Unidade utilizada para o calculo do reajuste, aceita as opções: "1"=Dias; "2"=Meses;"3"=Anos;
  • spreadsheets[n].readjuste_frequency: Quantidade de dias, meses ou anos utilizados para o cálculo da data do próximo reajuste
  • spreadsheets[n].readjuste_mode: modo de reajuste, aceita as opções: "1"= Por competência; "2"= Por data
  • spreadsheets[n].balance: Objeto do saldo da planilha
  • spreadsheets[n].balance.symbol: Símbolo da moeda referente ao saldo retornado
  • spreadsheets[n].balance.total: saldo da planilha
  • spreadsheets[n].current_value: Objeto do valor total da planilha
  • spreadsheets[n].current_value.symbol: Símbolo da moeda referente ao valor total retornado
  • spreadsheets[n].current_value.total: valor total da planilha
  • spreadsheets[n].itens: Array com os itens da planilha
  • spreadsheets[n].itens[n].id: Código de identificação do item
  • spreadsheets[n].itens[n].productId: Código de identificação do produto
  • spreadsheets[n].itens[n].product: Descrição do produto
  • spreadsheets[n].itens[n].quantity: Quantidade
  • spreadsheets[n].itens[n].measured_quantity: Quantidade medida
  • spreadsheets[n].itens[n].unitary_value: Objeto do valor unitário
  • spreadsheets[n].itens[n].unitary_value.symbol: Simbolo da moeda
  • spreadsheets[n].itens[n].unitary_value.value: Valor Unitário
  • spreadsheets[n].itens[n].discont: Percentual de desconto
  • spreadsheets[n].itens[n].amount: Objeto do valor total
  • spreadsheets[n].itens[n].amount.symbol: Simbolo da moeda
  • spreadsheets[n].itens[n].amount.value: Valor total
  • spreadsheets[n].itens[n].accounting_apportionment: Objeto do rateio contábil do item
  • spreadsheets[n].itens[n].accounting_apportionment[n].item: Código do item do rateio contábil
  • spreadsheets[n].itens[n].accounting_apportionment[n].cost_center: Centro de custo
  • spreadsheets[n].itens[n].accounting_apportionment[n].accounting_accout: Conta contabil
  • spreadsheets[n].itens[n].accounting_apportionment[n].accounting_item: Item contabil
  • spreadsheets[n].itens[n].accounting_apportionment[n].value_class: Classe de valor
  • spreadsheets[n].itens[n].accounting_apportionment[n].percentage: Porcentagem
  • spreadsheets[n].itens[n].accounting_apportionment[n].credit_entity_xx: Entidade adicional de crédito, referente ao plano de contas xx
  • spreadsheets[n].itens[n].accounting_apportionment[n].debit_entity_xx: Entidade adicional de débito, referente ao plano de contas xx
  • spreadsheets[n].itens[n].accounting_apportionment[n].amount: Objeto do valor total rateado
  • spreadsheets[n].itens[n].accounting_apportionment[n].amount.symbol: Simbolo da moeda
  • spreadsheets[n].itens[n].accounting_apportionment[n].amount.value: Valor total
  • balanceHistoryHistórico das medições por tipo de planilha
  • balanceHistory.fixed: Array com a soma dos saldos e orçamentos da competência das planilhas fixas. O array terá sempre três posições, sendo: 0: Competência, 1: Valor Previsto, 2: Valor Realizado. 
  • balanceHistory.flex: Array com a soma dos saldos e orçamentos da competência das planilhas flex. O array terá sempre três posições, sendo: 0: Competência, 1: Valor Previsto, 2: Valor Realizado.
  • balanceHistory.projection_flex: Indica se o grafico deve apresentar as linhas de projeção e orçado 

Parâmetros aceitos:

schedule: parâmetro booleano para solicitar o cronograma financeiro. default: false

3.3. GET /wscnta300/contracts/{contractID}/{rev}/spreadsheets/{spreadSheetNumber}/balances

Traz os saldos da planilha indicada pelo parâmetro spreadSheetNumber.

Exemplo de retorno:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "competences": [
		["201701", 120, 120],
		["201702", 120, 120],
		["201703", 120, 80],
		["201704", 120, 30]
    ]
}

Descrição dos Campos:

  • competences: Array com os saldos por competência. Cada posição do array representa um novo array com os índices: competência, orçado e realizado.

3.4. GET /wscnta300/customers

Retorna a lista de clientes disponíveis para filtrar os contratos exibidos, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "clients": [
        {
            "id": "0000001",
            "name": "TOTVS SA",
            "unit": "01"
        },
        {
            "id": "0000002",
            "name": "OUTRO CLIENTE",
            "unit": "01"
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • clients: Array de clientes.
  • clients[n].id: Código de identificação do cliente
  • clients[n].name: Nome do cliente
  • clients[n].unit: Loja do cliente

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.5. GET /wscnta300/suppliers

Retorna a lista de fornecedores disponíveis para filtrar os contratos exibidos, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "suppliers": [
        {
            "id": "0000001",
            "name": "TOTVS SA",
            "unit": "01"
        },
        {
            "id": "0000002",
            "name": "OUTRO CLIENTE",
            "unit": "01"
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • suppliers: Array de fornecedores.
  • suppliers[n].id: Código de identificação do fornecedor
  • suppliers[n].name: Nome do fornecedor
  • suppliers[n].unit: Loja do fornecedor

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.6. GET /wscnta121/measurements

Retorna a lista de medições disponíveis para aprovação do usuário logado, no formato indicado abaixo:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "measurements" : [
        {
            "number" : "297238",
            "contract" : {
                "number" : "0937491347",
                "rev" : "1"
            },
			"value" : {
				"symbol" : "R$",
				"total": 21000
			}
            "spreadsheet" : [{
        	        "number" : "3",
                    "description" : "FIXO/FINANCEIRO"
				    "items" : [
                	{
                  	  	"product_code" : "000001",
                   	 	"product_description" : "PRODUTO 1",
                    	"quantity" : 8,
						"discount" : "20,5 %",
                    	"unitary_value" : 16,
                    	"total_value" : 128,,
						"value_symbol" : "R$",
						"delivery_date" : "20171123"
                	}	,
                	{
                    	"product_code" : "000002",
                    	"product_description" : "OUTRO PRODUTO 2",
                    	"quantity" : 10,
                    	"unitary_value" : 1.3,
						"discount" : "0 %",
                    	"total_value" : 13,
						"value_symbol" : "R$",
						"delivery_date" : "20171123"
                	}
           		 ]
            }],
			"competence": "11/2017",
			"history" : [
				{
					"name" : "RODRIGO TOLEDO",
					"date" : "20171023",
					"justification" : ""
				}
			"key" : "000007000003001                                   "
			]
         }
    ],
	"hasNext": true
}

Descrição dos Campos:

  • measurements: Array com as medições pendentes de aprovação do usuário logado.
  • measurements[n].number: Número da medição
  • measurements[n].contract: Objeto do contrato ao qual a medição está vinculada
  • measurements[n].contract.number: Número do contrato
  • measurements[n].contract.rev: Revisão do contrato
  • measurements[n].value: Objeto do valor total da medição
  • measurements[n].value.symbol: Símbolo da moeda do valor total da medição
  • measurements[n].value.total: Valor total da medição
  • measurements[n].spreadsheet: Array com as planilhas da medição
  • measurements[n].spreadsheet[n].numberNúmero da planilha
  • measurements[n].spreadsheet[n].descriptionDescrição da planilha
  • measurements[n].spreadsheet[n].items: Array com os itens da medição
  • measurements[n].spreadsheet[n].items[n].product_codeCódigo do produto
  • measurements[n].spreadsheet[n].tems[n].product_descriptionDescrição do produto
  • measurements[n].spreadsheet[n].items[n].quantityQuantidade
  • measurements[n].spreadsheet[n].items[n].discount: Percentual de desconto
  • measurements[n].spreadsheet[n].items[n].unitary_valueValor unitário
  • measurements[n].spreadsheet[n].items[n].total_valueValor total
  • measurements[n].spreadsheet[n].items[n].value_symbolSímbolo do valor a ser exibido

  • measurements[n].spreadsheet[n].items[n].delivery_date: Data de entrega (YYYYMMDD)
  • measurements[n].competence: Mês da medição (YYYYMM)
  • measurements[n].history: Array de histórico de aprovações da medição
  • measurements[n].history[n].name: Nome do aprovador
  • measurements[n].history[n].date: Data da aprovação
  • measurements[n].history[n].justification: Justificativa (pode ser vazia)
  • measurements[n].key: Chave do documento
  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).

Parâmetros aceitos, ao recebidos devem filtrar a lista de medições retornadas:

Parâmetros aceitos:

  • page e pageSize

Utilizados para fazer paginação. Utilizar mecanismo igual ao do serviço de contratos.

Filtros aceitos:

  • searchKey: Filtro chave, capaz de filtrar em diversos campos diferentes da medição. No primeiro momento, filtramos o número do contrato e o número da medição.

3.7. PUT /wscnta121/measurements/{key}/approval_status

Este endpoint deverá efetuar a aprovação ou reprovação da medição por parte do usuário logado.

Ao ser requisitado, será enviado um payload junto à requisição, com o seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "approval_status" : false,
    "justification" : "Justificativa"
}

Campos do payload da requisição:

  • approval_status: Resultado a aprovação (true se o usuário aprovou a medição, false se o usuário reprovou a medição)
  • justification: Justificativa do usuário em caso de reprovação (em caso de aprovação, este campo não é obrigatório)

O retorno da requisição deverá ser uma mensagem de OK (http 200) em caso de atualização com sucesso ou enviar no retorno a mensagem de erro resultante da operação (utilizar padrão de erro do framework). 

OBS: Caso o usuário aprove ou reprove a requisição e o Protheus rejeite esta operação, o retorno não poderá ser enviado em uma mensagem de sucesso (http 200).

3.8. GET /wscnta121/measurements/pending

Retorna as parcelas dos cronogramas que possuem a data prevista de medição vencida, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
	"measurements"[
	{
   		 "contract_number" : "00000000001",
    	"contract_description" : "semi-fixo",
		"spreadsheet_number": "000002",
		"spreadsheet_description": "planilha de serviços",
		"competence":  "201807",
		"expiring_date": "20180723",
		"balance": {
                "symbol" : "R$",
                "total" : 43000.1,
				 }
		"current_value":{
			"symbol": "R$",
			"total": 100000,00	
		}
	}
	]
	"hasNext":true,
}

Descrição dos Campos:

...

3.9. GET /wscnta121/measurements/pending/total

Retorna a quantidate total de parcelas dos cronogramas que possuem a data prevista de medição vencida, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
	"total":30,
}

Descrição dos Campos:

  • total: total de medições pendentes

3.10. GET /wscnta300/contracts/total

Retorna o numero total de contratos em uma determinada situação, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
  	"total": 53
}

Descrição dos Campos:

  • total: total de contratos em uma determinada situação.

Parâmetros aceitos:

  • status:  indica o status do contrato que se deseja obter a contagem. O parâmetro aceita os seguintes valores:
    • 0 - Todos os contratos (Valor default);
    • 1 - Contratos vigentes;
    • 2 - Contratos em elaboração;
    • 3 - Contratos aguardando aprovação;
    • 4 - Contratos paralisados;
    • 5 - Contratos em reajuste;
    • 6 - Contratos vencidos;
    • 7 - Contratos a vencer em 30 dias;

3.11. GET /wscnta300/contracts/{contractId}/{rev}/forecast

Retorna a projeção financeira para os próximos seis meses, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
  	  "balance": {
        "symbol" : "R$",
        "total" : 43000.1
    },
    "current_value": {
        "symbol" : "R$",
        "total" : 102000,
    },
	 "forecast": [
		["201701", 120],
		["201702", 200],
		["201703", 150],
		["201704", 180],
		["201705", 230],
		["201706", 240],
    ]
}

Descrição dos Campos:

  • balance: Objeto do saldo do contrato
  • balance.symbol: Símbolo da moeda referente ao saldo retornado
  • balance.total: Valor total do saldo do contrato
  • current_value: Valor atual do contrato
  • current_value.symbol: Símbolo da moeda referente ao valor atual retornado
  • current_value.total: Valor atual do contrato.
  • forecast: Array com a projeção financeira dos próximos seis meses. O array terá duas posições, sendo: 0: Competência, 1: Valor projetado

3.12. GET /wscnta300/indexes

Retorna a lista de índices de reajuste disponíveis, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "indexes": [
        {
            "id": "001",
            "description": "IGPM",
        },
        {
            "id": "002",
            "description": "IPCA",
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • indexes: Array de índices.
  • index[n].id: Código de identificação do índice
  • index[n].description: Descrição do índice

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.13. GET /wscnta300/products

Retorna a lista de índices de produtos, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "products": [
        {
            "id": "001",
            "description": "monitor",
        },
        {
            "id": "002",
            "description": "mouse",
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • products: Array de produtos.
  • product[n].id: Código de identificação do produto
  • product[n].description: Descrição do produto

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.14. GET /wscnta300/costCenters

Retorna a lista de centros de custo, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "costCenters": [
        {   
            "description": "RH",
        },
        {
            "description": "TI",
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • costCenters: Array de centros de custo.
  • costCenter[n].description: Descrição dos centros de custo

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.15. GET /wscnta300/financialAccounts

Retorna a lista de contas contábeis, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "financialAccounts": [
        {   
            "description": "RH",
        },
        {
            "description": "TI",
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • financialAccounts: Array de centros de custo.
  • accountingAccount[n].description: Descrição dos centros de custo

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.16. GET /wscnta300/accountingItems

Retorna a lista de items contábeis, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "accoutingItems": [
        {   
            "description": "RH",
        },
        {
            "description": "TI",
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • accountingItems: Array de centros de custo.
  • accountingItem[n].description: Descrição dos centros de custo

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.17. GET /wscnta300/valueClasses

Retorna a lista de classes de valor, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "valueClasses": [
        {   
            "description": "RH",
        },
        {
            "description": "TI",
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • valueClasses: Array de centros de custo.
  • valueClass[n].description: Descrição dos centros de custo

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.18. GET /wscnta300/contracts/{contractId}/{rev}/spreadsheets/{spreadsheetNumber}/schedule

Retorna as parcelas do cronograma financeiro, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": false,
    "parcels": [
        {
            "forecastDate": "20190501",
            "parcel": "17",
			"status": "1",
            "forecastValue": {
                "total": "20190501",
                "symbol": "R$"
            },
            "balance": {
                "total": 1000000,
                "symbol": "R$"
            },
            "competence": "05/2019",
            "executionDate": ""
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • parcels: Array de parcelas do cronograma financeiro
  • parcels[n].forecastDate: Data prevista da medição
  • parcels[n].parcel: Numero da parcela
  • parcels[n].competence: Competencia da parcela
  • parcels[n].executionDate: Data de execução da parcela
  • parcels[n].forecastValue: Objeto do valor previsto da parcela
  • parcels[n].forecastValue.total: Valor previsto da parcela
  • parcels[n].forecastValue.symbol: Simbolo da moeda
  • parcels[n].balance: Objeto do saldo da parcela
  • parcels[n].balance.total: Saldo da parcela
  • parcels[n].balance.symbol: Simbolo da moeda
  • parcels[n].status: Status da parcela: 1- em aberto, 2- parcialmente realizado, 3-realizado

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.19. GET /wscnta300/paymentConditions

Retorna a lista de condições de pagamento, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "paymentConditions": [
        {   
			"id": "001",
            "description": "a vista"
        },
        {
			"id":"002",
            "description": "30 dias"
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • paymentConditions: Array de condições de pagamento.
  • paymentConditions[n].id: Código da condição de pagamento
  • paymentConditions[n].description: Descrição da condição de pagamento

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.20. GET /wscnta300/approvalGroups

Retorna os grupos de aprovação, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "approvalGroups": [
        {   
			"id": "001",
            "description": "grupo de aprovação de medições"
        },
        {
			"id":"002",
            "description": "grupo de aprovação de contratos"
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • approvalGroups: Array de grupos de aprovação
  • approvalGroups[n].id: Código do grupo de aprovação
  • approvalGroups[n].description: Descrição do grupo de aprovação

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.21. GET /wscnta300/coins

Retorna lista de moedas, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "coins": [
        {
            "symbol": "R$",
            "id": 1,
            "description": "REAL"
        },
        {
            "symbol": "US$",
            "id": 2,
            "description": "DOLAR"
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • coins: Array de moedas
  • coins[n].id: id da moeda
  • coins[n].description: Descrição da moeda
  • coind[n].symbol: Simbolo da moeda

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.22. GET /wscnta300/typesOfContract

Retorna os tipos de contrato, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "typesOfContract": [
        {
            "id": "001",
            "description": "COMPRA                        "
        },
        {
            "id": "002",
            "description": "VENDA                         "
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • typesOfContract: Array de tipos de contrato
  • typesOfContract[n].id: código do tipo de contrato
  • typesOfContract[n].description: Descrição do tipo de contrato

Os parâmetros aceitos serão: searchKey, page e pageSize e _type.

  • _type: Tipo do contrato: 1=Compra, 2=Venda;

3.23. GET /wscnta300/typesOfSpreadsheet

Retorna os tipos de planilha, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "typesOfSpreadsheet": [
        {
            "id": "005",
            "description": "FLEX                          "
        },
        {
            "id": "006",
            "description": "FLEX C/PREV                   "
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • typesOfSpreadsheet Array de tipos de planilha
  • typesOfSpreadsheet[n].id: Código do tipo de planilha
  • typesOfSpreadsheet[n].description: Descrição do tipo de planilha
  • typesOfSpreadsheet[n].type: tipo da planilha sendo:
            • '1' = fixa com cronograma financeiro;
            • '2' = fixa sem cronograma financeiro;
            • '3' = flex com previsão financeira;
            • '4' = flex sem previsão financeira;
            • '5'= Outro;

Parâmetros aceitos:

  • searchKey
  • page
  • pageSize
  • allTypes: Considera todos os tipos de planilha;

3.24. GET /wscnta300/departments

Retorna as áreas do contrato, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": false,
    "departments": [
        {
            "manager_id": "000001",
            "id": "000001",
            "manager_name": "JOSE",
            "description": "FINANCEIRO                              "
        },
        {
            "manager_id": "000002",
            "id": "000002",
            "manager_name": "DELMONDES",
            "description": "JURIDICO                                "
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • id: Código da área do contrato
  • description: Descrição da área do contrato
  • manager_id: Código do gestor do contrato
  • manager_name: Nome do gestor

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.25. GET /wscnta300/contracts/{contractID}/{rev}/documents

Retorna as referências aos documentos anexados ao contrato

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "documents": [
        {
            "id": "0000000003",
            "description": "doc1"
        },
        {
            "id": "0000000004",
            "description": "doc2"
        },
       
    ],
    "hasNext": false
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • documents: Array contendos as referências aos documentos anexados ao contrato.
  • documents[n].id: Código do documento
  • documents[n].description: Descrição do documento

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.26. GET /wscnta300/contracts/{contractID}/{rev}/documents/{doc}

Retorna um determinado documento anexado ao contrato.

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "id": "0000000003",
    "file": "am9zZSBwZXJlaXJhIGRlbG1vbmRlcyBuZXRv",
    "name": "doc1.txt                                                                                                                                                                                            ",
    "description": "documento 1"
}

Descrição dos Campos:

  • id: Código do documento
  • description: Descrição do documento
  • name: Nome do arquivo com extensão
  • file: Documento no formado base64

3.27. GET /wscnta300/contracts/{contractID}/historic/revisions

Retorna o histórico de revisões no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "_type": "1",
    "coin": 1,
    "startDate": "20181129",
    "hasNext": true,
    "type_of_contract_id": "001",
	"number": "000000000000120",
    "type_of_contract_description": "COMPRA";
    "revisions": [
        {
			 "revision_type_code": "   ",
            "payment_condition_id": "001",
            "manager_id": "      ",
            "payment_condition_description": "A VISTA",
            "contract_approval_description": "",
            "measurement_approval_id": "      ",
            "justification": "",
            "current_value": {
                "total_fixed": 8500,
                "sum_total": 19450,
                "total_flex": 10950,
                "symbol": "R$"
            },         
            "spreadsheets": [
                {
					"type_id": "001",
                    "readjust_unit": " ",
                    "index": "",
                    "readjust_frequency": 0,
                    "description": "FIXO",
                    "balance": {
                        "total": 8500,
                        "symbol": "R$"
                    },
					"current_value": {
                        "total": 8500,
                        "symbol": "R$"
                    },
                    "number": "000001",
                    "type_description": "FIXO"
                    "related_id": "001   ",
                    "related_cnpj": "48.827.155/0001-22",
                    "next_measurement": "09/2018",
                    "related": "FORNECEDOR 01",
                    "readjust_mode": " ",
                    "index_id": "   ",
                    "readjust_date": "        ",
                    "related_unit": "01",
                    "itens": [
                        {
                            "discount": 0,
                            "amount": {
                                "value": 1000,
                                "symbol": "R$"
                            },
                            "id": "001",
                            "productId": "001            ",
                            "quantity": 100,
                            "accounting_apportionment": [
                                {
                                    "accounting_item": "         ",
                                    "percentage": 30,
                                    "amount": {
                                        "value": 300,
                                        "symbol": "R$"
                                    },
                                    "value_class": "         ",
                                    "accounting_accout": "                    ",
                                    "cost_center": "FINANCEIR",
                                    "item": "01"
                                },
                                {
                                    "accounting_item": "         ",
                                    "percentage": 70,
                                    "amount": {
                                        "value": 700,
                                        "symbol": "R$"
                                    },
                                    "value_class": "         ",
                                    "accounting_accout": "                    ",
                                    "cost_center": "JURIDICO ",
                                    "item": "02"
                                }
                            ],
                            "unitary_value": {
                                "value": 10,
                                "symbol": "R$"
                            },
                            "product": "PRODUTO 01"
                        },
                        {
                            "discount": 0,
                            "amount": {
                                "value": 7500,
                                "symbol": "R$"
                            }
                    ]
                },
                {
                    "current_value": {
                        "total": 10000,
                        "symbol": "R$"
                    },
                    "related_id": "002   ",
                    "related_cnpj": "48.827.155/0001-22",
                    "next_measurement": "       ",
                    "related": "FORNECEDOR 02",
                    "readjust_mode": " ",
                    "index_id": "   ",
                    "readjust_date": "        ",
                    "related_unit": "01",
                    "itens": [],
                    "type_id": "006",
                    "readjust_unit": " ",
                    "index": "",
                    "readjust_frequency": 0,
                    "description": "FLEX C/PREV",
                    "balance": {
                        "total": 10000,
                        "symbol": "R$"
                    },
                    "number": "000002",
                    "type_description": "FLEX C/PREV"
                },
                {
                    "current_value": {
                        "total": 950,
                        "symbol": "R$"
                    },
                    "related_id": "003   ",
                    "related_cnpj": "48.827.155/0001-22",
                    "next_measurement": "       ",
                    "related": "FORNECEDOR 03",
                    "readjust_mode": " ",
                    "index_id": "   ",
                    "readjust_date": "        ",
                    "related_unit": "01",
                    "itens": [
                        {
                            "discount": 5,
                            "amount": {
                                "value": 1000,
                                "symbol": "R$"
                            },
                            "id": "001",
                            "productId": "001            ",
                            "quantity": 100,
                            "accounting_apportionment": [
                                {
                                    "accounting_item": "         ",
                                    "percentage": 25,
                                    "amount": {
                                        "value": 250,
                                        "symbol": "R$"
                                    },
                                    "value_class": "         ",
                                    "accounting_accout": "                    ",
                                    "cost_center": "FINANCEIR",
									"credit_entity_05":"0501",
									"debit_entity_05":"0502",
                                    "item": "01"
                                },
                                {
                                    "accounting_item": "         ",
                                    "percentage": 75,
                                    "amount": {
                                        "value": 750,
                                        "symbol": "R$"
                                    },
                                    "value_class": "         ",
                                    "accounting_accout": "                    ",
                                    "cost_center": "JURIDICO ",
									"credit_entity_05":"0501",
									"debit_entity_05":"0502",
                                    "item": "02"
                                }
                            ],
                            "unitary_value": {
                                "value": 10,
                                "symbol": "R$"
                            },
                            "product": "PRODUTO 01"
                        }
                    ],
                    "type_id": "007",
                    "readjust_unit": " ",
                    "index": "",
                    "readjust_frequency": 0,
                    "description": "FIXO SEM CRONOGRAMA",
                    "balance": {
                        "total": 950,
                        "symbol": "R$"
                    },
                    "number": "000003",
                    "type_description": "FIXO SEM CRONOGRAMA"
                }
            ],
            "contract_approval_id": "      ",
            "clause": "",
            "retention_percentage": 0,
            "manager_description": "",
            "revision_description": "",
            "bail_type": "1",
            "revision": "   ",
            "validity_quant": 1,
            "daysToFinish": 364,
            "endDate": "20191129",
            "validity": "1 ano",
            "revision_type": " ",
            "balanceHistory": {
                "projection_flex": true,
                "fixed": [
                    [
                        "201811",
                        0,
                        0
                    ]
                ],
                "flex": [
                    [
                        "201811",
                        842.30769231,
                        0
                    ]
                ]
            },
            "department_description": "",
            "department_id": "",
            "situation": "10",
            "object": "",
            "validity_unity": "3",
            "description": "COMPRA",
            "balance": {
                "total": 19450,
                "symbol": "R$"
            },
            "expiresIn": null,
            "measurement_approval_description": ""
        },
        {
            "justification": "teste",
            "current_value": {
                "total_fixed": 8500,
                "sum_total": 19640,
                "total_flex": 11140,
                "symbol": "R$"
            },
            "revision_type_code": "002",
            "payment_condition_id": "001",
            "manager_id": "      ",
            "payment_condition_description": "A VISTA",
            "contract_approval_description": "",
            "measurement_approval_id": "      ",
            "contract_approval_id": "      ",
            "clause": "",
            "retention_percentage": 0,
            "manager_description": "",
            "revision_description": "ADITIVO",
            "bail_type": "1",
            "revision": "001",
            "validity_quant": 1,
            "daysToFinish": 364,
            "endDate": "20191129",
            "validity": "1 ano",
            "revision_type": "1",
            "balanceHistory": {
                "projection_flex": true,
                "fixed": [
                    [
                        "201811",
                        0,
                        0
                    ]
                ],
                "flex": [
                    [
                        "201811",
                        856.92307692,
                        0
                    ]
                ]
            },
            "department_description": "",
            "department_id": "",
            "situation": "10",
            "object": "",
            "validity_unity": "3",
            "description": "COMPRA",
            "balance": {
                "total": 19640,
                "symbol": "R$"
            },
            "expiresIn": null,
            "measurement_approval_description": ""
        }
    ]    
}

Descrição dos Campos:

...

    • '01' = Cancelado
    • '02' = Em Elaboração
    • '03' = Emitido
    • '04' = Em aprovação
    • '05' = Vigente
    • '06' = Paralisado
    • '07' = Solicitada finalização
    • '08' = Finalizado
    • '09' = Em Revisão
    • '10' = Revisado
    • '11' = Rejeitado
    • '12' = Revisão em aprovação

...

  • eventos do tipo totalizadores. R-5001 e R-5011
  • eventsReinf[]: Array com os eventos dos tipos Tabelas, Periódicos e Não Periódicos
  • totalNotValidation: Quantidade de registros existentes na base (legado) que irá ou ao menos deveria compor a apuração do determinado evento
  • totalValidation: Quantidade de registros existentes na base (legado) que foram considerados na apuração do determinado evento
  • total: Quantidade total de registros existentes na base (legado) que foram considerados ou devem ser considerados na apuração do determinado evento
  • event: Evento consultado. Ex: R-1000, R-2030
  • typeEvent: Tipo do evento  1 - Todos, 2 - Tabelas, 3 - Periódicos, 4 - Não Periódicos, 5 - Totalizadores

  • totalMonitoring[]: Array com os eventos existentes no monitor de transmissão.
  • totalMonitoring[n].statusCode: Status do evento no monitor. 0 - Aguardando transmissão , 2 - Aguardando retorno, 3 - Retorno com erros, 4 - Transmitido Ok.
  • totalMonitoring[n].quantity: Quantidade do evento existente no monitor para o determinado statusCode
  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).

Parâmetros aceitos:

  • page e pageSize

Utilizados para fazer paginação.

A primeira página é a 1.

Se não for enviado um page, considerar a página 1.

Se não for passado um pageSize, o parâmetro é desconsiderado e a mensagem pe retornada  completa apenas com base nos outros parâmetros.

TODA requisição de lista deve retornar um atributo hasNext indicando se atingiu a última página ou não..

  • Filtros

Deve suportar filtrar os resultados de acordo com alguns parâmetros:

    • sourceBranch: Código Identificador da filial do ERP emissor. Deve existe em C1E_CODFIL
    • period: Período desejado para a consulta.
    • status: Array do tipo numérico que contem o status desejado para a consulta. 1 - Todos, 2 - Pendente apuração, 3 - Apurados, 4 - Pendentes transmissão, 5 - Retorno com erros, 6 - Transmitidos, 7 - Aguardando retorno, 8 - Retorno com erros, 9 - Sem pendências .
    • events: Array do tipo string contendo os eventos a serem consultados. Ex: {"R-2010", "R-2020"}  para consultar apenas R-2010 e R-2020, Ex: {totds} para retornar todos os eventos.
    • eventType: Array do tipo numérico contendo  os tipos dos eventos que devem ser retornados. Ex: {1,2, 3, 4}. 1 - Todos, 2 - Tabelas, 3 - Periódicos, 4 - Não Periódicos, 5 - Totalizadores.
    • page: Indica o numero da pagina desejada, este parâmetro trabalha em conjunto com pageSize.
    • pageSize: Quantidade de registros que a pagina deve conter, este parâmetro trabalha cem conjunto com page

...

Parâmetros aceitos:

...

3.28. POST/wscnta300/contracts

Realiza a inclusão de um contrato.

Ao ser requisitado, será enviado um payload junto à requisição, com o seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "number": "T00000000000082",
    "description": "Contrato de prestação de serviço",
    "specie": "1",
    "type": "001",
    "coin": 1,
    "payment_condition": "001",
    "start_date": "20181231",
    "end_date": "20191125",
    "validity": 90,
    "validity_unity": "1",
    "contract_approval": "000001",
    "measurement_approval": "000001",
    "bail_type": "1",
    "retention_percentage": 5,
    "object" : "Object of the contract",
    "clause" : "Clause of the contract",
    "department_id": "000001",
    "manager_id": "000002",
    "spreadsheets": [
        {
            "number": "000001",
            "type": "001",
            "description": "Spreadsheet of the contract",
            "related_id": "001   ",
            "related_unit": "01",
            "current_value": 1000,
            "readjust_index": "001",
            "readjust_mode": "1",
            "readjust_unity": "2",
            "readjust_frequency": 20,
            "readjust_date": "20180101",
            "items": [
                {
                    "id": "001",
                    "product_id": "001            ",
                    "quantity": 10,
                    "discount": 0,
                    "unitary_value": 100,
                    "amount": 1000,
                    "accounting_apportionment": [
                        {
                        	"item":"01",
                            "percentage": 50,
                            "cost_center": "FINANCEIR",
                            "accounting_account": "CONTA 02            ",
                            "accounting_item": "ITEM 01  ",
							"credit_entity_05":"0501",
							"debit_entity_05":"0502",
                            "value_class": "CLASSE 01",
                            "value": 500                         
                        },
                        {
                        	"item":"02",
                            "percentage": 50,
                            "cost_center": "FINANCEIR",
                            "accounting_account": "CONTA 01            ",
                            "accounting_item": "ITEM 02  ",
                            "value_class": "CLASSE 02",
							"credit_entity_05":"0501",
							"debit_entity_05":"0502",
                            "value": 500                         
                        }
                    ]
                   
                }
            ],
            "financial_schedule": [
		        {
		            "parcel": "01",
		            "competence": "12/2018",
		            "date": "20181231",
		            "value": 500
	        	},
	        	{
		            "parcel": "02",
		            "competence": "01/2019",
		            "date": "20190131",
		            "value": 500
	        	}
    		]
            
        }
    ]
    
}

Descrição dos Campos:

  • number: Número do contrato. Caso o número do contrato não seja informado, será assumida a numeração automática do protheus
  • description: Descrição do contrato
  • specie: "1"=Compra; "2"=Venda;
  • type: Código do tipo de contrato
  • coin: Número da moeda no protheus
  • payment_condition: Código da condição de pagamento
  • start_date: Data de inicio do contrato
  • end_date: Data fim do contrato
  • validity: Quantidade de dias, meses ou anos, utilizada no calculo da vigência do contrato
  • validity_unity: Unidade utilizada para o calculo da vigência, aceita os valores: "1"=Dias; "2"=Meses; "3"=Anos;
  • contract_approval: Grupo de aprovação do contrato
  • measurement_approval: Grupo de aprovação da medição
  • bail_type: Tipo de caução, aceita os valores: "1"=Manual; "2"=Retenção
  • retention_percentage: Percentual de caução
  • object: Objeto do contrato
  • clause: Clausulas do contrato
  • department_id: Código da área do contrato
  • manager_id: Código do gestor do contrato
  • spreadsheets: Array com as planilhas do contrato
  • spreadsheets[n].number: Número da planilha
  • spreadsheets[n].type: Tipo da planilha
  • spreadsheets[n].description: Descrição da planilha
  • spreadsheets[n].related_id: Código do cliente ou fornecedor relacionado à planilha
  • spreadsheets[n].related_unit: Loja do cliente ou fornecedor relacionado à planilha
  • spreadsheets[n].readjust_index: Índice de reajuste da planilha
  • spreadsheets[n].readjust_mode: modo de reajuste, aceita as opções: "1"= Por competência; "2"= Por data
  • spreadsheets[n].readjust_date: Data do próximo reajuste
  • spreadsheets[n].readjust_unit: Unidade utilizada para o calculo do reajuste, aceita as opções: "1"=Dias; "2"=Meses;"3"=Anos;
  • spreadsheets[n].readjust_frequency: Quantidade de dias, meses ou anos utilizados para o cálculo da data do próximo reajuste
  • spreadsheets[n].current_value: Valor total da planilha
  • spreadsheets[n].items: Array com os itens da planilha
  • spreadsheets[n].items[n].id: Código de identificação do item
  • spreadsheets[n].items[n].productId: Código de identificação do produto
  • spreadsheets[n].items[n].quantity: Quantidade
  • spreadsheets[n].items[n].unitary_value: Valor unitário do item
  • spreadsheets[n].items[n].discount: Percentual de desconto
  • spreadsheets[n].items[n].amount: Valor total do item
  • spreadsheets[n].items[n].accounting_apportionment: Array com o  rateio contábil do item
  • spreadsheets[n].items[n].accounting_apportionment[n].item: Código do item
  • spreadsheets[n].items[n].accounting_apportionment[n].percentage: Percentual rateado
  • spreadsheets[n].items[n].accounting_apportionment[n].value: Valor rateado
  • spreadsheets[n].items[n].accounting_apportionment[n].cost_center: Código do Centro de custo
  • spreadsheets[n].items[n].accounting_apportionment[n].accounting_accout: Código da Conta contábil
  • spreadsheets[n].items[n].accounting_apportionment[n].accounting_item: Código do Item contábil
  • spreadsheets[n].items[n].accounting_apportionment[n].value_class: Código da Classe de valor
  • spreadsheets[n].itens[n].accounting_apportionment[n].credit_entity_xx: Entidade adicional de crédito, referente ao plano de contas xx
  • spreadsheets[n].itens[n].accounting_apportionment[n].debit_entity_xx: Entidade adicional de débito, referente ao plano de contas xx
  • spreadsheets[n].financial_schedule: Array com as parcelas do cronograma financeiro
  • spreadsheets[n].financial_schedule[n].parcel : Número da parcela
  • spreadsheets[n].financial_schedule[n].competence: Competencia da parcela
  • spreadsheets[n].financial_schedule[n].date: Data de vencimento da parcela
  • spreadsheets[n].financial_schedule[n].value: Valor da parcela

3.29. POST /wscnta300/departments/{contractID}/documents

Anexa um documento ao contrato.

Ao ser requisitado, será enviado um payload junto à requisição, com o seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
   "name": "teste.txt",
	"description": "teste",
	"content": "dGVzdGU="
}

Descrição dos Campos:

  • name: Nome do arquivo com extensão.
  • description: descrição do arquivo.
  • content: arquivo no formato base 64

3.30. PUT /wscnta300/contracts/{contractID}/{rev}/status

Altera o status do contrato.

Ao ser requisitado, será enviado um payload junto à requisição, com o seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
   "status": "05",
}

Descrição dos Campos:

  • status: Novo status do contrato. São aceitos os seguintes valores: "01"- Cancelado; "02"- Elaboração; "03"- Emitido; "05"-Vigente; "07"-Solicitação de Finalização; "08"-Finalizado;

3.31. PUT/wscnta300/contracts/{contractID}/{rev}

Realiza a alteração de um contrato.

Ao ser requisitado, será enviado um payload junto à requisição, com o seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "description": "contrato de prestação de serviço",
    "type": "001",
    "coin": 1,
    "payment_condition": "001",
    "start_date": "20181231",
    "end_date": "20191125",
    "validity": 90,
    "validity_unity": "1",
    "contract_approval": "000001",
    "measurement_approval": "000001",
    "bail_type": "1",
    "retention_percentage": 5,
    "object" : "Prestação de serviço de limpeza",
    "clause" : "clausula do contrato",
    "department_id": "000001",
    "manager_id": "000002",
    "spreadsheets": [
        {
            "number": "000001",
            "type": "001",
            "description": "serviço de limpeza",
            "related_id": "001   ",
            "related_unit": "01",
            "current_value": 1000,
            "readjust_index": "001",
            "readjust_mode": "1",
            "readjust_unity": "2",
            "readjust_frequency": 20,
            "readjust_date": "20180101",
            "deleted":false,
            "items": [
                {
                    "id": "001",
                    "product_id": "001            ",
                    "quantity": 10,
                    "discount": 0,
                    "unitary_value": 100,
                    "amount": 1000,
                    "deleted":false,
                    "accounting_apportionment": [
                        {
                            "item":"01",
                            "percentage": 100,
                            "cost_center": "FINANCEIR",
                            "accounting_account": "CONTA 02            ",
                            "accounting_item": "ITEM 01  ",
                            "value_class": "CLASSE 01",
							"credit_entity_05":"0501",
							"debit_entity_05":"0502",
                            "value": 1000,
                            "deleted":false
                        },
                        {
                            "item":"02",
                            "percentage": 50,
                            "cost_center": "FINANCEIR",
                            "accounting_account": "CONTA 01            ",
                            "accounting_item": "ITEM 02  ",
                            "credit_entity_05":"0501",
							"debit_entity_05":"0502",
							"value_class": "CLASSE 02",
                            "value": 500,
                            "deleted":true
                        }
                    ]
                    
                }
            ],
            "financial_schedule": [
                {
                    "parcel": "01",
                    "competence": "12/2018",
                    "date": "20181231",
                    "value": 500,
                    "deleted":false
                },
                {
                    "parcel": "02",
                    "competence": "01/2019",
                    "date": "20190131",
                    "value": 500,
                    "deleted":false
                }
            ]
             
        }
    ]
     
}

Descrição dos Campos:

  • description: Descrição do contrato
  • type: Código do tipo de contrato
  • coin: Número da moeda no protheus
  • payment_condition: Código da condição de pagamento
  • start_date: Data de inicio do contrato
  • end_date: Data fim do contrato
  • validity: Quantidade de dias, meses ou anos, utilizada no calculo da vigência do contrato
  • validity_unity: Unidade utilizada para o calculo da vigência, aceita os valores: "1"=Dias; "2"=Meses; "3"=Anos;
  • contract_approval: Grupo de aprovação do contrato
  • measurement_approval: Grupo de aprovação da medição
  • bail_type: Tipo de caução, aceita os valores: "1"=Manual; "2"=Retenção
  • retention_percentage: Percentual de caução
  • object: Objeto do contrato
  • clause: Clausulas do contrato
  • department_id: Código da área do contrato
  • manager_id: Código do gestor do contrato
  • spreadsheets: Array com as planilhas do contrato
  • spreadsheets[n].number: Número da planilha
  • spreadsheets[n].type: Tipo da planilha
  • spreadsheets[n].description: Descrição da planilha
  • spreadsheets[n].related_id: Código do cliente ou fornecedor relacionado à planilha
  • spreadsheets[n].related_unit: Loja do cliente ou fornecedor relacionado à planilha
  • spreadsheets[n].readjust_index: Índice de reajuste da planilha
  • spreadsheets[n].readjust_mode: modo de reajuste, aceita as opções: "1"= Por competência; "2"= Por data
  • spreadsheets[n].readjust_date: Data do próximo reajuste
  • spreadsheets[n].readjust_unit: Unidade utilizada para o calculo do reajuste, aceita as opções: "1"=Dias; "2"=Meses;"3"=Anos;
  • spreadsheets[n].readjust_frequency: Quantidade de dias, meses ou anos utilizados para o cálculo da data do próximo reajuste
  • spreadsheets[n].current_value: Valor total da planilha
  • spreadsheets[n].deleted: Informa se a planilha deve ser deletada
  • spreadsheets[n].items: Array com os itens da planilha
  • spreadsheets[n].items[n].id: Código de identificação do item
  • spreadsheets[n].items[n].productId: Código de identificação do produto
  • spreadsheets[n].items[n].quantity: Quantidade
  • spreadsheets[n].items[n].unitary_value: Valor unitário do item
  • spreadsheets[n].items[n].discount: Percentual de desconto
  • spreadsheets[n].items[n].amount: Valor total do item
  • spreadsheets[n].items[n].deleted: Informa se o item deve ser deletado
  • spreadsheets[n].items[n].accounting_apportionment: Array com o  rateio contábil do item
  • spreadsheets[n].items[n].accounting_apportionment[n].item: Código do item
  • spreadsheets[n].items[n].accounting_apportionment[n].percentage: Percentual rateado
  • spreadsheets[n].items[n].accounting_apportionment[n].value: Valor rateado
  • spreadsheets[n].items[n].accounting_apportionment[n].cost_center: Código do Centro de custo
  • spreadsheets[n].items[n].accounting_apportionment[n].accounting_accout: Código da Conta contábil
  • spreadsheets[n].items[n].accounting_apportionment[n].accounting_item: Código do Item contábil
  • spreadsheets[n].items[n].accounting_apportionment[n].value_class: Código da Classe de valor
  • spreadsheets[n].items[n].accounting_apportionment[n].deleted: Informa se o item do rateio contábil deve ser deletado
  • spreadsheets[n].itens[n].accounting_apportionment[n].credit_entity_xx: Entidade adicional de crédito, referente ao plano de contas xx
  • spreadsheets[n].itens[n].accounting_apportionment[n].debit_entity_xx: Entidade adicional de débito, referente ao plano de contas xx
  • spreadsheets[n].financial_schedule: Array com as parcelas do cronograma financeiro
  • spreadsheets[n].financial_schedule[n].parcel : Número da parcela
  • spreadsheets[n].financial_schedule[n].competence: Competencia da parcela
  • spreadsheets[n].financial_schedule[n].date: Data de vencimento da parcela
  • spreadsheets[n].financial_schedule[n].value: Valor da parcela
  • spreadsheets[n].financial_schedule[n].deleted: Informa se a parcela do cronograma deve ser deletada

3.32. DELETE/wscnta300/contracts/{contractID}/{rev}

Realiza a exclusão de um contrato.

Exemplo de resposta:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "code": 201,
 	"message": "Exclusao realizada com sucesso!",
}

3.33. DELETE/wscnta300/contracts/{contractID}/{rev}/documents/{doc}

Realiza a exclusão de um documento anexado ao contrato

Exemplo de resposta:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "code": 201,
 	"message": "Exclusao realizada com sucesso!",
}

3.34. GET /wscnta300/contracts/{contractID}/type/revisions

Retorna uma lista das revisões e seu tipo referente ao contrato, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": false,
    "revisions": [
        {
            "id": "000",
            "description": "",
            "type": ""
        },
        {
            "id": "001",
            "description": "ADITIVO",
            "type": "1"
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • revisions: Array de clientes.
  • clients[n].id: Código da revisão
  • clients[n].description: Descrição da Revisão
  • clients[n].type: Tipo de Revisão

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.35. POST/api/protheus/wscnta300/v1/contracts/{contractID}/{rev}/revision

Inclui uma revisão para o contrato.

Ao ser requisitado, será enviado um payload junto à requisição, com o seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "description": "contrato de prestação de serviço",
 	"justification":"alteração de valor",
    "stoppage":"001",
    "end_stoppage":"20190115",
    "type": "001",
    "coin": 1,
    "payment_condition": "001",
    "start_date": "20181231",
    "end_date": "20191125",
    "validity": 90,
    "validity_unity": "1",
    "contract_approval": "000001",
    "measurement_approval": "000001",
    "bail_type": "1",
    "retention_percentage": 5,
    "object" : "Prestação de serviço de limpeza",
    "clause" : "clausula do contrato",
    "department_id": "000001",
    "manager_id": "000002",
    "spreadsheets": [
        {
            "number": "000001",
            "type": "001",
            "description": "serviço de limpeza",
            "related_id": "001   ",
            "related_unit": "01",
            "current_value": 1000,
            "readjust_index": "001",
            "readjust_mode": "1",
            "readjust_unity": "2",
            "readjust_frequency": 20,
            "readjust_date": "20180101",
            "deleted":false,
            "items": [
                {
                    "id": "001",
                    "product_id": "001            ",
                    "quantity": 10,
                    "discount": 0,
                    "unitary_value": 100,
                    "amount": 1000,
                    "deleted":false,
                    "accounting_apportionment": [
                        {
                            "item":"01",
                            "percentage": 100,
                            "cost_center": "FINANCEIR",
                            "accounting_account": "CONTA 02            ",
                            "accounting_item": "ITEM 01  ",
                            "value_class": "CLASSE 01",
                            "value": 1000,
							"credit_entity_05":"0501",
							"debit_entity_05":"0502",
                            "deleted":false
                        },
                        {
                            "item":"02",
                            "percentage": 50,
                            "cost_center": "FINANCEIR",
                            "accounting_account": "CONTA 01            ",
                            "accounting_item": "ITEM 02  ",
                            "value_class": "CLASSE 02",
                            "value": 500,
							"credit_entity_05":"0501",
							"debit_entity_05":"0502",
                            "deleted":true
                        }
                    ]
                    
                }
            ],
            "financial_schedule": [
                {
                    "parcel": "01",
                    "competence": "12/2018",
                    "date": "20181231",
                    "value": 500,
                    "deleted":false
                },
                {
                    "parcel": "02",
                    "competence": "01/2019",
                    "date": "20190131",
                    "value": 500,
                    "deleted":false
                }
            ]
             
        }
    ]
     
}

Descrição dos Campos:

  • description: Descrição do contrato
  • justification: Justificativa da revisão
  • stoppage: Motivo de paralisação do contrato
  • end_stoppage: Data de término da paralisação do contrato
  • type: Código do tipo de contrato
  • coin: Número da moeda no protheus
  • payment_condition: Código da condição de pagamento
  • start_date: Data de inicio do contrato
  • end_date: Data fim do contrato
  • validity: Quantidade de dias, meses ou anos, utilizada no calculo da vigência do contrato
  • validity_unity: Unidade utilizada para o calculo da vigência, aceita os valores: "1"=Dias; "2"=Meses; "3"=Anos;
  • contract_approval: Grupo de aprovação do contrato
  • measurement_approval: Grupo de aprovação da medição
  • bail_type: Tipo de caução, aceita os valores: "1"=Manual; "2"=Retenção
  • retention_percentage: Percentual de caução
  • object: Objeto do contrato
  • clause: Clausulas do contrato
  • department_id: Código da área do contrato
  • manager_id: Código do gestor do contrato
  • spreadsheets: Array com as planilhas do contrato
  • spreadsheets[n].number: Número da planilha
  • spreadsheets[n].type: Tipo da planilha
  • spreadsheets[n].description: Descrição da planilha
  • spreadsheets[n].related_id: Código do cliente ou fornecedor relacionado à planilha
  • spreadsheets[n].related_unit: Loja do cliente ou fornecedor relacionado à planilha
  • spreadsheets[n].readjust_index: Índice de reajuste da planilha
  • spreadsheets[n].readjust_mode: modo de reajuste, aceita as opções: "1"= Por competência; "2"= Por data
  • spreadsheets[n].readjust_date: Data do próximo reajuste
  • spreadsheets[n].readjust_unit: Unidade utilizada para o calculo do reajuste, aceita as opções: "1"=Dias; "2"=Meses;"3"=Anos;
  • spreadsheets[n].readjust_frequency: Quantidade de dias, meses ou anos utilizados para o cálculo da data do próximo reajuste
  • spreadsheets[n].current_value: Valor total da planilha
  • spreadsheets[n].deleted: Informa se a planilha deve ser deletada
  • spreadsheets[n].items: Array com os itens da planilha
  • spreadsheets[n].items[n].id: Código de identificação do item
  • spreadsheets[n].items[n].productId: Código de identificação do produto
  • spreadsheets[n].items[n].quantity: Quantidade
  • spreadsheets[n].items[n].unitary_value: Valor unitário do item
  • spreadsheets[n].items[n].discount: Percentual de desconto
  • spreadsheets[n].items[n].amount: Valor total do item
  • spreadsheets[n].items[n].deleted: Informa se o item deve ser deletado
  • spreadsheets[n].items[n].accounting_apportionment: Array com o  rateio contábil do item
  • spreadsheets[n].items[n].accounting_apportionment[n].item: Código do item
  • spreadsheets[n].items[n].accounting_apportionment[n].percentage: Percentual rateado
  • spreadsheets[n].items[n].accounting_apportionment[n].value: Valor rateado
  • spreadsheets[n].items[n].accounting_apportionment[n].cost_center: Código do Centro de custo
  • spreadsheets[n].items[n].accounting_apportionment[n].accounting_accout: Código da Conta contábil
  • spreadsheets[n].items[n].accounting_apportionment[n].accounting_item: Código do Item contábil
  • spreadsheets[n].items[n].accounting_apportionment[n].value_class: Código da Classe de valor
  • spreadsheets[n].items[n].accounting_apportionment[n].deleted: Informa se o item do rateio contábil deve ser deletado
  • spreadsheets[n].itens[n].accounting_apportionment[n].credit_entity_xx: Entidade adicional de crédito, referente ao plano de contas xx
  • spreadsheets[n].itens[n].accounting_apportionment[n].debit_entity_xx: Entidade adicional de débito, referente ao plano de contas xx
  • spreadsheets[n].financial_schedule: Array com as parcelas do cronograma financeiro
  • spreadsheets[n].financial_schedule[n].parcel : Número da parcela
  • spreadsheets[n].financial_schedule[n].competence: Competencia da parcela
  • spreadsheets[n].financial_schedule[n].date: Data de vencimento da parcela
  • spreadsheets[n].financial_schedule[n].value: Valor da parcela
  • spreadsheets[n].financial_schedule[n].deleted: Informa se a parcela do cronograma deve ser deletada

3.36. PUT /api/protheus/wscnta300/v1/contracts/{contractID}/{rev}/aproveRevision

Este serviço aprova uma revisão, sem controle de aprovação por alçadas.

Exemplo de retorno:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "contract_number": "200000000000058",
    "code": 200,
    "message": "Aprovação da revisão efetuada com sucesso."
}

3.37. GET /api/protheus/wscnta300/v1/stoppages

Retorna a lista de índices de motivos de paralisação, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "stoppages": [
        {
            "id": "001",
            "description": "Necessidade de revisão do projeto.",
        },
        {
            "id": "002",
            "description": "Falta de documentos",
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • stoppages: Array contendo os motivos de paralisação do contrato.
  • index[n].id: Código de identificação do índice
  • index[n].description: Descrição do índice

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.38. POST /api/protheus/wscnta300/v1/contracts/{contractID}/{rev}/readjustment

Inclui e aprova uma revisão de reajuste.

Ao ser requisitado, será enviado um payload junto à requisição, com o seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
	"reference_date":"20190117",
	"application_date":"20190118",
	"approval":true
}

Descrição dos Campos:

  • reference_date: Data de referencia do reajuste.
  • application_date: Data de aplicação do reajuste.
  • approval: Indica se a revisão deve ser aprovada.

Exemplo de retorno:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "contract_number": "200000000000116",
    "code": 200,
    "current_value": {
        "symbol": "R$",
        "total": 1100
    },
    "revision": "001"
}

Descrição dos Campos:

...

3.39. POST /api/protheus/wscnta300/v1/contracts/{contractID}/{rev}/restart

Inclui e aprova uma revisão de reinicio.

Ao ser requisitado, será enviado um payload junto à requisição, com o seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
	"approval":true
}

Descrição dos Campos:

  • approval: Indica se a revisão deve ser aprovada.

Exemplo de retorno:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "contract_number": "200000000000116",
    "code": 200,
    "approval_date":"20190128"
    "revision": "001"
}

Descrição dos Campos:

  • contract_number: Numero da revisão.
  • revision: Numero da revisão do contrato
  • approval_date: Data de aprovação da revisão 

3.40. GET /api/protheus/wscnta300/v1/classes

Retorna a lista de naturezas, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "classes": [
        {
            "id": "ISS       ",
            "description": "IMPOSTO SOBRE SERVICOS        "
        },
        {
            "id": "PIS       ",
            "description": "PIS                           "
        }
    ],
    "hasNext": false
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • classes: Array de naturezas
  • classes[n].id: Código da natureza
  • classes[n].description: Descrição da natureza

Os parâmetros aceitos serão: searchKey, page e pageSize.

3.41. POST /api/protheus/wscnta300/v1/coins/{coin}/rates

Retorna as taxas de conversão da moeda nas datas solicitadas.

Ao ser requisitado, será enviado um payload junto à requisição, com o seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "reference_dates": [
        {
            "date":"20190227"
        },
        {
            "date":"20190228"
        }
    ]
}

Descrição dos Campos:

...

Formato de resposta:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "coin_rates": [
        {
            "date": "20190227",
            "rate": 1.234
        },
        {
            "date": "20190228",
            "rate": 1.5678
        }
    ]
}

Descrição dos Campos:

  • coin_rates: Array com as taxas da moeda
  • coin_rates[n].date: data de referência
  • coin_rates[n].rate: taxa de conversão da moeda em relação a moeda principal

3.42. GET /api/protheus/wscnta300/v1/accountingPlans

Retorna a lista dos códigos dos planos contábeis das entidades contábeis adicionais, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "accoutingPlans": [
        {
            "id": "05"
        },
        {
            "id": "06"
        },
        {
            "id": "07"
        }
    ]
}

Descrição dos Campos:

  • accountingPlans: Array de códigos dos planos contábeis
  • accountingPlans[n].id: Código do plano contábil

3.43. GET /api/protheus/wscnta300/v1/accountingEntities/{plan}

Retorna as entidades contábeis do plano de contas informado, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "accountingEntities": [
        {
            "id": "0501            ",
            "description": "ENT05 IT 01"
        },
        {
            "id": "0502            ",
            "description": "ENT 05 IT 02"
        }
    ],
    "hasNext": false
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).
  • accountingEntities: Array de entidades contábeis
  • accountingEntities[n].id: Código da entidade contábil
  • accountingEntities[n].description: Descrição da entidade contábil

...

    • .