Documentação completa da API REST do Sistema de Avaliação Psicológica
Base URL: https://ferramentasdaweb.com.br/db/syspsi/api/
Formato: JSON
Charset: UTF-8
CORS: Habilitado para todos os domínios
Autenticação: Por sessão (session_start)
Realiza login ou cadastro de usuário.
| action | string | "login" ou "register" * |
|---|---|---|
| string | Email do usuário * | |
| password | string | Senha (mínimo 6 caracteres) * |
| name | string | Nome completo (obrigatório para cadastro) |
| sex | string | Masculino/Feminino/Outro |
| age | int | Idade |
fetch('api/login.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
action: 'login',
email: 'usuario@email.com',
password: '123456'
})
})
{
"success": true,
"message": "Login realizado com sucesso!",
"user": {
"id": 1,
"name": "João Silva",
"email": "joao@email.com",
"role": "user"
}
}
Salva o resultado de um teste realizado.
| test_id | int | ID do teste * |
|---|---|---|
| score | float | Pontuação obtida * |
| classification | string | Classificação do resultado |
| answers | object/array | Respostas do usuário (JSON) |
| details | object/array | Detalhes adicionais (JSON) |
fetch('api/save_result.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
test_id: 1,
score: 15,
classification: "Ansiedade Moderada",
answers: {
q1: 2,
q2: 3,
q3: 1
}
})
})
{
"success": true,
"message": "Resultado salvo com sucesso!",
"result_id": 123,
"redirect": "../reports/result.php?id=123"
}
Busca estatísticas do usuário.
| test_id | int | Opcional. ID do teste específico |
|---|
// Estatísticas gerais
fetch('api/get_stats.php')
// Estatísticas de um teste específico
fetch('api/get_stats.php?test_id=1')
{
"success": true,
"general_stats": {
"unique_tests": 5,
"total_tests": 12,
"avg_score": 42.5,
"last_activity": "2024-01-15 14:30:00"
},
"progress_by_type": [
{
"type": "screening",
"tests_completed": 8,
"avg_score": 35.2
}
]
}
| 400 | Bad Request | Dados incompletos ou inválidos |
|---|---|---|
| 401 | Unauthorized | Usuário não autenticado |
| 500 | Internal Server Error | Erro no servidor |
{
"success": false,
"message": "Email ou senha incorretos"
}
// Login
async function login(email, password) {
const response = await fetch('api/login.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ action: 'login', email, password })
});
return await response.json();
}
// Salvar resultado
async function saveResult(testId, score, classification, answers) {
const response = await fetch('api/save_result.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ test_id: testId, score, classification, answers })
});
return await response.json();
}
// Buscar estatísticas
async function getStats(testId = null) {
const url = testId ? `api/get_stats.php?test_id=${testId}` : 'api/get_stats.php';
const response = await fetch(url);
return await response.json();
}
<?php
// Login
$ch = curl_init('api/login.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'action' => 'login',
'email' => 'usuario@email.com',
'password' => '123456'
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// Salvar resultado
$data = [
'test_id' => 1,
'score' => 15,
'classification' => 'Ansiedade Moderada'
];
$ch = curl_init('api/save_result.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
?>
import requests
# Login
response = requests.post('api/login.php', json={
'action': 'login',
'email': 'usuario@email.com',
'password': '123456'
})
data = response.json()
# Salvar resultado
response = requests.post('api/save_result.php', json={
'test_id': 1,
'score': 15,
'classification': 'Ansiedade Moderada'
})
# Buscar estatísticas
response = requests.get('api/get_stats.php?test_id=1')
stats = response.json()
# Login
curl -X POST https://ferramentasdaweb.com.br/db/syspsi/api/login.php \
-H "Content-Type: application/json" \
-d '{"action":"login","email":"usuario@email.com","password":"123456"}'
# Salvar resultado
curl -X POST https://ferramentasdaweb.com.br/db/syspsi/api/save_result.php \
-H "Content-Type: application/json" \
-d '{"test_id":1,"score":15,"classification":"Ansiedade Moderada"}'
# Buscar estatísticas
curl https://ferramentasdaweb.com.br/db/syspsi/api/get_stats.php?test_id=1