PHPackages                             jdkweb/rdw-api-filament - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. jdkweb/rdw-api-filament

ActiveLibrary[API Development](/categories/api)

jdkweb/rdw-api-filament
=======================

Filament extension for rdw-api. rdw-api is a wrapper for RDW API

v1.3.0(4mo ago)18GPL-3.0-or-laterPHPPHP &gt;=8.1

Since Feb 11Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/jdkweb/rdw-api-filament)[ Packagist](https://packagist.org/packages/jdkweb/rdw-api-filament)[ RSS](/packages/jdkweb-rdw-api-filament/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (12)Used By (0)

RDW API extension for Filament
==============================

[](#rdw-api-extension-for-filament)

[![Packagist Version](https://camo.githubusercontent.com/2def14d6bd2feb3ede9d226fed9506657d5278db23fbd839af13baf66e67be17/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a646b7765622f7264772d6170692d66696c616d656e74)](https://github.com/jdkweb/rdw-api-filament)[![Static Badge](https://camo.githubusercontent.com/cecb38ec8d1565cf515e7fe38fe8bc8cd3a033291a7cf47f7026baf19d47fd65/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6275696c642d253230253345253344253230382e312d627269676874677265656e3f7374796c653d666c6174266c6f676f3d706870266c6f676f53697a653d3136266c6162656c3d504850)](https://github.com/jdkweb/rdw-api-filament)[![Static Badge](https://camo.githubusercontent.com/16a05260506814f18580062bb392250d0d1a771682a747a27dbabb6df3fed5fa/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6275696c642d25323025334525334425323031302d736c617465677261793f7374796c653d666c61742d737175617265266c6f676f3d6c61726176656c266c6f676f436f6c6f723d7768697465266c6f676f53697a653d3136266c6162656c3d4c61726176656c)](https://github.com/jdkweb/rdw-api-filament)[![Static Badge](https://camo.githubusercontent.com/1a1637c69d9c4bd1e837fe920f696f24ec17ffcba29f5d71f7aa05da2ee235d5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6275696c642d253230253345253344253230332e302d626c75653f7374796c653d666c61742d737175617265266c6f676f3d6c61726176656c266c6f676f436f6c6f723d7768697465266c6f676f53697a653d3136266c6162656c3d46696c616d656e74)](https://github.com/jdkweb/rdw-api-filament)[![Packagist Dependency Version](https://camo.githubusercontent.com/2a8f7fa9929c3e84efb9617cff87fb5c288b435c25e39e8d0fb1dcc623ac83c7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f6a646b7765622f7264772d6170692d66696c616d656e742f6a646b7765622532467264772d617069)](https://packagist.org/packages/jdkweb/rdw-api)

Laravel wrapper for the Dutch open mobility data. Basic Vehicle Registration All non-sensitive data of the Dutch vehicle fleet.

Laravel application to get vehicle information from [opendata.rdw.nl](https://opendata.rdw.nl) or [overheid.io](https://overheid.io).

Depends on: [![Static Badge](https://camo.githubusercontent.com/463714a3800bc4cf10c27983005195fee00fa66a0948e4315c5ffd960688ba73/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6275696c642d6a646b7765622532467264772d2d6170692d626c75653f7374796c653d666c61742d737175617265266c6f676f3d676974687562266c6162656c3d476974687562)](https://github.com/jdkweb/rdw-api)[![Static Badge](https://camo.githubusercontent.com/67ac4890ba0fa7bf5e7780467454f3615b08a12f866b6df3fc1f6ffba8451762/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6275696c642d6a646b7765622532467264772d2d6170692d626c75653f7374796c653d666c61742d737175617265266c6f676f3d7061636b6167697374266c6f676f436f6c6f723d7768697465266c6162656c3d5061636b6167697374)](https://packagist.org/packages/jdkweb/rdw-api)

This package extends [jdkweb/rdw-api](https://github.com/jdkweb/rdw-api?tab=readme-ov-file#demo) to be used in [Filament](https://filamentphp.com/).

Table of contents
-----------------

[](#table-of-contents)

- [Installation](#installation)
- [Translation](#translation)
- [Usage](#usage)
    - [Form Field](#formfield)
    - [Handle Response](#response)
- [Example](#example)
- [Demo](#demo)

Installation
------------

[](#installation)

Requires PHP 8.1 and Laravel 10 and Filament 3.0 or higher
Install the package via composer:

```
composer require jdkweb/rdw-api-filament
```

Translation
-----------

[](#translation)

Translations available:

- [Dutch (nl)](https://github.com/jdkweb/rdw-api/tree/main/lang/nl)
- [English (en)](https://github.com/jdkweb/rdw-api/tree/main/lang/en)

See: [![Static Badge](https://camo.githubusercontent.com/463714a3800bc4cf10c27983005195fee00fa66a0948e4315c5ffd960688ba73/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6275696c642d6a646b7765622532467264772d2d6170692d626c75653f7374796c653d666c61742d737175617265266c6f676f3d676974687562266c6162656c3d476974687562)](https://github.com/jdkweb/rdw-api/tree/main?tab=readme-ov-file#translation)[![Static Badge](https://camo.githubusercontent.com/67ac4890ba0fa7bf5e7780467454f3615b08a12f866b6df3fc1f6ffba8451762/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6275696c642d6a646b7765622532467264772d2d6170692d626c75653f7374796c653d666c61742d737175617265266c6f676f3d7061636b6167697374266c6f676f436f6c6f723d7768697465266c6162656c3d5061636b6167697374)](https://packagist.org/packages/jdkweb/rdw-api)

Usage
=====

[](#usage)

- [Form Field](#formfield)
- [RDW Response](#response)

Form Field
-----------------------------------------------

[](#form-field)

### Basic usage

[](#basic-usage)

[![filament setup](https://camo.githubusercontent.com/67e77b057f31bd9e7c41b0a93ec1750d4e7c6c8d1ec8b27793892c179faded11/68747470733a2f2f7777772e6a646b7765622e6e6c2f6769742f696d616765732f7264772d6170692d66696c616d656e74312e77656270)](https://camo.githubusercontent.com/67e77b057f31bd9e7c41b0a93ec1750d4e7c6c8d1ec8b27793892c179faded11/68747470733a2f2f7777772e6a646b7765622e6e6c2f6769742f696d616765732f7264772d6170692d66696c616d656e74312e77656270)

```
use Jdkweb\RdwApi\Filament\Forms\Components\RdwApiLicenseplate;
...
RdwApiLicenseplate::make('licenseplate')
    ->label(__('rdw-api::form.licenseplateLabel'))
    ->default('155GV3')
    ->licenseplateStyle()  // Basic style Dutch licenseplate
```

- Request to the active API (default: opendata.rdw.nl) \\
- All RDW endpoints are selected

### All options used

[](#all-options-used)

```
use Jdkweb\RdwApi\Filament\Enums\Endpoints;
use Jdkweb\RdwApi\Filament\Enums\OutputFormats;
use Jdkweb\RdwApi\Filament\Forms\Components\RdwApiLicenseplate;
...
RdwApiLicenseplate::make('licenseplate')
    ->label(__('rdw-api::form.licenseplateLabel'))
    ->default('155GV3')
    ->setApi(1)
    ->setEndpoints(Endpoints::cases())
    ->setOutputformat(OutputFormats::ARRAY)
    ->setLanguage('en')
    ->licenseplateStyle()
```

### Options

[](#options)

#### Select other API than default

[](#select-other-api-than-default)

```
->setApi(int|string|\Closure) // 0 | opendata | 1 | overheid
```

Overwrite the config settings

- 0 or 'opendata' for using the RDW API opendata.rdw.nl **\[default\]**
- 1 or 'overheidio' for using the overheid.io API

#### Select endpoints for request

[](#select-endpoints-for-request)

```
use \Jdkweb\RdwApi\Enums\Endpoints;
...
->setEndpoints(string|array|Endpoints|\Closure)

#examples
    # one string
    ->setEndpoints('vehicle')
    # array with strings
    ->setEndpoints([
        'vehicle',
        'fuel'
    ])
    # array with endpoints
    ->setEndpoints([
        Endpoints::VEHICLE,
        Endpoints::FUEL,
    ])
    # closure
    ->setEndpoints(fn() => ($when ? Endpoints::cases() : Endpoints::BODYWORK))
    # select all
    ->setEndpoints(Endpoints::cases())
```

Available endpoints (not case sensitive):

- Endpoints::VEHICLE | vehicle
- Endpoints::VEHICLE\_CLASS |vehicle\_class
- Endpoints::FUEL | fuel
- Endpoints::BODYWORK | bodywork
- Endpoints::BODYWORK\_SPECIFIC | bodywork\_specific
- Endpoints::AXLES | axles
- Endpoints::cases() **\[default\]**

#### Format of the response output

[](#format-of-the-response-output)

```
->outputFormat(string|OutputFormat|\Closure)

#examples
    ->outputFormat('array')
    ->outputFormat(OutputFormat::ARRAY)
    ->setOutputformat(fn(Forms\Get $get) => $get('output_format'))
```

- OutputFormat::ARRAY | array **\[default\]**
- OutputFormat::JSON | json
- OutputFormat::AML | xml

by using this method the response contains a formated output. see [RdwApiResponse](#RdwApiResponse)

#### Set output language

[](#set-output-language)

```
->setLanguage(string|\Closure)
```

Force output language, so form can be English and RDW response in Dutch.
Available:

- nl
- en

#### Basic style for Dutch licenseplate

[](#basic-style-for-dutch-licenseplate)

```
->licenseplateStyle()
->licenseplateStyle('taxi')  // blue taxi plate
```

### Handle RDW response

[](#handle-rdw-response)

RDW API request with to filament form data

```
public function handleForm(string $form): void
{
    $result = RdwApiRequest::make()
        ->setFormData($this->form)
        ->fetch();
```

#### RDW Response

[](#rdw-response)

Response data form the RDW API request in $result:

```
Jdkweb\RdwApi\Controllers\RdwApiResponse {#2800 ▼
  +response: array:2 [▶]    // API response
  +request: {#3036 ▶}       // Request vars
  +output: array:2 [▶]      // Formated output when setOutputFormat is used
  +status: true
}
```

See rdw-api for the [response methods](https://github.com/jdkweb/rdw-api/tree/main?tab=readme-ov-file#response)

Example
-------

[](#example)

[![filament setup](https://camo.githubusercontent.com/b196791449eee7cbc0a74fe660951256b618a1542af077d4d1f47b0caabaea01/68747470733a2f2f7777772e6a646b7765622e6e6c2f6769742f696d616765732f7264772d6170692d66696c616d656e74322e77656270)](https://camo.githubusercontent.com/b196791449eee7cbc0a74fe660951256b618a1542af077d4d1f47b0caabaea01/68747470733a2f2f7777772e6a646b7765622e6e6c2f6769742f696d616765732f7264772d6170692d66696c616d656e74322e77656270)

Create Filament form

```
use Jdkweb\RdwApi\Filament\Enums\Endpoints;
use Jdkweb\RdwApi\Filament\Enums\OutputFormats;
use Jdkweb\RdwApi\Controllers\RdwApiRequest;
use Jdkweb\RdwApi\Filament\Forms\Components\RdwApiLicenseplate;
use Jdkweb\RdwApi\Filament\Forms\Components\RdwApiResponse;
...

/**
 * Dataset Selectbox
 */
Forms\Components\Select::make('datasets')
    ->label(__('rdw-api::form.selectdatasetLabel'))
    ->multiple()
    ->options(Endpoints::class)
    ->default([
        Endpoints::VEHICLE,
        Endpoints::FUEL
    ])
    ->hintAction(selectAllDatasets())   // Helper function for select all link
    ->reactive() // Enables reactivity
    ->required(),

//-----------------------------------------------------------------------------

/**
 * Licenseplate
 *
 * Extra reactive data for Endpoints and outputFormat
 */
RdwApiLicenseplate::make('licenseplate')
    ->label(__('rdw-api::form.licenseplateLabel'))
    ->setOutputformat(fn(Forms\Get $get) => $get('output_format'))
    ->setEndpoints(fn(Forms\Get $get) => $get('datasets'))
    ->required()
    ->licenseplateStyle()
    ->live(true)
    ->afterStateUpdated(function ($state, Forms\Set $set) use ($form) {

        $result = \Jdkweb\RdwApi\Controllers\RdwApiRequest::make()
            ->setFormData($form)
            ->fetch();

        if ($result->status === false) {
            return;
        }

        // Handle data
        // $set('merk', $result->quickSearch('merk'));
        // $set('voertuigsoort', $result->quickSearch('voertuigsoort'));
        // $set('brandstof_omschrijving', $result->quickSearch('1.brandstof_omschrijving')); // type or  hybrid: first type
        // $set('aslast', $result->quickSearch('2.wettelijk_toegestane_maximum_aslast')); // second axle
        // ...
    }),

//-----------------------------------------------------------------------------

/**
 * Selectbox for the output format
 */
Forms\Components\Select::make('output_format')
    ->label(__('rdw-api::form.formatLabel'))
    ->required()
    ->default(OutputFormats::XML)
    ->options(OutputFormats::class)
    ->reactive() // Enables reactivity
```

Handle Form data

```
...

public function handleForm(string $form): void
{

    // Get RDW data
    $result = RdwApiRequest::make()
        ->setFormData($this->form)
        ->fetch();
    ...
    ..

    // Handle data format
    switch ($data->request->outputformat) {
        case OutputFormat::XML:
            $data->toXml(true)
    ...
```

Demo
----

[](#demo)

There is a demo available to test this wrapper
Two options to use the demo:

1. ### .env

    [](#env)

    ```
     RDW_API_DEMO=1
    ```

    Add this value to .env
2. ### config

    [](#config)

    Import the rwd-api config en set the value to 1 ([Installation](#installation)) ```
     rdw_api_demo => 1,
    ```

    Demo: 0 = Off | 1 = On

### Demo url

[](#demo-url)

```
http://[domainname]/rdw-api/demo
```

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance78

Regular maintenance activity

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~33 days

Recently: every ~77 days

Total

11

Last Release

122d ago

Major Versions

v0.9.0 → v1.0.02025-02-11

PHP version history (3 changes)v0.9.0PHP ^8.0

v1.1.0PHP ^8.1

v1.2.0PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/f7678317f18dfcd8050447d525368dff1ff81c2b62b898fffb7d4e2a73954727?d=identicon)[jdkweb](/maintainers/jdkweb)

---

Top Contributors

[![jdkweb](https://avatars.githubusercontent.com/u/6470612?v=4)](https://github.com/jdkweb "jdkweb (55 commits)")[![FreakyWizard](https://avatars.githubusercontent.com/u/114140418?v=4)](https://github.com/FreakyWizard "FreakyWizard (4 commits)")

---

Tags

filamentfilamentphpphprdwrdwapiphpapilaravelfilamentrdwoverheid.io

### Embed Badge

![Health badge](/badges/jdkweb-rdw-api-filament/health.svg)

```
[![Health](https://phpackages.com/badges/jdkweb-rdw-api-filament/health.svg)](https://phpackages.com/packages/jdkweb-rdw-api-filament)
```

###  Alternatives

[rupadana/filament-api-service

A simple api service for supporting filamentphp

204103.8k7](/packages/rupadana-filament-api-service)[joisarjignesh/bigbluebutton

BigBlueButton Server API Library for Laravel

162145.5k1](/packages/joisarjignesh-bigbluebutton)[jeroen-g/flickr

Modern PHP package to make Flickr API calls. Ships with Laravel implementation.

2559.9k2](/packages/jeroen-g-flickr)[tapp/filament-webhook-client

Add a Filament resource and a policy for Spatie Webhook client

1120.2k](/packages/tapp-filament-webhook-client)[exlo89/laravel-sevdesk-api

A helpful Sevdesk API client for Laravel.

1116.5k](/packages/exlo89-laravel-sevdesk-api)[dystcz/lunar-api

Dystore API layer for Lunar e-commerce package

411.1k3](/packages/dystcz-lunar-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
