Dokumentation · Systemanforderungen

API-, Netzwerk- und SSL-Anforderungen

Zweck

ADP Car Market Hub ist im Wesentlichen ein Integrations-Plugin: Es verbringt die meiste Zeit 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 über 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 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 unverschlüsselten HTTP-Fallbacks.
  • 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_in in einem Transient zwischen und sendet es bei nachfolgenden Anfragen als Bearer-Token mit.
  • Keine persistenten Sockets. Jede Anfrage ist ein separater HTTP-API-Aufruf von WordPress mit einem Timeout von 30 Sekunden für Token-Anfragen; Bild-Downloads verwenden die standardmässigen Download-Timeouts von WordPress.

Erforderliche ausgehende Endpunkte

Der Host muss ausgehendes HTTPS (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 wie api.autoscout24.ch, api.autoscout24.de usw.). Wird für OAuth-Token, den Abruf von Fahrzeugdaten und das Auffinden von Bild-URLs verwendet.
  • AutoScout24-Token-Endpunkt – standardmässig <base URL>/public/v1/clients/oauth/token. Eine separate Option für die 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 zurück, 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 die Bild-CDNs von AutoScout24 als Klasse zulassen, anstatt einen einzelnen Hostnamen festzuschreiben.

Optional

  • https://generativelanguage.googleapis.com – erforderlich, wenn der AI Assistant aktiviert ist. Wird verwendet, um den in AS24CI\Ai_Config konfigurierten verwalteten Google Gemini-Endpunkt aufzurufen.

Empfohlen

  • https://api.wordpress.org – für Updates des WordPress-Cores, des Themes und der 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.

  • API-Basis-URL (as24ci_base_url). Erforderlich. Sollte das Schema + Host sein (kein abschliessender Schrägstrich), zum Beispiel https://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/token ab. Legen Sie diese 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-Abruf sowie einen Abruf von Fahrzeugdaten 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 Systemen muss das CA-Bundle (/etc/ssl/certs/ca-certificates.crt auf Debian/Ubuntu, /etc/pki/tls/certs/ca-bundle.crt auf 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-Interzeption durchführen, müssen ihre eigene 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 Hostnamen von AutoScout24 (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 können, nicht nur von der Workstation des Administrators.
  • Ausgehende Firewall. Erlauben Sie TCP/443 zu den oben aufgeführten Zielen. Wenn die Firewall eine explizite Whitelist von vollqualifizierten Domainnamen (FQDN) erzwingt, erlauben Sie mindestens den von Ihnen konfigurierten AutoScout24-API-Host sowie die in den API-Antworten vorkommenden Bild-CDN-Hostnamen von AutoScout24.
  • HTTP-Proxys. WordPress berücksichtigt die standardmässigen Konstanten WP_PROXY_HOST, WP_PROXY_PORT, WP_PROXY_USERNAME, WP_PROXY_PASSWORD und WP_PROXY_BYPASS_HOSTS in wp-config.php. Wenn Ihre Hosting-Umgebung einen ausgehenden Proxy erzwingt, konfigurieren Sie diese so, dass die Aufrufe von wp_remote_* darüber laufen.
  • Egress-IP-Pinning. Einige geschäftliche Konten von AutoScout24 erfordern möglicherweise, dass die Garage die ausgehenden IP-Adressen angibt, die das Plugin verwenden wird. Klären Sie dies mit Ihrem AutoScout24-Kundenbetreuer ab und reservieren Sie bei Bedarf eine feste ausgehende IP-Adresse.
  • WAF / Reverse-Proxy auf der WordPress-Seite. Stellen Sie sicher, dass die WAF den Header Authorization am Cron-REST-Endpunkt nicht entfernt oder verändert und keine Antworten von /wp-json/as24ci/v1/* zwischenspeichert.

Verbindungstest

Das Plugin enthält mehrere integrierte Werkzeuge, um das Netzwerk und den API-Pfad durchgängig zu überprüfen. Verwenden Sie diese in folgender Reihenfolge:

  1. Werkzeuge-Tab → Verbindung testen. Ruft ein OAuth-Token von der konfigurierten Token-URL ab und ruft anschliessend den Endpunkt für die Fahrzeugdaten auf. Eine erfolgreiche Antwort bestätigt Zugangsdaten, Basis-URL, Audience, DNS, TLS und die ausgehende Firewall in einem einzigen Schritt. Fehler geben menschenlesbare Meldungen wie „Fehlende API-Basis-URL“, „Token-Anfrage fehlgeschlagen“ oder spezifische HTTP-Fehlercodes zurück.
  2. System & Hilfe / Status-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.
  3. Werkzeuge-Tab → Token-Cache leeren. Ungültig macht das zwischengespeicherte OAuth-Token, 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.
  4. Protokolle-Tab. Wenn Verbindung testen fehlschlägt, wird der zugrunde liegende Fehler (z. B. cURL-Fehler 6 „Could not resolve host“, Fehler 28 „Operation timed out“, 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 vom 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 die Einstellungen, bevor Sie es erneut versuchen.
  • „Fehlende API-Zugangsdaten (Client-ID/Secret)“. Fügen Sie die von AutoScout24 bereitgestellten Zugangsdaten ein und speichern Sie.
  • „Token-Anfrage 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 Partnerportal von AutoScout24.
  • „Token-Anfrage fehlgeschlagen“ mit HTTP 5xx. Temporäres Problem aufseiten von AutoScout24. Versuchen Sie es nach einigen Minuten erneut; der Importer wird sich beim nächsten Cron-Lauf automatisch erholen.
  • 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 jegliche Split-Horizon-Konfiguration.
  • cURL-Fehler 7 („Failed to connect“). Die ausgehende Firewall blockiert TCP/443 zum Ziel, oder es ist ein Upstream-Proxy erforderlich (konfigurieren Sie WP_PROXY_* in wp-config.php).
  • cURL-Fehler 28 („Operation timed out“). Entweder Netzwerklatenz oder ein ausgehender Proxy, der die Verbindung verzögert. Überprüfen Sie die Erreichbarkeit mit curl -v direkt 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 das Äquivalent) und installieren Sie die Root-CA des Unternehmens im Vertrauensspeicher des Systems.
  • Bilder können nicht heruntergeladen werden, obwohl die Fahrzeugdaten funktionieren. Bild-URLs können auf anderen Hosts von AutoScout24 liegen; erweitern Sie die ausgehende Whitelist, um die Bild-CDNs von AutoScout24 abzudecken.
  • Externe Cron-Aufrufe geben 404 für /wp-json/as24ci/v1/cron-import zurück. Die Permalinks von WordPress 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 „Ungültiges oder fehlendes 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 Aufrufe von AutoScout24 erfolgreich sind. Der verwaltete Gemini-Host (generativelanguage.googleapis.com) ist in der ausgehenden Firewall nicht freigegeben, oder die verwaltete Gemini-Konfiguration in AS24CI\Ai_Config wurde nicht bereitgestellt. Der Haupt-Importer ist davon nicht betroffen.

Verwandte Dokumente