Error 400 bij Get in free

https://api.pdok.nl/bzk/locatieserver/search/v3_1/free?fq=postcode:[postcode]&fq=huisnummer~[huisnr]*&df=tekst&start=0&wt=json

[postcode] bevat een geldige postcode zonder spaties, in hoofdletters
[huisnr] bevat een getal, wat een geldig huisnummer is in het opgegevens postcodegebied

Aanvraag is GET en in de vorige versie (https://geodata.nationaalgeoregister.nl) werkte dit prima.

Als ik dit in een browser uitvoer en als test in de API documentatie gaat het prima, maar in een asynchrone call geeft dit een 400 error, wat zou hier fout kunnen zijn?

heb je een specifiek request dat fout gaat
want ik heb een random postcode huisnummer combo ingevuld en krijg een verwacht resultaat

https://api.pdok.nl/bzk/locatieserver/search/v3_1/free?fq=postcode:1507SM&fq=huisnummer~85*&df=tekst&start=0&wt=json

oh wacht in browser gaat goed, asynchroon gaat niet goed
dan moeten we even verder kijken

Ik heb mijn eigen postcode gebruikt. Dus in de browser is het prima, maar vanut een Javascript call gaat het fout. Met de oude link ging het prima, dus 1 op 1 wijzigen van de URL werkt niet in mijn geval.

Met F12 even kijken wat de response headers zijn (en evetueel de request-headers)…

The URL is appended with parameters which are invalid:

Original URL:
https://api.pdok.nl/bzk/locatieserver/search/v3_1/free?fq=postcode:5529NB&fq=huisnummer~*&df=tekst&start=0&wt=json

URL which seems appended, but invalid:
https://api.pdok.nl/bzk/locatieserver/search/v3_1/free?fq=postcode:5529NB&fq=huisnummer~*&df=tekst&start=0&wt=json&&_=1701689138853

What is “&&_=1701689138853” ? Because when I remove that part, then it goes fine

Zie mijn toevoeging, er wordt iets aan de URL geplakt wat invalid is

Tsja. Dat gebeurt ergens in de door jou gebruikte software (bibliotheek). Welke dat is, weet ik niet, dus waarom dat gebeurt, en hoe je het kan tegenhouden, weet ik ook niet.

Nee, ik heb de software zelf geschreven en de URL wordt gevuld waarna de call direct wordt gedaan. Dus geen externe bibliotheken oid, gewoon een simpel Javascriptje die de call doet.

Dit werkte perfect in de oude versie en nu niet meer.

Ik heb een test gedaan op PDOK API - Swagger UI en die URL gebruikt in mijn bron-Javascript. En ook daar wordt die aanvulling (’&&_=1701693562992’) aan de URL geplakt wat de error veroorzaakt. Het lijkt wel een sessie-id, kan dat door pdok toegevoegd zijn?

https://api.pdok.nl/bzk/locatieserver/search/v3_1/free?fl=id%20identificatie%20weergavenaam%20bron%20type%20openbareruimte_id%20nwb_id%20openbareruimtetype%20straatnaam%20straatnaam_verkort%20adresseerbaarobject_id%20nummeraanduiding_id%20huisnummer%20huisletter%20huisnummertoevoeging%20huis_nlt%20postcode%20buurtnaam%20buurtcode%20wijknaam%20wijkcode%20woonplaatscode%20woonplaatsnaam%20gemeentecode%20gemeentenaam%20provinciecode%20provincienaam%20provincieafkorting%20kadastrale_gemeentecode%20kadastrale_gemeentenaam%20kadastrale_sectie%20perceelnummer%20kadastrale_grootte%20gekoppeld_perceel%20kadastrale_aanduiding%20volgnummer%20gekoppeld_appartement%20wegnummer%20hectometernummer%20zijde%20hectometerletter%20waterschapsnaam%20waterschapscode%20rdf_seealso%20centroide_ll%20centroide_rd%20score&fq=postcode%3A5529NB&df=tekst&bq=type%3Aprovincie^1.5&bq=type%3Agemeente^1.5&bq=type%3Awoonplaats^1.5&bq=type%3Aweg^1.5&bq=type%3Apostcode^0.5&bq=type%3Aadres^1&start=0&rows=10&sort=score%20desc%2Csortering%20asc%2Cweergavenaam%20asc&wt=json&&_=1701693562992

Error: ‘query parameter ‘_’ not defined in the specifications’

Ik heb er een sync call van gemaakt en de parameters in de url gezet en dan werkt het wel.

gebruik je toevallig ext.js? Die heeft de neiging om zo’n _ parameter toe te voegen.

Er is een speciale setting voor ext om dat te voorkomen. Da’s iets als:

Ext.Ajax.disableCaching = false;

Overigens zie ik dat ext een _dc parameter toevoegd. Dat wordt gedaan om caching te voorkomen. Wellicht gebruikt jouw softwarebibliotheek ook zoiets en kan je het op vergelijkbare wijze uitschakelen.