Skip to content

Conversation

@NouddeBrouwer
Copy link

hoi,

ik heb ZipCodeCheck gemaakt.

willen jullie heel aub mergen?

dank,
Noud de Brouwer
06 1987 3003

P.S. ik heb met deze code getest:

<?php

use Inserve\RoutITAPI\RoutITAPIClient;
use Inserve\RoutITAPI\Request\Enum\Portfolio;
use Inserve\RoutITAPI\Request\Enum\Supplier;
use Inserve\RoutITAPI\Request\ZipCodeCheckRequest;

final class RoutITController
{
    private RoutITAPIClient $apiClient;

    public function __construct()
    {
        $this->apiClient = new RoutITAPIClient(
            baseUri: 'https://service-accept.grexx.today'
        );

        $this->apiClient->configure(
            '<USERNAME>',
            '<PASSWORD>',
            'interfaces/kpn/kpn_partners_acceptatieomgeving/<ID>'
        );
    }

    public function zipCodeCheck(): void
    {
        $zipCodeCheckRequest = new ZipCodeCheckRequest();
        $portfolio = $_GET['portfolio'] ?? null;
        if ($portfolio !== null) {
            $enum = Portfolio::tryFrom($portfolio);
            $zipCodeCheckRequest->setPortfolio($enum);
        }
        $zipCode = $_GET['zip_code'] ?? null;
        if ($zipCode !== null && $zipCode !== "") {
            $zipCodeCheckRequest->setZipCode($zipCode);
        }
        $houseNr = $_GET['house_nr'] ?? null;
        if ($houseNr !== null && $houseNr !== "") {
            $zipCodeCheckRequest->setHouseNr($houseNr);
        }
        $houseNrExtension = $_GET['house_nr_extension'] ?? null;
        if ($houseNrExtension !== null && $houseNrExtension !== "") {
            $zipCodeCheckRequest->setHouseNrExtension($houseNrExtension);
        }
        $serviceId = $_GET['service_id'] ?? null;
        if ($serviceId !== null && $serviceId !== "") {
            $zipCodeCheckRequest->setServiceId($serviceId);
        }
        $roomNumber = $_GET['room_number'] ?? null;
        if ($roomNumber !== null && $roomNumber !== "") {
            $zipCodeCheckRequest->setRoomNumber($roomNumber);
        }
        $isRoomNumberKnown = $_GET['is_room_number_known'] ?? null;
        if ($isRoomNumberKnown !== null && $isRoomNumberKnown !== "") {
            $zipCodeCheckRequest->setIsRoomNumberKnown($isRoomNumberKnown);
        }
        $supplierParam = $_GET['supplier'] ?? null;
        if ($supplierParam !== null) {
            // Split on comma, trim spaces
            $parts = array_map('trim', explode(',', $supplierParam));

            $enums = [];

            foreach ($parts as $part) {
                if ($part === '') {
                    continue;
                }

                $enum = Supplier::tryFrom($part);

                $enums[] = $enum;
            }

            if ($enums !== []) {
                $zipCodeCheckRequest->setSuppliers($enums);
            }
        }
        $zipCodeCheckResponse = $this->apiClient->zipCodeCheck($zipCodeCheckRequest);
        $availableSuppliers = $zipCodeCheckResponse?->getAvailableSupplier() ?? [];
        echo "Available Suppliers:\n";
        foreach ($availableSuppliers as $supplier) {
            echo "Name: " . $supplier->getName() . "\n";
            echo "ErrorMessage: " . $supplier->getErrorMessage() . "\n";
            echo "LocationInfo: " . $supplier->getLocationInfo() . "\n";
            echo "Available Speeds: \n";
            $availableSpeeds = $supplier->getAvailableSpeed();
            if ($availableSpeeds) {
                foreach ($availableSpeeds as $availableSpeed) {
                    echo "  Availability: " . $availableSpeed->getAvailability() . "\n";
                    echo "  Description: " . $availableSpeed->getDescription() . "\n";
                    $nlsEnum = $availableSpeed->getNlsTypeEnum();
                    echo "  NlsType: " . ($nlsEnum?->value ?? 'n.v.t.') . "\n";
                    $remarks = $availableSpeed->getRemarks() ?? [];
                    foreach ($remarks as $remark) {
                        echo "  Remark: " . $remark . "\n";
                    }
                    echo "  Technology: " . $availableSpeed->getTechnology() . "\n";
                    echo "  TariffCluster: " . $availableSpeed->getTariffCluster() . "\n";
                    $planDate = $availableSpeed->getPlanDate();
                    echo "  PlanDate: " . ($planDate instanceof \DateTimeInterface ? $planDate->format('Y-m-d') : 'n.v.t.') . "\n";
                    echo "  -----------------------\n";
                }
            }
            echo "-----------------------\n";
        }
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant