Dokumentation · Systemanforderungen
API-, Netzwerk- und SSL-Anforderungen
Zweck
ADP Car Market Hub ist im Grunde 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-Inhaltsgenerierung 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 Verbindung testen 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 auf cURL basiert. Daher erbt es die TLS/CA-Konfiguration des Systems sowie alle in wp-config.php festgelegten Konstanten für HTTP-Transporte und Proxys.
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 dieses 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 einzelner 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.
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 Inseraten 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 Inseratsdaten liefern absolute Bild-URLs, die direkt in die WordPress-Mediathek 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 fest vorzuschreiben.
Optional
https://generativelanguage.googleapis.com– erforderlich, wenn der AI Assistant aktiviert ist. Wird verwendet, um den inAS24CI\Ai_Configkonfigurierten verwalteten Google Gemini-Endpunkt aufzurufen.- mobile.de API-Host – erforderlich, wenn die mobile.de-Quelle verwendet wird. Ausgehendes HTTPS zum mobile.de-Endpunkt, um den Fahrzeugbestand der Garage mit den konfigurierten Zugangsdaten abzurufen.
- 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 (typischerweise 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 Postfach-Host (typischerweise TCP/993 für IMAPS oder TCP/143 mit STARTTLS). Erfordert die PHP-Erweiterung
imap.
Diese quellspezifischen Ziele sind nur relevant, wenn die entsprechende Connections-Quelle konfiguriert ist; eine Website, die ausschliesslich von AutoScout24 importiert, benötigt keine davon.
Empfohlen
https://api.wordpress.org– für Update-Prüfungen von WordPress Core, Theme 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 Connections (as24ci-universal-import) eingetragen; in früheren Versionen befand sich dies unter Einstellungen. Das Client Secret und andere Quell-Geheimnisse werden im Ruhezustand verschlüsselt gespeichert. Siehe die Connections-Referenz.
- 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 Werkzeuge-Tab → Verbindung testen einen echten OAuth- und Inseratsabruf 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 WordPress-Sicherheit als auch damit externe Scheduler den Cron-REST-Endpunkt ohne Zertifikatswarnungen aufrufen können.
DNS, Firewalls und Proxies
- DNS. Der PHP-Prozess muss die AutoScout24-Hostnamen auflösen (und
generativelanguage.googleapis.com, wenn AI-Funktionen aktiviert sind). Auf gehärteten Servern mit Split-Horizon- oder gefiltertem DNS ist sicherzustellen, dass die ausgehenden Ziele des Plugins aus dem Anwendungsnetzwerk aufgelöst werden, nicht nur von der Workstation des Administrators. - Ausgehende Firewall. Erlauben Sie TCP/443 zu den oben aufgeführten Zielen. Wenn die Firewall eine explizite Allow-List von vollqualifizierten Domainnamen (FQDN) erzwingt, erlauben Sie mindestens den von Ihnen konfigurierten AutoScout24-API-Host sowie die in den API-Antworten vorkommenden AutoScout24-Bild-CDN-Hostnamen.
- HTTP-Proxies. WordPress berücksichtigt die Standard-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 so, dasswp_remote_*-Aufrufe darüber laufen. - Egress-IP-Pinning. Einige geschäftliche AutoScout24-Konten erfordern möglicherweise, dass die Garage die ausgehenden IPs angibt, die das Plugin verwenden wird. Klären Sie dies mit Ihrem AutoScout24-Kundenbetreuer ab und reservieren Sie bei Bedarf eine feste ausgehende IP.
- WAF / Reverse-Proxy auf der WordPress-Seite. Stellen Sie sicher, dass die WAF den
Authorization-Header am Cron-REST-Endpunkt nicht entfernt oder verändert und/wp-json/as24ci/v1/*-Antworten nicht zwischenspeichert.
Verbindungstest
Das Plugin enthält mehrere integrierte Tools zur Überprüfung des Netzwerks und des API-Pfads von Ende zu Ende. Verwenden Sie diese in folgender Reihenfolge:
- Registerkarte Tools → Verbindung testen. Ruft ein OAuth-Token von der konfigurierten Token-URL ab und ruft anschliessend den Listings-Endpunkt auf. Eine erfolgreiche Antwort bestätigt Zugangsdaten, Basis-URL, Audience, DNS, TLS und die ausgehende Firewall in einem einzigen Schritt. Fehler geben lesbare Meldungen wie "Fehlende API-Basis-URL", "Token-Anforderung fehlgeschlagen" oder spezifische HTTP-Fehlercodes zurück.
- Registerkarte System & Hilfe / Status. 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.
- Registerkarte Tools → 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 Rotieren der Client-Zugangsdaten oder dem Ändern der Token-URL.
- Registerkarte Logs. Wenn Verbindung testen fehlschlägt, wird der zugrunde liegende Fehler (z. B. cURL-Fehler 6 "Host konnte nicht aufgelöst werden", Fehler 28 "Zeitüberschreitung 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
- "Fehlende API-Basis-URL". Konfigurieren Sie
Settings → API Base URL(z. B.https://api.autoscout24.ch) und speichern Sie, bevor Sie es erneut versuchen. - "Fehlende API-Zugangsdaten (Client ID/Secret)". Fügen Sie die von AutoScout24 bereitgestellten Zugangsdaten ein und speichern Sie.
- "Token-Anforderung fehlgeschlagen" 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 AutoScout24-Partnerportal.
- "Token-Anforderung fehlgeschlagen" mit HTTP 5xx. Vorübergehendes Problem auf der AutoScout24-Seite. Versuchen Sie es nach einigen Minuten erneut; der Importer erholt sich beim nächsten Cron-Lauf automatisch.
- cURL-Fehler 6 ("Host konnte nicht aufgelöst werden"). 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 ("Verbindung fehlgeschlagen"). Die ausgehende Firewall blockiert TCP/443 zum Ziel, oder es ist ein Upstream-Proxy erforderlich (konfigurieren Sie
WP_PROXY_*inwp-config.php). - cURL-Fehler 28 ("Zeitüberschreitung der Operation"). Entweder Netzwerklatenz oder ein ausgehender Proxy, der die Verbindung verzögert. Überprüfen Sie die Erreichbarkeit mit
curl -vdirekt vom Webserver aus. - cURL-Fehler 60 ("SSL-Zertifikatsproblem"). Das CA-Bundle des Systems ist veraltet oder ein abfangender Proxy präsentiert ein nicht vertrauenswürdiges Zertifikat. Aktualisieren Sie
ca-certificates(oder das Äquivalent) und installieren Sie das Stammzertifikat des Unternehmens im Vertrauensspeicher des Systems. - Bilder werden nicht heruntergeladen, obwohl die Inserate funktionieren. Bild-URLs können auf anderen AutoScout24-Hosts liegen; erweitern Sie die ausgehende Allow-List, 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-Einstellungsseite erneut ab und versuchen Sie es nochmals. - Externe Cron-Aufrufe geben 403 "Ungültiges oder fehlendes Token" zurück. Der Header oder Query-Parameter stimmt nicht mit dem gespeicherten Token überein. Generieren Sie das Token auf der Registerkarte Import & Limits neu und aktualisieren Sie den Scheduler.
- AI-Aufrufe schlagen fehl, während AutoScout24-Aufrufe erfolgreich sind. Der verwaltete Gemini-Host (
generativelanguage.googleapis.com) ist in der ausgehenden Firewall nicht freigegeben, oder die verwaltete Gemini-Konfiguration inAS24CI\Ai_Configwurde nicht bereitgestellt. Der Haupt-Importer ist davon nicht betroffen.