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.


1 - Métodos


      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 Tabela de preços)

Recupera todas as tabela de preços sem retornar as listagens das matrizes aplicadas, dos períodos letivos e das filiais dos períodos letivos por questão de performance. Essas informações serão retornadas com a utilização do GetOne para tabela de preço  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 - Order (Retorna os dados ordenados)

Order: parâmetro responsável pela ordenação do resultado, podendo ser ascendente ou descendente. O resultado com a ordem descendente deve ser precedida do caractere "-" (menos).

Exemplo 1: ?order=campo1 (Ascendente)

Exemplo 2: ?order=-campo1 (Descendente)

Múltiplos campos de ordenação: ?order=[-]campo1, [-]campo2, [-]campo3 ...

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

Domínio: localhost

Porta: 8051

Campo: name

Tipo de Ordenação: Ascendente

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetable?order=name

{
    "hasNext": false,
    "items": [
        {
            "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": 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": []
        }
    ]
}

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

Domínio: localhost

Porta: 8051

Campo: name

Tipo de Ordenação: Descendente

Url Utilizada: http://localhost:8051/api/educational/financial/v1/pricetable?order=-name

{
	"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": []
		},
		{
			"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": []
		}
	]
}

1.1.3 - 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.4 - 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.5 - 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.6 - GetOne (Recuperar tabela de preços pelo identificador)


Nessa requisição serão retornadas as listagens das matrizes aplicadas, dos períodos letivos e das filiais dos períodos letivos da 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|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 matrizes aplicadas vinculadas à ela. 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,
	"priceTableInUse": false,
	"appliedMatrixes": []
}
ou 
{
	"companyCode": 1,
	"levelEducationCode": 1,
	"code": "00005",
	"name": "Tabela de Precos via Postman",
	"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
		}
	]
}
{
	"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. A listagem de matrizes aplicadas está inválida.",
	"detailedMessage": null,
	"helpUrl": null,
	"details": null
}

1.3 - PUT


1.3.1 - Put (Atualização de uma Prospecção)


Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections/{prospectionCode}

Domínio: localhost

Porta: 8051

prospectionCode: 3

Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections/3

