Sumário



Objetivo


Esse documento tem o objetivo de exemplificar o uso da API da Tabela de Preços utilizando todos os métodos implementados. E as api's complementares referente às matrizes aplicadas e aos períodos letivos de ingresso associados à tabela de preços. Para a utilização das api's é importante observar a responsabilidade e o papel de cada uma no cadastro e manutenção das informações da tabela de preços.

A API da tabela de preços tem a responsabilidade de realizar a manutenção das informações da própria tabela de preços e das suas matrizes aplicadas e dos seus períodos letivos de ingressos associados à ela. Não sendo possível inserir, alterar ou remover os dados das disciplinas associadas às matrizes aplicadas. Essa manipulação será de responsabilidade da api da matriz aplicada.

A API da matriz aplicada tem a responsabilidade de realizar a manutenção das informações da matriz aplicada e das disciplinas vinculadas à ela. Nessa api será possível alterar e remover a matriz aplicada. E inserir, alterar e remover os dados das disciplinas vinculadas à matriz aplicada. Nessa api não será possível inserir uma nova matriz aplicada na tabela de preços, essa responsabilidade está na api da tabela de preços.

A API do período letivo de ingresso tem a responsabilidade de realizar somente a remoção do período letivo de ingresso na tabela de preços. A responsabilidade a inclusão e alteração do período letivo de ingresso na tabela de preços está na própria api da tabela de preços.


1 - Tabela de Preços


      Serão apresentados 5 métodos, os quais foram implementados na API da Tabela de Preços, são eles:

1.1 - GET


1.1.1 - Get All (Recuperar todas as tabelas de preços)

Recupera todas as tabelas de preços sem retornar as listagens das matrizes aplicadas, dos períodos letivos de ingresso por questão de performance. Essas informações serão retornadas com a utilização do GetOne para tabela de preços informada.

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetable

Domínio: localhost

Porta: 8051

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetable

{
	"hasNext": false,
	"items": [
		{
			"companyCode": 1,
			"levelEducationCode": 1,
			"id": 3,
			"internalId": "1|1|3",
			"code": "00001",
			"name": "Tabela de Precos",
			"recCreatedOn": "2025-02-04T11:01:30.617-03:00",
			"active": false,
			"priceTableInUse": false,
			"appliedMatrixes": [],
			"terms": [],
			"termBranches": []
		}
	]
}

1.1.2 - Filter (Resultado filtrado)

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetable?{campo}={valor}

Domínio: localhost

Porta: 8051

Campo: code

Valor: 00001

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetable?code=00001

{
	"hasNext": false,
	"items": [
		{
			"companyCode": 1,
			"levelEducationCode": 1,
			"id": 3,
			"internalId": "1|1|3",
			"code": "00001",
			"name": "Tabela de Precos Um",
			"recCreatedOn": "2025-02-04T11:01:30.617-03:00",
			"active": false,
			"priceTableInUse": false,
			"appliedMatrixes": [],
			"terms": [],
			"termBranches": []
		}
	]
}

Para realizar filtros complexos na API da Tabela de Preços é 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.3 - Paginação

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

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetable?page={valor1}&pageSize={valor2}

Domínio: localhost

Porta: 8051

Valor1: 1

Valor2: 5

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetable?page=1&pageSize=5

{
	"hasNext": true,
	"items": [
		{
			"companyCode": 1,
			"levelEducationCode": 1,
			"id": 3,
			"internalId": "1|1|3",
			"code": "00001",
			"name": "Tabela de Precos Um",
			"recCreatedOn": "2025-02-04T11:01:30.617-03:00",
			"active": false,
			"priceTableInUse": false,
			"appliedMatrixes": [],
			"terms": [],
			"termBranches": []
		},
		{
			"companyCode": 1,
			"levelEducationCode": 1,
			"id": 4,
			"internalId": "1|1|4",
			"code": "00002",
			"name": "Tabela de Precos Dois",
			"recCreatedOn": "2025-02-04T11:07:16.693-03:00",
			"active": false,
			"priceTableInUse": false,
			"appliedMatrixes": [],
			"terms": [],
			"termBranches": []
		},
		{
			"companyCode": 1,
			"levelEducationCode": 1,
			"id": 5,
			"internalId": "1|1|5",
			"code": "00005",
			"name": "Tabela de Preços 5",
			"recCreatedOn": "2025-02-04T11:36:13.33-03:00",
			"active": false,
			"priceTableInUse": false,
			"appliedMatrixes": [],
			"terms": [],
			"termBranches": []
		},
		{
			"companyCode": 1,
			"levelEducationCode": 1,
			"id": 6,
			"internalId": "1|1|6",
			"code": "00006",
			"name": "Tabela de Preços 6",
			"recCreatedOn": "2025-02-04T11:36:13.33-03:00",
			"active": false,
			"priceTableInUse": false,
			"appliedMatrixes": [],
			"terms": [],
			"termBranches": []
		},
		{
			"companyCode": 1,
			"levelEducationCode": 1,
			"id": 7,
			"internalId": "1|1|7",
			"code": "00007",
			"name": "Tabela de Preços 7",
			"recCreatedOn": "2025-02-04T11:36:13.33-03:00",
			"active": false,
			"priceTableInUse": false,
			"appliedMatrixes": [],
			"terms": [],
			"termBranches": []
		}
	]
}

