Recursos que vão permitir que você traga os dados de seus clientes para as unidades escolares!
Descrição: Endpoint para cadastrar um usuário.
Endpoint:
/integration/partner/v1/user
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Requisição
{
"external_id": "user-external-id-12345",
"first_name": "John",
"last_name": "Doe",
"birth_date": "1990-01-01T00:00:00",
"school_external_id": "school-external-id-123",
"document_type": "CPF",
"document_value": "12345678900",
"ddi": "+55",
"cell_phone": "11987654321",
"email": "john.doe@example.com",
"academic_email": "john.doe@university.edu",
"profiles": ["student"],
"responsible_external_id": ["responsible-external-id-1", "responsible-external-id-2"]
}
Para registros feitos no Brasil e para perfis que não sejam de estudantes, os campos document_type e document_value são obrigatórios.
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
external_id |
string |
Sim | 50 | ID único que identifica a pessoa no sistema parceiro. |
first_name |
string |
Sim | 50 | Primeiro nome da pessoa. |
last_name |
string |
Sim | 100 | Sobrenome(s) da pessoa. |
birth_date |
datetime |
Sim | - | Data de nascimento da pessoa. |
document_type |
string |
Não (para perfil student) | 20 | Tipo de documento, ex.: “CPF”. |
document_value |
string |
Não (para perfil student) | 20 | Número do documento, caso aplicável. |
ddi |
int |
Não (para perfil student) | 5 | Código DDI (discagem direta internacional) do telefone. |
cell_phone |
string |
Não (para perfil student) | 11 | Número de telefone celular. |
email |
string |
Não (para perfil student) | 200 | Endereço de e-mail. |
academic_email |
string |
Não | 200 | Endereço de e-mail acadêmico. |
profiles |
array |
Sim | - | Lista de perfis associados ao usuário. Consulte os tipos de perfis disponíveis AQUI. |
responsible_external_id |
array |
Sim (para perfil student) | 50 | IDs dos responsáveis associados ao usuário, caso aplicável. |
Nota: Para usuários com o perfil student, pelo menos um responsável deve ser informado e previamente cadastrado.
Resposta
200 Ok (Sucesso)
{
"request_id": "a25818f9-e106-452a-aee5-51dc03d36060",
"datetime_utc": "2023-01-01T01:01:01Z"
}
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
400 BadRequest (Requisição incorreta)
{
"Error":
{
"Code": "CLA001",
"Message": ""
}
}
409 Conflict (Paramêtros incorretos)
{
"Error": {
"Code": "FLU001",
"Message": "Error validating properties",
"ErrorProperties": [
{
"PropertyName": "tenant_id",
"ErrorMessage": "tenant_id is required."
}
]
}
}
500 Internal Server Error (Erro não mapeado no servidor)
{
"Error":
{
"Code": "INT500",
"Message": "Internal server error."
}
}
Descrição: Endpoint para editar um usuário.
Endpoint:
/integration/partner/v1/user
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Requisição
{
"account_id": "a12b3c4d-5e6f-7g8h-9i10-jk11l12m13n14",
"external_id": "user-external-id-12345",
"first_name": "John",
"last_name": "Doe",
"birth_date": "1990-01-01T00:00:00",
"school_external_id": "school-external-id-123",
"document_type": "CPF",
"document_value": "12345678900",
"ddi": "+55",
"cell_phone": "11987654321",
"academic_email": "john.doe@university.edu",
"profiles": ["Student", "Alumni"],
"responsible_external_id": ["responsible-external-id-1", "responsible-external-id-2"],
"status": true
}
Para registros feitos no Brasil e para perfis que não sejam de estudantes, os campos document_type e document_value são obrigatórios.
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
account_id |
UUID |
Não (para usuários pendentes) | 36 | ID único que identifica o aluno na LEX. |
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
external_id |
string |
Sim | 50 | ID único que identifica a pessoa no sistema parceiro. |
first_name |
string |
Sim | 50 | Primeiro nome da pessoa. |
last_name |
string |
Sim | 100 | Sobrenome(s) da pessoa. |
birth_date |
datetime |
Sim | - | Data de nascimento da pessoa. |
document_type |
string |
Não (para perfil student) | 20 | Tipo de documento, ex.: “CPF”. |
document_value |
string |
Não (para perfil student) | 20 | Número do documento, caso aplicável. |
ddi |
int |
Não (para perfil student) | 5 | Código DDI (discagem direta internacional) do telefone. |
cell_phone |
string |
Não (para perfil student) | 11 | Número de telefone celular. |
academic_email |
string |
Não | 200 | Endereço de e-mail acadêmico. |
profiles |
array |
Sim | - | Lista de perfis associados ao usuário. Consulte os tipos de perfis disponíveis AQUI. |
responsible_external_id |
array |
Sim (para perfil student) | 50 | IDs dos responsáveis associados ao usuário, caso aplicável. |
status |
boolean |
Sim | - | Indica o status do cadastro do usuário. |
Resposta
200 Ok (Sucesso)
{
"request_id": "a25818f9-e106-452a-aee5-51dc03d36060",
"datetime_utc": "2023-01-01T01:01:01Z"
}
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
400 BadRequest (Requisição incorreta)
{
"Error":
{
"Code": "CLA001",
"Message": ""
}
}
409 Conflict (Paramêtros incorretos)
{
"Error": {
"Code": "FLU001",
"Message": "Error validating properties",
"ErrorProperties": [
{
"PropertyName": "tenant_id",
"ErrorMessage": "tenant_id is required."
}
]
}
}
500 Internal Server Error (Erro não mapeado no servidor)
{
"Error":
{
"Code": "INT500",
"Message": "Internal server error."
}
}
Descrição: Endpoint para consultar um usuário específico com base no external_id
e school_external_id
.
Endpoint:
/integration/partner/v1/user?school_external_id=${school_external_id}&external_id=${external_id}
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
external_id |
string |
Sim | 50 | ID único que identifica a pessoa no sistema parceiro. |
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
Resposta
200 Ok
{
"external_id": "12345",
"first_name": "John",
"last_name": "Doe",
"birth_date": "1990-01-01T00:00:00Z",
"document_type": "CPF",
"document_value": "123.456.789-00",
"ddi": "+55",
"cell_phone": "987654321",
"email": "john.doe@example.com",
"profiles": ["admin", "user"],
"account_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"responsible_external_id": ["ext123", "ext456"],
"status": true,
"school_external_id": "school123"
}
Parâmetros de resposta
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
account_id |
UUID |
Sim | 36 | ID único que identifica o aluno na LEX. |
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
external_id |
string |
Sim | 50 | ID único que identifica a pessoa no sistema parceiro. |
first_name |
string |
Sim | 50 | Primeiro nome da pessoa. |
last_name |
string |
Sim | 100 | Sobrenome(s) da pessoa. |
birth_date |
datetime |
Sim | - | Data de nascimento da pessoa. |
document_type |
string |
Não (para perfil student) | 20 | Tipo de documento, ex.: “CPF”. |
document_value |
string |
Não (para perfil student) | 20 | Número do documento, caso aplicável. |
ddi |
int |
Não (para perfil student) | 5 | Código DDI (discagem direta internacional) do telefone. |
cell_phone |
string |
Não (para perfil student) | 11 | Número de telefone celular. |
email |
string |
Não (para perfil student) | 200 | Endereço de e-mail. |
academic_email |
string |
Não | 200 | Endereço de e-mail acadêmico. |
profiles |
array |
Sim | - | Lista de perfis associados ao usuário. Ex.: [“student”]. |
responsible_external_id |
array |
Sim (para perfil student) | 50 | IDs dos responsáveis associados ao usuário, caso aplicável. |
status |
boolean |
sim | - | Indica o status do cadastro do usuário. |
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
400 BadRequest (Requisição incorreta)
{
"Error":
{
"Code": "CLA001",
"Message": ""
}
}
409 Conflict (Paramêtros incorretos)
{
"Error": {
"Code": "FLU001",
"Message": "Error validating properties",
"ErrorProperties": [
{
"PropertyName": "tenant_id",
"ErrorMessage": "tenant_id is required."
}
]
}
}
500 Internal Server Error (Erro não mapeado no servidor)
{
"Error":
{
"Code": "INT500",
"Message": "Internal server error."
}
}
Descrição: Endpoint para consultar um cadastro já existente com a combinação de documento
e e-mail
para consiliação de usuários.
Endpoint:
/integration/partner/v1/global/users?document_type={document_type}&document_value={document_value}&email={email}
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
document_type |
string |
Sim | 30 | Tipo de documento: CPF |
document_value |
string |
Sim | 50 | Valor do documento |
email |
string |
Sim | 250 | Valor do e-mail |
Resposta
200 Ok
{
"data": [
{
"account_id": "abcdef12-6c54-4b01-90e6-d701748f0851",
"name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"birth_date": "1980-12-31T00:00:00",
"document_type": "CPF",
"document_value": "987.654.321.22",
"email": "john.doe@example.com",
"external_ids": [
{
"user_id": "12345678-4375-40f4-9022-bccb11435fcb",
"external_id": "12345",
"school_external_id": "SCH1234",
"status": true
},
{
"user_id": "99887766-4375-40f4-9022-bccb11435fcb",
"external_id": "ABC123",
"school_external_id": "SCH777",
"status": true
}
]
},
{
"account_id": "cccdef12-6c54-4b01-90e6-d701748f0851",
"name": "Joanna Doe",
"first_name": "Joanna",
"last_name": "Doe",
"birth_date": "1987-08-15T00:00:00",
"document_type": "CPF",
"document_value": "321.321.321.99",
"email": "joanna.doe@example.com",
"external_ids": [
{
"user_id": "33345678-4375-40f4-9022-bccb11435fcb",
"external_id": "547698",
"school_external_id": "SCH1234",
"status": true
}
]
}
]
}
204 NoContent (Nenhum registro encontrado)
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
Descrição: Endpoint para consultar as informações de todos os usuários na escola através do school_external_id
.
Endpoint:
/integration/partner/v1/users/paginate?school_external_id=${school_external_id}&page=${page}&data_size=${data_size}
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
page |
int |
Sim | - | Número da página. |
data_size |
int |
Sim | - | Quantidade de itens por página. |
Resposta
200 Ok
{
"data_size": 10,
"page_size": 5,
"total_records": 50,
"errors": null,
"successful": true,
"page": 1,
"data": [
{
"external_id": "12345",
"first_name": "John",
"last_name": "Doe",
"birth_date": "1985-10-15",
"document_type": "CPF",
"document_value": "123.456.789-00",
"ddi": "+55",
"cell_phone": "99999-8888",
"email": "john.doe@example.com",
"profiles": ["Admin", "User"],
"account_id": "550e8400-e29b-41d4-a716-446655440000",
"responsible_external_id": ["67890", "11223"],
"status": true,
"school_external_id": "SCHOOL123"
},
{
"external_id": "67890",
"first_name": "Jane",
"last_name": "Smith",
"birth_date": "1990-05-20",
"document_type": "CPF",
"document_value": "987.654.321-00",
"ddi": "+55",
"cell_phone": "88888-7777",
"email": "jane.smith@example.com",
"profiles": ["User"],
"account_id": "123e4567-e89b-12d3-a456-426614174000",
"responsible_external_id": ["12345"],
"status": false,
"school_external_id": "SCHOOL123"
}
]
}
Parâmetros da resposta
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição | |
---|---|---|---|---|---|
data_size |
int |
Sim | - | Número de itens retornados na resposta. | |
page_size |
int |
Sim | - | Número de itens por página. | |
total_records |
int |
Sim | - | Total de registros disponíveis. | |
errors |
object |
Não | - | Informações sobre erros, caso presentes. | |
successful |
boolean |
Sim | - | Indica se a operação foi bem-sucedida. | |
page |
int |
Sim | - | Número da página atual. | |
data |
array of User |
Sim | - | Lista de objetos User com os dados dos usuários. |
Objeto User
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
account_id |
UUID |
Sim | 36 | ID único que identifica o aluno na LEX. |
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
external_id |
string |
Sim | 50 | ID único que identifica a pessoa no sistema parceiro. |
first_name |
string |
Sim | 50 | Primeiro nome da pessoa. |
last_name |
string |
Sim | 100 | Sobrenome(s) da pessoa. |
birth_date |
datetime |
Sim | - | Data de nascimento da pessoa. |
document_type |
string |
Não (para perfil student) | 20 | Tipo de documento, ex.: “CPF”. |
document_value |
string |
Não (para perfil student) | 20 | Número do documento, caso aplicável. |
ddi |
int |
Não (para perfil student) | 5 | Código DDI (discagem direta internacional) do telefone. |
cell_phone |
string |
Não (para perfil student) | 11 | Número de telefone celular. |
email |
string |
Não (para perfil student) | 200 | Endereço de e-mail. |
academic_email |
string |
Não | 200 | Endereço de e-mail acadêmico. |
profiles |
array |
Sim | - | Lista de perfis associados ao usuário. Ex.: [“student”]. |
responsible_external_id |
array |
Não (para perfil student) | 50 | IDs dos responsáveis associados ao usuário, caso aplicável. |
status |
boolean |
sim | - | Indica o status do cadastro do usuário. |
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
400 BadRequest (Requisição incorreta)
{
"Error":
{
"Code": "CLA001",
"Message": ""
}
}
409 Conflict (Paramêtros incorretos)
{
"Error": {
"Code": "FLU001",
"Message": "Error validating properties",
"ErrorProperties": [
{
"PropertyName": "tenant_id",
"ErrorMessage": "tenant_id is required."
}
]
}
}
500 Internal Server Error (Erro não mapeado no servidor)
{
"Error":
{
"Code": "INT500",
"Message": "Internal server error."
}
}
Descrição: Endpoint para cadastro de turmas.
Endpoint:
/integration/partner/v1/class
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Requisição
{
"external_id": "CLASS456",
"educational_stage": "Fundamental",
"grade": "5th",
"shift": "Morning",
"year": 2024,
"code": "CLASS5A",
"name": "5th Grade A",
"description": "5th grade class focused on foundational skills",
"school_external_id": "SCHOOL789",
"course": "course-ef1"
}
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
external_id |
string |
Sim | 50 | ID único que identifica a classe no sistema parceiro. |
educational_stage |
string |
Sim | 80 | Nível educacional da classe, ex.: “Fundamental”. |
grade |
string |
Sim | 80 | Série da classe, ex.: “5th”. |
shift |
string |
Sim | 80 | Turno da classe, ex.: “Morning”, “Afternoon”. |
year |
int |
Não | - | Ano letivo da classe. |
code |
string |
Sim | 50 | Código único da classe, ex.: “CLASS5A”. |
name |
string |
Sim | 100 | Nome da classe, ex.: “5th Grade A”. |
description |
string |
Não | 500 | Descrição da classe, com detalhes adicionais. |
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
course |
string |
Não | 100 | Código referência do curso que será associado à classe, ex.: “course-ef1”. |
Resposta
200 Ok (Sucesso)
{
"request_id": "a25818f9-e106-452a-aee5-51dc03d36060",
"datetime_utc": "2023-01-01T01:01:01Z"
}
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
400 BadRequest (Requisição incorreta)
{
"Error":
{
"Code": "CLA001",
"Message": ""
}
}
409 Conflict (Paramêtros incorretos)
{
"Error": {
"Code": "FLU001",
"Message": "Error validating properties",
"ErrorProperties": [
{
"PropertyName": "tenant_id",
"ErrorMessage": "tenant_id is required."
}
]
}
}
500 Internal Server Error (Erro não mapeado no servidor)
{
"Error":
{
"Code": "INT500",
"Message": "Internal server error."
}
}
Descrição: Endpoint para edição de turmas.
Endpoint:
/integration/partner/v1/class
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Requisição
{
"external_id": "CLASS456",
"educational_stage": "Fundamental",
"grade": "5th",
"shift": "Morning",
"year": 2024,
"code": "CLASS5A",
"name": "5th Grade A",
"description": "5th grade class focused on foundational skills",
"school_external_id": "SCHOOL789",
"course": "course-ef1",
"status": "Open"
}
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
external_id |
string |
Sim | 50 | ID único que identifica a classe no sistema parceiro. |
educational_stage |
string |
Sim | 80 | Nível educacional da classe, ex.: “Fundamental”. |
grade |
string |
Sim | 80 | Série da classe, ex.: “5th”. |
shift |
string |
Sim | 80 | Turno da classe, ex.: “Morning”, “Afternoon”. |
year |
int |
Não | - | Ano letivo da classe. |
code |
string |
Sim | 50 | Código único da classe, ex.: “CLASS5A”. |
name |
string |
Sim | 100 | Nome da classe, ex.: “5th Grade A”. |
description |
string |
Não | 500 | Descrição da classe, com detalhes adicionais. |
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
course |
string |
Não | 100 | Código referência do curso que será associado à classe, ex.: “course-ef1”. |
status |
string |
Sim | 13 | Status da turma. |
Status disponíveis da turma
Valor | Descrição |
---|---|
registration |
Inativa. |
open |
Ativa. |
closed |
Arquivada. |
Resposta
200 Ok (Sucesso)
{
"request_id": "a25818f9-e106-452a-aee5-51dc03d36060",
"datetime_utc": "2023-01-01T01:01:01Z"
}
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
400 BadRequest (Requisição incorreta)
{
"Error":
{
"Code": "CLA001",
"Message": ""
}
}
409 Conflict (Paramêtros incorretos)
{
"Error": {
"Code": "FLU001",
"Message": "Error validating properties",
"ErrorProperties": [
{
"PropertyName": "tenant_id",
"ErrorMessage": "tenant_id is required."
}
]
}
}
500 Internal Server Error (Erro não mapeado no servidor)
{
"Error":
{
"Code": "INT500",
"Message": "Internal server error."
}
}
Descrição: Endpoint para consultar as informações de uma turma com base no external_id
e school_external_id
.
Endpoint:
/integration/partner/v1/class?external_id=${external_id}&school_external_id=${school_external_id}
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
external_id |
string |
Sim | 50 | ID único que identifica a turma no sistema parceiro. |
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
Resposta
200 Ok
{
"external_id": "CLASS456",
"educational_stage": "Fundamental",
"grade": "5th",
"shift": "Morning",
"year": 2024,
"code": "CLASS5A",
"name": "5th Grade A",
"description": "5th grade class focused on foundational skills",
"school_external_id": "SCHOOL789",
"course": "Mathematics",
"status": "Open"
}
Parâmetros da resposta
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
external_id |
string |
Sim | 50 | ID único que identifica a classe no sistema parceiro. |
educational_stage |
string |
Sim | 80 | Nível educacional da classe, ex.: “Fundamental”. |
grade |
string |
Sim | 80 | Série da classe, ex.: “5th”. |
shift |
string |
Sim | 80 | Turno da classe, ex.: “Morning”, “Afternoon”. |
year |
int |
Não | - | Ano letivo da classe. |
code |
string |
Sim | 50 | Código único da classe, ex.: “CLASS5A”. |
name |
string |
Sim | 100 | Nome da classe, ex.: “5th Grade A”. |
description |
string |
Não | 500 | Descrição da classe, com detalhes adicionais. |
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
course |
string |
Sim | 100 | Curso associado à classe, ex.: “Mathematics”. |
status |
string |
Sim | 13 | Status da turma. |
Status disponíveis da turma
Valor | Descrição |
---|---|
registration |
Inativa. |
open |
Ativa. |
closed |
Arquivada. |
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
400 BadRequest (Requisição incorreta)
{
"Error":
{
"Code": "CLA001",
"Message": ""
}
}
409 Conflict (Paramêtros incorretos)
{
"Error": {
"Code": "FLU001",
"Message": "Error validating properties",
"ErrorProperties": [
{
"PropertyName": "tenant_id",
"ErrorMessage": "tenant_id is required."
}
]
}
}
500 Internal Server Error (Erro não mapeado no servidor)
{
"Error":
{
"Code": "INT500",
"Message": "Internal server error."
}
}
Descrição: Endpoint para consultar as informações de todas as turmas da escola.
Endpoint:
/integration/partner/v1/classes/paginate?school_external_id=${school_external_id}&page=${page}&data_size=${data_size}
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
page |
int |
Sim | - | Número da página. |
data_size |
int |
Sim | - | Quantidade de itens por página. |
Resposta
200 Ok
{
"data_size": 10,
"page_size": 5,
"total_records": 50,
"errors": null,
"successful": true,
"page": 1,
"data": [
{
"external_id": "CLASS456",
"educational_stage": "Fundamental",
"grade": "5th",
"shift": "Morning",
"year": 2024,
"code": "CLASS5A",
"name": "5th Grade A",
"description": "5th grade class focused on foundational skills",
"school_external_id": "SCHOOL789",
"course": "Mathematics",
"status": "Open"
}
]
}
Parâmetros da resposta
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição | |
---|---|---|---|---|---|
data_size |
int |
Sim | - | Número de itens retornados na resposta. | |
page_size |
int |
Sim | - | Número de itens por página. | |
total_records |
int |
Sim | - | Total de registros disponíveis. | |
errors |
object |
Não | - | Informações sobre erros, caso presentes. | |
successful |
boolean |
Sim | - | Indica se a operação foi bem-sucedida. | |
page |
int |
Sim | - | Número da página atual. | |
data |
array of Class |
Sim | - | Lista de objetos Class com os dados das turmas. |
Objeto Class
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
external_id |
string |
Sim | 50 | ID único que identifica a classe no sistema parceiro. |
educational_stage |
string |
Sim | 80 | Nível educacional da classe, ex.: “Fundamental”. |
grade |
string |
Sim | 80 | Série da classe, ex.: “5th”. |
shift |
string |
Sim | 80 | Turno da classe, ex.: “Morning”, “Afternoon”. |
year |
int |
Não | - | Ano letivo da classe. |
code |
string |
Sim | 50 | Código único da classe, ex.: “CLASS5A”. |
name |
string |
Sim | 100 | Nome da classe, ex.: “5th Grade A”. |
description |
string |
Não | 500 | Descrição da classe, com detalhes adicionais. |
school_external_id |
string |
Sim | 50 | ID único que identifica a escola no sistema parceiro. |
course |
string |
Sim | Curso associado à classe, ex.: “Mathematics”. | |
status |
string |
Sim | 13 | Status da turma. |
Status disponíveis da turma
Valor | Descrição |
---|---|
registration |
Inativa. |
open |
Ativa. |
closed |
Arquivada. |
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
400 BadRequest (Requisição incorreta)
{
"Error":
{
"Code": "CLA001",
"Message": ""
}
}
409 Conflict (Paramêtros incorretos)
{
"Error": {
"Code": "FLU001",
"Message": "Error validating properties",
"ErrorProperties": [
{
"PropertyName": "tenant_id",
"ErrorMessage": "tenant_id is required."
}
]
}
}
500 Internal Server Error (Erro não mapeado no servidor)
{
"Error":
{
"Code": "INT500",
"Message": "Internal server error."
}
}
Descrição: Endpoint para enturmar um usuário em uma turma, com algum perfil.
O usuário e a turma já devem ter sido previamente cadastrados na Lex, por meio dos endpoints de cadastro.
Endpoint:
/integration/partner/v1/bond
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Parâmetros
{
"class_external_id": "CLASSID000046",
"user_external_id": "USERID000046",
"profile_name": "student",
"school_external_id": "SCHOOLID000046",
}
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
class_external_id |
string |
Sim | 50 | ID interno e único que identifica a turma no sistema parceiro. |
user_external_id |
string |
Sim | 50 | ID interno e único que identifica a pessoa no sistema parceiro. |
profile_name |
string |
Sim | 64 | Nome do tipo de perfil que identifica o papel da pessoa na turma. Consulte os tipos de perfis disponíveis AQUI. |
school_external_id |
string |
Sim | 50 | ID interno e único que identifica a escola da turma e do usuário no sistema parceiro. |
Resposta
200 Ok (Sucesso)
{
"request_id": "a25818f9-e106-452a-aee5-51dc03d36060",
"datetime_utc": "2023-01-01T01:01:01Z"
}
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
400 BadRequest (Requisição incorreta)
{
"Error":
{
"Code": "CLA001",
"Message": ""
}
}
409 Conflict (Paramêtros incorretos)
{
"Error": {
"Code": "FLU001",
"Message": "Error validating properties",
"ErrorProperties": [
{
"PropertyName": "tenant_id",
"ErrorMessage": "tenant_id is required."
}
]
}
}
500 Internal Server Error (Erro não mapeado no servidor)
{
"Error":
{
"Code": "INT500",
"Message": "Internal server error."
}
}
Descrição: Endpoint para desenturmar um usuário em uma turma, com algum perfil.
O usuário e a turma já devem ter sido previamente cadastrados na Lex, por meio dos endpoints de cadastro.
Endpoint:
/integration/partner/v1/bond
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Parâmetros
{
"class_external_id": "CLASSID000046",
"user_external_id": "USERID000046",
"profile_name": "student",
"school_external_id": "SCHOOLID000046",
}
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
class_external_id |
string |
Sim | 50 | ID interno e único que identifica a turma no sistema parceiro. |
user_external_id |
string |
Sim | 50 | ID interno e único que identifica a pessoa no sistema parceiro. |
profile_name |
string |
Sim | 64 | Nome do tipo de perfil que identifica o papel da pessoa na turma. Consulte os tipos de perfis disponíveis AQUI. |
school_external_id |
string |
Sim | 50 | ID interno e único que identifica a escola da turma e do usuário no sistema parceiro. |
Resposta
200 Ok (Sucesso)
{
"request_id": "a25818f9-e106-452a-aee5-51dc03d36060",
"datetime_utc": "2023-01-01T01:01:01Z"
}
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
400 BadRequest (Requisição incorreta)
{
"Error":
{
"Code": "CLA001",
"Message": ""
}
}
409 Conflict (Paramêtros incorretos)
{
"Error": {
"Code": "FLU001",
"Message": "Error validating properties",
"ErrorProperties": [
{
"PropertyName": "tenant_id",
"ErrorMessage": "tenant_id is required."
}
]
}
}
500 Internal Server Error (Erro não mapeado no servidor)
{
"Error":
{
"Code": "INT500",
"Message": "Internal server error."
}
}
Já existe uma versão mais atualizada desse endpoint: v2
Descrição: Todas as requisições HTTP POST, PUT e DELETE listadas acima são processadas de forma assíncrona na LEX.
Utilize o request_id retornado em cada uma das requisições para consultar o status do processamento do seu pedido.
Endpoint:
/integration/partner/v1/callback?request_id={request_id}
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
request_id |
UUID |
Sim | 36 | ID da requisição . |
Exemplo de Response
200 Ok
//Exemplo do response body no contexto de usuários:
{
"request_id": "80ea6f87-92f3-4ea7-bd2b-17d07582264c",
"status": "DONE",
"payload": {
"user_id": "76f4ac7a-bb23-487a-89e3-0e3d35a128fa"
}
}
//Exemplo do response body no contexto de turmas:
{
"request_id": "e68b2948-535e-430b-8ca9-77bda582bfe7",
"status": "DONE",
"payload": {
"class_id": "449ffb2c-9348-40f2-a619-347e459105e6"
}
}
//Exemplo do response body no contexto de enturmação:
{
"request_id": "5e99a0d0-8c24-41e9-b8f7-f6ae49ed9946",
"status": "DONE",
"payload": {
"bond_id": "303388d8-c3a4-4b6f-8f7f-66bf273c50b6"
}
}
Em alguns casos as requisições terão problemas ou serão realizadas parcialmente, então o padrão de erro para esses casos é da seguinte forma:
{
"request_id": "8acd80e2-3e36-4fd4-a03c-475896b19f88",
"status": "ERROR",
"errors": [
{
"code": "BO001",
"message": "The email 'eliam2355@uorak.com' is already associated with a different document."
}
]
}
{
"request_id": "7459e510-9ab8-44cb-be46-1b38886424d6",
"status": "DONE_WITH_PENDENCIES",
"payload": {
"user_id": "b0f71e73-ea62-4c68-a287-c170f92dc740",
"account_pendencies": [
"Já existe uma conta verificada com o mesmo e-mail mas com outro CPF. Entre em contato com a operação Conexia."
]
}
}
Parâmetros da resposta
Parâmetro | Tipo | Contexto | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|---|
request_id |
UUID |
Todos | Sim | 36 | ID único da solicitação, utilizado para rastrear a operação realizada. |
status |
string |
Todos | Sim | 50 | Status da operação. Ex.: "DONE" para operações concluídas. |
payload |
object |
Todos | Sim | - | Objeto contendo o resultado da operação conforme o contexto (usuários, turmas, enturmação). |
payload.user_id |
UUID |
Usuários | Sim | 36 | ID único do usuário criado ou atualizado. |
payload.class_id |
UUID |
Turmas | Sim | 36 | ID único da turma criada ou atualizada. |
payload.bond_id |
UUID |
Enturmação | Sim | 36 | ID único do vínculo de enturmação criado ou atualizado. |
Status disponíveis
Valor | Descrição |
---|---|
PENDING |
Não processado. |
PROCESSING |
Processando. |
DONE |
Concluída. |
ERROR |
Ocorreu um erro. |
DONE_WITH_PENDENCIES |
Concluída com alguma pendência. |
401 Unauthorized (Sem autorização, ausência de token ou token incorreto)
400 BadRequest (Requisição incorreta)
{
"Errors": [
{
"Code": "ERR001",
"Message": ""
}
]
}
409 Conflict (Paramêtros incorretos)
{
"Error": {
"Code": "FLU001",
"Message": "Error validating properties",
"ErrorProperties": [
{
"PropertyName": "tenant_id",
"ErrorMessage": "tenant_id is required."
}
]
}
}
500 Internal Server Error (Erro não mapeado no servidor)
{
"Errors": [
{
"Code": "ERR001",
"Message": ""
}
]
}