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:

  1. De formulierinvoer valideert en opschoont.
  2. De notificatiemail naar de dealer en de bevestigingsmail naar de klant verzendt (met gebruik van de geconfigureerde aangepaste sjablonen of de ingebouwde standaarden).
  3. Leads_CPT::save_lead() aanroept om een nieuw leadrecord op te slaan.
  4. Een lead_sent analytics-event registreert wanneer er een voertuig-ID aanwezig is.

Lead-postvelden


Leads_CPT::save_lead() schrijft de volgende meta-sleutels:

Meta-sleutelBronOpschoning
_as24ci_lead_nameFormulier Naamsanitize_text_field
_as24ci_lead_emailFormulier E-mailsanitize_email
_as24ci_lead_phoneFormulier Telefoonsanitize_text_field
_as24ci_lead_messageFormulier Berichtwp_kses_post
_as24ci_lead_vehicle_idVoertuig post-IDabsint
_as24ci_lead_vehicle_titleVoertuigtitel op het moment van verzendingsanitize_text_field
_as24ci_lead_vehicle_listing_idBron-listing-IDsanitize_text_field
_as24ci_lead_vehicle_urlVoertuig permalinksanitize_url
_as24ci_lead_source_urlHTTP-referer of voertuig-URLsanitize_url
_as24ci_lead_dateUTC-tijdstempel van verzending (Y-m-d H:i:s)
_as24ci_lead_email_sent1 wanneer beide e-mails zijn verzonden, anders 0
_as24ci_lead_statusStatus in de werkstroom (standaard new)
_as24ci_lead_appointment_dateProefritdatum (Y-m-d of Y-m-d H:i)Strikte formaatcontrole
_as24ci_lead_is_test_drive1 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:

ConstanteSlugStandaard label
STATUS_NEWnewNieuw
STATUS_CONTACTEDcontactedGecontacteerd
STATUS_CLOSEDclosedGesloten
STATUS_SPAMspamSpam

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:

  1. Open het tabblad Leads in de beheeromgeving.
  2. Gebruik het zoekveld om te filteren op naam, e-mail, listing-ID of voertuigtitel (server-side LIKE matching met de bijbehorende meta-sleutels).
  3. Gebruik de status-dropdown om te filteren op new, contacted, closed of spam.
  4. Open een lead om de details te bekijken en wijzig de status naarmate de werkstroom vordert.
  5. Gebruik de verwijderactie om een lead permanent te verwijderen. Het record wordt verwijderd via wp_delete_post( $id, true ); er is geen prullenbak-stap voor as24ci_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


OptiesleutelDoel
as24ci_lead_recipient_emailOntvangersadres voor de notificatiemail naar de dealer.
as24ci_lead_email_template_customerOptioneel 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_sent weerspiegelt alleen de e-mailstatus.
  • Het analytics-event lead_sent wordt alleen geregistreerd als er een geldige vehicle_id aanwezig is in de inzending.
  • Webhook-integratie: een uitgaande new_lead webhook is intern gekoppeld aan de as24ci_lead_saved actie. 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 deze 0 is, is wp_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:i of Y-m-d en 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 success heeft geretourneerd. Een 403 geeft aan dat de gebruiker niet beschikt over manage_as24_imports; een 400/Invalid parameters betekent dat het lead-ID of de status ontbrak of ongeldig was.
  • Zoeken levert geen resultaten op ondanks overeenkomende inhoud — zoekopdrachten maken gebruik van LIKE op 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 blijven publish maar met _as24ci_lead_status = spam.

Gerelateerde documenten


Navigatie