1.1.4 - Fields (Retorno de campos específicos no resultado)

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 ...

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetable?fields={campos}

Domínio: localhost

Porta: 8051

Campo 1: code

Campo 2: name

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetable?fields=code,name

{
	"hasNext": false,
	"items": [
		{
			"code": "00001",
			"name": "Tabela de Precos Um"
		},
		{
			"code": "00002",
			"name": "Tabela de Precos Dois"
		}
	]
}

1.1.5 - GetOne (Recuperar tabela de preços pelo identificador)

Nessa requisição serão retornadas as listagens das matrizes aplicadas, dos períodos letivos de ingresso da tabela de preços informada

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetable/{internalId}

Domínio: localhost

Porta: 8051

internalId: 1|1|3

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetable/1|1|3

{
	"companyCode": 1,
	"levelEducationCode": 1,
	"id": 3,
	"internalId": "1|1|3",
	"code": "00001",
	"name": "Tabela de Precos Um",
	"recCreatedOn": "2025-02-04T11:01:30.617-03:00",
	"active": false,
	"priceTableInUse": false,
	"appliedMatrixes": [
		{
			"companyCode": 1,
			"branchCode": 1,
			"levelEducationCode": 1,
			"appliedMatrixCode": 132,
			"priceTableCode": 3,
			"branchName": "Filial Belo Horizonte - Fantasia",
			"courseCode": "1-1",
			"courseName": "Curso Tabela de Preços",
			"curriculumGridCode": "1",
			"curriculumGridName": "Matriz Tabela de Preços",
			"majorCode": "1",
			"majorName": "Habilitação  Tabela de Preços",
			"classShiftCode": 11,
			"classShiftName": "INTEGRAL",
			"status": 0,
			"actionState": 0
		}
	],
	"terms": [],
	"termBranches": [
		{
			"branchCode": 1
		}
	]
}

1.2 - POST


1.2.1 - Post (Inserir uma tabela de preços)

A inclusão de uma nova tabela de preços será feita contendo os seus dados, e os dados das suas matrizes aplicadas vinculadas. Não sendo possível inserir a tabela de preços com suas matrizes aplicadas contendo suas disciplinas, e os períodos letivos de ingresso dessa tabela de preço. Essas informações serão inseridas em outras api's com essa responsabilidade.

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetable

Domínio: localhost

Porta: 8051

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetable

