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:
- Legge il parametro di query/POST
action. - Verifica il nonce della richiesta con
check_ajax_referer( '<action>', 'nonce' ). - Verifica la funzionalità dell'utente (solo azioni di amministrazione).
- Sanifica gli input.
- Restituisce JSON tramite
wp_send_json_success()owp_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 parametrononce). - 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 parametrononce). - Parametri:
datenel formatoY-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 parametrononce). - Parametri:
emailpiù i campi della ricerca salvatacriteria. - 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
| Azione | Nonce | Scopo |
|---|---|---|
as24ci_trigger_import_now | as24ci_trigger_import_now | Esegue 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_now | as24ci_trigger_image_queue_now | Elabora un lotto di immagini in sospeso dalla coda delle immagini differite. |
as24ci_clear_image_queue | as24ci_clear_image_queue | Svuota tutte le immagini in sospeso dalla coda senza importarle. |
as24ci_trigger_ai_queue_now | as24ci_trigger_ai_queue_now | Elabora 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.
| Azione | Nonce | Scopo |
|---|---|---|
as24ci_batch_preflight | as24ci_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_step | as24ci_batch_wizard | Elabora un passaggio del processo batch attivo. |
as24ci_batch_abort | as24ci_batch_wizard | Interrompe un processo batch in corso. |
as24ci_start_import_job | as24ci_import_job | Avvia un processo di importazione per singolo annuncio per un elenco fornito manualmente di listing_ids. |
as24ci_step_import_job | as24ci_import_job | Elabora il passaggio successivo di un processo di importazione attivo per singolo annuncio. |
Gestione dei lead
| Azione | Nonce | Scopo |
|---|---|---|
as24ci_update_lead_status | as24ci_update_lead_status | Aggiorna 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
| Azione | Nonce | Scopo |
|---|---|---|
as24ci_purge_analytics | as24ci_purge_analytics | Svuota i dati analitici raccolti su richiesta. Registrato per audit. |
AI Assistant
| Azione | Nonce | Scopo |
|---|---|---|
as24ci_generate_ai_assistant | as24ci_ai_generate | Genera 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:
| Azione | Nonce |
|---|---|
as24ci_ai_support_chat | as24ci_ai_support_chat |
as24ci_contact_support | as24ci_contact_support |
as24ci_ai_kb_maintenance | as24ci_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
403con{ "success": false, "data": { "message": "Permission denied." } }quando il controllo della funzionalità fallisce. - Gli errori di nonce sono gestiti da
check_ajax_referer()e generano un403con 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
-1o0— classiche modalità di errore AJAX di WordPress. Controllare la scheda di rete del browser per il codice di risposta:-1in genere significa un nonce non valido,0in 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_importso 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.