Documentatie · Integratiehandleiding
Externe API-inloggegevens
Dit document legt uit hoe u veilig omgaat met de externe API-inloggegevens die door de ADP Car Market Hub-plugin worden gebruikt. Het behandelt waar inloggegevens normaal gesproken vandaan komen, wat nooit openbaar mag worden gemaakt, hoe u waarden afstemt met de providers die ze verstrekken, en hoe u informatie deelt voor ondersteuning zonder geheimen bloot te leggen.
Het is geschreven voor elke beheerder, integrator of partner die namens een dealer inloggegevens verwerkt.
Wanneer u dit document moet gebruiken
Gebruik dit document wanneer u:
- Voor het eerst inloggegevens ontvangt van een provider en moet weten hoe u deze veilig kunt opslaan en doorsturen.
- De rotatie van inloggegevens coördineert tussen de dealer, de API-provider en de WordPress-site.
- Een ondersteuningsverzoek, een screenshot of een export voorbereidt en moet weten wat u moet maskeren.
- Controleert hoe inloggegevens worden opgeslagen op een WordPress-installatie.
Overzicht
De plugin kan inloggegevens bevatten voor verschillende onafhankelijke integraties. De exacte set hangt af van welke functies zijn ingeschakeld, maar typische voorbeelden zijn:
- AutoScout24 API – de OAuth Client ID, Client Secret en Seller ID(s) die door de importer worden gebruikt. Zie AutoScout24 API-koppeling instellen.
- AI Assistant – gebruikt de beheerde Google Gemini-configuratie in ADP Car Market Hub. De beheerde Gemini API-sleutel wordt na installatie door AD Promotion geleverd in
AS24CI\Ai_Config; er hoeft geen AI-provider, model of API-sleutel te worden ingevoerd in de WordPress-backend, en er wordt geen AI-sleutel opgeslagen als een WordPress-optie. - Cron-token – een willekeurig gegenereerd token dat wordt gebruikt om het REST-cron-endpoint van de plugin te authenticeren wanneer een externe server-cron imports activeert. Zie Server Cron Setup.
- Webhook-geheim – een gedeeld geheim dat wordt gebruikt om uitgaande webhook-payloads te ondertekenen met HMAC-SHA256. Zie Webhook Integration.
Al deze waarden worden opgeslagen als WordPress-opties op de site waarop de plugin draait. Ze worden nooit met de plugin zelf meegeleverd en moeten altijd door de klant of door hun integratiepartner worden verstrekt.
Waar de waarden normaal gesproken vandaan komen
| Inloggegeven | Uitgegeven door | Opmerkingen |
|---|---|---|
| AutoScout24 Client ID / Client Secret | AutoScout24 of de integratiepartner die API-toegang voor de dealer regelt. | AD Promotion geeft deze niet uit. De website-login van de dealer is geen API-inloggegeven. |
| AutoScout24 Seller ID(s) | AutoScout24 of de integratiepartner. | De Seller ID is een unieke account-ID, niet de weergavenaam van de dealer. |
| API Base URL | AutoScout24 of de integratiepartner. | Bepaalt met welke omgeving de plugin communiceert. Er is geen hardcoded host in de plugin aanwezig. |
| AI Assistant (beheerde Gemini) | Geleverd door AD Promotion als onderdeel van de beheerde AI-installatie. | Opgeslagen als een PHP-constante in AS24CI\Ai_Config, niet in wp_options, en wordt nooit getoond in de WordPress-backend. De klant voert geen AI-provider, model of API-sleutel in. |
| Cron-token | Automatisch gegenereerd door de plugin en zichtbaar in het tabblad Import & Limieten. | Iedereen die het token kent, kan een import starten. Behandel het als een geheim. |
| Webhook-geheim | Gedefinieerd door de dealer of de beheerder van het ontvangende systeem; gekopieerd naar de plugin en naar de ontvanger. | Optioneel. Zonder dit geheim worden er geen handtekeningen voor payloads gegenereerd. |
Als een waarde onbekend is, verzin er dan geen. Vraag deze op bij de partij die eigenaar is van het desbetreffende systeem.
Wat niet openbaar mag worden gemaakt
De volgende waarden mogen nooit op een openbare locatie verschijnen (openbare Git-repositories, openbare ticket-reacties, screenshots in marketingmateriaal, blogberichten, AI-assistenten zonder vertrouwelijkheidsgaranties, openbare chatkanalen of gedeelde documenten die toegankelijk zijn buiten de dealer / het bureau):
- AutoScout24 Client Secret en elk ander OAuth-geheim.
- Het cron-token van de plugin (iedereen met het token kan imports starten).
- Het webhook-geheim.
- Volledige verzoek-URL's die al een
?token=...-queryparameter bevatten. - Database-backups,
wp_options-exports of volledige diagnostische exports van de plugin zonder voorafgaande maskering. - Interne hostnamen, privé-endpoints of niet-openbare URL's die deel uitmaken van de integratie.
- Persoonsgegevens van leads, dealerpersoneel of klanten.
De AutoScout24 Client ID, de Seller ID and de API Base URL zijn technisch gezien geen geheimen in dezelfde zin als een Client Secret, maar ze identificeren wel het dealeraccount en moeten daarom nog steeds als vertrouwelijk worden behandeld en alleen worden gedeeld met mensen die ze legitiem nodig hebben.
Regels voor veilige omgang
- Gebruik een beveiligd kanaal. Ontvang en verstuur inloggegevens via een wachtwoordmanager, een end-to-end versleuteld bericht of een beveiligde tool voor bestandsoverdracht. Gewone e-mail en onversleutelde chat zijn niet acceptabel.
- Beperk wie ze kent. Alleen de mensen die de integratie daadwerkelijk configureren of beheren, hebben de waarden nodig. Trek de toegang in wanneer mensen het project verlaten.
- Bewaar een hoofdkopie buiten WordPress. De centrale wachtwoordmanager van de dealer is de bron van waarheid. De WordPress-installatie is slechts één gebruiker van de inloggegevens.
- Roteer na blootstelling. Als een inloggegeven lekt, vraag dan onmiddellijk een rotatie aan bij de uitgevende partij, werk de waarde bij in de plugin en voer de Verbindungstest opnieuw uit. Genereer voor het cron-token een nieuwe via het tabblad Import & Limieten. Wijzig voor het webhook-geheim de waarde zowel in de plugin als in het ontvangende systeem.
- Roteer wanneer de toegang verandert. Wanneer een persoon die met inloggegevens heeft gewerkt geen toegang meer nodig heeft (bijvoorbeeld als een medewerker het autobedrijf of het bureau verlaat), roteer dan de betreffende inloggegevens. Het verwijderen van hun WordPress-account maakt de waarden die ze mogelijk eerder hebben gekopieerd niet ongeldig.
- Commit geen inloggegevens. Commit nooit inloggegevens in Git, in een thema, in een mu-plugin of in een ander bestand dat in versiebeheer terechtkomt.
- Let op het veldtype. De plugin geeft het AutoScout24 Client Secret weer als een wachtwoordveld dat opzettelijk niet vooraf wordt ingevuld met de bestaande waarde wanneer de pagina opnieuw wordt geladen. Voer de waarde alleen opnieuw in als u deze daadwerkelijk wilt wijzigen. Het cron-token wordt ook weergegeven met een optie voor Weergeven / Verbergen — laat dit verborgen bij het delen van screenshots.
Inloggegevens afstemmen met integratieproviders
Volg voor elke integratie dit afstemmingspatroon:
- Vraag toegang aan via de dealer. De dealer is de accounthouder. Het verstrekken van gegevens vereist normaal gesproken een aanvraag van de dealer, zelfs wanneer een bureau of partner het technische werk uitvoert.
- Kom overeen over de omgeving. Bevestig met de provider voor welke API Base URL de inloggegevens geldig zijn. Het combineren van waarden uit verschillende omgevingen is de meest voorkomende oorzaak van authenticatiefouten.
- Bevestig de autorisatie-scope. Bevestig voor AutoScout24 dat het Client ID / Client Secret-paar geautoriseerd is voor elke Seller ID die geïmporteerd moet worden. Dealergroepen met meerdere vestigingen (multi-seller) vereisen vaak expliciete autorisatie per Seller ID.
- Ontvang waarden op een veilige manier. Zie de Regels voor veilige omgang hierboven.
- Configureer en test op de WordPress-site. Gebruik API-inloggegevens instellen en de Verbindungstest voordat u geautomatiseerde imports inschakelt.
- Documenteer wie wat beheert. Leg in de interne documentatie van de dealer vast wie de contactpersoon is bij de API-provider, wie de waarden wanneer heeft verstrekt en waar de hoofdkopie van de inloggegevens is opgeslagen.
- Plan voor rotatie. Spreek een proces af voor het roteren van inloggegevens, zowel op regelmatige basis als op aanvraag (na een lek, na personeelswijzigingen, na een groot incident).
Voor de AI Assistant is de beheerde Google Gemini-configuratie in AS24CI\Ai_Config de bron van waarheid. De klant configureert, slaat of roteert geen API-sleutel van een AI-provider in de WordPress-backend; AD Promotion regelt de levering van de beheerde Gemini-koppeling.
Informatie delen voor ondersteuning zonder geheimen te lekken
Wanneer u configuratie- of logbestanden moet delen met AD Promotion of met een ander contactpersoon voor ondersteuning:
- Gebruik de ondersteuningsinformatie zoals beschreven in Support Information Checklist.
- Maskeer geheimen voordat u ze deelt. Vervang in ieder geval het AutoScout24 Client Secret, het cron-token en het webhook-geheim door
[REDACTED]. - Voor URL's die een
?token=...-queryparameter bevatten, vervangt u het token door[REDACTED]voordat u de URL in een ticket plakt. - Snijd de relevante delen van een screenshot bij of maak ze onleesbaar als ze geheimen zouden onthullen.
- De logmap van de plugin in
wp-content/uploads/as24ci-logs/schrijft het Client Secret niet in platte tekst, maar kan wel URL's en metadata van verzoeken bevatten. Behandel de logmap als vertrouwelijk en controleer fragmenten voordat u ze deelt.
Opslag op de WordPress-site
- Inloggegevens worden opgeslagen als standaard WordPress-opties. Ze kunnen worden gelezen door alle code met database-toegang op dezelfde site (andere plugins, thema's, mu-plugins, processen op serverniveau).
- Database-backups,
wp_options-exports en volledige server-snapshots bevatten daarom de inloggegevens. Pas dezelfde beveiligingsmaatregelen toe als voor elke andere backup die geheimen bevat. - De plugin verzendt geen inloggegevens naar AD Promotion of naar een andere derde partij dan de API-provider waarvoor de inloggegevens bedoeld zijn. De AutoScout24-inloggegevens worden alleen naar de geconfigureerde API Base URL verzonden. AI-prompts gaan naar het beheerde Google Gemini-endpoint dat door AD Promotion is geconfigureerd in
AS24CI\Ai_Config. - Zie voor details over wat de plugin in de database opslaat Data Storage Overview en Database and Storage Reference.
Operationele opmerkingen
- Inloggegevens per omgeving. Gebruik verschillende inloggegevens per omgeving (productie, staging, lokaal). Koppel een staging WordPress-site niet aan productie AutoScout24-inloggegevens, tenzij u dit expliciet met de dealer hebt afgesproken; staging-activiteit kan anders statistieken vervuilen, lead-e-mails triggeren of ongewenste webhook-oproepen genereren.
- Migratie tussen omgevingen. Wanneer u een database kopieert van productie naar staging (of andersom), controleer dan elk veld met inloggegevens op de doelsite. Zie Staging to Live Migration.
- Deinstallatie. Wanneer de plugin wordt gedeïnstalleerd met de optie Gegevens verwijderen bij deinstallatie ingeschakeld, worden de opgeslagen opties — inclusief inloggegevens — uit de database verwijderd. Als de optie is uitgeschakeld, blijven de inloggegevens na deinstallatie in de database staan. Zie Uninstall and Cleanup Behavior.
- Controleer het gedrag in de huidige versie. Specifieke UI-labels, standaardwaarden en exacte opslagsleutels kunnen tussen releases veranderen. Controleer dit gedrag in de huidige plugin-versie voordat u instructies voor klanten publiceert.
Probleemoplossing
| Symptoom | Waarschijnlijke oorzaak | Wat te controleren |
|---|---|---|
| Authenticatie mislukt onmiddellijk na een wijziging van de inloggegevens. | Een reeds bestaand toegangstoken is nog gecached. | Wis de tokencache via Car Market Hub → Tools en voer de Verbindungstest opnieuw uit. |
| Authenticatie mislukt hoewel de waarden "correct lijken". | Onzichtbare spaties, slimme aanhalingstekens of een verwisseld teken (0 vs O, 1 vs l). | Plak elke waarde eerst in een platte-teksteditor, verwijder spaties aan het begin en einde, en plak ze vervolgens in het veld. |
| De plugin meldt dat er geen inloggegevens zijn geconfigureerd. | De waarden zijn ingevoerd maar het formulier is niet verzonden, of een beveiligingsplugin heeft het verzoek geblokkeerd. | Open het relevante tabblad met instellingen opnieuw en controleer of de waarden zijn opgeslagen. Schakel beveiligingsplugins tijdelijk uit als ze het verzenden van beheerdersformulieren verstoren. |
| Cron-endpoint retourneert 403. | Het cron-token in de URL komt niet overeen met het opgeslagen token, of het token is opnieuw gegenereerd. | Kopieer de huidige REST-trigger-URL van het tabblad Import & Limieten naar de cronjob van uw server. Zie Server Cron Setup. |
| Webhook-ontvanger weigert payloads met een ongeldige handtekening. | Het webhook-geheim in de plugin en in de ontvanger komen niet meer overeen. | Kopieer het geheim aan beide kanten opnieuw en verzend opnieuw een testgebeurtenis. Zie Webhook Integration. |
| Een inloggegeven lijkt te zijn gelekt in een logboek of een ticket. | De anonimisering was onvolledig. | Wijzig het inloggegeven onmiddellijk bij de uitgevende partij, werk de plugin bij en test opnieuw. |