<?php
require_once __DIR__ . '/../config/config.php';
require_once __DIR__ . '/../api/webhook.php';

$sample = json_decode('{
    "object": "whatsapp_business_account",
    "entry": [
        {
            "id": "639871912520412",
            "changes": [
                {
                    "value": {
                        "messaging_product": "whatsapp",
                        "metadata": {
                            "display_phone_number": "573053370116",
                            "phone_number_id": "959898150536936"
                        },
                        "contacts": [
                            {
                                "profile": { "name": "Usite" },
                                "wa_id": "573168950803"
                            }
                        ],
                        "messages": [
                            {
                                "from": "573168950803",
                                "id": "wamid.HBgMNTczMTY4OTUwODAzFQIAEhgUM0JDQTEzMDI0MTU1MENBMEFGNzUA",
                                "timestamp": "1769010091",
                                "type": "document",
                                "document": {
                                    "filename": "usuarios_blancos(5).csv",
                                    "mime_type": "text/csv",
                                    "sha256": "id9kq9uEkgJB9OmjciqDCqFLPJmPh5xtWvtdu8U8JRI=",
                                    "id": "1379066300634610",
                                    "url": "https://lookaside.fbsbx.com/whatsapp_business/attachments/?mid=1379066300634610&source=webhook&ext=1769010393&hash=EXAMPLE"
                                }
                            }
                        ]
                    },
                    "field": "messages"
                }
            ]
        }
    ]
}', true);

try {
    $webhook = new WhatsAppWebhook();
    $ok = $webhook->processPayload($sample);
    echo "processPayload returned: " . ($ok ? 'true' : 'false') . "\n";

    $db = Database::getInstance();
    $row = $db->fetch('SELECT * FROM conversations WHERE message_id = :mid', ['mid' => 'wamid.HBgMNTczMTY4OTUwODAzFQIAEhgUM0JDQTEzMDI0MTU1MENBMEFGNzUA']);
    if ($row) {
        echo "Row found:\n" . json_encode($row, JSON_PRETTY_PRINT) . "\n";
    } else {
        echo "Row not found\n";
    }
} catch (Throwable $t) {
    echo "Error: " . $t->getMessage() . "\n";
    echo $t->getTraceAsString();
}