{
	"companyCode": 1,
	"levelEducationCode": 1,
	"code": "00005",
	"name": "Tabela de Precos via Postman",
	"active": false,
	"appliedMatrixes": []
}
ou 
{
	"companyCode": 1,
	"levelEducationCode": 1,
	"code": "00005",
	"name": "Tabela de Precos via Postman",
	"active": false,
	"appliedMatrixes": [
		{
			"companyCode": 1,
			"branchCode": 1,
			"levelEducationCode": 1,
			"appliedMatrixCode": 132,
			"priceTableCode": 3,
			"branchName": "Filial Belo Horizonte - Fantasia",
			"courseCode": "1-1",
			"courseName": "Curso Tabela de Preços",
			"curriculumGridCode": "1",
			"curriculumGridName": "Matriz Tabela de Preços",
			"majorCode": "1",
			"majorName": "Habilitação  Tabela de Preços",
			"classShiftCode": 11,
			"classShiftName": "INTEGRAL",
			"status": 0,
			"actionState": 0
		}
	]
}
{
	"companyCode": 1,
	"levelEducationCode": 1,
	"id": 25,
	"internalId": "1|1|25",
	"code": "00007",
	"name": "Tabela de Precos via Postman",
	"active": false,
	"priceTableInUse": false,
	"appliedMatrixes": []
}
ou
{
	"companyCode": 1,
	"levelEducationCode": 1,
	"id": 12,
	"internalId": "1|1|12",
	"code": "00005",
	"name": "Tabela de Precos via Postman",
	"active": false,
	"priceTableInUse": false,
	"appliedMatrixes": [
		{
			"companyCode": 1,
			"branchCode": 1,
			"levelEducationCode": 1,
			"appliedMatrixCode": 132,
			"priceTableCode": 12,
			"branchName": "Filial Belo Horizonte - Fantasia",
			"courseCode": "1-1",
			"courseName": "Curso Tabela de Preços",
			"curriculumGridCode": "1",
			"curriculumGridName": "Matriz Tabela de Preços",
			"majorCode": "1",
			"majorName": "Habilitação  Tabela de Preços",
			"classShiftCode": 11,
			"classShiftName": "INTEGRAL",
			"status": 0,
			"actionState": 0
		}
	]
}
{
	"code": null,
	"message": "Não foi possível incluir/editar a tabela de preços. Código do nível de ensino está inválido.",
	"detailedMessage": null,
	"helpUrl": null,
	"details": null
}

1.3 - PUT


1.3.1 - Put (Atualização de uma tabela de preços)

A atualização da tabela de preços será feita contendo os seus dados e os dados das suas matrizes aplicadas, e os dados dos seus períodos letivos de ingresso.  E a inclusão de novos períodos letivos de ingresso. Não sendo possível inserir a tabela de preços com suas matrizes aplicadas contendo suas disciplinas. Essas informações serão inseridas em outras api's com essa responsabilidade.

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetable/{internalId}

Domínio: localhost

Porta: 8051

internalId: 1|1|14

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetable/1|1|14

{
	"companyCode": 1,
	"levelEducationCode": 1,
	"id": 14,
	"internalId": "1|1|14",
	"code": "00003",
	"name": "Tabela de Precos via Postman ALT",
	"active": false,
	"appliedMatrixes": [],
	"terms": []
}
{
    "companyCode": 1,
    "levelEducationCode": 1,
    "id": 14,
    "internalId": "1|1|14",
    "code": "00003",
    "name": "Tabela de Precos via Postman ALT",
    "active": false,
    "priceTableInUse": false,
    "appliedMatrixes": [],
    "terms": []
}
{
	"code": null,
	"message": "Não foi possível incluir/editar a tabela de preços. Código do nível de ensino está inválido.",
	"detailedMessage": null,
	"helpUrl": null,
	"details": null
}

1.4 - DELETE


1.4.1 - Delete (Excluir uma tabela de preços)

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetable/{internalId}

Domínio: localhost

Porta: 8051

internalId: 1|1|20

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetable/1|1|20

Obs.: Em caso de sucesso, será retornado o respondeCode = 204 e a resposta em branco.

{
    "code": null,
    "message": "Não existe um cadastro da tabela de preços informada para exclusão.",
    "detailedMessage": null,
    "helpUrl": null,
    "details": null
}

2 - Matriz Aplicada


      Serão apresentados 3 métodos, os quais foram implementados na API da Matriz Aplicada vinculada à Tabela de Preços, são eles:

2.1 - GET


2.1.1 - Get All (Recuperar todas as matrizes aplicadas)

Recupera todas as matrizes aplicadas sem retornar a listagem das disciplinas vinculadas por questão de performance. Essas informações serão retornadas com a utilização do GetOne para a matriz aplicada informada.

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableappliedmatrixes

Domínio: localhost

Porta: 8051

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetableappliedmatrixes

{
    "hasNext": false,
    "items": [
        {
            "companyCode": 1,
            "branchCode": 1,
            "levelEducationCode": 1,
            "appliedMatrixCode": 132,
            "priceTableCode": 3,
            "branchName": "Filial Belo Horizonte - Fantasia",
            "courseCode": "1-1",
            "courseName": "Curso Tabela de Preços",
            "curriculumGridCode": "1",
            "curriculumGridName": "Matriz Tabela de Preços",
            "majorCode": "1",
            "majorName": "Habilitação  Tabela de Preços",
            "classShiftCode": 11,
            "classShiftName": "INTEGRAL",
            "status": 0,
            "disciplines": [],
            "actionState": 0
        }
    ]
}

