Realtime vacature-sync én sollicitatie-koppeling met de ATS, volledig 3-talig
Vacatures leven in de ATS en moeten zonder manueel werk, correct en meertalig, op de publieke website verschijnen — en sollicitaties moeten betrouwbaar terug naar de ATS. De koppeling moet aanmaken, aanpassen én verwijderen van vacatures aankunnen, plus taalversies aan elkaar linken.
Een eigen plugin met een REST-endpoint (api/v2/mytools_api) dat de ATS-payload verwerkt tot een vacature-posttype, met ACF-velden en WPML-vertalingen, en verwijdering afhandelt via een IsDeleted-signaal. Bij een sollicitatie stuurt de plugin de kandidaatgegevens + cv via een beveiligde (OAuth2 client-credentials) call naar de Accent-inflow-API. Twee eigen databasetabellen (yy_mytools_logs en yy_mytools_outbox) loggen inkomend verkeer en uitgaande sollicitaties, met een admin-pagina om mislukte pushes opnieuw te versturen.
Vacatures verschijnen automatisch en meertalig op de site, en sollicitaties komen realtime in de ATS terecht — blijkens de logs met een doorlooptijd van ongeveer een halve seconde per sollicitatie. Een outbox met retry-mechanisme maakt de koppeling robuust tegen tijdelijke fouten.
Resultaat in één oogopslag
Technisch architectuurdiagram
Aanpak in fasen
REST-endpoint ontvangt vacaturedata uit de ATS en zet die om naar een lokaal vacature-posttype met ACF-velden.
WPML met taal-per-domein (NL/FR/EN); taalversies gekoppeld via de primaire taal, verwijderingen ruimen alle vertalingen mee op.
Sollicitatieformulier haalt een OAuth2-token op en pusht kandidaatgegevens + cv naar de inflow-API van de ATS.
Twee eigen databasetabellen loggen inkomend verkeer en uitgaande sollicitaties, met een outbox-overzicht en herverzendknop in de admin.
JobPosting- en FAQ-structured data, meertalige SEO-titels via Yoast, en per domein een llms.txt en ai-sitemap.txt.
Technische verdieping
De outbox-tabel logt elke uitgaande sollicitatie met status; een mislukte push blijft zichtbaar in de admin met een 'opnieuw pushen'-knop in plaats van stil te falen. Het verplichte locatieveld op basis van Google Places blijft ook werken wanneer de cookie-consent (Complianz) het script blokkeert, opgelost update-proof vanuit het child-theme.