<?php
//
//namespace BobGroup\BobGo\Observer;
//
//use Magento\Framework\Event\Observer;
//use Magento\Framework\Event\ObserverInterface;
//use Magento\Framework\App\Config\ScopeConfigInterface;
//use Magento\Framework\HTTP\Client\Curl;
//use Psr\Log\LoggerInterface;
//
//class ConfigChangeObserver implements ObserverInterface
//{
//    protected $scopeConfig;
//    protected $curl;
//    protected $logger;
//
//    public function __construct(
//        ScopeConfigInterface $scopeConfig,
//        Curl $curl,
//        LoggerInterface $logger
//    ) {
//        $this->scopeConfig = $scopeConfig;
//        $this->curl = $curl;
//        $this->logger = $logger;
//    }
//
//    public function execute(Observer $observer)
//    {
//        $sectionId = $observer->getEvent()->getSection();
//
//        // Ensure we're working with the 'carriers' section
//        if ($sectionId === 'carriers') {
//            $isEnabled = $this->scopeConfig->getValue('carriers/bobgo/active', \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
//
//            // Check if the extension is enabled
//            if ($isEnabled) {
//                $url = 'https://api.dev.bobgo.co.za/rates-at-checkout/magento';
//
//                // Prepare the payload
//                $payload = json_encode([
//                    "identifier" => "woodemo3.bobgo.co.za",
//                    "rate" => [
//                        "origin" => [
//                            "country" => "ZA",
//                            "postal_code" => "0181",
//                            "province" => "GP",
//                            "city" => "Pretoria",
//                            "name" => null,
//                            "address1" => "125 Dallas Avenue",
//                            "address2" => "Newlands",
//                            "address3" => null,
//                            "phone" => "",
//                            "fax" => "",
//                            "email" => null,
//                            "address_type" => null,
//                            "company_name" => ""
//                        ],
//                        "destination" => [
//                            "country" => "ZA",
//                            "postal_code" => "0181",
//                            "province" => "GP",
//                            "city" => "Pretoria",
//                            "name" => null,
//                            "address1" => null,
//                            "address2" => "",
//                            "address3" => null,
//                            "phone" => "",
//                            "fax" => "",
//                            "email" => null,
//                            "address_type" => null,
//                            "company_name" => "",
//                            "shipping_suburb" => "Elarduspark"
//                        ],
//                        "currency" => "ZAR",
//                        "locale" => "en",
//                        "items" => [
//                            [
//                                "name" => "Colours With Variants - Has dimensions - Red",
//                                "sku" => "sku-1",
//                                "quantity" => 2,
//                                "price" => 500,
//                                "vendor" => "",
//                                "requires_shipping" => true,
//                                "taxable" => true,
//                                "fulfillment_service" => "manual",
//                                "properties" => null,
//                                "product_id" => 160824,
//                                "grams" => 2000,
//                                "height" => 20,
//                                "length" => 43,
//                                "width" => 63,
//                                "variant_id" => 160826,
//                                "shipping_class" => "colours",
//                                "shipping_class_id" => 41
//                            ]
//                        ]
//                    ]
//                ]);
//
//                try {
//                    // Set headers
//                    $this->curl->addHeader("Accept", "*/*");
//                    $this->curl->addHeader("Accept-Encoding", "deflate, gzip, br");
//                    $this->curl->addHeader("Content-Type", "application/json; charset=utf-8");
//                    $this->curl->addHeader("Host", "api.dev.bobgo.co.za");
//                    $this->curl->addHeader("User-Agent", "Magento/2.x");
//
//                    // Send the request
//                    $this->curl->post($url, $payload);
//
//                    // Check response status
//                    if ($this->curl->getStatus() == 200) {
//                        $response = $this->curl->getBody();
//                        $this->logger->info('Bob Go API response:', ['response' => $response]);
//                    } else {
//                        $status = $this->curl->getStatus();
//                        $this->logger->error('Bob Go API request failed.', ['status' => $status, 'url' => $url]);
//                    }
//                } catch (\Exception $e) {
//                    $this->logger->error('Bob Go API request error:', ['exception' => $e->getMessage()]);
//                }
//            }
//        }
//    }
//}