2.1.2 - Filter (Resultado filtrado)

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableappliedmatrixes?{campo}={valor}

Domínio: localhost

Porta: 8051

Campo: courseCode

Valor: 1-1

Url Utilizada:  http://localhost:8051/api/educational/financial/v1/pricetableappliedmatrixes?courseCode=1-1

{
	"hasNext": false,
	"items": [
		{
			"companyCode": 1,
			"branchCode": 1,
			"levelEducationCode": 1,
			"appliedMatrixCode": 132,
			"priceTableCode": 3,
			"branchName": "Filial Belo Horizonte - Fantasia",
			"courseCode": "1-1",
			"courseName": "Curso Tabela de Preços",
			"curriculumGridCode": "1",
			"curriculumGridName": "Matriz Tabela de Preços",
			"majorCode": "1",
			"majorName": "Habilitação  Tabela de Preços",
			"classShiftCode": 11,
			"classShiftName": "INTEGRAL",
			"status": 0,
			"disciplines": [],
			"actionState": 0
		}
	]
}

Para realizar filtros complexos na API da Tabela de Preços é 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.

2.1.3 - Paginação

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

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableappliedmatrixes?page={valor1}&pageSize={valor2}

Domínio: localhost

Porta: 8051

Valor1: 1

Valor2: 5

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetableappliedmatrixes?page=1&pageSize=5

{
    "hasNext": true,
    "items": [
        {
            "companyCode": 1,
            "branchCode": 1,
            "levelEducationCode": 1,
            "appliedMatrixCode": 7,
            "priceTableCode": 3,
            "branchName": "Filial Belo Horizonte - Fantasia",
            "courseCode": "3-1",
            "courseName": "ADMINISTRAÇÃO",
            "curriculumGridCode": "4",
            "curriculumGridName": "2004/1",
            "majorCode": "1",
            "majorName": "COMÉRCIO EXTERIOR",
            "classShiftCode": 1,
            "classShiftName": "MANHÃ",
            "status": 0,
            "disciplines": [],
            "actionState": 0
        },
        {
            "companyCode": 1,
            "branchCode": 1,
            "levelEducationCode": 1,
            "appliedMatrixCode": 8,
            "priceTableCode": 3,
            "branchName": "Filial Belo Horizonte - Fantasia",
            "courseCode": "3-1",
            "courseName": "ADMINISTRAÇÃO",
            "curriculumGridCode": "4",
            "curriculumGridName": "2004/1",
            "majorCode": "1",
            "majorName": "COMÉRCIO EXTERIOR",
            "classShiftCode": 2,
            "classShiftName": "TARDE",
            "status": 0,
            "disciplines": [],
            "actionState": 0
        },
        {
            "companyCode": 1,
            "branchCode": 1,
            "levelEducationCode": 1,
            "appliedMatrixCode": 9,
            "priceTableCode": 3,
            "branchName": "Filial Belo Horizonte - Fantasia",
            "courseCode": "3-1",
            "courseName": "ADMINISTRAÇÃO",
            "curriculumGridCode": "4",
            "curriculumGridName": "2004/1",
            "majorCode": "1",
            "majorName": "COMÉRCIO EXTERIOR",
            "classShiftCode": 3,
            "classShiftName": "NOITE",
            "status": 0,
            "disciplines": [],
            "actionState": 0
        },
        {
            "companyCode": 1,
            "branchCode": 1,
            "levelEducationCode": 1,
            "appliedMatrixCode": 10,
            "priceTableCode": 3,
            "branchName": "Filial Belo Horizonte - Fantasia",
            "courseCode": "3-1",
            "courseName": "ADMINISTRAÇÃO",
            "curriculumGridCode": "4",
            "curriculumGridName": "2004/1",
            "majorCode": "4",
            "majorName": "RECURSOS HUMANOS",
            "classShiftCode": 1,
            "classShiftName": "MANHÃ",
            "status": 0,
            "disciplines": [],
            "actionState": 0
        },
        {
            "companyCode": 1,
            "branchCode": 1,
            "levelEducationCode": 1,
            "appliedMatrixCode": 11,
            "priceTableCode": 3,
            "branchName": "Filial Belo Horizonte - Fantasia",
            "courseCode": "3-1",
            "courseName": "ADMINISTRAÇÃO",
            "curriculumGridCode": "4",
            "curriculumGridName": "2004/1",
            "majorCode": "4",
            "majorName": "RECURSOS HUMANOS",
            "classShiftCode": 2,
            "classShiftName": "TARDE",
            "status": 0,
            "disciplines": [],
            "actionState": 0
        },
        {
            "companyCode": 1,
            "branchCode": 1,
            "levelEducationCode": 1,
            "appliedMatrixCode": 12,
            "priceTableCode": 3,
            "branchName": "Filial Belo Horizonte - Fantasia",
            "courseCode": "3-1",
            "courseName": "ADMINISTRAÇÃO",
            "curriculumGridCode": "4",
            "curriculumGridName": "2004/1",
            "majorCode": "4",
            "majorName": "RECURSOS HUMANOS",
            "classShiftCode": 3,
            "classShiftName": "NOITE",
            "status": 0,
            "disciplines": [],
            "actionState": 0
        }
    ]
}

