Process vehicle inquiries (leads) with prof4.net's Catch CRM

The Catch CRM from www.prof4.net provides the means to receive and process enquiries or 'leads' from a website. Read on to see how you can get started. Find out more about lead management from profatch.net's Catch CRM here.

Customising the inquiry email template

Inquiries from TYPO3 Vehicle Search are sent to an email address linked to the Catch CRM. So that the software knows what to do with the inquiry email an appropriate subject line must be assigned to the inquiry email template. This should be CATCH LEADS XML API. Other possible subject lines mentioned in the documentation are CRM Anfrage Webseite or CRM lead integration request.

You can do this with the TypoScript Constant Editor:

plugin.tx_fahrzeugsuche.settings.request.email.subject = CATCH LEADS XML API
themes.configuration.extension.fahrzeugsuche.request.email.subject = CATCH LEADS XML API

Vehicle and inquiry data is transferred in the email text, just using an XML structure. The fluid template for the inquiry email is located under fahrzeugsuche/Resources/Private/Templates/Email/Request.html and can also be assigned via a Typoscript constant.

#themes.configuration.extension.fahrzeugsuche.request.email.template = EXT:fahrzeugsuche/Resources/Private/Templates/Email/Request.html
themes.configuration.extension.fahrzeugsuche.request.email.template = fileadmin/fahrzeugsuche/TemplatesCatchCrm/Request.html

The default fluid template for the inquiry email looks like this:

<f:translate key="tx_fahrzeugsuche_label.fahrzeug_request_mail_introduction" extensionName="Fahrzeugsuche" />
<f:for each="{data}" as="row" key="key">{row.label}: {row.value}
</f:for>
<f:translate key="tx_fahrzeugsuche_label.fahrzeug_request_mail_signature" extensionName="Fahrzeugsuche" />

The template receives the following data via fluid variables:

  • settings - this variable contains all the variables and settings defined in the TypoScript settings for Vehicle Search (plugin.tx_fahrzeugsuche.settings).
  • data - this variable contains all the data from the form - i.e. information about the customer.
  • fahrzeug - this variable contains the complete vehicle dataset.

In general, the lead XML contains the following fields:

<?xml version="1.0" encoding="UTF-8"?>
<lead>
    <vehicle>
        <internalId>2G1F91EXXXXX1600</internalId>
        <make>Marke</make>
        <model>Typ Modell</model>
        <firstRegistration>mm/YYYY</firstRegistration>
        <mileage>1000</mileage>
        <price>35490</price>
        <conditionType>new</conditionType>
        <type>PKW</type>
        <vin>XYZABCDEFGHIJKL</vin>
    </vehicle>
    <potentialBuyer>
        <company/>
        <salutation>Herr</salutation>
        <title/>
        <firstname>Theo</firstname>
        <lastname>Test</lastname>
        <street>Musterstr. 2a</street>
        <zip>48145</zip>
        <city>Musterstadt</city>
        <email>theo(at)test(dot)de</email>
        <additionalData>Zusatzinformation1: Text1&#13; Zusatzinformation2: Text2&#xD;
        </additionalData>
        <phone>
            <internationalPrefix>49</internationalPrefix>
            <prefix>0123</prefix>
            <number>456789</number>
        </phone>
        <message>Sehr geehrte Damen und Herren,&#13; &#13; können Sie mir bei dem Fahrzeug
        einen Händlerpreis machen?&#xD; &#xD; Hat der Wagen Werksgarantie in Deutschland?
        &#xD; &#xD; Mit freundlichen Grüßen&#xD; &#xD; Theo Test&#xD;
        </message>
        <add_fields>
            <field><key>Zusatzfeld 1</key><value>Text1</value></field>
            <field><key>Zusatzfeld 2</key><value>Text2</value></field>
            <field><key>Zusatzfeld 3</key><value>Text3</value></field>
        </add_fields>
    </potentialBuyer>
    <subject>Probefahrtanfrage</subject>
    <crm_dealercode/>
    <crm_dealerid/>
    <dms_dealercode/>
    <locationString/>
    <campaign_name/>
    <lead_source/>
    <lead_source2/>
    <lead_type/>
    <lead_channel/>
    <marketing_campaign/>
    <files>
        <filename>name_of_file_in_utf8_1.pdf</filename>
        <filename>name_of_file_in_utf8_2.pdf</filename>
    </files>
</lead>

An example of template content looks as follows:

<?xml version="1.0" encoding="UTF-8"?>
<lead>
    <vehicle>
        <internalId>{fahrzeug.sellerInventoryKey}</internalId>
        <make>{fahrzeug.vehicle.make}</make>
        <model>{fahrzeug.vehicle.model}</model>
        <firstRegistration>{fahrzeug.vehicle.specifics.firstRegistration}</firstRegistration>
        <mileage>{fahrzeug.vehicle.specifics.mileage}</mileage>
        <price>{fahrzeug.price.consumerPriceAmount}</price>
        <conditionType>{fahrzeug.vehicle.specifics.condition}</conditionType>
        <type>{fahrzeug.vehicle.class}</type>
        <vin>{fahrzeug.vehicle.specifics.identificationNumber}</vin>
    </vehicle>
    <potentialBuyer>
        <salutation>{data.gender.value}</salutation>
        <firstname>{data.firstname.value}</firstname>
        <lastname>{data.lastname.value}</lastname>
        <email>{data.email.value}</email>
        <phone>
        <f:switch expression="{f:count(subject: data.phone.valueParts)}">
        <f:case value="2">
            <internationalPrefix>49</internationalPrefix>
            <prefix>{data.phone.valueParts.0}</prefix>
            <number>{data.phone.valueParts.1}</number>
        </f:case>
        <f:case value="3">
            <internationalPrefix>{data.phone.valueParts.0}</internationalPrefix>
            <prefix>{data.phone.valueParts.1}</prefix>
            <number>{data.phone.valueParts.2}</number>
        </f:case>
        <f:defaultCase>
            <internationalPrefix></internationalPrefix>
            <prefix></prefix>
            <number>{data.phone.value}</number>
        </f:defaultCase>
        </f:switch>
        </phone>
        <message>{data.message.valueNewlinesPrepared -> f:format.raw()}</message>
    </potentialBuyer>
    <subject>Fahrzeuganfrage: {fahrzeug.sellerInventoryKey}, {fahrzeug.vehicle.make}, {fahrzeug.vehicle.model}</subject>
    <crm_dealercode/>
    <crm_dealerid/>
    <dms_dealercode/>
    <locationString/>
    <campaign_name/>
    <lead_source>HOMEPAGE</lead_source>
</lead>