69 lines
2.5 KiB
PHP
69 lines
2.5 KiB
PHP
<?php
|
|
require_once "class/VisualLimsApiClient.class.php";
|
|
include('include/headscript.php');
|
|
|
|
header("Content-Type: application/json");
|
|
|
|
// 🔹 Configura directory log (creala se non esiste)
|
|
$logDir = __DIR__ . '/logs/api/';
|
|
if (!is_dir($logDir)) {
|
|
mkdir($logDir, 0755, true);
|
|
}
|
|
|
|
// 🔹 Base URL API
|
|
$apiBaseUrl = 'https://93.43.5.102/limsapi/api/odata/';
|
|
|
|
// 🔹 Hardcoded commessaId
|
|
$commessaId = 533357;
|
|
|
|
try {
|
|
// 🔹 Initialize API client
|
|
$api = VisualLimsApiClient::getInstance();
|
|
|
|
// 🔹 STEP 1: POST InviaCommessa
|
|
$logContentStep1 = "curl --location --request POST '{$apiBaseUrl}CommessaWeb({$commessaId})/InviaCommessa' \\\n" .
|
|
"--header 'Content-Type: application/json' \\\n" .
|
|
"--header 'Authorization: Bearer ••••••' \\\n" .
|
|
"--data '{}'\n\n";
|
|
|
|
$sendResult = $api->post("CommessaWeb({$commessaId})/InviaCommessa", []);
|
|
|
|
$logContentStep1 .= "RESPONSE:\n" . json_encode($sendResult, JSON_PRETTY_PRINT);
|
|
$logFileStep1 = $logDir . "commessa_{$commessaId}_send_step1_" . time() . ".txt";
|
|
file_put_contents($logFileStep1, $logContentStep1);
|
|
|
|
// 🔹 STEP 2: GET di controllo post-invio
|
|
$expand = "CommesseCustomFields(\$expand=CustomField)";
|
|
$commessaAfterSend = $api->get("CommessaWeb(" . $commessaId . ")?\$expand=" . $expand);
|
|
|
|
// Log curl-like per GET di controllo
|
|
$logContentStep2 = "curl --location --request GET '{$apiBaseUrl}CommessaWeb({$commessaId})?\$expand=CommesseCustomFields(\$expand=CustomField)' \\\n" .
|
|
"--header 'Authorization: Bearer ••••••'\n\n" .
|
|
"RESPONSE:\n" . json_encode($commessaAfterSend, JSON_PRETTY_PRINT);
|
|
$logFileStep2 = $logDir . "commessa_{$commessaId}_get_step2_" . time() . ".txt";
|
|
file_put_contents($logFileStep2, $logContentStep2);
|
|
|
|
// 🔹 Output a schermo
|
|
echo json_encode([
|
|
"success" => true,
|
|
"message" => "Commessa {$commessaId} inviata e verificata",
|
|
"sendResult" => $sendResult,
|
|
"commessaAfterSend" => $commessaAfterSend,
|
|
"logFiles" => [
|
|
"step1_send" => $logFileStep1,
|
|
"step2_get" => $logFileStep2
|
|
]
|
|
]);
|
|
} catch (Exception $e) {
|
|
error_log("Send/Check Error: " . $e->getMessage() . "\nTrace: " . $e->getTraceAsString());
|
|
|
|
echo json_encode([
|
|
"success" => false,
|
|
"message" => "Operation failed: " . $e->getMessage(),
|
|
"logFiles" => [
|
|
"step1_send" => $logFileStep1 ?? null,
|
|
"step2_get" => $logFileStep2 ?? null
|
|
]
|
|
]);
|
|
}
|