2.1.4 - Fields (Retorno de campos específicos no resultado)

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 ...

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableappliedmatrixes?fields={campos}

Domínio: localhost

Porta: 8051

Campo 1: code

Campo 2: name

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetableappliedmatrixes?fields=courseName,courseCode

{
	"hasNext": false,
	"items": [
		{
			"code": "00001",
			"name": "Tabela de Precos Um"
		},
		{
			"code": "00002",
			"name": "Tabela de Precos Dois"
		}
	]
}

2.1.5 - GetOne (Recuperar matriz aplicada pelo identificador)

Nessa requisição será retornada a matriz aplicada e suas das disciplinas vinculadas.

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableappliedmatrixes/{internalId}

Domínio: localhost

Porta: 8051

internalId: 1|1|3|132

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetableappliedmatrixes/1|1|3|132

{
    "companyCode": 1,
    "branchCode": 1,
    "levelEducationCode": 1,
    "appliedMatrixCode": 132,
    "priceTableCode": 3,
    "branchName": "Filial Belo Horizonte - Fantasia",
    "courseCode": "1-1",
    "courseName": "Curso Tabela de Preços",
    "curriculumGridCode": "1",
    "curriculumGridName": "Matriz Tabela de Preços",
    "majorCode": "1",
    "majorName": "Habilitação  Tabela de Preços",
    "classShiftCode": 11,
    "classShiftName": "INTEGRAL",
    "status": 0,
    "disciplines": [
        {
            "internalId": "1|3|132|1|0001_ES",
            "companyCode": 1,
            "priceTableCode": 3,
            "appliedMatrixCode": 132,
            "levelEducationCode": 1,
            "disciplineCode": "0001_ES",
            "periodCode": 0,
            "periodDescription": "Período fixo",
            "disciplineName": "Estágio Supervisionado",
            "workload": 8.0000,
            "actionState": 1
        },
        {
            "internalId": "1|3|132|1|001Wal",
            "companyCode": 1,
            "priceTableCode": 3,
            "appliedMatrixCode": 132,
            "levelEducationCode": 1,
            "disciplineCode": "001Wal",
            "periodCode": 0,
            "periodDescription": "Período fixo",
            "disciplineName": "6.Wal ",
            "workload": 5.0000,
            "actionState": 1
        },
        {
            "internalId": "1|3|132|1|146-1",
            "companyCode": 1,
            "priceTableCode": 3,
            "appliedMatrixCode": 132,
            "levelEducationCode": 1,
            "disciplineCode": "146-1",
            "periodCode": 1,
            "periodDescription": "Período 1",
            "disciplineName": "7.DIREITO COMERCIAL I",
            "workload": 50.0000,
            "actionState": 1
        },
        {
            "internalId": "1|3|132|1|147-1",
            "companyCode": 1,
            "priceTableCode": 3,
            "appliedMatrixCode": 132,
            "levelEducationCode": 1,
            "disciplineCode": "147-1",
            "periodCode": 1,
            "periodDescription": "Período 1",
            "disciplineName": "DIREITO COMERIAL II",
            "workload": 50.0000,
            "actionState": 1
        },
        {
            "internalId": "1|3|132|1|148-1",
            "companyCode": 1,
            "priceTableCode": 3,
            "appliedMatrixCode": 132,
            "levelEducationCode": 1,
            "disciplineCode": "148-1",
            "periodCode": 1,
            "periodDescription": "Período 1",
            "disciplineName": "DIREITO PENAL II",
            "actionState": 1
        }
    ],
    "actionState": 0
}

2.2 - PUT


2.2.1 - Put (Atualização de uma matriz aplicada)

A atualização da matriz aplicada é realizada somente para atualizar as disciplinas vinculadas à matriz aplicada. E importante no corpo da requisição informar a propriedade "actionState" na tag "disciplines"  a ação que deseja conforme descrito na seção "Descrição dos campos JSON de entrada/retorno"

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableappliedmatrixes/{internalId}

Domínio: localhost

Porta: 8051

internalId: 1|1|3|132

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetableappliedmatrixes/1|1|3|132

{
	"companyCode": 1,
	"branchCode": 1,
	"levelEducationCode": 1,
	"appliedMatrixCode": 132,
	"priceTableCode": 3,
	"branchName": "Filial Belo Horizonte - Fantasia",
	"courseCode": "1-1",
	"courseName": "Curso Tabela de Preços",
	"curriculumGridCode": "1",
	"curriculumGridName": "Matriz Tabela de Preços",
	"majorCode": "1",
	"majorName": "Habilitação  Tabela de Preços",
	"classShiftCode": 11,
	"classShiftName": "INTEGRAL",
	"status": 0,
	"disciplines": [
		{
			"internalId": "1|3|132|1|0001_ES",
			"companyCode": 1,
			"priceTableCode": 3,
			"appliedMatrixCode": 132,
			"levelEducationCode": 1,
			"disciplineCode": "0001_ES",
			"periodCode": 0,
			"periodDescription": "Período fixo",
			"disciplineName": "Estágio Supervisionado",
			"workload": 8.0,
			"actionState": 1,
			"creditsvalue": 10
		}
	]
}
{
	"companyCode": 1,
	"branchCode": 1,
	"levelEducationCode": 1,
	"appliedMatrixCode": 132,
	"priceTableCode": 3,
	"branchName": "Filial Belo Horizonte - Fantasia",
	"courseCode": "1-1",
	"courseName": "Curso Tabela de Preços",
	"curriculumGridCode": "1",
	"curriculumGridName": "Matriz Tabela de Preços",
	"majorCode": "1",
	"majorName": "Habilitação  Tabela de Preços",
	"classShiftCode": 11,
	"classShiftName": "INTEGRAL",
	"status": 0,
	"disciplines": [
		{
			"internalId": "1|3|132|1|0001_ES",
			"companyCode": 1,
			"priceTableCode": 3,
			"appliedMatrixCode": 132,
			"levelEducationCode": 1,
			"disciplineCode": "0001_ES",
			"creditsValue": 10.0,
			"periodCode": 0,
			"periodDescription": "Período fixo",
			"disciplineName": "Estágio Supervisionado",
			"workload": 8.0,
			"actionState": 1
		}
	],
	"actionState": 0
}

{
    "code": null,
    "message": "Não foi possível incluir/editar a tabela de preços. Existe(m) matriz(es) aplicada(s) com id da matriz aplicada inválido.",
    "detailedMessage": null,
    "helpUrl": null,
    "details": null
}

2.3 - DELETE


2.3.1 - Delete (Excluir uma matriz aplicada)

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableappliedmatrixes/{internalId}

Domínio: localhost

Porta: 8051

internalId: 1|1|3|132

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetableappliedmatrixes/1|1|3|132

Obs.: Em caso de sucesso, será retornado o respondeCode = 204 e a resposta em branco.

{
	"code": null,
	"message": "Não existe um cadastro de Matriz Aplicada vinculado a Tabela de Preços com o ID informado para exclusão",
	"detailedMessage": null,
	"helpUrl": null,
	"details": null
}

3 - Período Letivo de Ingresso


      Serão apresentados 2 métodos, os quais foram implementados na API do Período de Letivo de Ingresso vinculada à Tabela de Preços, são eles:

3.1 - GET


3.1.1 - Get All (Recuperar todos períodos de letivo de ingresso)

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableterms

Domínio: localhost

Porta: 8051

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetableterms

