Documentatie · Technische documentatie
Lead-opslag en -verwerking
Dit document beschrijft hoe de ADP Car Market Hub plugin contact- en proefritaanvragen vastlegt, waar deze worden opgeslagen, hoe hun status in de werkstroom wordt beheerd en welke geautomatiseerde e-mails worden verzonden.
Wanneer u dit document moet gebruiken
Lees dit document als u het volgende wilt doen:
- Het schema en de levenscyclus begrijpen van een lead die is gegenereerd door het contactformulier van de plugin.
- Leadgegevens mappen naar een extern CRM via het leads-beheerscherm of de
_as24ci_lead_*post-meta-velden. - Ontbrekende notificaties of vastgelopen statuswijzigingen diagnosticeren.
- Leads migreren tussen omgevingen.
Zie REST API-eindpunten en AJAX-acties voor inkomende REST/AJAX-eindpunten. Zie Webhooks voor uitgaande notificaties.
Overzicht
Leads worden opgeslagen als berichten van het custom post type as24ci_lead, geïmplementeerd in AS24CI\Leads_CPT. De CPT is geregistreerd als public => false, show_ui => false en show_in_rest => false, zodat deze niet wordt blootgesteld aan de frontend of aan de WordPress REST API. Het tabblad Leads in de beheeromgeving biedt een aangepaste lijsttabel voor het bekijken, zoeken, wijzigen van de status en het verwijderen van leads.
Elke inzending verloopt via het contactformulier (AS24CI\Contact_Form), dat:
- De formulierinvoer valideert en opschoont.
- De notificatiemail naar de dealer en de bevestigingsmail naar de klant verzendt (met gebruik van de geconfigureerde aangepaste sjablonen of de ingebouwde standaarden).
Leads_CPT::save_lead()aanroept om een nieuw leadrecord op te slaan.- Een
lead_sentanalytics-event registreert wanneer er een voertuig-ID aanwezig is.
Lead-postvelden
Leads_CPT::save_lead() schrijft de volgende meta-sleutels:
| Meta-sleutel | Bron | Opschoning |
|---|---|---|
_as24ci_lead_name | Formulier Naam | sanitize_text_field |
_as24ci_lead_email | Formulier E-mail | sanitize_email |
_as24ci_lead_phone | Formulier Telefoon | sanitize_text_field |
_as24ci_lead_message | Formulier Bericht | wp_kses_post |
_as24ci_lead_vehicle_id | Voertuig post-ID | absint |
_as24ci_lead_vehicle_title | Voertuigtitel op het moment van verzending | sanitize_text_field |
_as24ci_lead_vehicle_listing_id | Bron-listing-ID | sanitize_text_field |
_as24ci_lead_vehicle_url | Voertuig permalink | sanitize_url |
_as24ci_lead_source_url | HTTP-referer of voertuig-URL | sanitize_url |
_as24ci_lead_date | UTC-tijdstempel van verzending (Y-m-d H:i:s) | — |
_as24ci_lead_email_sent | 1 wanneer beide e-mails zijn verzonden, anders 0 | — |
_as24ci_lead_status | Status in de werkstroom (standaard new) | — |
_as24ci_lead_appointment_date | Proefritdatum (Y-m-d of Y-m-d H:i) | Strikte formaatcontrole |
_as24ci_lead_is_test_drive | 1 wanneer het formulier een proefritaanvraag is | — |
De post_title wordt ingesteld op de naam van de contactpersoon en post_status is publish.
Status-werkstroom
Leads_CPT definieert vier statussen in de werkstroom:
| Constante | Slug | Standaard label |
|---|---|---|
STATUS_NEW | new | Nieuw |
STATUS_CONTACTED | contacted | Gecontacteerd |
STATUS_CLOSED | closed | Gesloten |
STATUS_SPAM | spam | Spam |
get_lead_status() retourneert de opgeslagen status en valt terug op new wanneer de meta ontbreekt of niet wordt herkend. update_lead_status() weigert onbekende waarden.
De actie voor het wijzigen van de status in de beheeromgeving wordt ontsloten via de AJAX-handler as24ci_update_lead_status (capability: manage_as24_imports, nonce: as24ci_update_lead_status).
Stapsgewijze instructies
Om een lead te bekijken en te verwerken:
- Open het tabblad Leads in de beheeromgeving.
- Gebruik het zoekveld om te filteren op naam, e-mail, listing-ID of voertuigtitel (server-side
LIKEmatching met de bijbehorende meta-sleutels). - Gebruik de status-dropdown om te filteren op
new,contacted,closedofspam. - Open een lead om de details te bekijken en wijzig de status naarmate de werkstroom vordert.
- Gebruik de verwijderactie om een lead permanent te verwijderen. Het record wordt verwijderd via
wp_delete_post( $id, true ); er is geen prullenbak-stap vooras24ci_lead.
E-mailgedrag
Per inzending worden er twee e-mails verzonden:
- Notificatie naar dealer — verzonden naar het adres dat is geconfigureerd in
as24ci_lead_recipient_email. Maakt gebruik van HTML en bevat de gegevens van het voertuig, de klant en het bericht. Een aangepast sjabloon kan worden geconfigureerd via de Leads-beheerinstellingen. - Bevestiging naar klant — verzonden naar het e-mailadres van de bezoeker. Heeft afzonderlijke sjablonen voor standaardaanvragen en proefritboekingen, en ondersteunt een aangepast sjabloon dat is opgeslagen in de optie
as24ci_lead_email_template_customer.
Beide e-mails maken gebruik van wp_mail(). De meta _as24ci_lead_email_sent registreert of beide berichten succesvol zijn verzonden (de wp_mail() boolean retourwaarden worden gecombineerd met een EN-operator).
Configuratiereferentie
| Optiesleutel | Doel |
|---|---|
as24ci_lead_recipient_email | Ontvangersadres voor de notificatiemail naar de dealer. |
as24ci_lead_email_template_customer | Optioneel aangepast HTML-sjabloon voor de klantbevestiging. |
Aanvullende sjabloonopties voor de e-mail aan de dealerzijde kunnen beschikbaar zijn in het tabblad Leads in de beheeromgeving. Controleer de exacte lijst met de huidige plugin-versie voordat u teksten publiceert die voor klanten zichtbaar zijn.
Operationele opmerkingen
- De CPT is bewust niet blootgesteld in de REST API of de blok-editor; beschouw het tabblad Leads in de WordPress-beheeromgeving als de enige gebruikersinterface.
wp_count_posts( 'as24ci_lead' )wordt door de dashboard-widget gebruikt om het totale aantal leads weer te geven.- Leads worden weggeschreven vanuit hetzelfde HTTP-verzoek dat de formulierinzending heeft verwerkt. Een mislukte
wp_mail()voorkomt niet dat de lead wordt opgeslagen; de vlag_as24ci_lead_email_sentweerspiegelt alleen de e-mailstatus. - Het analytics-event
lead_sentwordt alleen geregistreerd als er een geldigevehicle_idaanwezig is in de inzending. - Webhook-integratie: een uitgaande
new_leadwebhook is intern gekoppeld aan deas24ci_lead_savedactie. Controleer in de huidige plugin-versie of deze actie wordt verzonden op het moment dat de lead wordt opgeslagen, voordat u hierop vertrouwt voor productie-integraties.
Probleemoplossing
- Lead is opgeslagen maar er komen geen e-mails aan — controleer de meta
_as24ci_lead_email_sent. Als deze0is, iswp_mail()mislukt. Controleer de SMTP-/mailer-configuratie en het adres van de ontvanger. - Proefrit-lead heeft geen afspraakdatum — de afspraak wordt alleen opgeslagen als de invoer overeenkomt met
Y-m-d H:iofY-m-den een echte kalenderdatum vertegenwoordigt. Verkeerd getypte datums worden stilletjes genegeerd om het leadrecord consistent te houden. - Statuswijzigingen worden teruggedraaid bij herladen — controleer of de AJAX-statusupdate
successheeft geretourneerd. Een403geeft aan dat de gebruiker niet beschikt overmanage_as24_imports; een400/Invalid parametersbetekent dat het lead-ID of de status ontbrak of ongeldig was. - Zoeken levert geen resultaten op ondanks overeenkomende inhoud — zoekopdrachten maken gebruik van
LIKEop vier specifieke meta-sleutels. Zoektermen die alleen in de tekst van het bericht voorkomen, worden niet geïndexeerd. - Lead-totalen op de dashboard-widget lijken onjuist — de telling is uitsluitend gebaseerd op de status
publish. Als spam gemarkeerde leads blijvenpublishmaar met_as24ci_lead_status = spam.
Gerelateerde documenten
- Custom Post Types And Taxonomies
- Webhooks
- AJAX Actions
- Analytics Tracking
- Options And Settings Storage
- Security And Capabilities
Navigatie