Her er alt, du skal bruge for at slå en nummerplade op fra PHP. Eksemplet bruger kun det, der følger med PHP (cURL), så der er intet at installere.

Opslaget

<?php
function lookupPlate(string $country, string $plate): ?array
{
    $key = getenv('PLATERUNNER_KEY');
    $plate = strtoupper(preg_replace('/[\s-]/', '', $plate));
    $url = "https://api.platerunner.dk/v1/plates/{$country}/" . rawurlencode($plate);

    $ch = curl_init($url);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 5,
        CURLOPT_HTTPHEADER => ["Authorization: Bearer {$key}"],
    ]);
    $body = curl_exec($ch);
    $status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
    curl_close($ch);

    if ($status === 404) {
        return null; // pladen findes ikke
    }
    if ($status !== 200 || $body === false) {
        throw new RuntimeException("PlateRunner svarede {$status}");
    }
    return json_decode($body, true);
}

$car = lookupPlate('DK', 'AB 12 345');
echo $car ? "{$car['make']} {$car['model']}" : 'Ikke fundet';

Læg nøglen i en miljøvariabel (PLATERUNNER_KEY), aldrig direkte i koden.

Gem svaret

En bils data ændrer sig sjældent. Gem svaret i din egen database, når du har slået en plade op, så samme bil ikke koster et nyt opslag næste gang. Det sparer både tid og opslag.

Fejl, du skal håndtere

  • 404: pladen findes ikke. Vis en venlig besked og lad brugeren skrive bilen ind selv.
  • 429: månedens opslag er brugt, eller der kom for mange på én gang. Prøv igen senere, eller opgrader abonnementet.
  • 401: nøglen mangler eller er forkert.

Se kom i gang for alle felter i svaret.