{
    "hasNext": false,
    "items": [
        {
            "internalId": "1|1|3|73",
            "companyCode": 1,
            "priceTableCode": 3,
            "termId": 73,
            "levelEducationCode": 1,
            "termCode": "2024/1",
            "branchCode": 1,
            "branchName": "Filial Belo Horizonte - Fantasia"
        },
        {
            "internalId": "1|1|3|74",
            "companyCode": 1,
            "priceTableCode": 3,
            "termId": 74,
            "levelEducationCode": 1,
            "termCode": "2024/2",
            "branchCode": 1,
            "branchName": "Filial Belo Horizonte - Fantasia"
        },
        {
            "internalId": "1|1|3|75",
            "companyCode": 1,
            "priceTableCode": 3,
            "termId": 75,
            "levelEducationCode": 1,
            "termCode": "2025/1",
            "branchCode": 1,
            "branchName": "Filial Belo Horizonte - Fantasia"
        }
    ]
}

3.1.2 - Filter (Resultado filtrado)

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableterms?{campo}={valor}

Domínio: localhost

Porta: 8051

Campo: termId

Valor: 74

Url Utilizada:  http://localhost:8051/api/educational/financial/v1/pricetableterms?termId=74

{
    "hasNext": false,
    "items": [
        {
            "internalId": "1|1|3|74",
            "companyCode": 1,
            "priceTableCode": 3,
            "termId": 74,
            "levelEducationCode": 1,
            "termCode": "2024/2",
            "branchCode": 1,
            "branchName": "Filial Belo Horizonte - Fantasia"
        }
    ]
}

Para realizar filtros complexos na API da Tabela de Preços é 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.

3.1.3 - Paginação

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

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableterms?page={valor1}&pageSize={valor2}

Domínio: localhost

Porta: 8051

Valor1: 1

Valor2: 5

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetableterms?page=1&pageSize=5

{
    "hasNext": false,
    "items": [
        {
            "internalId": "1|1|3|73",
            "companyCode": 1,
            "priceTableCode": 3,
            "termId": 73,
            "levelEducationCode": 1,
            "termCode": "2024/1",
            "branchCode": 1,
            "branchName": "Filial Belo Horizonte - Fantasia"
        },
        {
            "internalId": "1|1|3|74",
            "companyCode": 1,
            "priceTableCode": 3,
            "termId": 74,
            "levelEducationCode": 1,
            "termCode": "2024/2",
            "branchCode": 1,
            "branchName": "Filial Belo Horizonte - Fantasia"
        },
        {
            "internalId": "1|1|3|75",
            "companyCode": 1,
            "priceTableCode": 3,
            "termId": 75,
            "levelEducationCode": 1,
            "termCode": "2025/1",
            "branchCode": 1,
            "branchName": "Filial Belo Horizonte - Fantasia"
        }
    ]
}

3.1.4 - Fields (Retorno de campos específicos no resultado)

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 ...

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableterms?fields={campos}

Domínio: localhost

Porta: 8051

Campo 1: termCode

Campo 2: branchName

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetableterms?fields=termCode,branchName

{
    "hasNext": false,
    "items": [
        {
            "termCode": "2024/1",
            "branchName": "Filial Belo Horizonte - Fantasia"
        },
        {
            "termCode": "2024/2",
            "branchName": "Filial Belo Horizonte - Fantasia"
        },
        {
            "termCode": "2025/1",
            "branchName": "Filial Belo Horizonte - Fantasia"
        }
    ]
}

3.1.5 - GetOne (Recuperar período letivo de ingresso pelo identificador)

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableterms/{internalId}

Domínio: localhost

Porta: 8051

internalId: 1|1|3|73

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetableterms/1|1|3|73

{
    "internalId": "1|1|3|73",
    "companyCode": 1,
    "priceTableCode": 3,
    "termId": 73,
    "levelEducationCode": 1,
    "termCode": "2024/1",
    "branchCode": 1,
    "branchName": "Filial Belo Horizonte - Fantasia"
}

3.2 - DELETE


3.2.1 - Delete (Excluir um período letivo de ingresso)

Máscara de Url: http://{domínio}:{porta}/api/educational/financial/v1/pricetableterms/{internalId}

Domínio: localhost

Porta: 8051

internalId: 1|1|3|73

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetableterms/1|1|3|73

Obs.: Em caso de sucesso, será retornado o respondeCode = 204 e a resposta em branco.

