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_in ervan, 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 zoals api.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 in AS24CI\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-extensie ssh2 of 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), bijvoorbeeld https://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.crt op Debian/Ubuntu, /etc/pki/tls/certs/ca-bundle.crt op 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.com wanneer 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_PASSWORD en WP_PROXY_BYPASS_HOSTS in wp-config.php. Als uw hostingomgeving een uitgaande proxy afdwingt, configureer deze dan zo dat wp_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:

  1. 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.
  2. 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.
  3. 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.
  4. 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_* in wp-config.php).
  • cURL error 28 ("Operation timed out"). Netwerklatentie of een uitgaande proxy die de verbinding vertraagt. Controleer de bereikbaarheid met curl -v vanaf 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 in AS24CI\Ai_Config is niet ingericht. De hoofdimporter ondervindt hier geen hinder van.

Gerelateerde documenten