Documentatie · Systeemvereisten
API-, netwerk- en SSL-vereisten
Doel
ADP Car Market Hub is in de basis een integratie-plugin: het grootste deel van de runtime communiceert deze met externe HTTPS-endpoints — de AutoScout24 API voor voertuigen en afbeeldingen, het beheerde Google Gemini-endpoint voor optionele AI-contentgeneratie, en (indirect) WordPress.org voor plugin-updates. Dit document specificeert de verwachtingen voor het uitgaande netwerk en TLS die de plugin aan de host stelt, en legt uit hoe u deze kunt valideren voordat u live gaat.
Wanneer u dit document moet gebruiken
Gebruik dit document wanneer u:
- Een firewall, uitgaand beleid (egress policy) of uitgaande proxy configureert voor een hostingomgeving.
- Een API-basis-URL kiest voor de AutoScout24-markt van de dealer (bijv.
.com,.ch,.de, …). - Verbindings- of authenticatiefouten onderzoekt die worden gerapporteerd door de importeur of door Verbindingstest.
- TLS-, DNS- en CA-certificaatconfiguraties valideert op een nieuwe server.
- Controleert met welke externe endpoints de plugin in productie contact zal opnemen.
Overzicht
De plugin maakt uitsluitend gebruik van de standaard HTTP API van WordPress (wp_remote_get / wp_remote_post), die onder de motorkap cURL gebruikt. Hierdoor erft deze de TLS/CA-configuratie van het systeem en eventuele constanten die in wp-config.php zijn ingesteld voor HTTP-transporten en proxy's.
Het netwerkprofiel is:
- Alleen uitgaand. De plugin opent nooit inkomende poorten buiten wat WordPress zelf doet. De cron-trigger wordt blootgesteld via de standaard WordPress REST API, die al draait op de bestaande HTTPS-listener van de site.
- Alleen HTTPS. Alle externe endpoints zijn HTTPS op de standaardpoort 443. Er zijn geen plain-HTTP fallbacks.
- Op tokens gebaseerde authenticatie. De AutoScout24 API maakt gebruik van OAuth 2.0 client-credentials. De plugin vraagt een toegangstoken aan bij de geconfigureerde token-URL, slaat dit op in een transient tot kort voor de
expires_in, en verzendt dit als een bearer-token bij volgende verzoeken. - Geen persistente sockets. Elk verzoek is een afzonderlijke WordPress HTTP API-aanroep met een time-out van 30 seconden voor tokenverzoeken; het downloaden van afbeeldingen maakt gebruik van de standaard download-time-outs van WordPress.
Vereiste uitgaande endpoints
De host moet uitgaand HTTPS (TCP/443) toestaan naar de volgende bestemmingen.
Verplicht
- AutoScout24 API-basis-URL — geconfigureerd in Instellingen → API-basis-URL, bijvoorbeeld
https://api.autoscout24.com(andere markten gebruiken de landspecifieke host zoalsapi.autoscout24.ch,api.autoscout24.de, enz.). Wordt gebruikt voor OAuth-tokens, het ophalen van advertenties en het ontdekken van afbeeldings-URL's. - AutoScout24 token-endpoint — standaard
<base URL>/public/v1/clients/oauth/token. Een aparte optie Token-URL is beschikbaar wanneer het OAuth-endpoint zich op een andere host bevindt dan de API-basis. - AutoScout24 afbeeldingenhosts — de advertentie-payloads retourneren absolute afbeeldings-URL's die rechtstreeks in de WordPress mediabibliotheek worden gedownload. Deze hostnamen variëren per markt en kunnen in de loop van de tijd veranderen, dus het firewallbeleid moet AutoScout24 afbeeldings-CDN's als een klasse toestaan in plaats van één specifieke hostnaam vast te pinnen.
Optioneel
https://generativelanguage.googleapis.com— vereist wanneer de AI Assistant is ingeschakeld. Wordt gebruikt om het beheerde Google Gemini-endpoint aan te roepen dat is geconfigureerd inAS24CI\Ai_Config.
Aanbevolen
https://api.wordpress.org— voor controles op updates van de WordPress-core, het thema en de plugin.- De eigen site van de plugin (wanneer aangeroepen door een externe cron) moet bereikbaar zijn vanaf de scheduler die deze triggert.
API-basis-URL en token-URL
De plugin maakt de API-basis-URL en token-URL volledig configureerbaar, zodat elke AutoScout24-markt en elke toekomstige OAuth-hostwijziging kan worden ondersteund zonder een code-update.
- API-basis-URL (
as24ci_base_url). Verplicht. Moet het schema + host zijn (geen slash aan het einde), bijvoorbeeldhttps://api.autoscout24.ch. De plugin verwijdert slashes aan het einde en weigert aanroepen te doen als dit veld leeg is. - Token-URL (
as24ci_token_url). Optioneel. Indien leeg, leidt de plugin deze af als<base URL>/public/v1/clients/oauth/token. Stel dit alleen expliciet in als AutoScout24 een andere OAuth-host voor uw account heeft verstrekt. - Token-doelgroep (audience) (
as24ci_token_audience). Optioneel. Indien leeg, leidt de plugin de doelgroep af van het schema + host van de basis-URL. - Client ID en Client Secret — vereiste inloggegevens verstrekt door AutoScout24.
- Seller ID('s) — door komma's gescheiden lijst van dealer-ID's.
Na het opslaan voert de actie Tabblad Gereedschap → Verbindungstest een echte OAuth- en advertentie-ophaling uit en rapporteert een duidelijke fout als een van de bovenstaande gegevens onjuist is.
SSL-chain en TLS
- Certificaten. De host moet de certificaatketens vertrouwen die door AutoScout24 worden aangeboden (en door het beheerde Google Gemini-endpoint wanneer AI-functies zijn ingeschakeld). Op moderne Linux-distributies is dit standaard het geval; op langlopende containers of air-gapped images moet de CA-bundel (
/etc/ssl/certs/ca-certificates.crtop Debian/Ubuntu,/etc/pki/tls/certs/ca-bundle.crtop systemen uit de RHEL-familie) up-to-date worden gehouden. - TLS-versies. De plugin maakt gebruik van de OpenSSL/cURL-stack van het systeem, die op ondersteunde PHP 8.1+-omgevingen standaard onderhandelt over TLS 1.2 of 1.3. AutoScout24 verwacht moderne TLS; sites die zijn vastgepind op oudere versies zullen mislukken met handshake-fouten.
- Geen uitzonderingen voor zelfondertekende certificaten. De plugin schakelt certificaatverificatie niet uit. Uitgaande proxy's die TLS-interceptie uitvoeren, moeten hun eigen root-CA in de trust store van het systeem installeren; anders mislukt elk verzoek met een certificaatfout.
- Inkomende TLS. Een geldig openbaar certificaat is ook vereist op de WordPress-site zelf, zowel voor de algemene WordPress-beveiliging als om ervoor te zorgen dat externe schedulers het cron REST-endpoint kunnen aanroepen zonder certificaatwaarschuwingen.
DNS, firewalls en proxy's
- DNS. Het PHP-proces moet de AutoScout24-hostnamen kunnen resolven (en
generativelanguage.googleapis.comwanneer AI-functies zijn ingeschakeld). Zorg er op beveiligde servers met split-horizon of gefilterde DNS voor dat de uitgaande bestemmingen van de plugin resolven vanaf het applicatienetwerk, en niet alleen vanaf het werkstation van de beheerder. - Uitgaande firewall. Sta TCP/443 toe naar de hierboven vermelde bestemmingen. Als de firewall een expliciete whitelist van fully qualified domain names (FQDN's) afdwingt, sta dan ten minste de geconfigureerde AutoScout24 API-host toe, plus de AutoScout24 afbeeldings-CDN-hostnamen die in API-reacties te zien zijn.
- HTTP-proxy's. WordPress respecteert de standaard constanten
WP_PROXY_HOST,WP_PROXY_PORT,WP_PROXY_USERNAME,WP_PROXY_PASSWORDenWP_PROXY_BYPASS_HOSTSinwp-config.php. Als uw hostingomgeving een uitgaande proxy dwingt, configureer deze dan zo datwp_remote_*-aanroepen erdoorheen gaan. - Egress IP-pinning. Sommige zakelijke AutoScout24-accounts vereisen mogelijk dat de dealer de uitgaande IP-adressen (egress IP's) doorgeeft die de plugin zal gebruiken. Verifieer dit bij uw AutoScout24-accountmanager en reserveer indien nodig een stabiel uitgaand IP-adres.
- WAF / reverse proxy aan de WordPress-zijde. Zorg ervoor dat de WAF de
Authorization-header op het cron REST-endpoint niet verwijdert of wijzigt, en/wp-json/as24ci/v1/*-reacties niet cachet.
Verbinding testen
De plugin bevat verschillende ingebouwde tools om het netwerk en het API-pad van begin tot eind te verifiëren. Gebruik ze in deze volgorde:
- Tabblad Gereedschap → Verbindungstest. Haalt een OAuth-token op van de geconfigureerde token-URL en roept vervolgens het advertenties-endpoint aan. Een succesvolle reactie bevestigt inloggegevens, basis-URL, doelgroep, DNS, TLS en uitgaande firewall in één stap. Fouten retourneren voor mensen leesbare berichten zoals "Missing API Base URL", "Token request failed" of specifieke HTTP-foutcodes.
- Tabblad Systeem & Hulp / Status. Toont de geconfigureerde basis-URL, tijdstempels van de laatste uitvoering, cron-modus en de status van optionele integraties. Handig als centraal dashboard voor en na implementatiewijzigingen.
- Tabblad Gereedschap → Token-cache wissen. Maakt het gecachte OAuth-token ongeldig, zodat de volgende aanroep een nieuw token ophaalt. Gebruik dit onmiddellijk na het roteren van client-inloggegevens of het wijzigen van de token-URL.
- Tabblad Logboeken. Wanneer de Verbindungstest mislukt, wordt de onderliggende fout (bijv. cURL-fout 6 "Could not resolve host", fout 28 "Operation timed out", HTTP 401 van het token-endpoint) vastgelegd met voldoende context om te wijzen op DNS-, firewall-, TLS- of inloggegevensproblemen.
Voor een diepere validatie via de command-line zijn de volgende commando's, uitgevoerd vanaf de webserver zelf, meestal doorslaggevend:
- DNS:
getent hosts api.autoscout24.com(of de geconfigureerde host). - Bereikbaarheid en TLS-keten:
curl -v https://api.autoscout24.com/moet de TLS-handshake voltooien zonder certificaatfouten. - Token-endpoint:
curl -v -X POST -d "grant_type=client_credentials" https://<your-token-url>moet een HTTP 4xx retourneren met een gestructureerde foutmelding, wat bevestigt dat de URL bereikbaar is, zelfs zonder inloggegevens.
Probleemoplossing
- "Missing API Base URL". Configureer
Settings → API Base URL(bijv.https://api.autoscout24.ch) en sla op voordat u het opnieuw probeert. - "Missing API credentials (Client ID/Secret)". Plak de inloggegevens die door AutoScout24 zijn verstrekt en sla op.
- "Token request failed" met HTTP 401/403. Inloggegevens zijn onjuist, verlopen, of de token-URL/doelgroep komt niet overeen met waar AutoScout24 de inloggegevens voor heeft uitgegeven. Verifieer dit in het AutoScout24 partnerportaal.
- "Token request failed" met HTTP 5xx. Tijdelijk probleem aan de zijde van AutoScout24. Probeer het na een paar minuten opnieuw; de importeur herstelt zich automatisch bij de volgende cron-run.
- cURL-fout 6 ("Could not resolve host"). DNS is defect op de webserver. Controleer
/etc/resolv.conf, de DNS-service van de hostingprovider en eventuele split-horizon-configuraties. - cURL-fout 7 ("Failed to connect"). De uitgaande firewall blokkeert TCP/443 naar de bestemming, of een upstream proxy is vereist (configureer
WP_PROXY_*inwp-config.php). - cURL-fout 28 ("Operation timed out"). Netwerklatentie of een uitgaande proxy die de verbinding vertraagt. Verifieer de bereikbaarheid met
curl -vvanaf de webserver zelf. - cURL-fout 60 ("SSL certificate problem"). De CA-bundel van het systeem is verouderd of een onderscheppende proxy presenteert een niet-vertrouwd certificaat. Werk
ca-certificates(of equivalent) bij en installeer de zakelijke root-CA in de trust store van het systeem. - Afbeeldingen worden niet gedownload, hoewel advertenties wel werken. Afbeeldings-URL's kunnen zich op andere AutoScout24-hosts bevinden; verbreed de uitgaande whitelist om de AutoScout24 afbeeldings-CDN's te dekken.
- Externe cron-aanroepen retourneren 404 voor
/wp-json/as24ci/v1/cron-import. WordPress permalinks moeten zijn ingeschakeld (elke instelling behalve "Eenvoudig"). Sla de Permalinks-pagina opnieuw op en probeer het opnieuw. - Externe cron-aanroepen retourneren 403 "Invalid or missing token". De header of queryparameter komt niet overeen met het opgeslagen token. Genereer het token opnieuw op het tabblad Import & Limieten en werk de scheduler bij.
- AI-aanroepen mislukken terwijl AutoScout24-aanroepen slagen. De beheerde Gemini-host (
generativelanguage.googleapis.com) is niet toegestaan door de uitgaande firewall, of de beheerde Gemini-configuratie inAS24CI\Ai_Configis niet ingericht. De hoofdimporteur wordt hierdoor niet beïnvloed.