{
    "code": null,
    "message": "Não existe um cadastro de Período Letivo de Ingresso vinculado à Tabela de Preços com o ID informado para exclusão.",
    "detailedMessage": null,
    "helpUrl": null,
    "details": null
}

4 - Descrição dos campos JSON de entrada/retorno



Tabela de Preços

  • companyCode: Código da coligada
  • levelEducationCode: Código do nível de ensino/tipo de curso
  • id: Identificador único da tabela de preços
  • internalId: Identificador da tabela de preços no formato:
    • "Código da Coligada | Código do Nível de Ensino | Identificador da Tabela de Preços"
  • code: Código da tabela de preços definido pelo usuário no sistema
  • name: Nome da tabela de preços
  • reccreatedon: Data de criação da tabela de preços
  • active: Informa se a tabela de preços está ativa
  • pricetableinuse: Informa se a tabela de preços está em uso
  • appliedMatrixes: Listagem das matrizes aplicadas vinculadas à tabela de preços
  • terms: Listagem dos período letivos de ingresso vinculados à tabela de preços

Matriz Aplicada vinculada à Tabela de Preços

  • companyCode: Código da coligada
  • branchCode: Código da filial
  • levelEducationCode: Código do nível de ensino/tipo de curso
  • appliedMatrixCode: Identificador da matriz aplicada
  • priceTableCode: Identificador da tabela de preços
  • branchName: Nome da filial
  • courseCode: Código do curso
  • courseName: Nome do curso
  • curriculumGridCode: Código da grade/matriz curricular
  • curriculumGridName: Nome da grade/matriz curricular
  • majorCode: Código da habilitação
  • majorName: Nome da habilitação
  • classShiftCode: Código do turno
  • classShiftName: Nome do turno
  • Status: Informar o status do preenchimento do valor de créditos da disciplinas, valores possíveis
    • 0: Informa que todas as disciplinas não tem o valor de créditos preenchido
    • 1: Informa que têm algumas disciplinas sem ter o valor de créditos preenchido
    • 2: Informa que todas as disciplinas já tem o valor de créditos preenchido
  • disciplines: Listagem das disciplinas vinculadas a matriz aplicada
  • actionState: Informar o controle de modificação
    • 1: Informa a inclusão da matriz aplicada na tabela de preços
    • 2: Informa a remoção da matriz aplicada na tabela de preços

Disciplina vinculada à Matriz Aplicada

  • companyCode: Código da coligada
  • priceTableCode: Identificador da tabela de preços
  • appliedMatrixCode: Identificador da matriz aplicada
  • levelEducationCode: Código do nível de ensino/tipo de curso
  • internalId: Identificador da disciplina no formato:
    • "Código da Coligada | Identificador da Tabela de Preços | Identificador da Matriz Aplicada | Código do Nível de Ensino | Código da Disciplina"
  • disciplineCode: Código da disciplina
  • creditsValue: Valor de créditos
  • periodCode: Código do período
  • periodDescription: Descrição do período
  • disciplineName: Nome da disciplina
  • workload: Número da carga horária da disciplina
  • actionState: Informar o controle de modificação
    • 1: Informa a inclusão da disciplina da matriz aplicada
    • 2: Informa a remoção da disciplina da matriz aplicada
    • 3: Informa a modificação da disciplina da matriz aplicada
  • recCreatedBy: Usuário de criação
  • recCreatedOn: Data de criação
  • recModifiedBy: Usuário de alteração
  • recModifiedOn: Data de alteração

Período Letivo de Ingresso vinculado à Matriz Aplicada

  • companyCode: Código da coligada
  • priceTableCode: Identificador da tabela de preços
  • levelEducationCode: Código do nível de ensino/tipo de curso
  • termId: identidicador do período letivo de ingresso
  • internalId: Identificador da disciplina no formato:
    • "Código da Coligada|Identificador da Tabela de Preços|Identificador do Período Letivo de Ingresso|Código do Nível de Ensino"
  • termCode: Código do período letivo de ingresso definido pelo usuário no sistema
  • branchName: Nome da filial
  • branchCode: Código da filial
  • actionState: Informar o controle de modificação
    • 1: Informa a inclusão do período letivo de ingresso na tabela de preços
    • 2: Informa a remoção do período letivo de ingresso na tabela de preços
  • recCreatedBy: Usuário de criação
  • recCreatedOn: Data de criação
  • recModifiedBy: Usuário de alteração
  • recModifiedOn: Data de alteração