- Criado por Augusto Filipe Estanislau Onorio, última alteração em 15 mai, 2024
Sumário
Objetivo
Esse documento tem o objetivo de exemplificar o uso da API de Prospecção utilizando todos os métodos implementados.
1 - Métodos
Serão apresentados 5 métodos, os quais foram implementados na API de Prospecção, são eles:
- GET
- POST
- PUT
- DELETE
1.1 - GET
1.1.1 - Get All (Recuperar todas as Prospecções)
GetAll
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections
Exemplo de Resultado
{ "hasNext": false, "items": [ { "prospectionCode": 1, "description": "Matricula de ingressantes 2022", "prospects": [] }, { "prospectionCode": 2, "description": "Prospecção 2024 - Novo Curso", "prospects": [] }, { "prospectionCode": 3, "description": "Duplicação", "prospects": [] } ] }
1.1.2 - Order (Retorna os dados ordenados)
Parâmetros
Order: parâmetro responsável pela ordenação do resultado, podendo ser ascendente ou descendente. O resultado com a ordem descendente deve ser precedida do caractere "-" (menos).
Exemplo 1: ?order=campo1 (Ascendente)
Exemplo 2: ?order=-campo1 (Descendente)
Múltiplos campos de ordenação: ?order=[-]campo1, [-]campo2, [-]campo3 ...
Order (Asc)
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections?order={campo}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: description
Tipo de Ordenação: Ascendente
Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections?order=description
Exemplo de Resultado
{ "hasNext": false, "items": [ { "prospectionCode": 3, "description": "Duplicação", "prospects": [] }, { "prospectionCode": 1, "description": "Matricula de ingressantes 2022", "prospects": [] }, { "prospectionCode": 2, "description": "Prospecção 2024 - Novo Curso", "prospects": [] } ] }
Order (Desc)
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections?order=[-]{campo}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: description
Tipo de Ordenação: Descendente
Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections?order=-description
Exemplo de Resultado
{ "hasNext": false, "items": [ { "prospectionCode": 2, "description": "Prospecção 2024 - Novo Curso", "prospects": [] }, { "prospectionCode": 1, "description": "Matricula de ingressantes 2022", "prospects": [] }, { "prospectionCode": 3, "description": "Duplicação", "prospects": [] } ] }
1.1.3 - Filter (Resultado filtrado)
Filter
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections?{campo}={valor}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: bankNumber
Valor: 005
Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections?prospectionCode=2
Exemplo de Resultado
{ "hasNext": false, "items": [ { "prospectionCode": 2, "description": "Prospecção 2024 - Novo Curso", "prospects": [] } ] }
Filtros Complexos - OData
Para realizar filtros complexos na API de Prospecção é possível adotar o padrão OData. Para entender melhor sobre a utilização desse padrão, acesse o link da documentação Utilizando filtros complexos - Exemplos do guia de API - ODATA.
1.1.4 - Paginação
Parâmetros
Page: Página que será apresentada.
PageSize: Quantidade máxima de registros por página que serão apresentados.
Exemplo: ?page=1&pageSize=1
Valores padrão: Caso não sejam preenchidos os parâmetros evidenciados acima serão preenchidos com valores padrão.
Page: 1
PageSize: 20
Paginação
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections?page={valor1}&pageSize={valor2}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Valor1: 1
Valor2: 2
Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections?page=1&pageSize=1
Exemplo de Resultado
{ "hasNext": true, "items": [ { "prospectionCode": 1, "description": "Matricula de ingressantes 2022", "prospects": [] } ] }
1.1.5 - Fields (Retorno de campos específicos no resultado)
Parâmetros
Fields: parâmetro responsável pela especialização de campos em um resultado, ou seja, o usuário define quais campos serão apresentados no resultado.
Exemplo: ?fields=campo1
Múltiplos campos de ordenação: ?fields=campo1, campo2, campo3 ...
Fields
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections?fields={campos}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo 1: prospectionCode
Campo 2: description
Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections?fields=prospectionCode,description
Exemplo de Resultado
{ "hasNext": false, "items": [ { "prospectionCode": 1, "description": "Matricula de ingressantes 2022" }, { "prospectionCode": 2, "description": "Prospecção 2024 - Novo Curso" }, { "prospectionCode": 3, "description": "Duplicação" } ] }
1.1.6 - GetOne (Recuperar prospecção pelo identificador)
GetOne
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections/{prospectionCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
prospectionCode: 1
Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections/1
Exemplo de Resultado
{ "prospectionCode": 1, "description": "Matricula de ingressantes 2022", "prospects": [ { "prospectionCode": 1, "prospectCode": 91, "prospectName": "1", "prospectType": "A", "candidateUserCode": 198, "companyCode": 1, "studentCode": "ES-00219", "prospectPaymentPlans": [ { "prospectionCode": 1, "prospectCode": 91, "prospectPaymentPlanCode": 77, "companyCode": 1, "termCode": 32, "termCodeDescription": "2023/1", "paymentPlanCode": "2.0", "levelEducationCode": 1, "paymentPlanName": "Plano 2", "branchCode": 1 } ], "prospectScholarShips": [ { "prospectionCode": 1, "prospectCode": 91, "prospectSchoolshipCode": 45, "companyCode": 1, "scholarShipCode": "12", "scholarShipName": "SINDICATO", "levelEducationCode": 1, "serviceCode": "1", "serviceName": "MENSALIDADE", "termCode": 32, "termCodeDescription": "2023/1", "discountType": "P", "discountValue": 25.1234, "startDate": "2023-01-01T00:00:00-03:00", "endDate": "2023-12-31T00:00:00-03:00", "validityType": "T", "branchCode": 1 } ] }, { "prospectionCode": 1, "prospectCode": 92, "prospectName": "2", "prospectType": "C", "candidateUserCode": 212, "companyCode": 1, "prospectPaymentPlans": [ { "prospectionCode": 1, "prospectCode": 92, "prospectPaymentPlanCode": 78, "companyCode": 1, "termCode": 32, "termCodeDescription": "2023/1", "paymentPlanCode": "2023/PS", "levelEducationCode": 1, "paymentPlanName": "2023 Processo seletivo teste", "branchCode": 1 } ], "prospectScholarShips": [] }, { "prospectionCode": 1, "prospectCode": 93, "prospectName": "AAAA sss", "prospectType": "P", "individualRegistrationCode": "45657746589", "prospectPaymentPlans": [ { "prospectionCode": 1, "prospectCode": 93, "prospectPaymentPlanCode": 79, "companyCode": 1, "termCode": 28, "termCodeDescription": "2021", "paymentPlanCode": "10112690", "levelEducationCode": 2, "paymentPlanName": "Plano 1 - Padrão 11 parcelas", "branchCode": 1 } ], "prospectScholarShips": [ { "prospectionCode": 1, "prospectCode": 93, "prospectSchoolshipCode": 46, "companyCode": 1, "scholarShipCode": "20", "scholarShipName": "Bolsa teste 1", "levelEducationCode": 2, "serviceCode": "27", "serviceName": "Mensalidade", "termCode": 28, "termCodeDescription": "2021", "discountType": "P", "discountValue": 11.0000, "validityType": "P", "startInstallment": 1, "endInstallment": 1, "branchCode": 1 } ] }, { "prospectionCode": 1, "prospectCode": 94, "prospectName": "Antonio Lucas Peixoto", "prospectType": "A", "companyCode": 1, "studentCode": "EB-00238", "prospectPaymentPlans": [ { "prospectionCode": 1, "prospectCode": 94, "prospectPaymentPlanCode": 80, "companyCode": 1, "termCode": 23, "termCodeDescription": "2019", "paymentPlanCode": "2019-12x", "levelEducationCode": 2, "paymentPlanName": "12 parcelas", "branchCode": 1 } ], "prospectScholarShips": [] } ] }
1.2 - POST
1.2.1 - Post (Inserir uma Prospecção)
Post
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections
Exemplo de Entrada
{ "description": "Nova prospecção 2024", "prospects": [ { "prospectName": "1", "prospectType": "A", "candidateUserCode": 198, "companyCode": 1, "studentCode": "ES-00219", "prospectPaymentPlans": [ { "companyCode": 1, "termCode": 32, "termCodeDescription": "2023/1", "paymentPlanCode": "2.0", "levelEducationCode": 1, "paymentPlanName": "Plano 2", "branchCode": 1 } ], "prospectScholarShips": [ { "companyCode": 1, "scholarShipCode": "1", "scholarShipName": "FUNCIONÁRIO DA ESCOLA", "levelEducationCode": 1, "serviceCode": "1", "serviceName": "MENSALIDADE", "termCode": 32, "termCodeDescription": "2023/1", "discountType": "P", "discountValue": 25.1234, "startDate": "2023-01-01T00:00:00-03:00", "endDate": "2023-12-31T00:00:00-03:00", "validityType": "T", "branchCode": 1 } ] }, { "prospectName": "2", "prospectType": "C", "candidateUserCode": 212, "companyCode": 1, "prospectPaymentPlans": [ { "companyCode": 1, "termCode": 32, "termCodeDescription": "2023/1", "paymentPlanCode": "2023/PS", "levelEducationCode": 1, "paymentPlanName": "2023 Processo seletivo teste", "branchCode": 1 } ], "prospectScholarShips": [] }, { "prospectName": "AAAA sss", "prospectType": "P", "individualRegistrationCode": "45657746589", "prospectPaymentPlans": [ { "companyCode": 1, "termCode": 28, "termCodeDescription": "2021", "paymentPlanCode": "10112690", "levelEducationCode": 2, "paymentPlanName": "Plano 1 - Padrão 11 parcelas", "branchCode": 1 } ], "prospectScholarShips": [ { "companyCode": 1, "scholarShipCode": "13", "scholarShipName": "DIRETORIA", "levelEducationCode": 2, "serviceCode": "27", "serviceName": "Mensalidade", "termCode": 32, "termCodeDescription": "2021", "discountType": "P", "discountValue": 11.0000, "validityType": "P", "startInstallment": 1, "endInstallment": 1, "branchCode": 1 } ] }, { "prospectName": "Antonio Lucas Peixoto", "prospectType": "A", "companyCode": 1, "studentCode": "EB-00238", "prospectPaymentPlans": [ { "companyCode": 1, "termCode": 23, "termCodeDescription": "2019", "paymentPlanCode": "2019-12x", "levelEducationCode": 2, "paymentPlanName": "12 parcelas", "branchCode": 1 } ], "prospectScholarShips": [] } ] }
Exemplo de Resultado Positivo
{ "prospectionCode": 5, "description": "Nova prospecção 2024", "prospects": [ { "prospectionCode": 5, "prospectCode": 137, "prospectName": "1", "prospectType": "A", "candidateUserCode": 198, "companyCode": 1, "studentCode": "ES-00219", "prospectPaymentPlans": [ { "prospectionCode": 5, "prospectCode": 137, "prospectPaymentPlanCode": 114, "companyCode": 1, "termCode": 32, "termCodeDescription": "2023/1", "paymentPlanCode": "2.0", "levelEducationCode": 1, "paymentPlanName": "Plano 2", "branchCode": 1 } ], "prospectScholarShips": [ { "prospectionCode": 5, "prospectCode": 137, "prospectSchoolshipCode": 86, "companyCode": 1, "scholarShipCode": "1", "scholarShipName": "FUNCIONÁRIO DA ESCOLA", "levelEducationCode": 1, "serviceCode": "1", "serviceName": "MENSALIDADE", "termCode": 32, "termCodeDescription": "2023/1", "discountType": "P", "discountValue": 25.1234, "startDate": "2023-01-01T00:00:00-03:00", "endDate": "2023-12-31T00:00:00-03:00", "validityType": "T", "branchCode": 1 } ] }, { "prospectionCode": 5, "prospectCode": 138, "prospectName": "2", "prospectType": "C", "candidateUserCode": 212, "companyCode": 1, "prospectPaymentPlans": [ { "prospectionCode": 5, "prospectCode": 138, "prospectPaymentPlanCode": 115, "companyCode": 1, "termCode": 32, "termCodeDescription": "2023/1", "paymentPlanCode": "2023/PS", "levelEducationCode": 1, "paymentPlanName": "2023 Processo seletivo teste", "branchCode": 1 } ], "prospectScholarShips": [] }, { "prospectionCode": 5, "prospectCode": 139, "prospectName": "AAAA sss", "prospectType": "P", "individualRegistrationCode": "45657746589", "prospectPaymentPlans": [ { "prospectionCode": 5, "prospectCode": 139, "prospectPaymentPlanCode": 116, "companyCode": 1, "termCode": 28, "termCodeDescription": "2021", "paymentPlanCode": "10112690", "levelEducationCode": 2, "paymentPlanName": "Plano 1 - Padrão 11 parcelas", "branchCode": 1 } ], "prospectScholarShips": [ { "prospectionCode": 5, "prospectCode": 139, "prospectSchoolshipCode": 87, "companyCode": 1, "scholarShipCode": "13", "scholarShipName": "DIRETORIA", "levelEducationCode": 2, "serviceCode": "27", "serviceName": "Mensalidade", "termCode": 32, "termCodeDescription": "2021", "discountType": "P", "discountValue": 11.0000, "validityType": "P", "startInstallment": 1, "endInstallment": 1, "branchCode": 1 } ] }, { "prospectionCode": 5, "prospectCode": 140, "prospectName": "Antonio Lucas Peixoto", "prospectType": "A", "companyCode": 1, "studentCode": "EB-00238", "prospectPaymentPlans": [ { "prospectionCode": 5, "prospectCode": 140, "prospectPaymentPlanCode": 117, "companyCode": 1, "termCode": 23, "termCodeDescription": "2019", "paymentPlanCode": "2019-12x", "levelEducationCode": 2, "paymentPlanName": "12 parcelas", "branchCode": 1 } ], "prospectScholarShips": [] } ] }
Exemplo de Resultado Negativo
{ "code": null, "message": "A bolsa 12 já está cadastrada para o prospect '1' na prospecção 'Matricula de ingressantes 2022'.\r\nA bolsa 20 já está cadastrada para o prospect 'AAAA sss' na prospecção 'Matricula de ingressantes 2022'.", "detailedMessage": null, "helpUrl": null, "details": null }
1.3 - PUT
1.3.1 - Put (Atualização de uma Prospecção)
Patch
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections/{prospectionCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
prospectionCode: 3
Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections/3
Exemplo de Entrada
{ "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 } ] } ] }
Exemplo de Resultado Positivo
{ "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 } ] } ] }
Exemplo de Resultado Negativo
{ "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)
Delete
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospections/{prospectionCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
prospectionCode: 5
Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospections/5
Exemplo de Resultado Positivo Postman
Obs.: Em caso de sucesso, será retornado o respondeCode = 204 e a resposta em branco.
Exemplo de Resultado Negativo
{ "code": 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)
Delete
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospection/prospect/{prospectionCode}|{prospectCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
prospectionCode: 3
prospectCode: 141
Url Utilizada: http://localhost:8051/api/educational/v1/prospection/prospect/3|141
Exemplo de Resultado Positivo Postman
Obs.: Em caso de sucesso, será retornado o respondeCode = 204 e a resposta em branco.
Exemplo de Resultado Negativo
{ "code": 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)
Delete
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospect/paymentplan/{prospectionCode}|{prospectCode}|{prospectPaymentPlanCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
prospectionCode: 3
prospectCode: 133
prospectPaymentPlanCode: 101
Url Utilizada: http://localhost:8051/api/educational/v1/prospect/paymentplan/3|133|101
Exemplo de Resultado Positivo Postman
Obs.: Em caso de sucesso, será retornado o respondeCode = 204 e a resposta em branco.
Exemplo de Resultado Negativo
{ "code": 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)
Delete
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/prospect/scholarship/{prospectionCode}|{prospectCode}|{prospectSchoolshipCode}
Exemplo de Configuração
Domínio: localhost
prospectionCode: 3
prospectCode: 128
prospectSchoolshipCode: 80
Url Utilizada: http://localhost:8051/api/educational/v1/prospect/scholarship/3|128|80
Exemplo de Resultado Positivo Postman
Obs.: Em caso de sucesso, será retornado o respondeCode = 204 e a resposta em branco.
Exemplo de Resultado Negativo
{ "code": 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
- prospectionCode: Código da prospecção
- description: Descrição da prospecção
- prospects: Lista de prospects da prospecção
Prospects
- prospectionCode: Código da prospecção
- prospectCode: Código do prospect
- prospectName: Nome do prospect
- prospectType: Tipo do prospect (A = "aluno", C = "candidato" ou P = "pessoa")
- companyCode: Código da coligada
- studentCode: Registro acadêmico do aluno
- prospectPaymentPlans: Lista de planos de pagamento do prospect
- prospectScholarShips: Lista bolsas do prospect
Planos de pagamento do prospect
- prospectionCode: Código da prospecção
- prospectCode: Código do prospect
- prospectPaymentPlanCode: Código do plano de pagamento do prospect
- companyCode: Código da coligada
- termCode: Código do período letivo
- paymentPlanCode: Código do plano de pagamento
- levelEducationCode: Código do nível de ensino
- branchCode: Código da filial
Bolsas do prospect
- prospectionCode: Código da prospecção
- prospectCode: Código do prospect
- prospectSchoolshipCode: Código da bolsa do prospect
- companyCode: Código da coligada
- scholarShipCode: Código da bolsa
- levelEducationCode: Código do nível de ensino
- serviceCode: Código do serviço
- termCode: Código do período letivo
- discountType: Tipo de desconto (P = Percentual, V = Valor)
- discountValue: Valor do desconto
- startDate: Data inicial da vigência
- endDate: Data final da vigência
- validityType: Tipo de validade (T = Todo o período, P = Somente o período letivo)
- branchCode: Código da filial
- Sem rótulos