# SAE-APIS Docs:
**Documento de integração com os novos endpoints do sistema sae-apis:**
```javascript
payload: //OBJETO A SER ENVIADO NA REQUISIÇÃO
result: //OBJETO ESPERADO COMO RESPOSTA DA REQUISIÇÃO
```
## ROTAS DE CADASTRO
### Criar usuário
Método: **POST**
Rota: **https://apis.sae.digital/auth/create-user**
HEADERS Authorization: **Bearer TOKEN**
```javascript
payload = {
full_name : "Student Full Name",
login : "student.login",
type : 1, // 1 = student, 2 = teacher, 3 = responsible, 4 = coordinator, 5 = principal, 6 = administrator
password : "qwe123@", // OPCIONAL
email : "student@school.com", // OPCIONAL
phone_number : "41912345678", // OPCIONAL
birthday : "01/02/2003" // OPCIONAL
}
result = {
success: true,
id: 2345
}
```
### Atualizar Usuário
Método: **PATCH**
Rota: **https://apis.sae.digital/auth/update-user**
HEADERS Authorization: **Bearer TOKEN**
```javascript
payload = {
user_id : 2345,
full_name : "Student Full Name",
login : "student.login",
type : 1, // 1 = student, 2 = teacher, 3 = responsible, 4 = coordinator, 5 = principal, 6 = administrator
password : "qwe123@", // OPCIONAL
email : "student@school.com", // OPCIONAL
phone_number : "41912345678", // OPCIONAL
birthday : "01/02/2003" // OPCIONAL
}
result = {
success: true,
}
```
### Criar Turma
Método: **POST**
Rota: **https://apis.sae.digital/ava/create-team**
HEADERS Authorization: **Bearer TOKEN**
```javascript
payload = {
name : "3 ano C",
grade : 13 // Valor XPTO para turmas asseriadas
}
result = {
success: true,
team_id: 22
}
```
### Atualizar Turma
Métódo: **PATCH**
Rota: **https://apis.sae.digital/ava/update-team**
HEADERS Authorization: **Bearer TOKEN**
```javascript
payload = {
team_id: 22,
name : "3 ano C",
grade : 13 // Valor XPTO para turmas asseriadas
}
result = {
success: true,
}
```
-----
## ROTAS DE CONSULTA
### Listar Turmas
Método: **GET**
Rota: **https://apis.sae.digital/ava/list-grades**
HEADERS Authorization: **Bearer TOKEN**
```javascript
result = [
{ id: 11, name: "1 ano" },
{ id: 12, name: "2 ano" },
{ id: 13, name: "3 ano" },
{ id: 14, name: "4 ano" },
]
```
### Listas Matérias
Método: **GET**
Rota: **https://apis.sae.digital/ava/list-subjects**
// HEADERS Authorization: **Bearer TOKEN**
```javascript
payload = {}
result = [
{ id: 34, name: "Artes" },
{ id: 35, name: "Biologia" },
{ id: 36, name: "Ciências" },
{ id: 37, name: "Educação Física" },
]
```
-----
## ROTAS DE VÍNCULO
### Relacionar Professor e Turma
Método: **PUT**
Rota: **https://apis.sae.digital/ava/relate-teacher-team**
HEADERS Authorization: **Bearer TOKEN**
```javascript
payload = {
team_id : 22,
user_id : 2345,
subject_id : 123,
active : true
}
result = {
success: true,
}
```
### Relacionar Aluno a Turma
Método: **PUT**
Rota: **https://apis.sae.digital/ava/relate-student-team**
HEADERS Authorization: **Bearer TOKEN**
```javascript
payload = {
team_id : 22,
user_id : 2346,
active : true
}
result = {
success: true,
}
```
### Relacionar Coordenador a Turma
Método: **PUT**
Rota: **https://apis.sae.digital/ava/relate-coordinator-team**
// HEADERS Authorization: **Bearer TOKEN**
```javascript
payload = {
team_id : 22,
user_id : 2346,
active : true
}
result = {
success: true,
}
```
### Relacionar Responsável e Aluno
Método: **PUT**
Rota: **https://apis.sae.digital/ava/relate-responsible-student**
HEADERS Authorization: **Bearer TOKEN**
```javascript
payload = {
responsible_id : 2349,
student_id : 2346,
active : true
}
result = {
success: true,
}
```
-----
## ROTAS DE SEGURANÇA
### Renovar Token
Método: **PATCH**
Rota: **https://apis.sae.digital/auth/renew-token**
HEADERS Authorization: **Bearer TOKEN**
```javascript
payload = { }
result = {
access_token: 'xpto0987'
}
```
### Autenticação Remota / Autorização
Método: **PATCH**
Rota: **https://apis.sae.digital/auth/authorize**
HEADERS Authorization: **Bearer TOKEN**
```javascript
payload = {
id : 2345
}
result = {
success : true,
access_token : 'xpto0987'
}
```