Documentación · Requisitos del sistema
Requisitos de API, red y SSL
Propósito
ADP Car Market Hub es fundamentalmente un plugin de integración: pasa la mayor parte de su tiempo de ejecución comunicándose con endpoints HTTPS remotos: la API de AutoScout24 para vehículos e imágenes, el endpoint gestionado de Google Gemini para la generación opcional de contenido por IA y (de forma indirecta) WordPress.org para las actualizaciones del plugin. Este documento especifica las expectativas de red saliente y TLS que el plugin requiere del host, y explica cómo validarlas antes de la puesta en marcha.
Cuándo usar este documento
Utilice este documento cuando:
- Configure un cortafuegos, una política de salida o un proxy de salida para un entorno de hosting.
- Elija una URL base de la API para el mercado de AutoScout24 del concesionario (por ejemplo,
.com,.ch,.de, …). - Investigue errores de conexión o autenticación reportados por el importador o por la Prueba de conexión.
- Valide la configuración de TLS, DNS y certificados CA en un nuevo servidor.
- Audite con qué endpoints de terceros se comunicará el plugin en producción.
Descripción general
El plugin utiliza exclusivamente la API HTTP estándar de WordPress (wp_remote_get / wp_remote_post), que emplea cURL internamente, por lo que hereda la configuración de TLS/CA del sistema y cualquier constante establecida en wp-config.php para transportes HTTP y proxies.
El perfil de red es:
- Solo salida. El plugin nunca abre puertos de entrada más allá de lo que hace el propio WordPress. El activador de cron se expone a través de la API REST estándar de WordPress, que ya se ejecuta en el listener HTTPS existente del sitio.
- Solo HTTPS. Todos los endpoints de terceros son HTTPS en el puerto estándar 443. No existen alternativas en HTTP plano.
- Autenticación basada en tokens. La API de AutoScout24 utiliza credenciales de cliente OAuth 2.0. El plugin solicita un token de acceso a la URL de token configurada, lo almacena en caché en un transient hasta poco antes de su
expires_iny lo envía como un token portador (bearer token) en las solicitudes posteriores. - Sin sockets persistentes. Cada solicitud es una llamada a la API HTTP de WordPress independiente con un tiempo de espera de 30 segundos para las solicitudes de token; las descargas de imágenes utilizan los tiempos de espera de descarga estándar de WordPress.
Endpoints de salida requeridos
El host debe permitir HTTPS saliente (TCP/443) hacia los siguientes destinos.
Obligatorios
- URL base de la API de AutoScout24 — configurada en Ajustes → URL base de la API, por ejemplo
https://api.autoscout24.com(otros mercados utilizan el host específico del país comoapi.autoscout24.ch,api.autoscout24.de, etc.). Se utiliza para tokens OAuth, recuperación de listados y descubrimiento de URL de imágenes. - Endpoint de token de AutoScout24 — por defecto
<base URL>/public/v1/clients/oauth/token. Dispone de una opción de URL de token independiente cuando el endpoint de OAuth reside en un host diferente al de la base de la API. - Hosts de imágenes de AutoScout24 — los payloads de los listados devuelven URL de imágenes absolutas que se descargan directamente en la biblioteca de medios de WordPress. Estos nombres de host varían según el mercado y pueden cambiar con el tiempo, por lo que la política del cortafuegos debería permitir las CDN de imágenes de AutoScout24 como una clase en lugar de fijar un único nombre de host.
Opcionales
https://generativelanguage.googleapis.com— requerido cuando el AI Assistant está habilitado. Se utiliza para llamar al endpoint gestionado de Google Gemini configurado enAS24CI\Ai_Config.- Host de la API de carcuro — requerido cuando se utiliza la fuente carcuro. HTTPS saliente al endpoint de carcuro para extraer el inventario del concesionario con el token de empresa configurado.
- Fuente de feed automático — requerido cuando se utiliza un feed automático. Dependiendo de la ubicación del feed configurada, se trata de HTTPS saliente (URL de
https://y enlaces compartidos en la nube como Dropbox/Google Drive/OneDrive/Google Sheets) en TCP/443, o FTP / FTPS saliente (normalmente TCP/21 más puertos de datos en modo pasivo) o SFTP (TCP/22) al servidor del feed. Un feed de carpeta de servidor / ruta de archivo absoluta no necesita acceso a la red saliente. SFTP utiliza la extensión PHPssh2o un wrapper de flujo SFTP. - Fuente de importación de correo electrónico — requerido cuando se utiliza la fuente de importación de correo electrónico. IMAP saliente al host del buzón configurado (normalmente TCP/993 para IMAPS, o TCP/143 con STARTTLS). Requiere la extensión PHP
imap.
Estos destinos por fuente solo son relevantes cuando se configura la fuente de Universal Import correspondiente; un sitio que importa únicamente de AutoScout24 no necesita ninguno de ellos.
Recomendados
https://api.wordpress.org— para las comprobaciones de actualización del núcleo de WordPress, del tema y de los plugins.- El propio sitio del plugin (cuando es llamado por un cron externo) debe ser accesible desde el programador que lo activa.
URL base de la API y URL de token
El plugin permite configurar por completo la URL base de la API y la URL de token para que cualquier mercado de AutoScout24 y cualquier cambio futuro en el host de OAuth puedan ser compatibles sin necesidad de actualizar el código. La conexión de AutoScout24 — y las credenciales de cualquier otra fuente de datos — se introducen ahora en la página central de Universal Import (as24ci-universal-import); en versiones anteriores se encontraba en Ajustes. El Client Secret y otros secretos de las fuentes se almacenan cifrados en reposo. Consulte la Referencia de Universal Import.
- URL base de la API (
as24ci_base_url). Obligatorio. Debe ser el esquema + host (sin barra final), por ejemplohttps://api.autoscout24.ch. El plugin elimina las barras finales y rechaza realizar llamadas si este campo está vacío. - URL de token (
as24ci_token_url). Opcional. Cuando está vacío, el plugin lo deriva como<base URL>/public/v1/clients/oauth/token. Establézcalo explícitamente solo si AutoScout24 ha proporcionado un host de OAuth diferente para su cuenta. - Audiencia del token (
as24ci_token_audience). Opcional. Cuando está vacío, el plugin deriva la audiencia a partir del esquema + host de la URL base. - Client ID y Client Secret — credenciales obligatorias proporcionadas por AutoScout24.
- Seller ID(s) — lista separada por comas de los ID de los concesionarios.
Después de guardar, la acción Pestaña Herramientas → Prueba de conexión realiza una obtención real de OAuth + listado e informa de un error claro si alguno de los datos anteriores es incorrecto.
Cadena SSL y TLS
- Certificados. El host debe confiar en las cadenas de certificados servidas por AutoScout24 (y por el endpoint gestionado de Google Gemini cuando las funciones de IA están habilitadas). En las distribuciones modernas de Linux esto es así por defecto; en contenedores de larga duración o imágenes aisladas de la red (air-gapped), el paquete de CA (
/etc/ssl/certs/ca-certificates.crten Debian/Ubuntu,/etc/pki/tls/certs/ca-bundle.crten sistemas de la familia RHEL) debe mantenerse actualizado. - Versiones de TLS. El plugin utiliza la pila OpenSSL/cURL del sistema, que en entornos PHP 8.1+ compatibles negocia TLS 1.2 o 1.3 por defecto. AutoScout24 espera TLS moderno; los sitios anclados a versiones anteriores fallarán con errores de handshake.
- Sin excepciones para certificados autofirmados. El plugin no desactiva la verificación de certificados. Los proxies de salida que realizan interceptación TLS deben instalar su propia CA raíz en el almacén de confianza del sistema; de lo contrario, cada solicitud fallará con un error de certificado.
- TLS entrante. También se requiere un certificado público válido en el propio sitio de WordPress, tanto para la seguridad general de WordPress como para que los programadores externos puedan llamar al endpoint REST del cron sin advertencias de certificado.
DNS, cortafuegos y proxies
- DNS. El proceso PHP debe resolver los nombres de host de AutoScout24 (y
generativelanguage.googleapis.comcuando las funciones de IA están habilitadas). En servidores securizados con DNS de horizonte dividido o filtrado, asegúrese de que los destinos de salida del plugin se resuelvan desde la red de la aplicación, no solo desde la estación de trabajo del operador. - Cortafuegos de salida. Permita TCP/443 hacia los destinos enumerados anteriormente. Si el cortafuegos aplica una lista de permitidos explícita de nombres de dominio completos, permita al menos el host de la API de AutoScout24 que configuró más los nombres de host de la CDN de imágenes de AutoScout24 que aparecen en las respuestas de la API.
- Proxies HTTP. WordPress respeta las constantes estándar
WP_PROXY_HOST,WP_PROXY_PORT,WP_PROXY_USERNAME,WP_PROXY_PASSWORDyWP_PROXY_BYPASS_HOSTSenwp-config.php. Si su entorno de hosting obliga a usar un proxy de salida, configúrelas para que las llamadas dewp_remote_*pasen a través de él. - Fijación de IP de salida. Algunas cuentas corporativas de AutoScout24 pueden requerir que el concesionario proporcione las IP de salida que utilizará el plugin. Verifique esto con su gestor de cuentas de AutoScout24 y reserve una IP de salida estable si es necesario.
- WAF / proxy inverso en el lado de WordPress. Asegúrese de que el WAF no elimine ni altere la cabecera
Authorizationen el endpoint REST del cron, y que no almacene en caché las respuestas de/wp-json/as24ci/v1/*.
Pruebas de conexión
El plugin incluye varias herramientas integradas para verificar la red y la ruta de la API de extremo a extremo. Utilícelas en este orden:
- Pestaña Herramientas → Prueba de conexión. Obtiene un token OAuth de la URL de token configurada y luego llama al endpoint de listados. Una respuesta exitosa confirma las credenciales, la URL base, la audiencia, el DNS, el TLS y el cortafuegos de salida en un solo paso. Los fallos devuelven mensajes legibles por humanos como "Falta la URL base de la API", "Error en la solicitud de token" o códigos de error HTTP específicos.
- Pestaña Sistema y Ayuda / Salud. Muestra la URL base configurada, las marcas de tiempo de la última ejecución, el modo de cron y el estado de las integraciones opcionales. Útil como un panel de control único antes y después de los cambios de despliegue.
- Pestaña Herramientas → Borrar caché de tokens. Invalida el token OAuth almacenado en caché para que la siguiente llamada obtenga uno nuevo. Utilice esto inmediatamente después de rotar las credenciales de cliente o cambiar la URL de token.
- Pestaña Logs. Cuando falla la Prueba de conexión, el error subyacente (por ejemplo, error de cURL 6 "No se pudo resolver el host", error 28 "Tiempo de espera de la operación agotado", HTTP 401 desde el endpoint de token) se registra con suficiente contexto para apuntar a problemas de DNS, cortafuegos, TLS o credenciales.
Para una validación más profunda desde la línea de comandos, los siguientes comandos ejecutados desde el propio servidor web suelen ser concluyentes:
- DNS:
getent hosts api.autoscout24.com(o el host configurado). - Accesibilidad y cadena TLS:
curl -v https://api.autoscout24.com/debería completar el handshake TLS sin errores de certificado. - Endpoint de token:
curl -v -X POST -d "grant_type=client_credentials" https://<your-token-url>debería devolver un HTTP 4xx con un cuerpo de error estructurado, confirmando que la URL es accesible incluso sin credenciales.
Troubleshooting
- "Missing API Base URL". Configure
Settings → API Base URL(por ejemplo,https://api.autoscout24.ch) y guarde antes de volver a intentarlo. - "Missing API credentials (Client ID/Secret)". Pegue las credenciales proporcionadas por AutoScout24 y guarde.
- "Token request failed" con HTTP 401/403. Las credenciales son incorrectas, han caducado o la URL del token/audiencia no coincide con aquello para lo que AutoScout24 emitió las credenciales. Verifíquelo en el portal de partners de AutoScout24.
- "Token request failed" con HTTP 5xx. Problema transitorio del lado de AutoScout24. Vuelva a intentarlo después de unos minutos; el importador se recuperará automáticamente en su próxima ejecución de cron.
- Error de cURL 6 ("Could not resolve host"). El DNS no funciona en el servidor web. Compruebe
/etc/resolv.conf, el servicio DNS del proveedor de hosting y cualquier configuración de split-horizon. - Error de cURL 7 ("Failed to connect"). El cortafuegos de salida está bloqueando el puerto TCP/443 hacia el destino, o se requiere un proxy ascendente (configure
WP_PROXY_*enwp-config.php). - Error de cURL 28 ("Operation timed out"). Latencia de red o un proxy de salida que retrasa la conexión. Verifique la accesibilidad con
curl -vdesde el propio servidor web. - Error de cURL 60 ("SSL certificate problem"). El paquete CA del sistema está desactualizado o un proxy de interceptación está presentando un certificado no confiable. Actualice
ca-certificates(o equivalente) e instale la CA raíz corporativa en el almacén de confianza del sistema. - Las imágenes no se descargan aunque los listados funcionan. Las URL de las imágenes pueden estar alojadas en diferentes servidores de AutoScout24; amplíe la lista de permitidos de salida para cubrir las CDN de imágenes de AutoScout24.
- Las llamadas de cron externas devuelven 404 para
/wp-json/as24ci/v1/cron-import. Los enlaces permanentes de WordPress deben estar activados (cualquier ajuste que no sea "Simple"). Vuelva a guardar la página de Enlaces permanentes y reinténtelo. - Las llamadas de cron externas devuelven 403 "Invalid or missing token". La cabecera o el parámetro de consulta no coinciden con el token guardado. Regenere el token en la pestaña Import & Limits y actualice el programador.
- Las llamadas de IA fallan mientras que las llamadas de AutoScout24 tienen éxito. El host gestionado de Gemini (
generativelanguage.googleapis.com) no está permitido por el cortafuegos de salida, o la configuración gestionada de Gemini enAS24CI\Ai_Configno ha sido aprovisionada. El importador principal no se ve afectado.