Documentazione · Documentazione tecnica

Azioni AJAX

Questo documento elenca gli endpoint AJAX registrati dal plugin ADP Car Market Hub tramite admin-ajax.php, inclusi il nonce previsto, la funzionalità WordPress che protegge ciascun gestore e una breve descrizione dei parametri e della risposta.

Quando utilizzare questo documento

Leggi questo documento se hai bisogno di:

  • Comprendere come il front-end interagisce con il plugin senza ricaricamenti completi della pagina (elenco dei modelli, disponibilità del test drive, iscrizione dell'agente di ricerca).
  • Tracciare quale pulsante di amministrazione attiva quale processo in background.
  • Integrare o testare una specifica azione AJAX.
  • Verificare il modello di sicurezza (funzionalità + nonce) di un gestore AJAX di amministrazione.

Per gli endpoint HTTP REST, consulta REST API Endpoints.

Panoramica

Tutte le azioni sono registrate tramite gli hook standard di WordPress wp_ajax_<action> (utenti loggati) e, dove applicabile, wp_ajax_nopriv_<action> (visitatori anonimi), e sono servite da wp-admin/admin-ajax.php.

Il plugin segue il pattern standard:

  1. Legge il parametro di query/POST action.
  2. Verifica il nonce della richiesta con check_ajax_referer( '<action>', 'nonce' ).
  3. Verifica la funzionalità dell'utente (solo azioni di amministrazione).
  4. Sanifica gli input.
  5. Restituisce JSON tramite wp_send_json_success() o wp_send_json_error().

La funzionalità utilizzata per quasi tutti i gestori riservati agli amministratori è manage_as24_imports (la costante Plugin::CAP_MANAGE). Consulta Security And Capabilities per la mappa completa delle funzionalità.

Azioni AJAX pubbliche (front-end)

Queste azioni sono registrate sia con wp_ajax_ che con wp_ajax_nopriv_ in modo che i visitatori anonimi possano richiamarle.

as24ci_get_models

Restituisce l'elenco dei modelli di veicoli per una determinata marca, utilizzato dai menu a discesa a cascata marca/modello nel filtro di ricerca.

  • Metodo: GET.
  • Nonce: as24ci_get_models (nome parametro nonce).
  • Parametri: make (stringa).
  • Risposta: { "success": true, "data": { "models": [...], "cached": bool } }.
  • Caching: I risultati sono memorizzati nella cache in transient identificati dal valore normalizzato della marca per 10 minuti. La cache viene svuotata automaticamente al completamento delle importazioni.

as24ci_get_test_drive_slots

Restituisce le fasce orarie disponibili per il test drive per una determinata data del calendario.

  • Metodo: GET.
  • Nonce: as24ci_test_drive_slots (nome parametro nonce).
  • Parametri: date nel formato Y-m-d.
  • Risposta: { "success": true, "data": { "slots": ["09:00", "09:30", ...] } }. Viene restituito un array vuoto per date non valide, giorni di chiusura, giorni della settimana errati o date passate.

as24ci_search_agent_subscribe

Crea un'iscrizione all'agente di ricerca in modo che il visitatore riceva notifiche via email quando vengono importati veicoli corrispondenti.

  • Metodo: POST.
  • Nonce: as24ci_search_agent (nome parametro nonce).
  • Parametri: email più i campi della ricerca salvata criteria.
  • Risposta: Inviluppo JSON di successo/errore.

Azioni AJAX di amministrazione

Tutte le azioni di amministrazione richiedono la funzionalità manage_as24_imports se non diversamente specificato. Le chiamate senza tale funzionalità restituiscono HTTP 403 con wp_send_json_error(). Le chiamate senza un nonce valido vengono rifiutate da check_ajax_referer().

Trigger di importazione e coda

AzioneNonceScopo
as24ci_trigger_import_nowas24ci_trigger_import_nowEsegue l'importazione pianificata standard su richiesta. Restituisce lo stesso payload success, message e counts dell'endpoint REST di importazione cron. Restituisce HTTP 429 quando un'importazione è già in esecuzione.
as24ci_trigger_image_queue_nowas24ci_trigger_image_queue_nowElabora un lotto di immagini in sospeso dalla coda delle immagini differite.
as24ci_clear_image_queueas24ci_clear_image_queueSvuota tutte le immagini in sospeso dalla coda senza importarle.
as24ci_trigger_ai_queue_nowas24ci_trigger_ai_queue_nowElabora un lotto di generazioni in sospeso di AI Assistant. Restituisce HTTP 400 quando la funzionalità AI Assistant è disabilitata.

Configurazione guidata dell'importazione batch

La procedura guidata batch consente agli amministratori di importare un insieme di Listing ID in piccoli passaggi per evitare timeout.

AzioneNonceScopo
as24ci_batch_preflightas24ci_batch_wizard (Options::BATCH_NONCE_ACTION)Valida la configurazione, recupera gli annunci per i venditori configurati e prepara un processo. Restituisce HTTP 404 quando non vengono trovati annunci, 400 quando non sono configurati Seller ID.
as24ci_batch_stepas24ci_batch_wizardElabora un passaggio del processo batch attivo.
as24ci_batch_abortas24ci_batch_wizardInterrompe un processo batch in corso.
as24ci_start_import_jobas24ci_import_jobAvvia un processo di importazione per singolo annuncio per un elenco fornito manualmente di listing_ids.
as24ci_step_import_jobas24ci_import_jobElabora il passaggio successivo di un processo di importazione attivo per singolo annuncio.

Gestione dei lead

AzioneNonceScopo
as24ci_update_lead_statusas24ci_update_lead_statusAggiorna lo stato del flusso di lavoro di un post di lead (lead_id, status). Restituisce un errore quando i parametri sono mancanti o l'aggiornamento fallisce.

Analytics

AzioneNonceScopo
as24ci_purge_analyticsas24ci_purge_analyticsSvuota i dati analitici raccolti su richiesta. Registrato per audit.

AI Assistant

AzioneNonceScopo
as24ci_generate_ai_assistantas24ci_ai_generateGenera contenuti testuali assistiti da intelligenza artificiale per un post di veicolo.

Un'azione di amministrazione non AJAX separata (?as24ci_action=manual_ai_generate) espone un flusso di generazione manuale una tantum protetto da un nonce specifico per post (as24ci_manual_ai_generate_<post_id>) e dalla funzionalità edit_post per quel post specifico.

Scheda di supporto

La scheda di amministrazione Help & Support espone tre azioni AJAX, ciascuna protetta da manage_as24_imports e da un nonce dedicato:

AzioneNonce
as24ci_ai_support_chatas24ci_ai_support_chat
as24ci_contact_supportas24ci_contact_support
as24ci_ai_kb_maintenanceas24ci_ai_kb_maintenance

Monitoraggio concorrenti (rimosso)

La funzionalità Competitor Watcher è stata rimossa. Non esiste un'azione AJAX attiva per aggiornare i prezzi dei concorrenti; il confronto dei prezzi di mercato è fornito da Market Hub / Hub API.

Chiamare un'azione AJAX

Si applicano le convenzioni standard di WordPress. Dal front-end:

POST /wp-admin/admin-ajax.php
Content-Type: application/x-www-form-urlencoded

action=as24ci_get_models&nonce=<wp_create_nonce('as24ci_get_models')>&make=Audi

Gli script in coda del plugin ricevono già i nonce corretti tramite wp_localize_script() / wp_add_inline_script(). Quando si chiama un'azione da un'integrazione personalizzata, generare il nonce lato server e passarlo allo script.

Note operative

  • Tutte le azioni non pubbliche restituiscono HTTP 403 con { "success": false, "data": { "message": "Permission denied." } } quando il controllo della funzionalità fallisce.
  • Gli errori di nonce sono gestiti da check_ajax_referer() e generano un 403 con la risposta di errore nonce standard di WordPress.
  • I gestori di amministrazione a esecuzione prolungata (importazioni, elaborazione della coda) sono progettati per rispondere tempestivamente; il lavoro più pesante viene eseguito tramite il pianificatore e la coda. Vedere Cron Events And Scheduler e Image Importer And Queue.
  • La cache dell'elenco dei modelli è condivisa tra visitatori loggati e anonimi; un singolo svuotamento al momento dell'importazione mantiene coerenti entrambi i tipi di pubblico.
  • Le azioni front-end evitano intenzionalmente l'uso delle funzionalità utente in modo che i visitatori anonimi possano utilizzare il filtro di ricerca e la prenotazione del test drive. L'autenticazione si basa sul nonce specifico dell'azione.

Risoluzione dei problemi

  • Corpo della risposta -1 o 0 — classiche modalità di errore AJAX di WordPress. Controllare la scheda di rete del browser per il codice di risposta: -1 in genere significa un nonce non valido, 0 in genere significa un nome di azione non registrato (le maiuscole/minuscole contano).
  • Permission denied. (HTTP 403) — l'utente corrente non dispone della funzionalità richiesta. Verificare che l'utente disponga della funzionalità manage_as24_imports o di un ruolo che la includa.
  • Elenco modelli vuoto quando si chiama as24ci_get_models — o non sono stati importati modelli per la marca fornita, oppure il parametro della marca è vuoto / non è un termine di tassonomia noto.
  • No seller IDs configured. dalla procedura guidata batch — aprire la scheda API e aggiungere almeno un Seller ID prima di eseguire nuovamente.
  • Elenco modelli non aggiornato dopo un'importazione — chiamare Ajax::clear_models_cache() (l'importatore lo fa già ad ogni esecuzione riuscita); controllare la memorizzazione dei transient se il plugin di cache degli oggetti sovrascrive i transient.

Documenti correlati