Automatische Salesforce-vacaturesynchronisatie
Vacatures, recruiters en kantoren worden beheerd in Salesforce, niet in WordPress. Ze handmatig overzetten met alle bijhorende velden (lonen, regimes, locaties, contactpersonen) is onhoudbaar en foutgevoelig, en verlopen vacatures moeten netjes verdwijnen zonder dode pagina's.
We bouwden een sync-engine op de Salesforce REST API (v59.0) die dagelijks vacatures ophaalt, WordPress-posts met ACF-velden en taxonomietermen (provincie, stad, sector, werkritme) aanmaakt of bijwerkt, recruiterfoto's lokaal opslaat, en verlopen vacatures automatisch op inactief zet. Ingediende sollicitaties worden vanuit de website teruggekoppeld naar Salesforce. De koppeling werkt in twee richtingen: vacatures, consulenten en kantoren stromen van Salesforce naar de website, en ingediende sollicitaties stromen terug naar Salesforce. Een ingebouwde failsafe zorgt dat er nooit vacatures verloren gaan: geeft Salesforce (door een storing) geen of onvolledige data terug, dan wordt de opschoning afgebroken in plaats van vacatures ten onrechte offline te halen.
De vacaturedatabank blijft dagelijks automatisch in sync met een wekelijkse back-up-run, zonder handmatige data-invoer. Consulenten, kantoren en vacatures worden centraal in Salesforce beheerd en verschijnen consistent op de site. Elke sync-run schrijft een volledig logbestand weg met tellers (binnengekomen, gematcht, offline gezet, niet gevonden, fouten), zodat elke wijziging netjes opvolgbaar is. De failsafe én een wekelijkse back-up-run garanderen dat er geen vacatures verloren gaan.
Aanpak in detail
Eerst bouwden we de authenticatie- en query-laag op de Salesforce REST API (v59.0), met een retry- en lock-mechanisme zodat overlappende syncs elkaar niet in de weg lopen. Vervolgens de mapping: elk Salesforce-veld werd omgezet naar WordPress-posts, ACF-velden en taxonomietermen, inclusief het automatisch aanmaken van provincie-, stad-, sector- en werkritme-termen op basis van de brondata. Daarna pakten we de randgevallen en de betrouwbaarheid aan: een failsafe die de opschoning afbreekt bij lege of onvolledige Salesforce-data, de import van recruiterfoto's met een stabiele kopie, de nette 410-afhandeling van verlopen vacatures, en een dagelijkse plus wekelijkse cron met vergrendeling. Elke run wordt volledig gelogd met tellers per stap, zodat het proces transparant en auditeerbaar blijft. Tot slot bouwden we de terugkoppeling: sollicitaties die via de formulieren binnenkomen worden naar Salesforce gestuurd, met logging voor opvolging en diagnose.