Identificadores e Codes
Introdução
Este documento especifica o sistema de identificação de entidades na API de Integração ProExtend, detalhando o uso de codes (identificadores próprios do sistema origem), comportamento idempotente, convenções e casos de uso práticos.
Conceito Principal
A API utiliza identificadores do sistema origem (codes). A plataforma ProExtend não gera novos identificadores através da API de integração.
Fluxo de Identificação
Sistema Origem (ERP) → Plataforma ProExtend
code: "ALG001" → identificador: "ALG001"
code: "PROF001" → identificador: "PROF001"
code: "ALU2024001" → identificador: "ALU2024001"
Esta abordagem elimina a necessidade de mapeamento entre sistemas e simplifica a integração.
O que é um Code
Um code é o identificador único que definido no sistema e envia para a plataforma.
Exemplos Práticos
Unidades:
"CAMPUS_CENTRO","SEDE","FILIAL_01"
Disciplinas:
"ALG001","BD001","LIBRAS","MAT101"
Professores:
"PROF001"(matrícula)"12345678901"(CPF)"JOS001"(código funcional)
Alunos:
"ALU2024001"(matrícula)"98765432100"(CPF)"20241234"(RA)
Turmas:
"ALG001-2025.1"(disciplina + semestre)"TURMA001"(código único)
Como Funcionam os Codes
1. Criação
Ao criar uma entidade, envia o code:
{
"subjects": [
{
"code": "ALG001",
"name": "Algoritmos I",
"course_code": "CC001"
}
]
}
A plataforma armazena usando "ALG001" como identificador.
2. Atualização
Para atualizar, use o mesmo code:
{
"subjects": [
{
"code": "ALG001",
"name": "Algoritmos e Programação I",
"course_code": "CC001"
}
]
}
A plataforma reconhece "ALG001" e atualiza os dados ao invés de criar duplicado.
3. Relacionamentos
Para vincular entidades, use os codes:
{
"enrollments": [
{
"code": "ALG001-2025.1",
"subject_code": "ALG001",
"professor_code": "PROF001",
"semester": "2025.1",
"student_codes": ["ALU2024001", "ALU2024002"]
}
]
}
A plataforma usa os codes para encontrar e vincular as entidades corretas.
Vantagens da Abordagem
1. Simplicidade de Integração
Não é necessário armazenar ou mapear IDs internos da plataforma. Os códigos do sistema origem são suficientes para todas as operações.
2. Operações Idempotentes
Sincronizações múltiplas com o mesmo code não resultam em duplicação:
1ª sincronização: code "PROF001" → Cria professor
2ª sincronização: code "PROF001" → Atualiza dados do professor existente
3ª sincronização: code "PROF001" → Atualiza dados do professor existente
Este comportamento permite retry seguro de sincronizações sem risco de duplicação.
3. Manutenibilidade e Rastreabilidade
Códigos semanticamente significativos facilitam identificação e depuração:
"ALG001"- Imediatamente reconhecível pela equipe"PROF-2023-001"- Contém informação contextual"CAMPUS_CENTRO"- Autoexplicativo