Please note that this documentation is for the most recent version of this extension. It may not be relevant for older versions. Related documentation can be found in the documentation directory of the extension.
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 Zusatzinformation2: Text2
</additionalData>
<phone>
<internationalPrefix>49</internationalPrefix>
<prefix>0123</prefix>
<number>456789</number>
</phone>
<message>Sehr geehrte Damen und Herren, können Sie mir bei dem Fahrzeug
einen Händlerpreis machen?
 
 Hat der Wagen Werksgarantie in Deutschland?

 
 Mit freundlichen Grüßen
 
 Theo Test
</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>