<?php
// Votre clé API
$api_key = 'C073AF83-C339-4D1D-86DF-74CA76EB8CA8';
$post_data = $_POST;
// Vérifiez si le contenu est de type JSON
if ($_SERVER['CONTENT_TYPE'] === 'application/json') {
    // Récupérez le contenu JSON brut
    $json_data = file_get_contents('php://input');

    // Décodage de la chaîne JSON
    $data = json_decode($json_data, true);

    // Vérification de la validité du JSON
    if (json_last_error() === JSON_ERROR_NONE) {

        // Obtenez tous les en-têtes de la requête
        $headers = getallheaders();
        
        // Vérifiez si l'en-tête X-Mac-Signature est présent
        if (isset($headers['X-Mac-Signature'])) {
            $mac_signature = $headers['X-Mac-Signature'];
            // Comparez le mac_signature avec votre clé API
            if ($mac_signature !== $api_key) {
                // Envoi d'une erreur si les clés ne correspondent pas
                header('HTTP/1.1 401 Unauthorized');
                exit('Unauthorized: Invalid API Key');
            }
        } else {
            // Envoi d'une erreur si l'en-tête X-Mac-Signature n'est pas présent
            header('HTTP/1.1 401 Unauthorized');
            exit('Unauthorized: Missing X-Mac-Signature');
        }

        // Traitement des données
        $dataValue = $data['data'];
        $status = $data['status'];
        $url = $data['reportURL'];
        $requestID = $data['requestID'];

        // Construire le message
        $message = "Bonjour,<br>\nUn client a validé le lien IBV suivant :<br>\n" . $url;

        // Envoyer un e-mail avec les données
        $to = "chris.pires@ionos.com";
        $subject = "IBV validé";
        $headers = "From: info@patrickgauthier.credit\r\n";

        if (mail($to, $subject, $message, $headers)) {
            // Renvoie une réponse JSON indiquant le succès
            header('Content-Type: application/json');
            echo json_encode(['status' => 'success', 'message' => 'Data received and email sent successfully.']);
        } else {
            // En cas d'échec de l'envoi de l'e-mail
            header('HTTP/1.1 500 Internal Server Error');
            echo "Failed to send email.";
        }
    } else {
        // En cas d'erreur JSON
        header('HTTP/1.1 400 Bad Request');
        $message = "Invalid JSON data.";

        // Envoyer un e-mail avec le message d'erreur
        $to = "chris.pires@ionos.com";
        $subject = "Erreur de l'API";
        $headers = "From: info@patrickgauthier.credit\r\n";

        if (mail($to, $subject, $message, $headers)) {
            echo "Error reported successfully.";
        } else {
            header('HTTP/1.1 500 Internal Server Error');
            echo "Failed to send error report.";
        }
    }
} else {
    // En cas de mauvais type de contenu
    header('HTTP/1.1 400 Bad Request');
    // Capturer le contenu POST


// Construire le message avec le contenu POST
$message = "Contenu POST : " . print_r($post_data, true);

    // Envoyer un e-mail avec le message d'erreur
    $to = "chris.pires@ionos.com";
    $subject = "Erreur de l'API";
    $headers = "From: info@patrickgauthier.credit\r\n";

    if (mail($to, $subject, $message, $headers)) {
        echo "Error reported successfully.";
    } else {
        header('HTTP/1.1 500 Internal Server Error');
        echo "Failed to send error report.";
    }
}
?>

