Documentatie · Systeemvereisten
API-, netwerk- en SSL-vereisten
Doel
ADP Car Market Hub is in de basis een integratieplugin: hij besteedt het grootste deel van zijn runtime aan het communiceren 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 uitgaande netwerk- en TLS-verwachtingen die de plugin aan de host stelt, en legt uit hoe u deze kunt valideren voordat u live gaat.
Wanneer dit document te gebruiken
Gebruik dit document wanneer u:
- Een firewall, uitgaand beleid (egress policy) of uitgaande proxy voor een hostingomgeving configureert.
- 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 importer of door Verbindungstest.
- TLS-, DNS- en CA-certificaatconfiguraties op een nieuwe server valideert.
- 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 hij 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 fallbacks naar gewone HTTP.
- 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_inervan, en verzendt het 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-afbeeldingshosts — de payloads van de advertenties retourneren absolute afbeeldings-URL's die rechtstreeks naar 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.- carcuro-API-host — vereist wanneer de carcuro-bron wordt gebruikt. Uitgaand HTTPS naar het carcuro-endpoint om de voorraad van de dealer op te halen met het geconfigureerde bedrijfstoken.
- Automatische feedbron — vereist wanneer een automatische feed wordt gebruikt. Afhankelijk van de geconfigureerde feedlocatie is dit uitgaand HTTPS (
https://-URL's en cloud-deellinks zoals Dropbox/Google Drive/OneDrive/Google Sheets) op TCP/443, of uitgaand FTP / FTPS (meestal TCP/21 plus datapoorten in passieve modus) of SFTP (TCP/22) naar de feedserver. Een feed via een servermap / absoluut bestandspad heeft geen uitgaande netwerktoegang nodig. SFTP maakt gebruik van de PHP-extensiessh2of een SFTP-streamwrapper. - E-mailimportbron — vereist wanneer de e-mailimportbron wordt gebruikt. Uitgaand IMAP naar de geconfigureerde mailboxhost (meestal TCP/993 for IMAPS, of TCP/143 met STARTTLS). Vereist de PHP-extensie
imap.
Deze bestemmingen per bron zijn alleen relevant wanneer de bijbehorende Universal Import-bron is geconfigureerd; een site die uitsluitend importeert van AutoScout24 heeft geen van deze nodig.
Aanbevolen
https://api.wordpress.org— voor updates van de WordPress-core, het thema en de plugin.- De eigen site van de plugin (wanneer deze wordt 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 wijziging van de OAuth-host kan worden ondersteund zonder een code-update. De AutoScout24-verbinding — en de inloggegevens van elke andere gegevensbron — wordt nu ingevoerd op de centrale pagina Universal Import (as24ci-universal-import); in eerdere versies stond dit onder Instellingen. Het Client Secret en andere geheimen van bronnen worden versleuteld opgeslagen (encrypted at rest). Zie de Beheerdersreferentie voor Import & Limieten.
- API-basis-URL (
as24ci_base_url). Verplicht. Moet het schema + host zijn (geen schuine streep aan het einde), bijvoorbeeldhttps://api.autoscout24.ch. De plugin verwijdert schuine strepen 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 deze 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 uit 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 Tools → 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 worden aangeboden door AutoScout24 (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 truststore 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 beveiliging van WordPress 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 hostnamen van AutoScout24 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 worden geresolved vanaf het applicatienetwerk, en niet alleen vanaf het werkstation van de beheerder. - Uitgaande firewall. Sta TCP/443 toe naar de hierboven genoemde 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 standaardconstanten
WP_PROXY_HOST,WP_PROXY_PORT,WP_PROXY_USERNAME,WP_PROXY_PASSWORDenWP_PROXY_BYPASS_HOSTSinwp-config.php. Als uw hostingomgeving een uitgaande proxy afdwingt, configureer deze dan zo datwp_remote_*-aanroepen hier doorheen gaan. - Egress IP-vastlegging. Sommige zakelijke AutoScout24-accounts vereisen mogelijk dat de dealer de uitgaande IP-adressen (egress IP's) doorgeeft die de plugin zal gebruiken. Verifieer dit met 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 geen/wp-json/as24ci/v1/*-reacties 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 Tools → 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 Tools → 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 Logs. 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/zou de TLS-handshake moeten voltooien zonder certificaatfouten. - Token-endpoint:
curl -v -X POST -d "grant_type=client_credentials" https://<your-token-url>zou een HTTP 4xx moeten retourneren met een gestructureerde foutmelding in de body, 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 dit op voordat u het opnieuw probeert. - "Missing API credentials (Client ID/Secret)". Plak de inloggegevens die zijn verstrekt door AutoScout24 en sla deze op.
- "Token request failed" met HTTP 401/403. De inloggegevens zijn onjuist, verlopen of de token-URL/audience komt niet overeen met waarvoor AutoScout24 de inloggegevens heeft uitgegeven. Controleer dit in het partnerportaal van AutoScout24.
- "Token request failed" met HTTP 5xx. Tijdelijk probleem aan de zijde van AutoScout24. Probeer het na een paar minuten opnieuw; de importer herstelt zich automatisch bij de volgende cron-run.
- cURL error 6 ("Could not resolve host"). DNS werkt niet op de webserver. Controleer
/etc/resolv.conf, de DNS-dienst van de hostingprovider en eventuele split-horizon-configuraties. - cURL error 7 ("Failed to connect"). De uitgaande firewall blokkeert TCP/443 naar de bestemming, of er is een upstream proxy vereist (configureer
WP_PROXY_*inwp-config.php). - cURL error 28 ("Operation timed out"). Netwerklatentie of een uitgaande proxy die de verbinding vertraagt. Controleer de bereikbaarheid met
curl -vvanaf de webserver zelf. - cURL error 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 corporate root-CA in de trust store van het systeem. - Afbeeldingen kunnen niet worden gedownload, hoewel de advertenties wel werken. Afbeeldings-URL's kunnen op andere AutoScout24-hosts staan; breid de uitgaande whitelist uit om de AutoScout24-afbeeldings-CDN's te dekken.
- Externe cron-aanroepen retourneren 404 voor
/wp-json/as24ci/v1/cron-import. WordPress-permalinks moeten ingeschakeld zijn (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 in het tabblad Import & Limieten en werk de planner 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 hoofdimporter ondervindt hier geen hinder van.