CRON PHP

Endpoint privado para integrar tracking MSC desde un cron PHP o una IA/agente. Necesitás un API token msc_... creado por Ignacio desde el panel admin.

Endpoint principal para cron
GET https://msc-vercel-supabase.vercel.app/msc-api/track/MEDU9730548
Header: X-Api-Key: msc_TU_TOKEN

Qué te devuelve

{
  "json": { "container": "MEDU9730548", "events": [] },
  "screenshot": "iVBORw0KGgo...",
  "screenshot_format": "png"
}

PHP listo para cron

Reemplazá msc_TU_TOKEN por el token que te pase Ignacio y MEDU9730548 por tu container.

<?php
$API_BASE = "https://msc-vercel-supabase.vercel.app/msc-api";
$API_KEY  = "msc_TU_TOKEN";
$container = "MEDU9730548";

$ch = curl_init($API_BASE . "/track/" . urlencode($container));
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 180,
    CURLOPT_HTTPHEADER => [
        "X-Api-Key: " . $API_KEY,
        "Accept: application/json",
    ],
]);

$body = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$err  = curl_error($ch);
curl_close($ch);

if ($body === false || $http !== 200) {
    error_log("MSC tracker error http=$http err=$err body=" . substr((string)$body, 0, 500));
    exit(1);
}

$data = json_decode($body, true);
if (!is_array($data)) {
    error_log("MSC tracker: JSON invalido");
    exit(1);
}

// Metadata parseada por el worker:
$tracking = $data["json"] ?? [];

// Screenshot opcional:
if (!empty($data["screenshot"])) {
    file_put_contents(__DIR__ . "/msc-" . $container . ".png", base64_decode($data["screenshot"]));
}

print_r($tracking);

Delay / frecuencia recomendada

El endpoint dispara scraping contra MSC. No conviene llamarlo en ráfaga. La frecuencia la decide el cron de quien consume la API.

// Si tenés varios containers:
$containers = ["MEDU9730548", "OTRO1234567"];

foreach ($containers as $container) {
    // llamar API para $container...

    // delay random entre 20 y 90 segundos para no pegarle en ráfaga a MSC
    sleep(random_int(20, 90));
}

Reglas de uso

Para una IA / agente

Si querés darle esto a una IA, crear token con scope track,context y pasarle:

GET https://msc-vercel-supabase.vercel.app/msc-api/llm/context
Header: X-Api-Key: msc_TU_TOKEN

Ese endpoint devuelve JSON con base URL, auth, acción disponible, ejemplo de request, forma de respuesta y reglas operativas.