Esta API de Integração Externa permite que sistemas de terceiros enviem dados diretamente para o sistema Lex, possibilitando comunicação em tempo real e sincronização imediata de informações. Projetada para operar de forma síncrona, a API garante que as operações de envio de dados sejam processadas e respondidas instantaneamente, proporcionando integração eficiente com feedback imediato sobre o sucesso ou falha das solicitações.
Modelo Síncrono
Todas as solicitações de envio de dados nesta API são processadas imediatamente, com respostas em tempo real indicando o status da operação e, em caso de erro, fornecendo detalhes específicos para correção.
Descrição: Endpoint para pré-matricular um estudante.
Endpoint:
/integration/v1/external-integration/courses/pre-enrollment-student
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Requisição
{
"course_code": "SKUXYZGRADEONE",
"school_external_id": "SCHLID0001293XPTO",
"user_external_id": "USERID000046"
}
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. |
course_code |
string |
Sim | 50 | Código único do curso. |
Resposta
200 Ok (Sucesso)
{
"course_code": "SKUXYZGRADEONE",
"school_external_id": "SCHLID0001293XPTO",
"user_external_id": "USERID000046"
}
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 alterar estado de matrícula do estudante para editar um usuário.
Endpoint:
/integration/v1/external-integration/courses/change-student-enrollment-status
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Requisição
{
"course_code": "SKUXYZGRADEONE",
"school_external_id": "SCHLID0001293XPTO",
"user_external_id": "USERID000046",
"enrollment_status": "REGISTERED",
}
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. |
course_code |
string |
Sim | 50 | Código único do curso. |
enrollment_status |
string |
Sim | 50 | Status da matrícula do estudante. |
Status disponíveis para matrícula
Valor | Descrição |
---|---|
PRE_ENROLLMENT |
pré-matrícula registrada. |
REGISTERED |
matrícula concluída com sucesso. |
FROZEN |
matrícula congelada por tempo limitado. |
CANCELED |
matrícula cancelada ou encerrada. |
Resposta
200 Ok (Sucesso)
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: Este endpoint permite que parceiros atualizem o ExternalID de um usuário específico em uma escola específica, utilizando o identificador de conta do usuário e o ID externo da escola.
Endpoint:
/integration/v1/external-integration/account/{account_id}/school/{school_external_id}
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Requisição
{
"external_id": "USERID000046",
}
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
external_id |
string |
Sim | 50 | ID único que identifica a pessoa no sistema parceiro. |
Parâmetros de rota
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
account_id |
UUID |
Sim | 36 | O identificador único da conta do usuário. |
school_external_id |
string |
Sim | 50 | O identificador externo da escola. |
Resposta
200 Ok (Sucesso)
"User identifiers updated successfully."
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: Este endpoint permite que parceiros atualizem o ExternalID de uma turma específica em uma escola específica, utilizando o ID externo da escola.
Endpoint:
/integration/v1/external-integration/class/{class_id}/school/{school_external_id}
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Requisição
{
"external_id": "novo_identificador_externo"
}
Parâmetros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
external_id |
string |
Sim | 50 | Identificador único da turma no sistema do parceiro. |
Parâmetros de rota
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
class_id |
UUID |
Sim | 36 | Identificador único da turma na LEX. |
school_external_id |
string |
Sim | 50 | Identificador único da escola no sistema do parceiro. |
Resposta
200 Ok (Sucesso)
"Class identifier updated successfully."
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: Este endpoint permite que parceiros atualizem o ExternalID de uma escola específica, utilizando o ID da escola na LEX.
Endpoint:
/integration/v1/external-integration/school/{school_id}/integration
Cabeçalho:
Content-Type: application/json
Authorization: Bearer {access_token}
Requisição
{
"school_external_id": "teste_agape"
}
Parametros
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
school_external_id |
string |
Sim | 50 | Identificador único da escola no sistema do parceiro. |
Parâmetros de rota
Parâmetro | Tipo | Obrigatório | Tamanho | Descrição |
---|---|---|---|---|
school_id |
uuid |
Sim | 36 | Identificador único da escola. |
Resposta
200 Ok (Sucesso)
"School identifier updated successfully."
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."
}
}