mirror of
https://github.com/JMP-MS/ASPIC.git
synced 2026-10-27 14:57:09 +00:00
53 lines
1.7 KiB
PHP
53 lines
1.7 KiB
PHP
<?php
|
|
/**
|
|
* ASPIC — appels_ia.php
|
|
*
|
|
* Endpoint du BackOffice (11 septembre 2026) — lecture du journal des
|
|
* appels réels à l'API Anthropic (ASP_AppelsIA, voir journal_ia.php).
|
|
* Construit après que Jean-Marc a constaté plus de 20€ de consommation sans
|
|
* pouvoir se l'expliquer : donne enfin une visibilité réelle, appel par
|
|
* appel, plutôt que de devoir deviner depuis la seule facture.
|
|
*
|
|
* GET : total général, total par origine, et les 50 derniers appels.
|
|
*/
|
|
|
|
session_start();
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
require __DIR__ . '/db.php';
|
|
|
|
if (empty($_SESSION['USR_Code'])) {
|
|
http_response_code(401);
|
|
echo json_encode(['error' => 'Non identifié — veuillez vous connecter.']);
|
|
exit;
|
|
}
|
|
|
|
try {
|
|
$pdo = getDbConnection();
|
|
} catch (PDOException $e) {
|
|
http_response_code(500);
|
|
echo json_encode(['error' => 'Connexion base de données impossible']);
|
|
exit;
|
|
}
|
|
|
|
$totalGeneral = (float) $pdo->query('SELECT COALESCE(SUM(AIA_CoutEstimeUsd), 0) FROM ASP_AppelsIA')->fetchColumn();
|
|
|
|
$parOrigine = $pdo->query(
|
|
'SELECT AIA_Origine, COUNT(*) AS nb_appels, SUM(AIA_CoutEstimeUsd) AS cout_usd
|
|
FROM ASP_AppelsIA GROUP BY AIA_Origine ORDER BY cout_usd DESC'
|
|
)->fetchAll();
|
|
|
|
$derniers = $pdo->query(
|
|
'SELECT a.AIA_Origine, a.AIA_AgentIncr, ag.AGN_Prenom, a.AIA_MissionIncr, a.AIA_Modele,
|
|
a.AIA_TokensEntreeFrais, a.AIA_TokensEntreeCache, a.AIA_TokensEcritureCache, a.AIA_TokensSortie,
|
|
a.AIA_CoutEstimeUsd, a.AIA_Date
|
|
FROM ASP_AppelsIA a
|
|
LEFT JOIN ASP_Agents ag ON ag.AGN_Incr = a.AIA_AgentIncr
|
|
ORDER BY a.AIA_Date DESC LIMIT 50'
|
|
)->fetchAll();
|
|
|
|
echo json_encode([
|
|
'total_usd' => $totalGeneral,
|
|
'par_origine' => $parOrigine,
|
|
'derniers' => $derniers,
|
|
]);
|