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.