{
"prospects": [
    {
        "prospectName": "Tomás Augusto",
        "prospectType": "A",
        "companyCode": 1,
        "studentCode": "ES-00219",
        "prospectPaymentPlans": [
            { "companyCode": 1, "termCode": 32, "paymentPlanCode": "2.0", "levelEducationCode": 1, "branchCode": 1 },
            { "companyCode": 1, "termCode": 32, "paymentPlanCode": "2023/PS", "levelEducationCode": 1, "branchCode": 1 }
        ],
        "prospectScholarShips": [
            { 
                "companyCode": 1, 
                "scholarShipCode": "10", 
                "levelEducationCode": 1, 
                "serviceCode": "1", 
                "termCode": 32, 
                "discountType": "P", "discountValue": 90.0000, "startDate": "2024-01-05T00:00:00-03:00", "endDate": "2024-01-29T00:00:00-03:00", "validityType": "T", "branchCode": 1 
            },
            { 
                "companyCode": 1, 
                "scholarShipCode": "12", 
                "levelEducationCode": 1, 
                "serviceCode": "2", 
                "termCode": 10, 
                "discountType": "P", "discountValue": 2.0000, "startDate": "2024-01-05T00:00:00-03:00", "endDate": "2024-01-29T00:00:00-03:00", "validityType": "T", "branchCode": 1 
            }
        ]
    }
    ]
}
{
    "prospectionCode": 3,
    "description": "Duplicação",
    "prospects": [
        {
            "prospectionCode": 3,
            "prospectCode": 141,
            "prospectName": "Tomás Augusto",
            "prospectType": "A",
            "companyCode": 1,
            "studentCode": "ES-00219",
            "prospectPaymentPlans": [
                {
                    "prospectionCode": 3,
                    "prospectCode": 141,
                    "prospectPaymentPlanCode": 118,
                    "companyCode": 1,
                    "termCode": 32,
                    "paymentPlanCode": "2.0",
                    "levelEducationCode": 1,
                    "branchCode": 1
                },
                {
                    "prospectionCode": 3,
                    "prospectCode": 141,
                    "prospectPaymentPlanCode": 119,
                    "companyCode": 1,
                    "termCode": 32,
                    "paymentPlanCode": "2023/PS",
                    "levelEducationCode": 1,
                    "branchCode": 1
                }
            ],
            "prospectScholarShips": [
                {
                    "prospectionCode": 3,
                    "prospectCode": 141,
                    "prospectSchoolshipCode": 88,
                    "companyCode": 1,
                    "scholarShipCode": "10",
                    "levelEducationCode": 1,
                    "serviceCode": "1",
                    "termCode": 32,
                    "discountType": "P",
                    "discountValue": 90.0000,
                    "startDate": "2024-01-05T00:00:00-03:00",
                    "endDate": "2024-01-29T00:00:00-03:00",
                    "validityType": "T",
                    "branchCode": 1
                },
                {
                    "prospectionCode": 3,
                    "prospectCode": 141,
                    "prospectSchoolshipCode": 89,
                    "companyCode": 1,
                    "scholarShipCode": "12",
                    "levelEducationCode": 1,
                    "serviceCode": "2",
                    "termCode": 10,
                    "discountType": "P",
                    "discountValue": 2.0000,
                    "startDate": "2024-01-05T00:00:00-03:00",
                    "endDate": "2024-01-29T00:00:00-03:00",
                    "validityType": "T",
                    "branchCode": 1
                }
            ]
        }
    ]
}
{
    "code": null,
    "message": "A bolsa 10 já está cadastrada para o prospect 'Tomás Augusto' na prospecção 'Duplicação'.\r\nA bolsa 12 já está cadastrada para o prospect 'Tomás Augusto' na prospecção 'Duplicação'.",
    "detailedMessage": null,
    "helpUrl": null,
    "details": null
}


1.4 - DELETE


1.4.1 - Delete (Exclui uma Prospecção)


Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections/{prospectionCode}

Domínio: localhost

Porta: 8051

prospectionCode: 5

Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections/5

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

{
    "code": null,
    "message": "O código da prospecção não foi informado ou é inválido.",
    "detailedMessage": null,
    "helpUrl": null,
    "details": null
}


1.4.2 - Delete (Exclui um Prospect da Prospecção)


Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospect/{prospectionCode}|{prospectCode}

Domínio: localhost

Porta: 8051

prospectionCode: 3

prospectCode: 141

Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospect/3|141

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

{
    "code": null,
    "message": "O id do prospect não foi informado ou é inválido",
    "detailedMessage": null,
    "helpUrl": null,
    "details": null
}


1.4.3 - Delete (Exclui um Plano de Pagamento do Prospect da Prospecção)


Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospect/paymentplan/{prospectionCode}|{prospectCode}|{prospectPaymentPlanCode}

Domínio: localhost

Porta: 8051

prospectionCode: 3

prospectCode: 133

prospectPaymentPlanCode: 101

Url Utilizada: http://localhost:8051/api/educational/v1/prospect/paymentplan/3|133|101

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

{
    "code": null,
    "message": "O id do plano de pagamento do prospect não foi informado ou é inválido",
    "detailedMessage": null,
    "helpUrl": null,
    "details": null
}

1.4.4 - Delete (Exclui uma Bolsa do Prospect da Prospecção)


Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospect/scholarship/{prospectionCode}|{prospectCode}|{prospectSchoolshipCode}

Domínio: localhost

prospectionCode: 3

prospectCode: 128

prospectSchoolshipCode: 80

Url Utilizada: http://localhost:8051/api/educational/v1/prospect/scholarship/3|128|80

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

{
    "code": null,
    "message": "O id da bolsa do prospect não foi informado ou é inválido",
    "detailedMessage": null,
    "helpUrl": null,
    "details": null
}


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


Prospeção


Prospects


Planos de pagamento do prospect


Bolsas do prospect