Dokumentation · Systemanforderungen
API-, Netzwerk- und SSL-Anforderungen
Zweck
ADP Car Market Hub ist im Wesentlichen ein Integrations-Plugin: Es verbringt den grössten Teil seiner Laufzeit damit, mit entfernten HTTPS-Endpunkten zu kommunizieren – der AutoScout24-API für Fahrzeuge und Bilder, dem verwalteten Google Gemini-Endpunkt für die optionale KI-Inhaltserstellung und (indirekt) WordPress.org für Plugin-Updates. Dieses Dokument spezifiziert die ausgehenden Netzwerk- und TLS-Erwartungen, die das Plugin an den Host stellt, und erklärt, wie diese vor dem Go-Live validiert werden können.
Wann dieses Dokument zu verwenden ist
Verwenden Sie dieses Dokument, wenn Sie:
- Eine Firewall, eine Egress-Richtlinie oder einen ausgehenden Proxy für eine Hosting-Umgebung konfigurieren.
- Eine API-Basis-URL für den AutoScout24-Markt der Garage auswählen (z. B.
.com,.ch,.de, …). - Verbindungs- oder Authentifizierungsfehler untersuchen, die vom Importer oder durch Verbindungstest gemeldet werden.
- Die TLS-, DNS- und CA-Zertifikatskonfiguration auf einem neuen Server validieren.
- Überprüfen, welche Drittanbieter-Endpunkte das Plugin in der Produktionsumgebung kontaktieren wird.
Übersicht
Das Plugin verwendet ausschliesslich die Standard-HTTP-API von WordPress (wp_remote_get / wp_remote_post), die im Hintergrund cURL nutzt. Daher erbt es die TLS/CA-Konfiguration des Systems sowie alle in wp-config.php für HTTP-Transporte und Proxys definierten Konstanten.
Das Netzwerkprofil lautet:
- Nur ausgehend. Das Plugin öffnet niemals eingehende Ports, die über das hinausgehen, was WordPress selbst tut. Der Cron-Trigger wird über die standardmässige WordPress-REST-API bereitgestellt, die bereits auf dem vorhandenen HTTPS-Listener der Website läuft.
- Nur HTTPS. Alle Drittanbieter-Endpunkte verwenden HTTPS auf dem Standardport 443. Es gibt keine Fallbacks auf unverschlüsseltes HTTP.
- Token-basierte Authentifizierung. Die AutoScout24-API verwendet OAuth 2.0 Client-Credentials. Das Plugin fordert ein Access-Token von der konfigurierten Token-URL an, speichert es bis kurz vor seinem
expires_inin einem Transient zwischen und sendet es bei nachfolgenden Anfragen als Bearer-Token mit. - Keine persistenten Sockets. Jede Anfrage ist ein separater WordPress-HTTP-API-Aufruf mit einem Timeout von 30 Sekunden für Token-Anfragen; Bild-Downloads nutzen die standardmässigen Download-Timeouts von WordPress.
Erforderliche ausgehende Endpunkte
Der Host muss ausgehende HTTPS-Verbindungen (TCP/443) zu den folgenden Zielen zulassen.
Zwingend erforderlich
- AutoScout24-API-Basis-URL – konfiguriert unter Einstellungen → API-Basis-URL, zum Beispiel
https://api.autoscout24.com(andere Märkte verwenden den länderspezifischen Host wieapi.autoscout24.ch,api.autoscout24.deusw.). Wird für OAuth-Token, den Abruf von Fahrzeuglisten und die Ermittlung von Bild-URLs verwendet. - AutoScout24-Token-Endpunkt – standardmässig
<base URL>/public/v1/clients/oauth/token. Eine separate Option Token-URL ist verfügbar, wenn sich der OAuth-Endpunkt auf einem anderen Host als die API-Basis befindet. - AutoScout24-Bild-Hosts – die Fahrzeugdaten liefern absolute Bild-URLs, die direkt in die WordPress-Medienbibliothek heruntergeladen werden. Diese Hostnamen variieren je nach Markt und können sich im Laufe der Zeit ändern. Daher sollte die Firewall-Richtlinie AutoScout24-Bild-CDNs als Klasse zulassen, anstatt einen einzelnen Hostnamen festzuschreiben.
Optional
https://generativelanguage.googleapis.com– erforderlich, wenn der AI Assistant aktiviert ist. Wird verwendet, um den inAS24CI\Ai_Configkonfigurierten verwalteten Google Gemini-Endpunkt aufzurufen.- carcuro-API-Host – erforderlich, wenn die carcuro-Quelle verwendet wird. Ausgehendes HTTPS zum carcuro-Endpunkt, um den Fahrzeugbestand der Garage mit dem konfigurierten Firmen-Token abzurufen.
- Automatische Feed-Quelle – erforderlich, wenn ein automatischer Feed verwendet wird. Je nach konfiguriertem Feed-Speicherort ist dies ausgehendes HTTPS (
https://-URLs und Cloud-Freigabelinks wie Dropbox/Google Drive/OneDrive/Google Sheets) auf TCP/443, oder ausgehendes FTP / FTPS (normalerweise TCP/21 plus Datenports im Passivmodus) oder SFTP (TCP/22) zum Feed-Server. Ein Feed über einen Serverordner / absoluten Dateipfad benötigt keinen ausgehenden Netzwerkzugriff. SFTP verwendet die PHP-Erweiterungssh2oder einen SFTP-Stream-Wrapper. - E-Mail-Importquelle – erforderlich, wenn die E-Mail-Importquelle verwendet wird. Ausgehendes IMAP zum konfigurierten Mailbox-Host (normalerweise TCP/993 für IMAPS oder TCP/143 mit STARTTLS). Erfordert die PHP-Erweiterung
imap.
Diese quellspezifischen Ziele sind nur relevant, wenn die entsprechende Universal Import-Quelle konfiguriert ist; eine Website, die ausschliesslich von AutoScout24 importiert, benötigt keine davon.
Empfohlen
https://api.wordpress.org– für Updates von WordPress-Core, Themes und Plugins.- Die eigene Website des Plugins (wenn sie von einem externen Cron aufgerufen wird) muss vom Scheduler, der sie auslöst, erreichbar sein.
API-Basis-URL und Token-URL
Das Plugin macht die API-Basis-URL und die Token-URL vollständig konfigurierbar, sodass jeder AutoScout24-Markt und jede zukünftige Änderung des OAuth-Hosts ohne Code-Update unterstützt werden kann. Die AutoScout24-Verbindung – und die Zugangsdaten jeder anderen Datenquelle – wird neu auf der zentralen Seite Universal Import (as24ci-universal-import) eingegeben; in älteren Versionen befand sich dies unter Einstellungen. Das Client Secret und andere Quell-Geheimnisse werden im Ruhezustand verschlüsselt gespeichert. Siehe die Referenz zu Universal Import.
- API-Basis-URL (
as24ci_base_url). Erforderlich. Sollte das Schema + Host sein (kein abschliessender Schrägstrich), zum Beispielhttps://api.autoscout24.ch. Das Plugin entfernt abschliessende Schrägstriche und verweigert Aufrufe, wenn dieses Feld leer ist. - Token-URL (
as24ci_token_url). Optional. Wenn leer, leitet das Plugin diese als<base URL>/public/v1/clients/oauth/tokenab. Legen Sie sie nur dann explizit fest, wenn AutoScout24 einen anderen OAuth-Host für Ihr Konto bereitgestellt hat. - Token-Audience (
as24ci_token_audience). Optional. Wenn leer, leitet das Plugin die Audience aus dem Schema + Host der Basis-URL ab. - Client ID und Client Secret – erforderliche Zugangsdaten, die von AutoScout24 bereitgestellt werden.
- Seller ID(s) – kommagetrennte Liste von Garagen-IDs.
Nach dem Speichern führt die Aktion Tools-Tab → Verbindungstest einen echten OAuth- und Listenabruf durch und meldet einen klaren Fehler, falls eine der obigen Angaben falsch ist.
SSL-Kette und TLS
- Zertifikate. Der Host muss den Zertifikatsketten vertrauen, die von AutoScout24 (und vom verwalteten Google Gemini-Endpunkt, wenn KI-Funktionen aktiviert sind) bereitgestellt werden. Auf modernen Linux-Distributionen ist dies standardmässig der Fall; auf lang laufenden Containern oder isolierten Images muss das CA-Bundle (
/etc/ssl/certs/ca-certificates.crtauf Debian/Ubuntu,/etc/pki/tls/certs/ca-bundle.crtauf Systemen der RHEL-Familie) auf dem neuesten Stand gehalten werden. - TLS-Versionen. Das Plugin verwendet den OpenSSL/cURL-Stack des Systems, der in unterstützten PHP 8.1+-Umgebungen standardmässig TLS 1.2 oder 1.3 aushandelt. AutoScout24 erwartet modernes TLS; Websites, die auf ältere Versionen fixiert sind, schlagen mit Handshake-Fehlern fehl.
- Keine Ausnahmen für selbstsignierte Zertifikate. Das Plugin deaktiviert die Zertifikatsprüfung nicht. Ausgehende Proxys, die eine TLS-Entschlüsselung durchführen, müssen ihr eigenes Root-CA im Vertrauensspeicher des Systems installieren; andernfalls schlägt jede Anfrage mit einem Zertifikatsfehler fehl.
- Eingehendes TLS. Ein gültiges öffentliches Zertifikat ist auch auf der WordPress-Website selbst erforderlich, sowohl für die allgemeine Sicherheit von WordPress als auch damit externe Scheduler den Cron-REST-Endpunkt ohne Zertifikatswarnungen aufrufen können.
DNS, Firewalls und Proxys
- DNS. Der PHP-Prozess muss die AutoScout24-Hostnamen (und
generativelanguage.googleapis.com, wenn KI-Funktionen aktiviert sind) auflösen können. Stellen Sie auf gehärteten Servern mit Split-Horizon- oder gefiltertem DNS sicher, dass die ausgehenden Ziele des Plugins aus dem Anwendungsnetzwerk aufgelöst werden, nicht nur von der Workstation des Administrators. - Ausgehende Firewall. Lassen Sie TCP/443 zu den oben aufgeführten Zielen zu. Wenn die Firewall eine explizite Whitelist von vollqualifizierten Domainnamen (FQDN) erzwingt, lassen Sie mindestens den von Ihnen konfigurierten AutoScout24-API-Host sowie die in den API-Antworten vorkommenden AutoScout24-Bild-CDN-Hostnamen zu.
- HTTP-Proxys. WordPress berücksichtigt die standardmässigen Konstanten
WP_PROXY_HOST,WP_PROXY_PORT,WP_PROXY_USERNAME,WP_PROXY_PASSWORDundWP_PROXY_BYPASS_HOSTSinwp-config.php. Wenn Ihre Hosting-Umgebung einen ausgehenden Proxy erzwingt, konfigurieren Sie diese, damit die Aufrufe vonwp_remote_*darüber geleitet werden. - Egress-IP-Bindung. Einige Unternehmenskonten von AutoScout24 erfordern möglicherweise, dass die Garage die ausgehenden IPs angibt, die das Plugin verwenden wird. Klären Sie dies mit Ihrem AutoScout24-Kundenberater ab und reservieren Sie bei Bedarf eine feste ausgehende IP.
- WAF / Reverse Proxy auf der WordPress-Seite. Stellen Sie sicher, dass die WAF den Header
Authorizationauf dem Cron-REST-Endpunkt nicht entfernt oder verändert und/wp-json/as24ci/v1/*-Antworten nicht zwischenspeichert.
Verbindungstests
Das Plugin enthält mehrere integrierte Tools, um das Netzwerk und den API-Pfad durchgängig zu überprüfen. Verwenden Sie diese in folgender Reihenfolge:
- Tools-Tab → Verbindungstest. Ruft ein OAuth-Token von der konfigurierten Token-URL ab und ruft anschliessend den Listen-Endpunkt auf. Eine erfolgreiche Antwort bestätigt Zugangsdaten, Basis-URL, Audience, DNS, TLS und die ausgehende Firewall in einem Schritt. Fehler geben verständliche Meldungen wie "Fehlende API-Basis-URL", "Token-Anfrage fehlgeschlagen" oder spezifische HTTP-Fehlercodes zurück.
- System & Hilfe / Health-Tab. Zeigt die konfigurierte Basis-URL, die Zeitstempel der letzten Ausführung, den Cron-Modus und den Status optionaler Integrationen an. Nützlich als zentrales Dashboard vor und nach Bereitstellungsänderungen.
- Tools-Tab → Token-Cache leeren. Macht das zwischengespeicherte OAuth-Token ungültig, sodass beim nächsten Aufruf ein neues angefordert wird. Verwenden Sie dies sofort nach dem Ändern von Client-Zugangsdaten oder der Token-URL.
- Logs-Tab. Wenn der Verbindungstest fehlschlägt, wird der zugrunde liegende Fehler (z. B. cURL-Fehler 6 "Host konnte nicht aufgelöst werden", Fehler 28 "Zeitüberschreitung bei der Operation", HTTP 401 vom Token-Endpunkt) mit ausreichend Kontext aufgezeichnet, um auf DNS-, Firewall-, TLS- oder Zugangsdatenprobleme hinzuweisen.
Für eine tiefere Validierung über die Befehlszeile sind die folgenden Befehle, die direkt auf dem Webserver selbst ausgeführt werden, meist aufschlussreich:
- DNS:
getent hosts api.autoscout24.com(oder der konfigurierte Host). - Erreichbarkeit und TLS-Kette:
curl -v https://api.autoscout24.com/sollte den TLS-Handshake ohne Zertifikatsfehler abschliessen. - Token-Endpunkt:
curl -v -X POST -d "grant_type=client_credentials" https://<your-token-url>sollte ein HTTP 4xx mit einem strukturierten Fehlerkörper zurückgeben, was bestätigt, dass die URL auch ohne Zugangsdaten erreichbar ist.
Fehlerbehebung
- "Missing API Base URL". Konfigurieren Sie
Settings → API Base URL(z. B.https://api.autoscout24.ch) und speichern Sie, bevor Sie es erneut versuchen. - "Missing API credentials (Client ID/Secret)". Fügen Sie die von AutoScout24 bereitgestellten Zugangsdaten ein und speichern Sie.
- "Token request failed" mit HTTP 401/403. Die Zugangsdaten sind falsch, abgelaufen oder die Token-URL/Audience stimmt nicht mit dem überein, wofür AutoScout24 die Zugangsdaten ausgestellt hat. Überprüfen Sie dies im Partnerportal von AutoScout24.
- "Token request failed" mit HTTP 5xx. Vorübergehendes Problem aufseiten von AutoScout24. Versuchen Sie es nach einigen Minuten erneut; der Importer stellt sich beim nächsten Cron-Lauf automatisch wieder her.
- cURL-Fehler 6 ("Could not resolve host"). DNS auf dem Webserver ist fehlerhaft. Überprüfen Sie
/etc/resolv.conf, den DNS-Dienst des Hosting-Anbieters und allfällige Split-Horizon-Konfigurationen. - cURL-Fehler 7 ("Failed to connect"). Die Outbound-Firewall blockiert TCP/443 zum Ziel, oder es ist ein Upstream-Proxy erforderlich (konfigurieren Sie
WP_PROXY_*inwp-config.php). - cURL-Fehler 28 ("Operation timed out"). Entweder Netzwerklatenz oder ein Outbound-Proxy, der die Verbindung verzögert. Überprüfen Sie die Erreichbarkeit mit
curl -vdirekt vom Webserver aus. - cURL-Fehler 60 ("SSL certificate problem"). Das CA-Bundle des Systems ist veraltet oder ein abfangender Proxy präsentiert ein nicht vertrauenswürdiges Zertifikat. Aktualisieren Sie
ca-certificates(oder ein Äquivalent) und installieren Sie die Corporate-Root-CA im Trust-Store des Systems. - Bilder können nicht heruntergeladen werden, obwohl die Inserate funktionieren. Bild-URLs können auf anderen AutoScout24-Hosts liegen; erweitern Sie die Outbound-Allowlist, um die AutoScout24-Bild-CDNs abzudecken.
- Externe Cron-Aufrufe geben 404 für
/wp-json/as24ci/v1/cron-importzurück. Die WordPress-Permalinks müssen aktiviert sein (jede Einstellung ausser "Einfach"). Speichern Sie die Permalink-Seite erneut ab und versuchen Sie es nochmals. - Externe Cron-Aufrufe geben 403 "Invalid or missing token" zurück. Der Header oder Query-Parameter stimmt nicht mit dem gespeicherten Token überein. Generieren Sie das Token im Tab "Import & Limits" neu und aktualisieren Sie den Scheduler.
- KI-Aufrufe schlagen fehl, während AutoScout24-Aufrufe erfolgreich sind. Der verwaltete Gemini-Host (
generativelanguage.googleapis.com) ist in der Outbound-Firewall nicht freigegeben, oder die verwaltete Gemini-Konfiguration inAS24CI\Ai_Configwurde nicht bereitgestellt. Der Haupt-Importer ist davon nicht betroffen.